<div dir="ltr"><div style="" class="markdown-here-wrapper"><p style="margin:1.2em 0px!important">Hey Guys,</p>
<p style="margin:1.2em 0px!important">As you know Summers and I started work on AGDroid 3.0. Today we revisited what we want to this release. I hope you enjoy it</p>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="goals">GOALS</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Remove Java 6 support</li>
<li style="margin:0.5em 0px">Move to $LATEST android-maven-plugin</li>
<li style="margin:0.5em 0px">GCM 3.0 + Push Tasks</li>
<li style="margin:0.5em 0px">Extra convenience tooling</li>
<li style="margin:0.5em 0px">Memeolist demo app</li>
<li style="margin:0.5em 0px">Update docs</li>
<li style="margin:0.5em 0px">oAuth2 improvements</li>
<li style="margin:0.5em 0px">Experimental Offline Module</li>
<li style="margin:0.5em 0px">Experimental Yubikey Neo support</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-push">Aerogear Android Push</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">GCM 3.0<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Instance ID<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">This is a new lifecycle for keeping the registration ID in sync</li>
<li style="margin:0.5em 0px">Using new services and broadcast receivers or providing equavalent support</li>
</ul>
</li>
</ul>
</li>
<li style="margin:0.5em 0px">XMPP<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Using XMPP messaging for receiving messages and sending analytics updates</li>
<li style="margin:0.5em 0px">May be basis for more robust client side diagnostics and/or eventual messaging APIs</li>
</ul>
</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-plugin-new-">AeroGear Android plugin (new)</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Previously we shot this idea down because it adds work on developer which isn’t standard</li>
<li style="margin:0.5em 0px">Google is moving to including more plugins in Gradle so that isn’t a concern</li>
<li style="margin:0.5em 0px">Goals<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Linting push and authz<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Confirm services in manifest</li>
<li style="margin:0.5em 0px">Confirm appropriate licecycle on Message Listeners</li>
</ul>
</li>
<li style="margin:0.5em 0px">Annotation Processing<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Automate boring lifecycle tasks around Push (attaching/detaching listeners from activity)</li>
</ul>
</li>
<li style="margin:0.5em 0px">Manifest processing<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Inject Required services for push and authz if libraries are present</li>
<li style="margin:0.5em 0px">Automatically configure these services with values from keycloak.json and push-service.json</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-cookbook">AeroGear Android Cookbook</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Memeolist Demo App<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Show off Material design skills</li>
<li style="margin:0.5em 0px">Show off integration with other Red Hat/JBoss technologies</li>
<li style="margin:0.5em 0px">Increase profile of AeroGear inside of Red Hat</li>
<li style="margin:0.5em 0px">Dogfooding</li>
</ul>
</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-pipe">AeroGear Android Pipe</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Logging support</li>
<li style="margin:0.5em 0px">Easier injection of HTTPProviders</li>
<li style="margin:0.5em 0px">Document adding custom headers under pipe</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-store">AeroGear Android Store</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Decide between<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Async operation</li>
<li style="margin:0.5em 0px">Content Provider<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">With the plugin we could also engage in automatic contract object generation</li>
<li style="margin:0.5em 0px">For an example of what I am thinking see <a href="https://github.com/secondsun/devnexus-android-2015/tree/master/devnexusclientlibrary/src/main/java/org/devnexus/vo/contract">Contracts</a> and <a href="https://github.com/secondsun/devnexus-android-2015/blob/master/devnexusclientlibrary/src/main/java/org/devnexus/sync/DevNexusContentProvider.java">ContentProvider</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-offline">AeroGear Android Offline</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Cache : Configurable storage mechanism<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Location : Where the CaceItem will be stored<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Memory : in Memory store.</li>
<li style="margin:0.5em 0px">OnDevice : the internal permanent storage of the device</li>
<li style="margin:0.5em 0px">Media : removable media based storage. SD Cards, USB Sticks, etc</li>
</ul>
</li>
<li style="margin:0.5em 0px">Eviction Policy : How long CacheItems can stay around<ul style="margin:1.2em 0px;padding-left:2em;margin:0px;padding-left:1em">
<li style="margin:0.5em 0px">Permanent : Cache items must be removed manually</li>
<li style="margin:0.5em 0px">LRU : When the cache is full the least recently accessed will be removed</li>
<li style="margin:0.5em 0px">Fifo : The oldest object in the cache will be removed.</li>
</ul>
</li>
<li style="margin:0.5em 0px">Size : The max number of items a cache may hold.  </li>
<li style="margin:0.5em 0px">Age : The max age of any item</li>
</ul>
</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-authz">AeroGear Android Authz</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Revisit oAuth2 opened jiras</li>
</ul>
<h2 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.4em;border-bottom:1px solid rgb(238,238,238)" id="aerogear-android-security">AeroGear Android Security</h2>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Experimental <a href="https://www.yubico.com/products/yubikey-hardware/yubikey-neo/">Yubikey Neo</a> support</li>
</ul>
<p style="margin:1.2em 0px!important">PS: Jiras are comming soon</p>
<div title="MDH:PGRpdj48ZGl2PjxkaXY+PGJyPjwvZGl2PkhleSBHdXlzLDxicj48YnI+PC9kaXY+QXMgeW91IGtu
b3cgU3VtbWVycyBhbmQgSSBzdGFydGVkIHdvcmsgb24gQUdEcm9pZCAzLjAuIFRvZGF5IHdlIHJl
dmlzaXRlZCB3aGF0IHdlIHdhbnQgdG8gdGhpcyByZWxlYXNlLiBJIGhvcGUgeW91IGVuam95IGl0
PGJyPjwvZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGJyPiMjIEdPQUxTPGJyPjxicj4qIFJlbW92
ZSBKYXZhIDYgc3VwcG9ydDxicj4qIE1vdmUgdG8gJExBVEVTVCBhbmRyb2lkLW1hdmVuLXBsdWdp
bjxicj4qIEdDTSAzLjAgKyBQdXNoIFRhc2tzPGJyPiogRXh0cmEgY29udmVuaWVuY2UgdG9vbGlu
Zzxicj4qIE1lbWVvbGlzdCBkZW1vIGFwcDxicj4qIFVwZGF0ZSBkb2NzPGJyPiogb0F1dGgyIGlt
cHJvdmVtZW50czxicj4qIEV4cGVyaW1lbnRhbCBPZmZsaW5lIE1vZHVsZTxicj4qIEV4cGVyaW1l
bnRhbCBZdWJpa2V5IE5lbyBzdXBwb3J0PGJyPjxicj4jIyBBZXJvZ2VhciBBbmRyb2lkIFB1c2g8
YnI+PGJyPiogR0NNIDMuMDxicj4mbmJzcDsmbmJzcDsgKiBJbnN0YW5jZSBJRDxicj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBUaGlzIGlzIGEgbmV3IGxpZmVjeWNsZSBmb3Iga2Vl
cGluZyB0aGUgcmVnaXN0cmF0aW9uIElEIGluIHN5bmM8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICogVXNpbmcgbmV3IHNlcnZpY2VzIGFuZCBicm9hZGNhc3QgcmVjZWl2ZXJzIG9y
IHByb3ZpZGluZyBlcXVhdmFsZW50IHN1cHBvcnQ8YnI+KiBYTVBQPGJyPiZuYnNwOyZuYnNwOyAq
IFVzaW5nIFhNUFAgbWVzc2FnaW5nIGZvciByZWNlaXZpbmcgbWVzc2FnZXMgYW5kIHNlbmRpbmcg
YW5hbHl0aWNzIHVwZGF0ZXM8YnI+Jm5ic3A7Jm5ic3A7ICogTWF5IGJlIGJhc2lzIGZvciBtb3Jl
IHJvYnVzdCBjbGllbnQgc2lkZSBkaWFnbm9zdGljcyBhbmQvb3IgZXZlbnR1YWwgbWVzc2FnaW5n
IEFQSXM8YnI+PGJyPiMjIEFlcm9HZWFyIEFuZHJvaWQgcGx1Z2luIChuZXcpPGJyPjxicj4qIFBy
ZXZpb3VzbHkgd2Ugc2hvdCB0aGlzIGlkZWEgZG93biBiZWNhdXNlIGl0IGFkZHMgd29yayBvbiBk
ZXZlbG9wZXIgd2hpY2ggaXNuJ3Qgc3RhbmRhcmQ8YnI+KiBHb29nbGUgaXMgbW92aW5nIHRvIGlu
Y2x1ZGluZyBtb3JlIHBsdWdpbnMgaW4gR3JhZGxlIHNvIHRoYXQgaXNuJ3QgYSBjb25jZXJuPGJy
PiogR29hbHM8YnI+Jm5ic3A7Jm5ic3A7ICogTGludGluZyBwdXNoIGFuZCBhdXRoejxicj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBDb25maXJtIHNlcnZpY2VzIGluIG1hbmlmZXN0
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIENvbmZpcm0gYXBwcm9wcmlhdGUg
bGljZWN5Y2xlIG9uIE1lc3NhZ2UgTGlzdGVuZXJzPGJyPiZuYnNwOyZuYnNwOyAqIEFubm90YXRp
b24gUHJvY2Vzc2luZzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBBdXRvbWF0
ZSBib3JpbmcgbGlmZWN5Y2xlIHRhc2tzIGFyb3VuZCBQdXNoIChhdHRhY2hpbmcvZGV0YWNoaW5n
IGxpc3RlbmVycyBmcm9tIGFjdGl2aXR5KTxicj4mbmJzcDsmbmJzcDsgKiBNYW5pZmVzdCBwcm9j
ZXNzaW5nPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIEluamVjdCBSZXF1aXJl
ZCBzZXJ2aWNlcyBmb3IgcHVzaCBhbmQgYXV0aHogaWYgbGlicmFyaWVzIGFyZSBwcmVzZW50PGJy
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIEF1dG9tYXRpY2FsbHkgY29uZmlndXJl
IHRoZXNlIHNlcnZpY2VzIHdpdGggdmFsdWVzIGZyb20ga2V5Y2xvYWsuanNvbiBhbmQgcHVzaC1z
ZXJ2aWNlLmpzb248YnI+PGJyPiMjIEFlcm9HZWFyIEFuZHJvaWQgQ29va2Jvb2s8YnI+PGJyPiog
TWVtZW9saXN0IERlbW8gQXBwPGJyPiZuYnNwOyZuYnNwOyAqIFNob3cgb2ZmIE1hdGVyaWFsIGRl
c2lnbiBza2lsbHM8YnI+Jm5ic3A7Jm5ic3A7ICogU2hvdyBvZmYgaW50ZWdyYXRpb24gd2l0aCBv
dGhlciBSZWQgSGF0L0pCb3NzIHRlY2hub2xvZ2llczxicj4mbmJzcDsmbmJzcDsgKiBJbmNyZWFz
ZSBwcm9maWxlIG9mIEFlcm9HZWFyIGluc2lkZSBvZiBSZWQgSGF0PGJyPiZuYnNwOyZuYnNwOyAq
IERvZ2Zvb2Rpbmc8YnI+PGJyPiMjIEFlcm9HZWFyIEFuZHJvaWQgUGlwZTxicj4mbmJzcDs8YnI+
KiBMb2dnaW5nIHN1cHBvcnQ8YnI+KiBFYXNpZXIgaW5qZWN0aW9uIG9mIEhUVFBQcm92aWRlcnM8
YnI+KiBEb2N1bWVudCBhZGRpbmcgY3VzdG9tIGhlYWRlcnMgdW5kZXIgcGlwZTxicj48YnI+IyMg
QWVyb0dlYXIgQW5kcm9pZCBTdG9yZTxicj48YnI+KiBEZWNpZGUgYmV0d2Vlbjxicj4mbmJzcDsm
bmJzcDsgKiBBc3luYyBvcGVyYXRpb248YnI+Jm5ic3A7Jm5ic3A7ICogQ29udGVudCBQcm92aWRl
cjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBXaXRoIHRoZSBwbHVnaW4gd2Ug
Y291bGQgYWxzbyBlbmdhZ2UgaW4gYXV0b21hdGljIGNvbnRyYWN0IG9iamVjdCBnZW5lcmF0aW9u
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIEZvciBhbiBleGFtcGxlIG9mIHdo
YXQgSSBhbSB0aGlua2luZyBzZWUgW0NvbnRyYWN0c10oaHR0cHM6Ly9naXRodWIuY29tL3NlY29u
ZHN1bi9kZXZuZXh1cy1hbmRyb2lkLTIwMTUvdHJlZS9tYXN0ZXIvZGV2bmV4dXNjbGllbnRsaWJy
YXJ5L3NyYy9tYWluL2phdmEvb3JnL2Rldm5leHVzL3ZvL2NvbnRyYWN0KSBhbmQgW0NvbnRlbnRQ
cm92aWRlcl0oaHR0cHM6Ly9naXRodWIuY29tL3NlY29uZHN1bi9kZXZuZXh1cy1hbmRyb2lkLTIw
MTUvYmxvYi9tYXN0ZXIvZGV2bmV4dXNjbGllbnRsaWJyYXJ5L3NyYy9tYWluL2phdmEvb3JnL2Rl
dm5leHVzL3N5bmMvRGV2TmV4dXNDb250ZW50UHJvdmlkZXIuamF2YSk8YnI+PGJyPiMjIEFlcm9H
ZWFyIEFuZHJvaWQgT2ZmbGluZTxicj48YnI+KiBDYWNoZSA6IENvbmZpZ3VyYWJsZSBzdG9yYWdl
IG1lY2hhbmlzbTxicj4mbmJzcDsmbmJzcDsgKiBMb2NhdGlvbiA6IFdoZXJlIHRoZSBDYWNlSXRl
bSB3aWxsIGJlIHN0b3JlZDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBNZW1v
cnkgOiBpbiBNZW1vcnkgc3RvcmUuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAq
IE9uRGV2aWNlIDogdGhlIGludGVybmFsIHBlcm1hbmVudCBzdG9yYWdlIG9mIHRoZSBkZXZpY2U8
YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogTWVkaWEgOiByZW1vdmFibGUgbWVk
aWEgYmFzZWQgc3RvcmFnZS4gU0QgQ2FyZHMsIFVTQiBTdGlja3MsIGV0Yzxicj4mbmJzcDsmbmJz
cDsgKiBFdmljdGlvbiBQb2xpY3kgOiBIb3cgbG9uZyBDYWNoZUl0ZW1zIGNhbiBzdGF5IGFyb3Vu
ZDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBQZXJtYW5lbnQgOiBDYWNoZSBp
dGVtcyBtdXN0IGJlIHJlbW92ZWQgbWFudWFsbHk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICogTFJVIDogV2hlbiB0aGUgY2FjaGUgaXMgZnVsbCB0aGUgbGVhc3QgcmVjZW50bHkg
YWNjZXNzZWQgd2lsbCBiZSByZW1vdmVkPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAqIEZpZm8gOiBUaGUgb2xkZXN0IG9iamVjdCBpbiB0aGUgY2FjaGUgd2lsbCBiZSByZW1vdmVk
Ljxicj4mbmJzcDsmbmJzcDsgKiBTaXplIDogVGhlIG1heCBudW1iZXIgb2YgaXRlbXMgYSBjYWNo
ZSBtYXkgaG9sZC4mbmJzcDsgPGJyPiZuYnNwOyZuYnNwOyAqIEFnZSA6IFRoZSBtYXggYWdlIG9m
IGFueSBpdGVtPGJyPjxicj4jIyBBZXJvR2VhciBBbmRyb2lkIEF1dGh6PGJyPjxicj4qIFJldmlz
aXQgb0F1dGgyIG9wZW5lZCBqaXJhczxicj48YnI+IyMgQWVyb0dlYXIgQW5kcm9pZCBTZWN1cml0
eTxicj48YnI+KiBFeHBlcmltZW50YWwgW1l1YmlrZXkgTmVvXShodHRwczovL3d3dy55dWJpY28u
Y29tL3Byb2R1Y3RzL3l1YmlrZXktaGFyZHdhcmUveXViaWtleS1uZW8vKSBzdXBwb3J0PGJyPjxi
cj5QUzogSmlyYXMgYXJlIGNvbW1pbmcgc29vbjxiciBjbGVhcj0iYWxsIj48YnI+PC9kaXY+PC9k
aXY+PC9kaXY+PGRpdj48ZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdj48ZGl2PjwvZGl2
PjwvZGl2PjwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div><div><div><div><div class="markdown-here-signature">-- <br><div class="gmail_signature"><div dir="ltr">-- Passos<br></div></div>
</div></div></div></div></div>