From 40c7d1bf102dbb924109f5e7a044692caa3478b4 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Thu, 17 Jan 2013 11:03:10 -0800 Subject: [PATCH] Refactored how accounts are fetched in welcome flow to eliminate errors --- .../astrid/welcome/tutorial/WelcomePagerAdapter.java | 12 +++++++++--- .../astrid/welcome/tutorial/WelcomeWalkthrough.java | 8 ++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomePagerAdapter.java b/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomePagerAdapter.java index 9575e1b97..b5eb183c4 100644 --- a/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomePagerAdapter.java +++ b/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomePagerAdapter.java @@ -68,6 +68,7 @@ public class WelcomePagerAdapter extends PagerAdapter implements TitleProvider public int fallbackLoginPage; private final Context context; + public Account[] accounts; public WelcomeWalkthrough parent; @Autowired ActFmPreferenceService actFmPreferenceService; @@ -75,6 +76,14 @@ public class WelcomePagerAdapter extends PagerAdapter implements TitleProvider this.context = context; DependencyInjectionService.getInstance().inject(this); + accounts = null; + try { + GoogleAccountManager am = new GoogleAccountManager(context); + accounts = am.getAccounts(); + } catch (Exception e) { + // + } + if (manual) { layouts[layouts.length - 1] = R.layout.welcome_walkthrough_page; title[title.length - 1] = R.string.welcome_title_7_return; @@ -86,9 +95,6 @@ public class WelcomePagerAdapter extends PagerAdapter implements TitleProvider adjustResourcesForLite(); } - GoogleAccountManager am = new GoogleAccountManager(context); - Account[] accounts = am.getAccounts(); - // Setup login page from AB tests fallbackLoginPage = layouts[layouts.length - 1]; if (accounts != null && accounts.length > 0) { // If has google account diff --git a/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomeWalkthrough.java b/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomeWalkthrough.java index 41df09096..190f18deb 100644 --- a/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomeWalkthrough.java +++ b/astrid/src/com/todoroo/astrid/welcome/tutorial/WelcomeWalkthrough.java @@ -31,7 +31,6 @@ import com.timsu.astrid.R; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.actfm.ActFmGoogleAuthActivity; import com.todoroo.astrid.actfm.ActFmLoginActivity; -import com.todoroo.astrid.gtasks.auth.ModernAuthManager; import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsService; import com.viewpagerindicator.CirclePageIndicator; @@ -39,6 +38,7 @@ import com.viewpagerindicator.CirclePageIndicator; public class WelcomeWalkthrough extends ActFmLoginActivity { private ViewPager mPager; private WelcomePagerAdapter mAdapter; + private Account[] accounts; private CirclePageIndicator mIndicator; private View currentView; private int currentPage; @@ -54,6 +54,7 @@ public class WelcomeWalkthrough extends ActFmLoginActivity { mAdapter = new WelcomePagerAdapter(this, getIntent().hasExtra(TOKEN_MANUAL_SHOW)); mAdapter.parent = this; + accounts = mAdapter.accounts; mPager = (ViewPager)findViewById(R.id.pager); mPager.setAdapter(mAdapter); @@ -87,10 +88,9 @@ public class WelcomeWalkthrough extends ActFmLoginActivity { @Override protected void initializeUI() { - String[] accounts = ModernAuthManager.getAccounts(this); String email = null; - if (accounts != null && accounts.length > 0) { - email = accounts[0]; + if (accounts != null && accounts.length > 0 && !TextUtils.isEmpty(accounts[0].name)) { + email = accounts[0].name; } Button simpleLogin = (Button) findViewById(R.id.quick_login_google); if (simpleLogin != null && !TextUtils.isEmpty(email)) {