Separate "Keyboard" from "Language & input"

1. Separate "Keyboard" from "Language & input".
2. Use FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_UI to control the
   different UI until Settings launches the new UI design.

Bug: 242680328
Test: local test
Change-Id: Id1ea6d3e3c2e6b83bc4b4d835c6b27e31311c530
This commit is contained in:
danielwbhuang
2022-08-17 22:17:08 +08:00
parent 4d7259124c
commit c9cb6806f6
20 changed files with 660 additions and 40 deletions

View File

@@ -24,6 +24,7 @@ import android.app.Activity;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import android.util.FeatureFlagUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -104,8 +105,6 @@ public class LanguageAndInputSettings extends DashboardFragment {
private static List<AbstractPreferenceController> buildPreferenceControllers(
@NonNull Context context, @Nullable Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
// Language
controllers.add(new PhoneLanguagePreferenceController(context));
// Input
final VirtualKeyboardPreferenceController virtualKeyboardPreferenceController =
@@ -154,11 +153,16 @@ public class LanguageAndInputSettings extends DashboardFragment {
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.language_and_input) {
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
return buildPreferenceControllers(context, null);
}
@Override
protected boolean isPageSearchEnabled(Context context) {
return !FeatureFlagUtils
.isEnabled(context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_UI);
}
};
}