GMail Filters: Archive Everything but Important Mail

A friend of mine, Jeff Hilimire, came to me with a problem a few weeks ago. He wanted to figure out how to make GMail archive all of his messages that weren’t marked important. On his phone’s email application he would receive a notification for (and download of) each message that he received but was only interested in “Important” (as defined by GMail’s Priority Inbox feature) ones.

This turned out to be rather easy, but it wasn’t intuitive.

Creating the Filter

Gmail lacks the ability to create a filter which is “All messages” (as far as I could tell). However, I could create a filter for all messages which weren’t from me which was useful enough. In the search box enter the term from:(-me). Then run your search and create the filter to archive everything.

filter1

Protecting Priority Mail

In your settings you can tell GMail to not filter your important messages. This is found under the inbox tab of your settings page. Settings is available through the gear icon in the top right corner of the GMail interface. In the “Filtered mail” section select “Override filters”

filter2

Now you should have all of your messages be archived unless they are marked “Important”.

AeroGear for Android 1.0.0

Well here we are; after months of hard work, testing, design, rework, and caffeine we now have Aerogear 1.0.0. This includes AeroGear Controller, AeroGear Security, AeroGear on iOS, AeroGear on JavaScript, and AeroGear on Android.

What’s Included

AeroGear for Android provides libraries to connect to remote restful services. It can integrate with the Android application life cycle and provides robust facilities for authentication, authorization, pagination, and local storage. We have support for versions of Android starting with Android 2.3.3.

A Pipe, the class which developers use to fetch remote data, can be back by a Loader with one line of code. This allows AeroGear to function in sync with the Android Activity life cycle. Rotating your phone will not crash your application or hammer your server with requests for the same data over and over again.

We have several abstract implementations of the Callback interface which, when extended by your code, will be injected by AeroGear with the correct Activity or Fragment. This allows for a clean separation between the Activity and AeroGear which means fewer memory leaks and better stability.

Our Authentication APIs provide an easy way to log in to , enroll in, and log out of remote services. This API will manage your session tokens and data hand in hand with the Pipe API. This means that you can easily access secured resources on RESTful servers. Authentication was designed to be extensible and pluggable so it can connect to services which are not backed by AeroGear’s Controller server.

Our Paging API provides out of the box support for Web link headers, and extracting URIs for paging information from the body of JSON responses. Paging through your remote data is as simple as calling next. The Paging API also provides hooks for extension as well to support your own use cases.

Finally, there is a local DataStorage API. Your data can be cached locally either in memory or in a SQLite database. You can also implement your own Store types and configure AeroGear to manage them for you.

How do I get it

AeroGear is available on GitHub and through Maven Central using the following dependency

<dependency>
<groupid>org.jboss.aerogear</groupid>
<artifactid>aerogear-android</artifactid>
<type>apklib</type>
<version>1.0.0</version>
</dependency>

How do I use it

AeroGear.org has tons of guides, demos, links to presentations, and links to project using AeroGear. Our mailing list is watched by all members of the team and we also have an IRC channel on Freenode #aerogear.

What is coming next?

1.0.0 defines the basic functionality of our release. In the future we will add more robust offline support, data synchronization, push notifications, encryption for the store API, and many many other things we have yet to decide. If you are interested in seeing something you want head over to #aerogear on Freenode or join our mailing list.