summaryrefslogtreecommitdiffstats
path: root/src/com/android/email/activity/setup/AccountSetupOptionsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/email/activity/setup/AccountSetupOptionsFragment.java')
-rw-r--r--src/com/android/email/activity/setup/AccountSetupOptionsFragment.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/com/android/email/activity/setup/AccountSetupOptionsFragment.java b/src/com/android/email/activity/setup/AccountSetupOptionsFragment.java
index 9d048c119..287a0d323 100644
--- a/src/com/android/email/activity/setup/AccountSetupOptionsFragment.java
+++ b/src/com/android/email/activity/setup/AccountSetupOptionsFragment.java
@@ -29,8 +29,13 @@ import com.android.email.activity.UiUtilities;
import com.android.email.service.EmailServiceUtils;
import com.android.emailcommon.provider.Account;
import com.android.emailcommon.provider.Policy;
+import com.android.emailcommon.service.EmailServiceProxy;
import com.android.emailcommon.service.SyncWindow;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
public class AccountSetupOptionsFragment extends AccountSetupFragment {
private Spinner mCheckFrequencyView;
private Spinner mSyncWindowView;
@@ -90,11 +95,24 @@ public class AccountSetupOptionsFragment extends AccountSetupFragment {
final CharSequence[] frequencyEntries = serviceInfo.syncIntervalStrings;
// Now create the array used by the sync interval Spinner
- final SpinnerOption[] checkFrequencies = new SpinnerOption[frequencyEntries.length];
+ int checkIntervalPushPos = -1;
+ SpinnerOption[] checkFrequencies = new SpinnerOption[frequencyEntries.length];
for (int i = 0; i < frequencyEntries.length; i++) {
- checkFrequencies[i] = new SpinnerOption(
- Integer.valueOf(frequencyValues[i].toString()), frequencyEntries[i].toString());
+ Integer value = Integer.valueOf(frequencyValues[i].toString());
+ if (value.intValue() == Account.CHECK_INTERVAL_PUSH) {
+ checkIntervalPushPos = i;
+ }
+ checkFrequencies[i] = new SpinnerOption(value, frequencyEntries[i].toString());
}
+
+ // Ensure that push capability is supported by the server
+ boolean hasPushCapability = account.hasCapability(EmailServiceProxy.CAPABILITY_PUSH);
+ if (!hasPushCapability && checkIntervalPushPos != -1) {
+ List<SpinnerOption> options = new ArrayList<>(Arrays.asList(checkFrequencies));
+ options.remove(checkIntervalPushPos);
+ checkFrequencies = options.toArray(new SpinnerOption[options.size()]);
+ }
+
final ArrayAdapter<SpinnerOption> checkFrequenciesAdapter =
new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item,
checkFrequencies);