Loading res/values/themes.xml +21 −0 Original line number Diff line number Diff line Loading @@ -210,4 +210,25 @@ <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item> </style> <!-- This light theme for a window that can be applied to show light theme in setupwizard flow, regardless of whether system theme changed to dark or light theme. WARNING: your settings activity shows in setupwizard flow, but doesn't use setupwizard theme. This theme must be set to ensure settings activity always shows light theme in setupwizard flow. --> <style name="LightTheme.SettingsBase.SetupWizard" parent="@android:style/Theme.DeviceDefault"> <item name="android:windowLightStatusBar">true</item> <item name="android:navigationBarColor">@android:color/white</item> <item name="android:windowLightNavigationBar">true</item> <item name="android:navigationBarDividerColor">@*android:color/navigation_bar_divider_device_default_settings</item> <item name="android:colorPrimary">@*android:color/primary_device_default_settings_light</item> <item name="android:colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item> <item name="android:colorBackground">@*android:color/background_device_default_light</item> <item name="android:colorAccent">@*android:color/accent_device_default_light</item> <item name="android:listDivider">@*android:color/list_divider_color_light</item> <item name="android:textColorPrimary">@*android:color/primary_text_light</item> <item name="android:textColorSecondary">@*android:color/secondary_text_light</item> </style> </resources> src/com/android/settings/wifi/WifiDialogActivity.java +10 −6 Original line number Diff line number Diff line Loading @@ -60,16 +60,18 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo private WifiDialog mDialog; private Intent mIntent; @Override protected void onCreate(Bundle savedInstanceState) { final Intent intent = getIntent(); if (WizardManagerHelper.isSetupWizardIntent(intent)) { setTheme(SetupWizardUtils.getTransparentTheme(intent)); mIntent = getIntent(); if (WizardManagerHelper.isSetupWizardIntent(mIntent)) { setTheme(SetupWizardUtils.getTransparentTheme(mIntent)); } super.onCreate(savedInstanceState); final Bundle accessPointState = intent.getBundleExtra(KEY_ACCESS_POINT_STATE); final Bundle accessPointState = mIntent.getBundleExtra(KEY_ACCESS_POINT_STATE); AccessPoint accessPoint = null; if (accessPointState != null) { accessPoint = new AccessPoint(this, accessPointState); Loading Loading @@ -175,9 +177,11 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo @Override public void onScan(WifiDialog dialog, String ssid) { Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid); WizardManagerHelper.copyWizardManagerExtras(mIntent, intent); // Launch QR code scanner to join a network. startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid), REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER); startActivityForResult(intent, REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER); } @Override Loading src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java +6 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.settings.wifi.dpp; import android.app.ActionBar; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; Loading @@ -30,6 +29,8 @@ import androidx.fragment.app.FragmentTransaction; import com.android.settings.R; import com.android.settings.core.InstrumentedActivity; import com.google.android.setupcompat.util.WizardManagerHelper; /** * To provision "this" device with specified Wi-Fi network. * Loading @@ -54,6 +55,10 @@ public class WifiDppEnrolleeActivity extends InstrumentedActivity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (WizardManagerHelper.isAnySetupWizard(getIntent())) { setTheme(R.style.LightTheme_SettingsBase_SetupWizard); } setContentView(R.layout.wifi_dpp_activity); mFragmentManager = getSupportFragmentManager(); Loading tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowWifiManager; import com.android.settings.wifi.dpp.WifiDppEnrolleeActivity; import com.google.android.setupcompat.util.WizardManagerHelper; Loading @@ -37,6 +38,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; Loading Loading @@ -111,4 +113,23 @@ public class WifiDialogActivityTest { assertThat(dialog.getContext().getThemeResId()) .isEqualTo(R.style.SuwAlertDialogThemeCompat_Light); } @Test public void onScan_whenLaunchFromDeferredSetup_shouldApplyLightTheme() { ActivityController<WifiDppEnrolleeActivity> controller = Robolectric.buildActivity( WifiDppEnrolleeActivity.class, new Intent() .setAction(WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER) .putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true) .putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true) ); controller.create(); Intent intent = controller.getIntent(); assertThat(intent.getBooleanExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, false)).isTrue(); assertThat(intent.getBooleanExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, false)).isTrue(); assertThat(controller.get().getThemeResId()). isEqualTo(R.style.LightTheme_SettingsBase_SetupWizard); } } Loading
res/values/themes.xml +21 −0 Original line number Diff line number Diff line Loading @@ -210,4 +210,25 @@ <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item> </style> <!-- This light theme for a window that can be applied to show light theme in setupwizard flow, regardless of whether system theme changed to dark or light theme. WARNING: your settings activity shows in setupwizard flow, but doesn't use setupwizard theme. This theme must be set to ensure settings activity always shows light theme in setupwizard flow. --> <style name="LightTheme.SettingsBase.SetupWizard" parent="@android:style/Theme.DeviceDefault"> <item name="android:windowLightStatusBar">true</item> <item name="android:navigationBarColor">@android:color/white</item> <item name="android:windowLightNavigationBar">true</item> <item name="android:navigationBarDividerColor">@*android:color/navigation_bar_divider_device_default_settings</item> <item name="android:colorPrimary">@*android:color/primary_device_default_settings_light</item> <item name="android:colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item> <item name="android:colorBackground">@*android:color/background_device_default_light</item> <item name="android:colorAccent">@*android:color/accent_device_default_light</item> <item name="android:listDivider">@*android:color/list_divider_color_light</item> <item name="android:textColorPrimary">@*android:color/primary_text_light</item> <item name="android:textColorSecondary">@*android:color/secondary_text_light</item> </style> </resources>
src/com/android/settings/wifi/WifiDialogActivity.java +10 −6 Original line number Diff line number Diff line Loading @@ -60,16 +60,18 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo private WifiDialog mDialog; private Intent mIntent; @Override protected void onCreate(Bundle savedInstanceState) { final Intent intent = getIntent(); if (WizardManagerHelper.isSetupWizardIntent(intent)) { setTheme(SetupWizardUtils.getTransparentTheme(intent)); mIntent = getIntent(); if (WizardManagerHelper.isSetupWizardIntent(mIntent)) { setTheme(SetupWizardUtils.getTransparentTheme(mIntent)); } super.onCreate(savedInstanceState); final Bundle accessPointState = intent.getBundleExtra(KEY_ACCESS_POINT_STATE); final Bundle accessPointState = mIntent.getBundleExtra(KEY_ACCESS_POINT_STATE); AccessPoint accessPoint = null; if (accessPointState != null) { accessPoint = new AccessPoint(this, accessPointState); Loading Loading @@ -175,9 +177,11 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo @Override public void onScan(WifiDialog dialog, String ssid) { Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid); WizardManagerHelper.copyWizardManagerExtras(mIntent, intent); // Launch QR code scanner to join a network. startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid), REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER); startActivityForResult(intent, REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER); } @Override Loading
src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java +6 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.settings.wifi.dpp; import android.app.ActionBar; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; Loading @@ -30,6 +29,8 @@ import androidx.fragment.app.FragmentTransaction; import com.android.settings.R; import com.android.settings.core.InstrumentedActivity; import com.google.android.setupcompat.util.WizardManagerHelper; /** * To provision "this" device with specified Wi-Fi network. * Loading @@ -54,6 +55,10 @@ public class WifiDppEnrolleeActivity extends InstrumentedActivity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (WizardManagerHelper.isAnySetupWizard(getIntent())) { setTheme(R.style.LightTheme_SettingsBase_SetupWizard); } setContentView(R.layout.wifi_dpp_activity); mFragmentManager = getSupportFragmentManager(); Loading
tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowWifiManager; import com.android.settings.wifi.dpp.WifiDppEnrolleeActivity; import com.google.android.setupcompat.util.WizardManagerHelper; Loading @@ -37,6 +38,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; Loading Loading @@ -111,4 +113,23 @@ public class WifiDialogActivityTest { assertThat(dialog.getContext().getThemeResId()) .isEqualTo(R.style.SuwAlertDialogThemeCompat_Light); } @Test public void onScan_whenLaunchFromDeferredSetup_shouldApplyLightTheme() { ActivityController<WifiDppEnrolleeActivity> controller = Robolectric.buildActivity( WifiDppEnrolleeActivity.class, new Intent() .setAction(WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER) .putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true) .putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true) ); controller.create(); Intent intent = controller.getIntent(); assertThat(intent.getBooleanExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, false)).isTrue(); assertThat(intent.getBooleanExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, false)).isTrue(); assertThat(controller.get().getThemeResId()). isEqualTo(R.style.LightTheme_SettingsBase_SetupWizard); } }