diff options
author | Alexandra Gherghina <alexgherghina@google.com> | 2014-07-28 21:40:35 +0100 |
---|---|---|
committer | Alexandra Gherghina <alexgherghina@google.com> | 2014-07-29 16:19:26 +0100 |
commit | 5ceddfaaf5baca550d448969c7b7494778ec3ea1 (patch) | |
tree | 2a32de1d0d454b24ae9597640258e957c2450ea6 /src/com | |
parent | a6145a656af1241fd771038715cf839a8fce76e1 (diff) | |
download | packages_apps_Settings-5ceddfaaf5baca550d448969c7b7494778ec3ea1.zip packages_apps_Settings-5ceddfaaf5baca550d448969c7b7494778ec3ea1.tar.gz packages_apps_Settings-5ceddfaaf5baca550d448969c7b7494778ec3ea1.tar.bz2 |
Move global sync settings dialogs to the right screen
Bug: 16076571
Change-Id: I4ba01ece6e5054d699342ff2c1270fc2fc51c5a9
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/DataUsageSummary.java | 53 | ||||
-rw-r--r-- | src/com/android/settings/accounts/AccountSettings.java | 68 |
2 files changed, 62 insertions, 59 deletions
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index ac9344c..c8691e1 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -56,7 +56,6 @@ import android.app.Fragment; import android.app.FragmentTransaction; import android.app.LoaderManager.LoaderCallbacks; import android.content.ComponentName; -import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -176,7 +175,6 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable private static final String TAG_CONFIRM_RESTRICT = "confirmRestrict"; private static final String TAG_DENIED_RESTRICT = "deniedRestrict"; private static final String TAG_CONFIRM_APP_RESTRICT = "confirmAppRestrict"; - private static final String TAG_CONFIRM_AUTO_SYNC_CHANGE = "confirmAutoSyncChange"; private static final String TAG_APP_DETAILS = "appDetails"; private static final String DATA_USAGE_ENABLE_MOBILE_KEY = "data_usage_enable_mobile"; @@ -487,7 +485,6 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable final boolean isOwner = ActivityManager.getCurrentUser() == UserHandle.USER_OWNER; mMenuShowWifi = menu.findItem(R.id.data_usage_menu_show_wifi); - // TODO: Define behavior of this sync button. See: http://b/16076571 if (hasWifiRadio(context) && hasReadyMobileRadio(context)) { mMenuShowWifi.setVisible(!appDetailMode); } else { @@ -2166,56 +2163,6 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable } /** - * Dialog to inform user about changing auto-sync setting - */ - public static class ConfirmAutoSyncChangeFragment extends DialogFragment { - private static final String SAVE_ENABLING = "enabling"; - private boolean mEnabling; - - public static void show(DataUsageSummary parent, boolean enabling) { - if (!parent.isAdded()) return; - - final ConfirmAutoSyncChangeFragment dialog = new ConfirmAutoSyncChangeFragment(); - dialog.mEnabling = enabling; - dialog.setTargetFragment(parent, 0); - dialog.show(parent.getFragmentManager(), TAG_CONFIRM_AUTO_SYNC_CHANGE); - } - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final Context context = getActivity(); - if (savedInstanceState != null) { - mEnabling = savedInstanceState.getBoolean(SAVE_ENABLING); - } - - final AlertDialog.Builder builder = new AlertDialog.Builder(context); - if (!mEnabling) { - builder.setTitle(R.string.data_usage_auto_sync_off_dialog_title); - builder.setMessage(R.string.data_usage_auto_sync_off_dialog); - } else { - builder.setTitle(R.string.data_usage_auto_sync_on_dialog_title); - builder.setMessage(R.string.data_usage_auto_sync_on_dialog); - } - - builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - ContentResolver.setMasterSyncAutomatically(mEnabling); - } - }); - builder.setNegativeButton(android.R.string.cancel, null); - - return builder.create(); - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putBoolean(SAVE_ENABLING, mEnabling); - } - } - - /** * Compute default tab that should be selected, based on * {@link NetworkPolicyManager#EXTRA_NETWORK_TEMPLATE} extra. */ diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java index 47eb063..ffd6037 100644 --- a/src/com/android/settings/accounts/AccountSettings.java +++ b/src/com/android/settings/accounts/AccountSettings.java @@ -20,9 +20,13 @@ package com.android.settings.accounts; import android.accounts.Account; import android.accounts.AccountManager; import android.app.ActivityManager; +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.graphics.drawable.Drawable; @@ -35,7 +39,6 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.preference.Preference; -import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; @@ -73,6 +76,9 @@ public class AccountSettings extends SettingsPreferenceFragment private static final ArrayList<String> EMPTY_LIST = new ArrayList<String>(); + private static final String TAG_CONFIRM_AUTO_SYNC_CHANGE = "confirmAutoSyncChange"; + + private UserManager mUm; private SparseArray<ProfileData> mProfiles; private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver @@ -430,18 +436,68 @@ public class AccountSettings extends SettingsPreferenceFragment @Override public boolean onMenuItemClick(MenuItem item) { - // TODO: Add confirmation dialogs. See: http://b/16076571 if (ActivityManager.isUserAMonkey()) { Log.d(TAG, "ignoring monkey's attempt to flip sync state"); } else { - boolean newSyncState = !item.isChecked(); - item.setChecked(newSyncState); - ContentResolver.setMasterSyncAutomaticallyAsUser(newSyncState, - mUserHandle.getIdentifier()); + ConfirmAutoSyncChangeFragment.show(AccountSettings.this, !item.isChecked(), + mUserHandle); } return true; } } + + /** + * Dialog to inform user about changing auto-sync setting + */ + public static class ConfirmAutoSyncChangeFragment extends DialogFragment { + private static final String SAVE_ENABLING = "enabling"; + private boolean mEnabling; + private UserHandle mUserHandle; + + public static void show(AccountSettings parent, boolean enabling, UserHandle userHandle) { + if (!parent.isAdded()) return; + + final ConfirmAutoSyncChangeFragment dialog = new ConfirmAutoSyncChangeFragment(); + dialog.mEnabling = enabling; + dialog.mUserHandle = userHandle; + dialog.setTargetFragment(parent, 0); + dialog.show(parent.getFragmentManager(), TAG_CONFIRM_AUTO_SYNC_CHANGE); + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + final Context context = getActivity(); + if (savedInstanceState != null) { + mEnabling = savedInstanceState.getBoolean(SAVE_ENABLING); + } + + final AlertDialog.Builder builder = new AlertDialog.Builder(context); + if (!mEnabling) { + builder.setTitle(R.string.data_usage_auto_sync_off_dialog_title); + builder.setMessage(R.string.data_usage_auto_sync_off_dialog); + } else { + builder.setTitle(R.string.data_usage_auto_sync_on_dialog_title); + builder.setMessage(R.string.data_usage_auto_sync_on_dialog); + } + + builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ContentResolver.setMasterSyncAutomaticallyAsUser(mEnabling, + mUserHandle.getIdentifier()); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + + return builder.create(); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putBoolean(SAVE_ENABLING, mEnabling); + } + } // TODO Implement a {@link SearchIndexProvider} to allow Indexing and Search of account types // See http://b/15403806 } |