Set QR scan activity to light theme in setup flow
Test: atest Bug: 131029518 Change-Id: Ibec28e78fcf17390cd3844ead4a88a4e6bff6094
This commit is contained in:
@@ -210,4 +210,25 @@
|
|||||||
<item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
|
<item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
|
||||||
</style>
|
</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>
|
</resources>
|
||||||
|
@@ -60,16 +60,18 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo
|
|||||||
|
|
||||||
private WifiDialog mDialog;
|
private WifiDialog mDialog;
|
||||||
|
|
||||||
|
private Intent mIntent;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
final Intent intent = getIntent();
|
mIntent = getIntent();
|
||||||
if (WizardManagerHelper.isSetupWizardIntent(intent)) {
|
if (WizardManagerHelper.isSetupWizardIntent(mIntent)) {
|
||||||
setTheme(SetupWizardUtils.getTransparentTheme(intent));
|
setTheme(SetupWizardUtils.getTransparentTheme(mIntent));
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
final Bundle accessPointState = intent.getBundleExtra(KEY_ACCESS_POINT_STATE);
|
final Bundle accessPointState = mIntent.getBundleExtra(KEY_ACCESS_POINT_STATE);
|
||||||
AccessPoint accessPoint = null;
|
AccessPoint accessPoint = null;
|
||||||
if (accessPointState != null) {
|
if (accessPointState != null) {
|
||||||
accessPoint = new AccessPoint(this, accessPointState);
|
accessPoint = new AccessPoint(this, accessPointState);
|
||||||
@@ -175,9 +177,11 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onScan(WifiDialog dialog, String ssid) {
|
public void onScan(WifiDialog dialog, String ssid) {
|
||||||
|
Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid);
|
||||||
|
WizardManagerHelper.copyWizardManagerExtras(mIntent, intent);
|
||||||
|
|
||||||
// Launch QR code scanner to join a network.
|
// Launch QR code scanner to join a network.
|
||||||
startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
|
startActivityForResult(intent, REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
|
||||||
REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -18,7 +18,6 @@ package com.android.settings.wifi.dpp;
|
|||||||
|
|
||||||
import android.app.ActionBar;
|
import android.app.ActionBar;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -30,6 +29,8 @@ import androidx.fragment.app.FragmentTransaction;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.InstrumentedActivity;
|
import com.android.settings.core.InstrumentedActivity;
|
||||||
|
|
||||||
|
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To provision "this" device with specified Wi-Fi network.
|
* To provision "this" device with specified Wi-Fi network.
|
||||||
*
|
*
|
||||||
@@ -54,6 +55,10 @@ public class WifiDppEnrolleeActivity extends InstrumentedActivity implements
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
|
||||||
|
setTheme(R.style.LightTheme_SettingsBase_SetupWizard);
|
||||||
|
}
|
||||||
|
|
||||||
setContentView(R.layout.wifi_dpp_activity);
|
setContentView(R.layout.wifi_dpp_activity);
|
||||||
mFragmentManager = getSupportFragmentManager();
|
mFragmentManager = getSupportFragmentManager();
|
||||||
|
|
||||||
|
@@ -27,6 +27,7 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||||
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
||||||
|
import com.android.settings.wifi.dpp.WifiDppEnrolleeActivity;
|
||||||
|
|
||||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
import org.robolectric.android.controller.ActivityController;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@@ -111,4 +113,23 @@ public class WifiDialogActivityTest {
|
|||||||
assertThat(dialog.getContext().getThemeResId())
|
assertThat(dialog.getContext().getThemeResId())
|
||||||
.isEqualTo(R.style.SuwAlertDialogThemeCompat_Light);
|
.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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user