Refactored how accounts are fetched in welcome flow to eliminate errors

pull/14/head
Sam Bosley 13 years ago
parent 35b4313911
commit 40c7d1bf10

@ -68,6 +68,7 @@ public class WelcomePagerAdapter extends PagerAdapter implements TitleProvider
public int fallbackLoginPage; public int fallbackLoginPage;
private final Context context; private final Context context;
public Account[] accounts;
public WelcomeWalkthrough parent; public WelcomeWalkthrough parent;
@Autowired ActFmPreferenceService actFmPreferenceService; @Autowired ActFmPreferenceService actFmPreferenceService;
@ -75,6 +76,14 @@ public class WelcomePagerAdapter extends PagerAdapter implements TitleProvider
this.context = context; this.context = context;
DependencyInjectionService.getInstance().inject(this); DependencyInjectionService.getInstance().inject(this);
accounts = null;
try {
GoogleAccountManager am = new GoogleAccountManager(context);
accounts = am.getAccounts();
} catch (Exception e) {
//
}
if (manual) { if (manual) {
layouts[layouts.length - 1] = R.layout.welcome_walkthrough_page; layouts[layouts.length - 1] = R.layout.welcome_walkthrough_page;
title[title.length - 1] = R.string.welcome_title_7_return; title[title.length - 1] = R.string.welcome_title_7_return;
@ -86,9 +95,6 @@ public class WelcomePagerAdapter extends PagerAdapter implements TitleProvider
adjustResourcesForLite(); adjustResourcesForLite();
} }
GoogleAccountManager am = new GoogleAccountManager(context);
Account[] accounts = am.getAccounts();
// Setup login page from AB tests // Setup login page from AB tests
fallbackLoginPage = layouts[layouts.length - 1]; fallbackLoginPage = layouts[layouts.length - 1];
if (accounts != null && accounts.length > 0) { // If has google account if (accounts != null && accounts.length > 0) { // If has google account

@ -31,7 +31,6 @@ import com.timsu.astrid.R;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.actfm.ActFmGoogleAuthActivity; import com.todoroo.astrid.actfm.ActFmGoogleAuthActivity;
import com.todoroo.astrid.actfm.ActFmLoginActivity; import com.todoroo.astrid.actfm.ActFmLoginActivity;
import com.todoroo.astrid.gtasks.auth.ModernAuthManager;
import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
import com.viewpagerindicator.CirclePageIndicator; import com.viewpagerindicator.CirclePageIndicator;
@ -39,6 +38,7 @@ import com.viewpagerindicator.CirclePageIndicator;
public class WelcomeWalkthrough extends ActFmLoginActivity { public class WelcomeWalkthrough extends ActFmLoginActivity {
private ViewPager mPager; private ViewPager mPager;
private WelcomePagerAdapter mAdapter; private WelcomePagerAdapter mAdapter;
private Account[] accounts;
private CirclePageIndicator mIndicator; private CirclePageIndicator mIndicator;
private View currentView; private View currentView;
private int currentPage; private int currentPage;
@ -54,6 +54,7 @@ public class WelcomeWalkthrough extends ActFmLoginActivity {
mAdapter = new WelcomePagerAdapter(this, getIntent().hasExtra(TOKEN_MANUAL_SHOW)); mAdapter = new WelcomePagerAdapter(this, getIntent().hasExtra(TOKEN_MANUAL_SHOW));
mAdapter.parent = this; mAdapter.parent = this;
accounts = mAdapter.accounts;
mPager = (ViewPager)findViewById(R.id.pager); mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter); mPager.setAdapter(mAdapter);
@ -87,10 +88,9 @@ public class WelcomeWalkthrough extends ActFmLoginActivity {
@Override @Override
protected void initializeUI() { protected void initializeUI() {
String[] accounts = ModernAuthManager.getAccounts(this);
String email = null; String email = null;
if (accounts != null && accounts.length > 0) { if (accounts != null && accounts.length > 0 && !TextUtils.isEmpty(accounts[0].name)) {
email = accounts[0]; email = accounts[0].name;
} }
Button simpleLogin = (Button) findViewById(R.id.quick_login_google); Button simpleLogin = (Button) findViewById(R.id.quick_login_google);
if (simpleLogin != null && !TextUtils.isEmpty(email)) { if (simpleLogin != null && !TextUtils.isEmpty(email)) {

Loading…
Cancel
Save