Started reworking the ActFmPreferences page

pull/14/head
Sam Bosley 13 years ago
parent 086bc944da
commit c574d3a51e

@ -75,6 +75,14 @@ public class ActFmPreferences extends SyncProviderPreferences {
return true;
}
});
findPreference(getString(R.string.actfm_account_type)).setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startSync();
return true;
}
});
}
private void startLogin() {
@ -92,6 +100,16 @@ public class ActFmPreferences extends SyncProviderPreferences {
return actFmPreferenceService;
}
@Override
protected void onResume() {
super.onResume();
Preference premiumUpgrade = findPreference(getString(R.string.actfm_inapp_billing));
if (premiumUpgrade != null && (!actFmPreferenceService.isLoggedIn() || ActFmPreferenceService.isPremiumUser())) {
getPreferenceScreen().removePreference(premiumUpgrade);
}
}
@Override
protected void onPause() {
super.onPause();
@ -115,8 +133,19 @@ public class ActFmPreferences extends SyncProviderPreferences {
preference.setSummary(R.string.actfm_https_enabled);
else
preference.setSummary(R.string.actfm_https_disabled);
} else if (r.getString(R.string.actfm_inapp_billing).equals(preference.getKey())) {
//
} else if (r.getString(R.string.actfm_account_type).equals(preference.getKey())) {
if (ActFmPreferenceService.isPremiumUser()) {
// Premium user
preference.setSummary(R.string.actfm_account_premium);
} else if (actFmPreferenceService.isLoggedIn()) {
// Non premium user
preference.setSummary(R.string.actfm_account_basic);
} else {
// Not logged in
preference.setEnabled(true);
preference.setTitle(R.string.account_type_title_not_logged_in);
preference.setSummary(R.string.account_type_summary_not_logged_in);
}
} else {
super.updatePreferences(preference, value);
}

@ -308,6 +308,11 @@
Are you sure you want to sync with Astrid.com?</string>
<!-- account types -->
<string name="actfm_account_type">Account Type</string>
<string name="account_type_title_not_logged_in">Sign up for a free account</string>
<string name="account_type_summary_not_logged_in">Access tasks online, share lists and even delegate</string>
<string name="actfm_account_premium">Premium</string>
<string name="actfm_account_basic">Basic</string>
<string name="actfm_account_none">None</string>

@ -6,7 +6,17 @@
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<com.todoroo.astrid.ui.MultilinePreference
android:key="@string/actfm_account_type"
android:title="@string/actfm_account_type"
android:enabled="false"/>
<PreferenceScreen
android:key="@string/actfm_inapp_billing"
android:title="@string/actfm_inapp_billing"
android:summary="@string/actfm_inapp_billing_summary"/>
<PreferenceCategory
android:key="@string/sync_SPr_group_status"
android:title="@string/sync_SPr_group_status">
@ -21,14 +31,9 @@
android:key="@string/sync_SPr_key_last_error"
android:textSize="24sp"
android:gravity="center"/>
</PreferenceCategory>
<PreferenceScreen
android:key="@string/actfm_inapp_billing"
android:title="@string/actfm_inapp_billing"
android:summary="@string/actfm_inapp_billing_summary"/>
<PreferenceCategory
android:key="@string/sync_SPr_key_options"
android:title="@string/sync_SPr_group_options">

@ -437,7 +437,7 @@ public class EditPreferences extends TodorooPreferenceActivity {
if (ActFmPreferenceService.isPremiumUser()) {
accountType = getString(R.string.actfm_account_premium);
} else if (actFmPreferenceService.isLoggedIn()) {
accountType = getString(R.string.actfm_account_premium);
accountType = getString(R.string.actfm_account_basic);
} else {
accountType = getString(R.string.actfm_account_none);
}

Loading…
Cancel
Save