The Ultimate Android Lock Screen<br />Alberto Fonseca<br />Founder -<br />
Agenda<br />What is GOTO?<br />Feature Overview<br />Demo<br />Lessons Learned<br />Q&A<br />Copyright © 2010 InnoWeb Tech...
What is GOTO?<br />Copyright © 2010 InnoWeb Tech, LLC<br />Android 1.5<br />
What is GOTO?<br />Copyright © 2010 InnoWeb Tech, LLC<br />Android 2.0<br />
What is GOTO?<br />Copyright © 2010 InnoWeb Tech, LLC<br />GOTO UI<br />
Features<br />Notification Previews<br />App shortcuts<br />Weather<br />Copyright © 2010 InnoWeb Tech, LLC<br />
Features<br />Notification Previews<br />Copyright © 2010 InnoWeb Tech, LLC<br />
Features<br />Notification Previews<br />App shortcuts<br />Copyright © 2010 InnoWeb Tech, LLC<br />
Features<br />Notification Previews<br />App shortcuts<br />Weather<br />Copyright © 2010 InnoWeb Tech, LLC<br />
DEMO<br />Copyright © 2010 InnoWeb Tech, LLC<br />
Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Testing on real har...
Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Maintenance and internal API changes<br />Device impl...
Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Copyright © 2010 In...
Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Android Manifest<br...
GoogleAccountsWrapper<br />public abstract classGoogleAccountsWrapper<br />{<br />public staticGoogleAccountsWrappergetIns...
private static class PreEclair extends GoogleAccountsWrapper<br />{<br />private static class Holder<br />{<br />	private ...
private static classEclairPlus extends GoogleAccountsWrapper<br />{<br />private static class Holder<br />{<br />	private ...
// Initialize GMail account info<br />GoogleAccountsWrappergoogleAccounts = GoogleAccountsWrapper.getInstance();<br />goog...
Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Testing on real har...
Questions?<br />Copyright © 2010 InnoWeb Tech, LLC<br />
Contact<br />Alberto FonsecaAvailable for consulting/project managementE-mail: afonseca@innowebtech.comBlog: www.innowebte...
Upcoming SlideShare
Loading in …5
×

GOTO - The Ultimate Android Lock Screen

3,511 views

Published on

Slides from presentation on GOTO given at the Seattle Android Developer's Meetup on August 17th, 2010.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • New Spy Camera Professional Spy Camera DVR Spy Sunglasses Camera DVR HD Spy Watch Camera DVR HD Spy pen Camera DVR

    Spy Lighter Camera DVR Spy Button Camera DVR Clock Spy Camera Spy Carkey Camera DVR Car Security Camera Spy GSM

    Audio Bug Spy Camera Detector CCTV Spy Camera Youtube Camera Recorder Sport Camera/MP3 Camera Spy Gadget New

    Wireless Spy Camera New Spy Camera DVR Shoe Spy Camera Hotelroom Spy Camera Bedroom Spy Camera Bathroom Spy Camera


    Eagle eye technology (Hong Kong) Co., Ltd

    URL:http://www.wholesalespycams.com

    http://onlinewholesalespycamera.com



    URL:http://www.wholesalespycams.com/Wholesale-Discount-professional-spycam_c404.html
    http://onlinewholesalespycamera.com/Wholesale-Discount-bathroom-spy-camera_c628.htm
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
3,511
On SlideShare
0
From Embeds
0
Number of Embeds
234
Actions
Shares
0
Downloads
0
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

GOTO - The Ultimate Android Lock Screen

  1. 1. The Ultimate Android Lock Screen<br />Alberto Fonseca<br />Founder -<br />
  2. 2. Agenda<br />What is GOTO?<br />Feature Overview<br />Demo<br />Lessons Learned<br />Q&A<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  3. 3. What is GOTO?<br />Copyright © 2010 InnoWeb Tech, LLC<br />Android 1.5<br />
  4. 4. What is GOTO?<br />Copyright © 2010 InnoWeb Tech, LLC<br />Android 2.0<br />
  5. 5. What is GOTO?<br />Copyright © 2010 InnoWeb Tech, LLC<br />GOTO UI<br />
  6. 6. Features<br />Notification Previews<br />App shortcuts<br />Weather<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  7. 7. Features<br />Notification Previews<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  8. 8. Features<br />Notification Previews<br />App shortcuts<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  9. 9. Features<br />Notification Previews<br />App shortcuts<br />Weather<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  10. 10. DEMO<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  11. 11. Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Testing on real hardware<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  12. 12. Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Maintenance and internal API changes<br />Device implementations not consistent<br />Very time consuming<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  13. 13. Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Copyright © 2010 InnoWeb Tech, LLC<br />http://developer.android.com/resources/dashboard/platform-versions.html<br />Data collected during two weeks ending on August 2, 2010<br />
  14. 14. Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Android Manifest<br />MinSDK version 3<br />TargetSDK version 8<br />Reflection<br />Initialization on demand holder pattern<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  15. 15. GoogleAccountsWrapper<br />public abstract classGoogleAccountsWrapper<br />{<br />public staticGoogleAccountsWrappergetInstance()<br />{<br />if (Integer.parseInt(Build.VERSION.SDK) < 5)<br />{<br />returnPreEclair.Holder.instance;<br />}<br />else<br />{<br />returnEclairPlus.Holder.instance;<br />}<br />}<br />public abstract voidinitGMailAccount(Activity activity);<br />//…<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  16. 16. private static class PreEclair extends GoogleAccountsWrapper<br />{<br />private static class Holder<br />{<br /> private static finalPreEclair instance = new PreEclair();<br />}<br />/**<br />* Retrieve GMail account info and save it in NotificationInfo<br />* Note: We are relying on an older version of* GoogleLoginServiceHelper linked here via the framework.jar * library and calling it's getAccount() method.<br />*/<br />@Override<br />public voidinitGMailAccount(Activity activity) <br />{<br />com.google.android.googlelogin.GoogleLoginServiceHelper.getAccount(activity, Goto.REQUEST_GET_ACCOUNT, true);<br />}<br />}<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  17. 17. private static classEclairPlus extends GoogleAccountsWrapper<br />{<br />private static class Holder<br />{<br /> private static finalEclairPlusinstance = newEclairPlus();<br />}<br />@Override<br />public voidinitGMailAccount(Activity context) <br />{<br />AccountManageraccountManager = AccountManager.get(context);<br />Account[] accounts = accountManager.getAccountsByType("com.google");<br />if (accounts.length > 0)<br />{<br />NotificationInfo.googleAccount= accounts[0].name;<br />}<br />}<br />}<br />}<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  18. 18. // Initialize GMail account info<br />GoogleAccountsWrappergoogleAccounts = GoogleAccountsWrapper.getInstance();<br />googleAccounts.initGMailAccount(this);<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  19. 19. Lessons Learned<br />Unsupported API’s – Don’t try this at home<br />Supporting Android 1.5 – 2.2<br />Testing on real hardware<br />Networking with other Android users/devs<br />DeviceAnywhereservice<br />http://www.deviceanywhere.com<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  20. 20. Questions?<br />Copyright © 2010 InnoWeb Tech, LLC<br />
  21. 21. Contact<br />Alberto FonsecaAvailable for consulting/project managementE-mail: afonseca@innowebtech.comBlog: www.innowebtech.com/blogTwitter: @innowebtech<br />GOTOAvailable in the Android MarketplaceWeb: www.gotoandroidapp.com<br />Copyright © 2010 InnoWeb Tech, LLC<br />

×