summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandra Gherghina <alexgherghina@google.com>2014-07-28 21:40:35 +0100
committerAlexandra Gherghina <alexgherghina@google.com>2014-07-29 16:19:26 +0100
commit5ceddfaaf5baca550d448969c7b7494778ec3ea1 (patch)
tree2a32de1d0d454b24ae9597640258e957c2450ea6
parenta6145a656af1241fd771038715cf839a8fce76e1 (diff)
downloadpackages_apps_Settings-5ceddfaaf5baca550d448969c7b7494778ec3ea1.tar.gz
packages_apps_Settings-5ceddfaaf5baca550d448969c7b7494778ec3ea1.tar.bz2
packages_apps_Settings-5ceddfaaf5baca550d448969c7b7494778ec3ea1.zip
Move global sync settings dialogs to the right screen
Bug: 16076571 Change-Id: I4ba01ece6e5054d699342ff2c1270fc2fc51c5a9
-rw-r--r--res/values/strings.xml4
-rw-r--r--src/com/android/settings/DataUsageSummary.java53
-rw-r--r--src/com/android/settings/accounts/AccountSettings.java68
3 files changed, 64 insertions, 61 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7a3953baa..5a87472c5 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -4915,9 +4915,9 @@
<!-- Title of dialog shown when user enables global auto sync [CHAR LIMIT=32] -->
<string name="data_usage_auto_sync_on_dialog_title">Turn auto-sync data on?</string>
<!-- Body of dialog shown when user enables global auto sync, for tablet [CHAR LIMIT=none] -->
- <string name="data_usage_auto_sync_on_dialog" product="tablet">Any changes you make to your accounts on the web will be automatically copied to your tablet.\n\nSome accounts may also automatically copy any changes you make on the tablet to the web. A Google Account works this way.\n\nTo choose which kinds of information to sync within each account, go to Settings &gt; Accounts.</string>
+ <string name="data_usage_auto_sync_on_dialog" product="tablet">Any changes you make to your accounts on the web will be automatically copied to your tablet.\n\nSome accounts may also automatically copy any changes you make on the tablet to the web. A Google Account works this way.</string>
<!-- Body of dialog shown when user enables global auto sync [CHAR LIMIT=none] -->
- <string name="data_usage_auto_sync_on_dialog" product="default">Any changes you make to your accounts on the web will be automatically copied to your phone.\n\nSome accounts may also automatically copy any changes you make on the phone to the web. A Google Account works this way.\n\nTo choose which kinds of information to sync within each account, go to Settings &gt; Accounts.</string>
+ <string name="data_usage_auto_sync_on_dialog" product="default">Any changes you make to your accounts on the web will be automatically copied to your phone.\n\nSome accounts may also automatically copy any changes you make on the phone to the web. A Google Account works this way.</string>
<!-- Title of dialog shown when user disables global auto sync [CHAR LIMIT=32] -->
<string name="data_usage_auto_sync_off_dialog_title">Turn auto-sync data off?</string>
<!-- Body of dialog shown when user disables global auto sync [CHAR LIMIT=none] -->
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index ac9344c91..c8691e16c 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 47eb063cb..ffd6037e1 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
}