Added account type indicator that links to astrid.com sync prefs

pull/14/head
Sam Bosley 13 years ago
parent ba9baf3bc9
commit 08a262c927

@ -67,6 +67,9 @@
<!-- show featured lists -->
<string name="p_show_featured_lists_labs">show_featured_lists_labs</string>
<!-- account status section key -->
<string name="p_account">account</string>
<string-array name="TEA_reminder_random_hours">
<!-- values (in hours) associated with items above. -->
<item>1</item>

@ -307,5 +307,10 @@
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?</string>
<!-- account types -->
<string name="actfm_account_premium">Premium</string>
<string name="actfm_account_basic">Basic</string>
<string name="actfm_account_none">None</string>
</resources>

@ -580,6 +580,12 @@
<!-- FAQ Preference title -->
<string name="EPr_faq_title">FAQ</string>
<!-- Account status preference (%s -> account type) -->
<string name="EPr_account_title">Account: %s</string>
<!-- Account status description -->
<string name="EPr_account_desc">Cloud sync status and options</string>
<!-- Support preferences summary -->
<string name="EPr_support_summary">Tutorial, FAQ, About Astrid</string>

@ -8,6 +8,10 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/EPr_title">
<PreferenceScreen android:title="@string/EPr_account_title"
android:key="@string/p_account"
android:summary="@string/EPr_account_desc"/>
<PreferenceScreen android:title="@string/p_help" android:summary="@string/EPr_support_summary">
<PreferenceScreen android:title="@string/p_about" android:key="@string/p_about" />
<PreferenceScreen android:title="@string/welcome_setting" android:key="@string/p_tutorial"/>

@ -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<Class<?>, Integer> PREFERENCE_REQUEST_CODES = new HashMap<Class<?>, 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

Loading…
Cancel
Save