@Override public void onLoginFinished(Intent errorIntent) { AuthenticatorHelper helper = App.get(this).getAuthenticatorHelper(); boolean result = helper.hasAccount(); boolean premiumMember = helper.getRestrictions().isPremiumMember(); if (result) { //noinspection ConstantConditions Crashlytics.setUserName(helper.getAccount().name); } AnalyticsUtil.actionLogin(result, premiumMember); setResult(result ? RESULT_OK : RESULT_CANCELED); if (errorIntent != null) { startActivity(errorIntent); finish(); return; } if (premiumMember) { finish(); return; } BasicMembershipWarningDialogFragment.newInstance() .show(getFragmentManager(), BasicMembershipWarningDialogFragment.FRAGMENT_TAG); }
@Override protected void preparePreference() { final Preference accountPreference = findPreference(ACCOUNT, Preference.class); final AuthenticatorHelper authenticatorHelper = App.get(getActivity()).getAuthenticatorHelper(); accountPreference.setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { if (authenticatorHelper.hasAccount()) { authenticatorHelper.removeAccount(); accountPreference.setTitle(R.string.pref_account_login); accountPreference.setSummary(R.string.pref_account_login_summary); } else { authenticatorHelper.requestSignOn(getActivity(), 0); } return true; } }); if (authenticatorHelper.hasAccount()) { accountPreference.setTitle(R.string.pref_account_logout); //noinspection ConstantConditions accountPreference.setSummary(prepareAccountSummary(authenticatorHelper.getAccount().name)); } else { accountPreference.setTitle(R.string.pref_account_login); accountPreference.setSummary(R.string.pref_account_login_summary); } final Preference geocachingLivePreference = findPreference(ACCOUNT_GEOCACHING_LIVE, Preference.class); geocachingLivePreference.setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { IntentUtil.showWebPage(getActivity(), AppConstants.GEOCACHING_LIVE_URI); return true; } }); }