Loading AndroidManifest.xml +11 −3 Original line number Diff line number Diff line Loading @@ -1448,6 +1448,16 @@ <action android:name="android.settings.ACCESSIBILITY_SETTINGS_FOR_SUW" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.accessibility.AccessibilitySettingsForSetupWizard" /> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> </activity> <activity-alias android:name=".FontSizeSettingsForSetupWizardActivity" android:exported="true" android:targetActivity=".accessibility.AccessibilitySettingsForSetupWizardActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.settings.suggested.category.DISPLAY_SETTINGS" /> Loading @@ -1458,9 +1468,7 @@ android:value="true" /> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.accessibility.AccessibilitySettingsForSetupWizard" /> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> </activity> </activity-alias> <activity android:name="Settings$AccessibilityDaltonizerSettingsActivity" Loading res/values/themes.xml +13 −0 Original line number Diff line number Diff line Loading @@ -234,4 +234,17 @@ <item name="android:textColorSecondary">@*android:color/secondary_text_light</item> </style> <!-- Light theme for those pages inherit SubSettings and launched during setup flow --> <style name="LightTheme.SubSettings.SetupWizard" parent="@android:style/Theme.DeviceDefault.Light"> <item name="android:windowLightStatusBar">true</item> <item name="android:statusBarColor">@android:color/white</item> <item name="android:navigationBarColor">@android:color/white</item> <item name="android:windowLightNavigationBar">true</item> <item name="android:windowBackground">@android:color/white</item> <item name="android:navigationBarDividerColor">@*android:color/navigation_bar_divider_device_default_settings</item> <item name="android:colorPrimary">@android:color/white</item> <item name="android:colorPrimaryDark">@android:color/white</item> <item name="android:colorAccent">@color/material_blue_700</item> </style> </resources> src/com/android/settings/SettingsActivity.java +6 −2 Original line number Diff line number Diff line Loading @@ -65,6 +65,8 @@ import com.android.settingslib.core.instrumentation.SharedPreferencesLogger; import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.android.settingslib.drawer.DashboardCategory; import com.google.android.setupcompat.util.WizardManagerHelper; import java.util.ArrayList; import java.util.List; Loading Loading @@ -239,8 +241,10 @@ public class SettingsActivity extends SettingsBaseActivity intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, false); // If this is a sub settings, then apply the SubSettings Theme for the ActionBar content // insets if (isSubSettings) { // insets. // If this is in setup flow, don't apply theme. Because light theme needs to be applied // in SettingsBaseActivity#onCreate(). if (isSubSettings && !WizardManagerHelper.isAnySetupWizard(getIntent())) { setTheme(R.style.Theme_SubSettings); } Loading src/com/android/settings/SetupWizardUtils.java +16 −0 Original line number Diff line number Diff line Loading @@ -16,12 +16,18 @@ package com.android.settings; import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_FIRST_RUN; import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SETUP_FLOW; import android.content.Intent; import android.os.Bundle; import android.sysprop.SetupWizardProperties; import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupdesign.util.ThemeHelper; import java.util.Arrays; public class SetupWizardUtils { Loading Loading @@ -90,4 +96,14 @@ public class SetupWizardUtils { public static void copySetupExtras(Intent fromIntent, Intent toIntent) { WizardManagerHelper.copyWizardManagerExtras(fromIntent, toIntent); } public static Bundle copyLifecycleExtra(Bundle srcBundle, Bundle dstBundle) { for (String key : Arrays.asList( EXTRA_IS_FIRST_RUN, EXTRA_IS_SETUP_FLOW)) { dstBundle.putBoolean(key, srcBundle.getBoolean(key, false)); } return dstBundle; } } src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java +41 −0 Original line number Diff line number Diff line Loading @@ -16,23 +16,35 @@ package com.android.settings.accessibility; import android.content.ComponentName; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.accessibility.AccessibilityEvent; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import com.android.settings.SettingsActivity; import com.android.settings.SetupWizardUtils; import com.android.settings.core.SubSettingLauncher; import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard; import com.android.settings.search.actionbar.SearchMenuController; import com.android.settings.support.actionbar.HelpResourceProvider; import com.android.settingslib.core.instrumentation.Instrumentable; import com.google.android.setupcompat.util.WizardManagerHelper; public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity { private static final String LOG_TAG = "A11ySettingsForSUW"; private static final String SAVE_KEY_TITLE = "activity_title"; @VisibleForTesting static final String CLASS_NAME_FONT_SIZE_SETTINGS_FOR_SUW = "com.android.settings.FontSizeSettingsForSetupWizardActivity"; @Override protected void onSaveInstanceState(Bundle savedState) { savedState.putCharSequence(SAVE_KEY_TITLE, getTitle()); Loading Loading @@ -79,4 +91,33 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit .launch(); return true; } @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); tryLaunchFontSizeSettings(); } @VisibleForTesting void tryLaunchFontSizeSettings() { if (WizardManagerHelper.isAnySetupWizard(getIntent()) && new ComponentName(getPackageName(), CLASS_NAME_FONT_SIZE_SETTINGS_FOR_SUW).equals( getIntent().getComponent())) { final Bundle args = new Bundle(); args.putInt(HelpResourceProvider.HELP_URI_RESOURCE_KEY, 0); args.putBoolean(SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR, false); final SubSettingLauncher subSettingLauncher = new SubSettingLauncher(this) .setDestination(FontSizePreferenceFragmentForSetupWizard.class.getName()) .setArguments(args) .setSourceMetricsCategory(Instrumentable.METRICS_CATEGORY_UNKNOWN) .setExtras(SetupWizardUtils.copyLifecycleExtra(getIntent().getExtras(), new Bundle())); Log.d(LOG_TAG, "Launch font size settings"); subSettingLauncher.launch(); finish(); } } } Loading
AndroidManifest.xml +11 −3 Original line number Diff line number Diff line Loading @@ -1448,6 +1448,16 @@ <action android:name="android.settings.ACCESSIBILITY_SETTINGS_FOR_SUW" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.accessibility.AccessibilitySettingsForSetupWizard" /> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> </activity> <activity-alias android:name=".FontSizeSettingsForSetupWizardActivity" android:exported="true" android:targetActivity=".accessibility.AccessibilitySettingsForSetupWizardActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.settings.suggested.category.DISPLAY_SETTINGS" /> Loading @@ -1458,9 +1468,7 @@ android:value="true" /> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.accessibility.AccessibilitySettingsForSetupWizard" /> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> </activity> </activity-alias> <activity android:name="Settings$AccessibilityDaltonizerSettingsActivity" Loading
res/values/themes.xml +13 −0 Original line number Diff line number Diff line Loading @@ -234,4 +234,17 @@ <item name="android:textColorSecondary">@*android:color/secondary_text_light</item> </style> <!-- Light theme for those pages inherit SubSettings and launched during setup flow --> <style name="LightTheme.SubSettings.SetupWizard" parent="@android:style/Theme.DeviceDefault.Light"> <item name="android:windowLightStatusBar">true</item> <item name="android:statusBarColor">@android:color/white</item> <item name="android:navigationBarColor">@android:color/white</item> <item name="android:windowLightNavigationBar">true</item> <item name="android:windowBackground">@android:color/white</item> <item name="android:navigationBarDividerColor">@*android:color/navigation_bar_divider_device_default_settings</item> <item name="android:colorPrimary">@android:color/white</item> <item name="android:colorPrimaryDark">@android:color/white</item> <item name="android:colorAccent">@color/material_blue_700</item> </style> </resources>
src/com/android/settings/SettingsActivity.java +6 −2 Original line number Diff line number Diff line Loading @@ -65,6 +65,8 @@ import com.android.settingslib.core.instrumentation.SharedPreferencesLogger; import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.android.settingslib.drawer.DashboardCategory; import com.google.android.setupcompat.util.WizardManagerHelper; import java.util.ArrayList; import java.util.List; Loading Loading @@ -239,8 +241,10 @@ public class SettingsActivity extends SettingsBaseActivity intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, false); // If this is a sub settings, then apply the SubSettings Theme for the ActionBar content // insets if (isSubSettings) { // insets. // If this is in setup flow, don't apply theme. Because light theme needs to be applied // in SettingsBaseActivity#onCreate(). if (isSubSettings && !WizardManagerHelper.isAnySetupWizard(getIntent())) { setTheme(R.style.Theme_SubSettings); } Loading
src/com/android/settings/SetupWizardUtils.java +16 −0 Original line number Diff line number Diff line Loading @@ -16,12 +16,18 @@ package com.android.settings; import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_FIRST_RUN; import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SETUP_FLOW; import android.content.Intent; import android.os.Bundle; import android.sysprop.SetupWizardProperties; import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupdesign.util.ThemeHelper; import java.util.Arrays; public class SetupWizardUtils { Loading Loading @@ -90,4 +96,14 @@ public class SetupWizardUtils { public static void copySetupExtras(Intent fromIntent, Intent toIntent) { WizardManagerHelper.copyWizardManagerExtras(fromIntent, toIntent); } public static Bundle copyLifecycleExtra(Bundle srcBundle, Bundle dstBundle) { for (String key : Arrays.asList( EXTRA_IS_FIRST_RUN, EXTRA_IS_SETUP_FLOW)) { dstBundle.putBoolean(key, srcBundle.getBoolean(key, false)); } return dstBundle; } }
src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java +41 −0 Original line number Diff line number Diff line Loading @@ -16,23 +16,35 @@ package com.android.settings.accessibility; import android.content.ComponentName; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.accessibility.AccessibilityEvent; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import com.android.settings.SettingsActivity; import com.android.settings.SetupWizardUtils; import com.android.settings.core.SubSettingLauncher; import com.android.settings.display.FontSizePreferenceFragmentForSetupWizard; import com.android.settings.search.actionbar.SearchMenuController; import com.android.settings.support.actionbar.HelpResourceProvider; import com.android.settingslib.core.instrumentation.Instrumentable; import com.google.android.setupcompat.util.WizardManagerHelper; public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity { private static final String LOG_TAG = "A11ySettingsForSUW"; private static final String SAVE_KEY_TITLE = "activity_title"; @VisibleForTesting static final String CLASS_NAME_FONT_SIZE_SETTINGS_FOR_SUW = "com.android.settings.FontSizeSettingsForSetupWizardActivity"; @Override protected void onSaveInstanceState(Bundle savedState) { savedState.putCharSequence(SAVE_KEY_TITLE, getTitle()); Loading Loading @@ -79,4 +91,33 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit .launch(); return true; } @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); tryLaunchFontSizeSettings(); } @VisibleForTesting void tryLaunchFontSizeSettings() { if (WizardManagerHelper.isAnySetupWizard(getIntent()) && new ComponentName(getPackageName(), CLASS_NAME_FONT_SIZE_SETTINGS_FOR_SUW).equals( getIntent().getComponent())) { final Bundle args = new Bundle(); args.putInt(HelpResourceProvider.HELP_URI_RESOURCE_KEY, 0); args.putBoolean(SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR, false); final SubSettingLauncher subSettingLauncher = new SubSettingLauncher(this) .setDestination(FontSizePreferenceFragmentForSetupWizard.class.getName()) .setArguments(args) .setSourceMetricsCategory(Instrumentable.METRICS_CATEGORY_UNKNOWN) .setExtras(SetupWizardUtils.copyLifecycleExtra(getIntent().getExtras(), new Bundle())); Log.d(LOG_TAG, "Launch font size settings"); subSettingLauncher.launch(); finish(); } } }