Move Auto sync data prefs from user to account screen

Change-Id: Idb69ed49c6e21f93cafa593ba5e7dffa32f377b7
Fixes: 73739376
Test: existing robotests & atest
This commit is contained in:
Fan Zhang
2018-03-07 15:42:53 -08:00
parent d9eba6b856
commit ad47e1aada
4 changed files with 108 additions and 136 deletions

View File

@@ -23,6 +23,25 @@
<PreferenceCategory <PreferenceCategory
android:key="dashboard_tile_placeholder" android:key="dashboard_tile_placeholder"
android:order="200"/> android:order="30"/>
<SwitchPreference
android:key="auto_sync_account_data"
android:title="@string/auto_sync_account_title"
android:summary="@string/auto_sync_account_summary"
android:order="102"
settings:allowDividerAbove="true"/>
<SwitchPreference
android:key="auto_sync_work_account_data"
android:title="@string/account_settings_menu_auto_sync_work"
android:summary="@string/auto_sync_account_summary"
android:order="103"/>
<SwitchPreference
android:key="auto_sync_personal_account_data"
android:title="@string/account_settings_menu_auto_sync_personal"
android:summary="@string/auto_sync_account_summary"
android:order="104"/>
</PreferenceScreen> </PreferenceScreen>

View File

@@ -16,7 +16,6 @@
<PreferenceScreen <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="user_settings_screen" android:key="user_settings_screen"
android:title="@string/user_settings_title"> android:title="@string/user_settings_title">
@@ -32,25 +31,6 @@
android:icon="@drawable/ic_menu_add" android:icon="@drawable/ic_menu_add"
android:order="20"/> android:order="20"/>
<SwitchPreference
android:key="auto_sync_account_data"
android:title="@string/auto_sync_account_title"
android:summary="@string/auto_sync_account_summary"
android:order="102"
settings:allowDividerAbove="true"/>
<SwitchPreference
android:key="auto_sync_work_account_data"
android:title="@string/account_settings_menu_auto_sync_work"
android:summary="@string/auto_sync_account_summary"
android:order="103"/>
<SwitchPreference
android:key="auto_sync_personal_account_data"
android:title="@string/account_settings_menu_auto_sync_personal"
android:summary="@string/auto_sync_account_summary"
android:order="104"/>
<com.android.settingslib.RestrictedSwitchPreference <com.android.settingslib.RestrictedSwitchPreference
android:key="user_settings_add_users_when_locked" android:key="user_settings_add_users_when_locked"
android:title="@string/user_add_on_lockscreen_menu" android:title="@string/user_add_on_lockscreen_menu"

View File

@@ -29,6 +29,9 @@ import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader; import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.users.AutoSyncDataPreferenceController;
import com.android.settings.users.AutoSyncPersonalDataPreferenceController;
import com.android.settings.users.AutoSyncWorkDataPreferenceController;
import com.android.settingslib.accounts.AuthenticatorHelper; import com.android.settingslib.accounts.AuthenticatorHelper;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
@@ -69,6 +72,9 @@ public class AccountDashboardFragment extends DashboardFragment {
new AccountPreferenceController(context, this, authorities); new AccountPreferenceController(context, this, authorities);
getLifecycle().addObserver(accountPrefController); getLifecycle().addObserver(accountPrefController);
controllers.add(accountPrefController); controllers.add(accountPrefController);
controllers.add(new AutoSyncDataPreferenceController(context, this /*parent */));
controllers.add(new AutoSyncPersonalDataPreferenceController(context, this /*parent */));
controllers.add(new AutoSyncWorkDataPreferenceController(context, this /* parent */));
return controllers; return controllers;
} }

View File

@@ -148,9 +148,6 @@ public class UserSettings extends SettingsPreferenceFragment
private EditUserInfoController mEditUserInfoController = new EditUserInfoController(); private EditUserInfoController mEditUserInfoController = new EditUserInfoController();
private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController; private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController;
private AutoSyncDataPreferenceController mAutoSyncDataPreferenceController;
private AutoSyncPersonalDataPreferenceController mAutoSyncPersonalDataPreferenceController;
private AutoSyncWorkDataPreferenceController mAutoSyncWorkDataPreferenceController;
// A place to cache the generated default avatar // A place to cache the generated default avatar
private Drawable mDefaultIconDrawable; private Drawable mDefaultIconDrawable;
@@ -203,17 +200,9 @@ public class UserSettings extends SettingsPreferenceFragment
final Context context = getActivity(); final Context context = getActivity();
mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController( mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
context, KEY_ADD_USER_WHEN_LOCKED, getLifecycle()); context, KEY_ADD_USER_WHEN_LOCKED, getLifecycle());
mAutoSyncDataPreferenceController = new AutoSyncDataPreferenceController(context, this);
mAutoSyncPersonalDataPreferenceController =
new AutoSyncPersonalDataPreferenceController(context, this);
mAutoSyncWorkDataPreferenceController =
new AutoSyncWorkDataPreferenceController(context, this);
final PreferenceScreen screen = getPreferenceScreen(); final PreferenceScreen screen = getPreferenceScreen();
mAddUserWhenLockedPreferenceController.displayPreference(screen); mAddUserWhenLockedPreferenceController.displayPreference(screen);
mAutoSyncDataPreferenceController.displayPreference(screen);
mAutoSyncPersonalDataPreferenceController.displayPreference(screen);
mAutoSyncWorkDataPreferenceController.displayPreference(screen);
screen.findPreference(mAddUserWhenLockedPreferenceController.getPreferenceKey()) screen.findPreference(mAddUserWhenLockedPreferenceController.getPreferenceKey())
.setOnPreferenceChangeListener(mAddUserWhenLockedPreferenceController); .setOnPreferenceChangeListener(mAddUserWhenLockedPreferenceController);
@@ -274,22 +263,10 @@ public class UserSettings extends SettingsPreferenceFragment
} }
final PreferenceScreen screen = getPreferenceScreen(); final PreferenceScreen screen = getPreferenceScreen();
if (mAutoSyncDataPreferenceController.isAvailable()) {
mAutoSyncDataPreferenceController.updateState(screen.findPreference(
mAutoSyncDataPreferenceController.getPreferenceKey()));
}
if (mAddUserWhenLockedPreferenceController.isAvailable()) { if (mAddUserWhenLockedPreferenceController.isAvailable()) {
mAddUserWhenLockedPreferenceController.updateState(screen.findPreference( mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
mAddUserWhenLockedPreferenceController.getPreferenceKey())); mAddUserWhenLockedPreferenceController.getPreferenceKey()));
} }
if (mAutoSyncPersonalDataPreferenceController.isAvailable()) {
mAutoSyncPersonalDataPreferenceController.updateState(screen.findPreference(
mAutoSyncPersonalDataPreferenceController.getPreferenceKey()));
}
if (mAutoSyncWorkDataPreferenceController.isAvailable()) {
mAutoSyncWorkDataPreferenceController.updateState(screen.findPreference(
mAutoSyncWorkDataPreferenceController.getPreferenceKey()));
}
if (mShouldUpdateUserList) { if (mShouldUpdateUserList) {
mUserCaps.updateAddUserCapabilities(getActivity()); mUserCaps.updateAddUserCapabilities(getActivity());
@@ -329,20 +306,6 @@ public class UserSettings extends SettingsPreferenceFragment
super.startActivityForResult(intent, requestCode); super.startActivityForResult(intent, requestCode);
} }
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (mAutoSyncDataPreferenceController.handlePreferenceTreeClick(preference)) {
return true;
}
if (mAutoSyncPersonalDataPreferenceController.handlePreferenceTreeClick(preference)) {
return true;
}
if (mAutoSyncWorkDataPreferenceController.handlePreferenceTreeClick(preference)) {
return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
int pos = 0; int pos = 0;
@@ -578,7 +541,8 @@ public class UserSettings extends SettingsPreferenceFragment
addUserNow(userType); addUserNow(userType);
if (!longMessageDisplayed) { if (!longMessageDisplayed) {
preferences.edit().putBoolean( preferences.edit().putBoolean(
KEY_ADD_USER_LONG_MESSAGE_DISPLAYED, true).apply(); KEY_ADD_USER_LONG_MESSAGE_DISPLAYED,
true).apply();
} }
} }
}) })
@@ -1106,6 +1070,7 @@ public class UserSettings extends SettingsPreferenceFragment
* Returns a default user icon (as a {@link Bitmap}) for the given user. * Returns a default user icon (as a {@link Bitmap}) for the given user.
* *
* Note that for guest users, you should pass in {@code UserHandle.USER_NULL}. * Note that for guest users, you should pass in {@code UserHandle.USER_NULL}.
*
* @param resources resources object to fetch the user icon. * @param resources resources object to fetch the user icon.
* @param userId the user id or {@code UserHandle.USER_NULL} for a non-user specific icon * @param userId the user id or {@code UserHandle.USER_NULL} for a non-user specific icon
*/ */
@@ -1124,6 +1089,7 @@ public class UserSettings extends SettingsPreferenceFragment
/** /**
* Assign the default photo to user with {@paramref userId} * Assign the default photo to user with {@paramref userId}
*
* @param context used to get the {@link UserManager} * @param context used to get the {@link UserManager}
* @param userId used to get the icon bitmap * @param userId used to get the icon bitmap
* @return true if assign photo successfully, false if failed * @return true if assign photo successfully, false if failed
@@ -1160,7 +1126,8 @@ public class UserSettings extends SettingsPreferenceFragment
um.setUserIcon(userId, icon); um.setUserIcon(userId, icon);
try { try {
avatarDataStream.close(); avatarDataStream.close();
} catch (IOException ioe) { } } catch (IOException ioe) {
}
} }
private static class SummaryProvider implements SummaryLoader.SummaryProvider { private static class SummaryProvider implements SummaryLoader.SummaryProvider {