<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 3, 2015 at 2:31 PM, Sebastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><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&#39;s now time to work on the client SDK.</div></div></blockquote><div><br></div><div>once our java-adm is on maven central, I will take a look at the PR</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><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 &quot;UPS Registration&quot; flow/logic is still in the &quot;gcm&quot; package[1]. </div></div></blockquote><div><br></div><div>the package name shouldn&#39;t be the smallest concern :-) </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>That logic should be moved one package level higher in a new Abstract class. </div><div>In the end we will have a &quot;gcm&quot; package and a &quot;adm&quot; package (or project, see later in my questions)</div></div></blockquote><div><br></div><div>+1</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><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&#39;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><div><br></div><div>sounds reasonable to me, to extend it and apply changes on a separate ADM-PUSH-SDK</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>- How do we build / package / deliver ? </div></div></blockquote><div><br></div><div>gradle? or, what does Amazon do / prefer ? </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>We probably want 2 distinct JAR/aar. We could use profile in Maven to only package one feature but that sounds a bit &quot;messy&quot;.</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><div><br></div><div>Not sure I get that, but do you mean &quot;aerogear-android-push&quot;</div><div>- aerogear-android-push-gcm</div><div>- aerogear-android-push-adm</div><div><br></div><div>sounds reasonable</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>- The registration flow for ADM[3] (so device &lt;-&gt; Amazon&#39;s server) is a bit different thant the GCM one</div><div>, it&#39;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><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><div><br></div><div>not sure, why do we need to ship it? what&#39;s the license? Why do I need a manual download from maven ? Not following here</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><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>_______________________________________________<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>