<p dir="ltr">Sounds good to me. If it works out that 2 is covered by 1, great.<br>
@Passos @Summers anything you want to add?</p>
<p dir="ltr">Would be great to get feedback from anyone using the sdk already too. </p>
<br><div class="gmail_quote"><div dir="ltr">On Mon, 29 Jan 2018 17:56 Wojciech Trocki, <<a href="mailto:wtrocki@redhat.com">wtrocki@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Added small comments on tickets. From my point of view everything looks great.<br>From my point of view Goal 2 may be actually not needed depending on how Goal 1 will be resolved.<div><div>I we think about it that is just one single ticket that is required to improve overall user experience and API.</div><div><br></div><div><span style="font-size:12.8px">> keycloakService = core.getService(</span><span style="font-size:12.8px">KeyCloakService.class);</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I remember that service team required to pass additional parameters and going this way will impose some limitations.</span></div></div><div><span style="font-size:12.8px">What we looking for is probably something like this:</span></div><div><pre style="margin:10px;padding:0px;color:rgb(0,0,0);font-size:1em;background-color:rgb(245,245,245);width:auto"><span style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace">Auth keycloak = AeroGearAuth.create(options)</span></pre></div></div><div class="gmail_extra"><br><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote">On Mon, Jan 29, 2018 at 4:51 PM, David Martin <span dir="ltr"><<a href="mailto:davmarti@redhat.com" target="_blank">davmarti@redhat.com</a>></span> wrote:<br></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>After a massive 100+ comments, I've decided to merge the Android Core SDK Proposal</div><div><a href="https://github.com/aerogear/proposals/pull/9" target="_blank">https://github.com/aerogear/proposals/pull/9</a></div><div><br></div><div>* Android Core SDK is available from Maven: </div><div>* Repo: <a href="https://github.com/aerogear/aerogear-android-sdk" target="_blank">https://github.com/aerogear/aerogear-android-sdk</a></div><div>* Example Android App that uses the core SDK:</div><div><a href="https://github.com/secondsun/WipDemo/blob/master/app/src/main/java/org/feedhenry/mcp/prdemo/CoreActivity.java" target="_blank">https://github.com/secondsun/WipDemo/blob/master/app/src/main/java/org/feedhenry/mcp/prdemo/CoreActivity.java</a><br></div><div>* What you need to add to your gradle file: <a href="https://github.com/secondsun/WipDemo/blob/master/app/build.gradle#L29" target="_blank">https://github.com/secondsun/WipDemo/blob/master/app/build.gradle#L29</a></div><div><br></div><div><br></div><div>The amount of comments, calls and back&forth on irc has reached a reasonable level of agreement, with some remaining points of contention.<br></div><div>The contention is mainly around the level of complexity that a developer has to undertake to use the SDK.</div><div>After listening to the 3 main voices on this (Summers, Wojciech, Passos), I can see both points of view.</div><div><br></div><div>(WARNING: A lot of paraphrasing below :) )</div><div><br></div><div>From Passos & Wojciech's point of view, ease of use of the SDK is what's most important. There should be practically no setup/init required other than having a mobile-config.json file in the right place, and call a static method to get an instance of a service (similar to Firebase).</div><div><br></div><div>From Summers point of view, ease of use is also important, but something we can improve on iteratively. For example, the default use of a Service will be fine & possible to automate the setup for for 95% of cases. However, the other 5% is what we need to take into account from the beginning.</div><div><br></div><div><br></div><div>So, based on this, I would like if the following 2 things were follow up goals for the Core SDK.</div><div>I believe these changes will take whats currently there (and working), and move it towards something that is easier to use for developers.</div><div><br></div><div><br></div><div>Goal 1:</div><div><a href="https://issues.jboss.org/browse/AGDROID-712" target="_blank">https://issues.jboss.org/browse/AGDROID-712</a><br></div><div>Remove the need for static block initialisation/registration of service classes & their dependencies. i.e. this:</div><div><br></div><div><div>static {</div><div> ServiceModuleRegistry.registerServiceModule("keycloak", KeyCloakService.class, "http");</div><div> }</div><div><br></div><div>From chatting with Summers, this should be possible now that this PR is merged <a href="https://github.com/aerogear/proposals/pull/16" target="_blank">https://github.com/aerogear/proposals/pull/16</a> and the config file format is nailed down.</div><div><br></div><div><br></div><div>Goal 2:</div><div><a href="https://issues.jboss.org/browse/AGDROID-713" target="_blank">https://issues.jboss.org/browse/AGDROID-713</a><br></div><div>Allow a simpler way of getting an instance of a Service class other than below.</div><div><br></div><div><div> keycloakService = core.getService("keycloak", KeyCloakService.class);</div></div><div><br></div><div>If there are multiple instances registered for a particular Class, it may still be necessary to use the above to get a 'named' instance (much like in dependency injection libs like spring that use annotations).</div><div>However, in most cases, the below should be possible:</div><div><br></div><div>keycloakService = core.getService(KeyCloakService.class);<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>Thanks</div><span class="m_4534252028042380704HOEnZb"><font color="#888888"><div><br></div>-- <br><div class="m_4534252028042380704m_-1716633516609159775gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">David Martin<div>Red Hat Mobile</div><div>Twitter: <span style="font-size:12.8px">@irldavem</span></div><div><span style="font-size:12.8px">IRC: @irldavem (#aerogear)</span></div></div></div></div></div></div></div>
</font></span></div></div><span class="m_4534252028042380704HOEnZb"><font color="#888888">
<p></p>
-- <br>
You received this message because you are subscribed to the Google Groups "Aerogear" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:aerogear+unsubscribe@googlegroups.com" target="_blank">aerogear+unsubscribe@googlegroups.com</a>.<br>
To post to this group, send email to <a href="mailto:aerogear@googlegroups.com" target="_blank">aerogear@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/aerogear/CADvBQ454ouqqV8Qr7nHssEYxV932Z-JcBqA36VW6-w_Puoe-ng%40mail.gmail.com?utm_medium=email&utm_source=footer" target="_blank">https://groups.google.com/d/msgid/aerogear/CADvBQ454ouqqV8Qr7nHssEYxV932Z-JcBqA36VW6-w_Puoe-ng%40mail.gmail.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br>
</font></span></blockquote></div></div><div class="gmail_extra"><br><br clear="all"><div><br></div>-- <br><div class="m_4534252028042380704gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>WOJCIECH</span> <span>TROCKI</span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px;text-decoration:none" target="_blank">Red Hat <span>Mobile</span></a></p><p style="font-family:overpass,sans-serif;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)"><span>IM: <span>wtrocki</span></span></p><table border="0" style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div></div></div></div></div>
</div></blockquote></div>