From 08a262c92725b2040f86358ddb66d304ceb70db6 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 22 Aug 2012 18:36:05 -0700 Subject: [PATCH] Added account type indicator that links to astrid.com sync prefs --- astrid/res/values/keys.xml | 3 ++ astrid/res/values/strings-actfm.xml | 5 +++ astrid/res/values/strings-core.xml | 6 +++ astrid/res/xml/preferences.xml | 4 ++ .../astrid/activity/EditPreferences.java | 37 ++++++++++++++----- 5 files changed, 46 insertions(+), 9 deletions(-) diff --git a/astrid/res/values/keys.xml b/astrid/res/values/keys.xml index 8a07945cb..325eaf436 100644 --- a/astrid/res/values/keys.xml +++ b/astrid/res/values/keys.xml @@ -67,6 +67,9 @@ show_featured_lists_labs + + account + 1 diff --git a/astrid/res/values/strings-actfm.xml b/astrid/res/values/strings-actfm.xml index 5cc1d6f90..b7e3bfce7 100644 --- a/astrid/res/values/strings-actfm.xml +++ b/astrid/res/values/strings-actfm.xml @@ -306,6 +306,11 @@ You are currently synchronizing with Google Tasks. Be advised that synchronizing with both services can in some cases lead to unexpected results. Are you sure you want to sync with Astrid.com? + + + Premium + Basic + None diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index 01702b95d..3a5cac9a3 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -579,6 +579,12 @@ FAQ + + + Account: %s + + + Cloud sync status and options Tutorial, FAQ, About Astrid diff --git a/astrid/res/xml/preferences.xml b/astrid/res/xml/preferences.xml index 02e26daee..636074a08 100644 --- a/astrid/res/xml/preferences.xml +++ b/astrid/res/xml/preferences.xml @@ -8,6 +8,10 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/EPr_title"> + + diff --git a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java index d90e5e673..665672b13 100644 --- a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java @@ -34,7 +34,6 @@ import android.preference.PreferenceScreen; import android.text.TextUtils; import android.widget.Toast; -import com.crittercism.NewFeedbackSpringboardActivity; import com.crittercism.app.Crittercism; import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; @@ -46,6 +45,7 @@ import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.TodorooPreferenceActivity; import com.todoroo.astrid.actfm.ActFmLoginActivity; +import com.todoroo.astrid.actfm.ActFmPreferences; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.dao.Database; @@ -59,7 +59,6 @@ import com.todoroo.astrid.producteev.ProducteevUtilities; import com.todoroo.astrid.service.AddOnService; import com.todoroo.astrid.service.MarketStrategy.AmazonMarketStrategy; import com.todoroo.astrid.service.StartupService; -import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.sync.SyncProviderPreferences; @@ -94,6 +93,7 @@ public class EditPreferences extends TodorooPreferenceActivity { @Autowired private TaskService taskService; @Autowired private AddOnService addOnService; + @Autowired private ActFmPreferenceService actFmPreferenceService; @Autowired private Database database; @@ -168,6 +168,15 @@ public class EditPreferences extends TodorooPreferenceActivity { } }); + preference = screen.findPreference(getString(R.string.p_account)); + preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference p) { + showAccountPrefs(); + return true; + } + }); + PreferenceScreen appearance = (PreferenceScreen) screen.getPreference(APPEARANCE_PREFERENCE); Preference beastMode = appearance.getPreference(1); beastMode.setOnPreferenceClickListener(new OnPreferenceClickListener() { @@ -254,18 +263,18 @@ public class EditPreferences extends TodorooPreferenceActivity { startActivity(intent); } - private void showForums() { - StatisticsService.reportEvent(StatisticsConstants.TLA_MENU_HELP); - Intent intent = new Intent(this, NewFeedbackSpringboardActivity.class); - startActivity(intent); - } - private void showBeastMode() { Intent intent = new Intent(this, BeastModePreferences.class); intent.setAction(AstridApiConstants.ACTION_SETTINGS); startActivity(intent); } + private void showAccountPrefs() { + Intent intent = new Intent(this, ActFmPreferences.class); + intent.setAction(AstridApiConstants.ACTION_SETTINGS); + startActivityForResult(intent, REQUEST_CODE_SYNC); + } + private static final HashMap, Integer> PREFERENCE_REQUEST_CODES = new HashMap, Integer>(); static { PREFERENCE_REQUEST_CODES.put(SyncProviderPreferences.class, REQUEST_CODE_SYNC); @@ -423,7 +432,17 @@ public class EditPreferences extends TodorooPreferenceActivity { public void updatePreferences(final Preference preference, Object value) { final Resources r = getResources(); - if (r.getString(R.string.p_showNotes).equals(preference.getKey())) { + if (r.getString(R.string.p_account).equals(preference.getKey())) { + String accountType; + if (ActFmPreferenceService.isPremiumUser()) { + accountType = getString(R.string.actfm_account_premium); + } else if (actFmPreferenceService.isLoggedIn()) { + accountType = getString(R.string.actfm_account_premium); + } else { + accountType = getString(R.string.actfm_account_none); + } + preference.setTitle(getString(R.string.EPr_account_title, accountType)); + } else if (r.getString(R.string.p_showNotes).equals(preference.getKey())) { if (value != null && !(Boolean)value) preference.setSummary(R.string.EPr_showNotes_desc_disabled); else