Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad47e1aa authored by Fan Zhang's avatar Fan Zhang
Browse files

Move Auto sync data prefs from user to account screen

Change-Id: Idb69ed49c6e21f93cafa593ba5e7dffa32f377b7
Fixes: 73739376
Test: existing robotests & atest
parent d9eba6b8
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -23,6 +23,25 @@

    <PreferenceCategory
        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>
+0 −20
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="user_settings_screen"
    android:title="@string/user_settings_title">

@@ -32,25 +31,6 @@
        android:icon="@drawable/ic_menu_add"
        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
        android:key="user_settings_add_users_when_locked"
        android:title="@string/user_add_on_lockscreen_menu"
+6 −0
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@ import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
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.core.AbstractPreferenceController;

@@ -69,6 +72,9 @@ public class AccountDashboardFragment extends DashboardFragment {
                new AccountPreferenceController(context, this, authorities);
        getLifecycle().addObserver(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;
    }

+82 −115
Original line number Diff line number Diff line
@@ -148,9 +148,6 @@ public class UserSettings extends SettingsPreferenceFragment

    private EditUserInfoController mEditUserInfoController = new EditUserInfoController();
    private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController;
    private AutoSyncDataPreferenceController mAutoSyncDataPreferenceController;
    private AutoSyncPersonalDataPreferenceController mAutoSyncPersonalDataPreferenceController;
    private AutoSyncWorkDataPreferenceController mAutoSyncWorkDataPreferenceController;

    // A place to cache the generated default avatar
    private Drawable mDefaultIconDrawable;
@@ -203,17 +200,9 @@ public class UserSettings extends SettingsPreferenceFragment
        final Context context = getActivity();
        mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
                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();
        mAddUserWhenLockedPreferenceController.displayPreference(screen);
        mAutoSyncDataPreferenceController.displayPreference(screen);
        mAutoSyncPersonalDataPreferenceController.displayPreference(screen);
        mAutoSyncWorkDataPreferenceController.displayPreference(screen);

        screen.findPreference(mAddUserWhenLockedPreferenceController.getPreferenceKey())
                .setOnPreferenceChangeListener(mAddUserWhenLockedPreferenceController);

@@ -274,22 +263,10 @@ public class UserSettings extends SettingsPreferenceFragment
        }
        final PreferenceScreen screen = getPreferenceScreen();

        if (mAutoSyncDataPreferenceController.isAvailable()) {
            mAutoSyncDataPreferenceController.updateState(screen.findPreference(
                    mAutoSyncDataPreferenceController.getPreferenceKey()));
        }
        if (mAddUserWhenLockedPreferenceController.isAvailable()) {
            mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
                    mAddUserWhenLockedPreferenceController.getPreferenceKey()));
        }
        if (mAutoSyncPersonalDataPreferenceController.isAvailable()) {
            mAutoSyncPersonalDataPreferenceController.updateState(screen.findPreference(
                    mAutoSyncPersonalDataPreferenceController.getPreferenceKey()));
        }
        if (mAutoSyncWorkDataPreferenceController.isAvailable()) {
            mAutoSyncWorkDataPreferenceController.updateState(screen.findPreference(
                    mAutoSyncWorkDataPreferenceController.getPreferenceKey()));
        }

        if (mShouldUpdateUserList) {
            mUserCaps.updateAddUserCapabilities(getActivity());
@@ -329,20 +306,6 @@ public class UserSettings extends SettingsPreferenceFragment
        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
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        int pos = 0;
@@ -578,7 +541,8 @@ public class UserSettings extends SettingsPreferenceFragment
                                        addUserNow(userType);
                                        if (!longMessageDisplayed) {
                                            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.
     *
     * Note that for guest users, you should pass in {@code UserHandle.USER_NULL}.
     *
     * @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
     */
@@ -1124,6 +1089,7 @@ public class UserSettings extends SettingsPreferenceFragment

    /**
     * Assign the default photo to user with {@paramref userId}
     *
     * @param context used to get the {@link UserManager}
     * @param userId  used to get the icon bitmap
     * @return true if assign photo successfully, false if failed
@@ -1160,7 +1126,8 @@ public class UserSettings extends SettingsPreferenceFragment
        um.setUserIcon(userId, icon);
        try {
            avatarDataStream.close();
        } catch (IOException ioe) { }
        } catch (IOException ioe) {
        }
    }

    private static class SummaryProvider implements SummaryLoader.SummaryProvider {