Merge Autofill settings into Account settings.

Autofill settings are removed from Language and Input.

They are now in a new top-level Passwords and Accounts page.

Some polish work is left to match the new design.

Bug: 169455298
Test: manual - check settings page and some search keywords
Test: manual - add work profile and check the above again
Test: make RunSettingsRoboTests
Change-Id: I3981ce73fef63f06a40e61e894481d24284614ba
This commit is contained in:
Ahaan Ugale
2021-03-22 19:00:06 -07:00
parent 2160d5fc4c
commit 9b183778f2
12 changed files with 169 additions and 191 deletions

View File

@@ -27,6 +27,8 @@ import android.os.UserManager;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceController;
import com.android.settings.applications.defaultapps.DefaultWorkAutofillPreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -68,14 +70,22 @@ public class AccountDashboardFragment extends DashboardFragment {
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
buildAutofillPreferenceControllers(context, controllers);
final String[] authorities = getIntent().getStringArrayExtra(EXTRA_AUTHORITIES);
return buildPreferenceControllers(context, this /* parent */, authorities);
buildAccountPreferenceControllers(context, this /* parent */, authorities, controllers);
return controllers;
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
SettingsPreferenceFragment parent, String[] authorities) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
static void buildAutofillPreferenceControllers(
Context context, List<AbstractPreferenceController> controllers) {
controllers.add(new DefaultAutofillPreferenceController(context));
controllers.add(new DefaultWorkAutofillPreferenceController(context));
}
private static void buildAccountPreferenceControllers(
Context context, SettingsPreferenceFragment parent, String[] authorities,
List<AbstractPreferenceController> controllers) {
final AccountPreferenceController accountPrefController =
new AccountPreferenceController(context, parent, authorities,
ProfileSelectFragment.ProfileType.ALL);
@@ -86,7 +96,6 @@ public class AccountDashboardFragment extends DashboardFragment {
controllers.add(new AutoSyncDataPreferenceController(context, parent));
controllers.add(new AutoSyncPersonalDataPreferenceController(context, parent));
controllers.add(new AutoSyncWorkDataPreferenceController(context, parent));
return controllers;
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
@@ -95,8 +104,11 @@ public class AccountDashboardFragment extends DashboardFragment {
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
return buildPreferenceControllers(
context, null /* parent */, null /* authorities*/);
final List<AbstractPreferenceController> controllers = new ArrayList<>();
buildAccountPreferenceControllers(
context, null /* parent */, null /* authorities*/, controllers);
buildAutofillPreferenceControllers(context, controllers);
return controllers;
}
@Override