<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 3, 2015 at 4:00 PM, Summers Pittman <span dir="ltr"><<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span class="">
<div>On 02/03/2015 08:31 AM, Sebastien Blanc
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Good Morning all !
<div><br>
</div>
<div>As you might know, we are currently adding Amazon Device
Messaging support to the UnifiedPush server. </div>
<div>The server side has been PRed and it's now time to work on
the client SDK.</div>
<div>As you probably know, the amazon devices : the Kindle Fire
(2nd and third generation), Fire Phone and FireTV are running
FireOS which is basically a fork of Android OS. And since we
have an Android Push SDK I start looking if we could reuse it.<br>
</div>
<div><br>
</div>
<div>First good news, is that since AGDroid 2.0, things has been
nicely isolated and is open for extension. But there is still
some refactoring to do, the "UPS Registration" flow/logic is
still in the "gcm" package[1]. That logic should be moved one
package level higher in a new Abstract class. </div>
<div>In the end we will have a "gcm" package and a "adm" package
(or project, see later in my questions)</div>
<div><br>
</div>
<div>This way the ADM logic would be able to reuse that
registration code. I started to play a bit with this
refactoring here[2], disclaimer here, I'm not even sure that
this code compiles, is just to give an idea. </div>
<div><br>
</div>
<div>So before I go further, some questions (mainly for our
Android Gods ;) ) : </div>
<div><br>
</div>
<div>- Is this a good idea (reusing your SDK) ? I think yes,
even if there is some time and effort needed for refactoring
to make it completly generic.</div>
</div>
</blockquote></span>
+1<span class=""><br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>- How do we build / package / deliver ? We probably want 2
distinct JAR/aar. We could use profile in Maven to only
package one feature but that sounds a bit "messy".</div>
<div>What about having sub-projects, this way we would have
aerogear-android-push and then : aerogear-android-push-gcm and
aerogear-push-gcm.</div>
</div>
</blockquote></span>
Putting gcm in a new artifact will break semver. Both should
probably just be in the -push artifact.</div></blockquote><div><br></div><div>good point!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><span class=""><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>- The registration flow for ADM[3] (so device <->
Amazon's server) is a bit different thant the GCM one</div>
<div>, it's the same interface that receive the registration
event and the push notification events. We have to check how
this fit with the current architecture of android-push.</div>
</div>
</blockquote></span>
It looks close enough to the GCM flow that I wouldn't worry. The
biggest difference is GCM's service to handle messages and hand to
your app is in Google Play Services and here it is explicitly in
your app.<span class=""><br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Other challenge will be shipping ADM jar, since this one is
on Maven and must be downloaded manually but that is for later
;)</div>
</div>
</blockquote></span>
/me sees the old, deprecated ADT and runs.<br>
<br>
The biggest problem will be supporting Eclipse again. I don't think
we can do this.<br></div></blockquote><div><br></div><div>+1 on not going back to that for our current development</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
<br>
<blockquote type="cite"><span class="">
<div dir="ltr">
<div><br>
</div>
<div>Sebi</div>
<div><br>
</div>
<div><br>
</div>
<div>[1]<a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMPushRegistrar.java" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMPushRegistrar.java</a></div>
<div>[2] <a href="https://github.com/sebastienblanc/aerogear-android-push/tree/refactoring" target="_blank">https://github.com/sebastienblanc/aerogear-android-push/tree/refactoring</a></div>
<div>[3] <a href="https://developer.amazon.com/public/apis/engage/device-messaging/tech-docs/04-integrating-your-app-with-adm" target="_blank">https://developer.amazon.com/public/apis/engage/device-messaging/tech-docs/04-integrating-your-app-with-adm</a></div>
</div>
<br>
<fieldset></fieldset>
<br>
</span><span class=""><pre>_______________________________________________
aerogear-dev mailing list
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
</span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
<pre cols="72">--
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.
</pre>
</font></span></div>
<br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Matthias Wessendorf <br><br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div>
</div></div>