<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 02/03/2015 08:31 AM, Sebastien Blanc
wrote:<br>
</div>
<blockquote
cite="mid:CAD_dpu0ZO4Rb-_h4sOA5Opp-uJmRDe0zE9oKt6NgQtXLEkTZLg@mail.gmail.com"
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>
+1<br>
<blockquote
cite="mid:CAD_dpu0ZO4Rb-_h4sOA5Opp-uJmRDe0zE9oKt6NgQtXLEkTZLg@mail.gmail.com"
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>
Putting gcm in a new artifact will break semver. Both should
probably just be in the -push artifact.<br>
<br>
<blockquote
cite="mid:CAD_dpu0ZO4Rb-_h4sOA5Opp-uJmRDe0zE9oKt6NgQtXLEkTZLg@mail.gmail.com"
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>
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.<br>
<blockquote
cite="mid:CAD_dpu0ZO4Rb-_h4sOA5Opp-uJmRDe0zE9oKt6NgQtXLEkTZLg@mail.gmail.com"
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>
/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>
<br>
<blockquote
cite="mid:CAD_dpu0ZO4Rb-_h4sOA5Opp-uJmRDe0zE9oKt6NgQtXLEkTZLg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Sebi</div>
<div><br>
</div>
<div><br>
</div>
<div>[1]<a moz-do-not-send="true"
href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMPushRegistrar.java">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 moz-do-not-send="true"
href="https://github.com/sebastienblanc/aerogear-android-push/tree/refactoring">https://github.com/sebastienblanc/aerogear-android-push/tree/refactoring</a></div>
<div>[3] <a moz-do-not-send="true"
href="https://developer.amazon.com/public/apis/engage/device-messaging/tech-docs/04-integrating-your-app-with-adm">https://developer.amazon.com/public/apis/engage/device-messaging/tech-docs/04-integrating-your-app-with-adm</a></div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
aerogear-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.
</pre>
</body>
</html>