Set WifiDialog to light theme in setup flow
Screenshot: https://screenshot.googleplex.com/X6tkxihEWFY Test: Manual Bug: 130507879 Change-Id: Icca6b827cdb62387fde4c91435d4df10e2ff4d04
This commit is contained in:
@@ -191,12 +191,14 @@
|
||||
</style>
|
||||
|
||||
<style name="SuwAlertDialogThemeCompat" parent="@style/Theme.AppCompat.Dialog.Alert">
|
||||
<item name="android:windowSoftInputMode">adjustResize</item>
|
||||
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
|
||||
<item name="colorAccent">@*android:color/accent_device_default_light</item>
|
||||
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
|
||||
</style>
|
||||
|
||||
<style name="SuwAlertDialogThemeCompat.Light" parent="@style/Theme.AppCompat.Light.Dialog.Alert">
|
||||
<item name="android:windowSoftInputMode">adjustResize</item>
|
||||
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
|
||||
<item name="colorAccent">@*android:color/accent_device_default_light</item>
|
||||
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.wifi;
|
||||
|
||||
import android.annotation.StyleRes;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
@@ -64,11 +65,21 @@ public class WifiDialog extends AlertDialog implements WifiConfigUiBase,
|
||||
public static WifiDialog createModal(Context context, WifiDialogListener listener,
|
||||
AccessPoint accessPoint, int mode) {
|
||||
return new WifiDialog(context, listener, accessPoint, mode, 0 /* style */,
|
||||
mode == WifiConfigUiBase.MODE_VIEW /* hideSubmitButton*/);
|
||||
mode == WifiConfigUiBase.MODE_VIEW /* hideSubmitButton */);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a WifiDialog with customized style. It displays as a dialog above the current
|
||||
* view.
|
||||
*/
|
||||
public static WifiDialog createModal(Context context, WifiDialogListener listener,
|
||||
AccessPoint accessPoint, int mode, @StyleRes int style) {
|
||||
return new WifiDialog(context, listener, accessPoint, mode, style,
|
||||
mode == WifiConfigUiBase.MODE_VIEW /* hideSubmitButton */);
|
||||
}
|
||||
|
||||
/* package */ WifiDialog(Context context, WifiDialogListener listener, AccessPoint accessPoint,
|
||||
int mode, int style, boolean hideSubmitButton) {
|
||||
int mode, @StyleRes int style, boolean hideSubmitButton) {
|
||||
super(context, style);
|
||||
mMode = mode;
|
||||
mListener = listener;
|
||||
|
@@ -28,6 +28,7 @@ import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
@@ -74,8 +75,13 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo
|
||||
accessPoint = new AccessPoint(this, accessPointState);
|
||||
}
|
||||
|
||||
mDialog = WifiDialog.createModal(
|
||||
this, this, accessPoint, WifiConfigUiBase.MODE_CONNECT);
|
||||
if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
|
||||
mDialog = WifiDialog.createModal(this, this, accessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
|
||||
} else {
|
||||
mDialog = WifiDialog.createModal(
|
||||
this, this, accessPoint, WifiConfigUiBase.MODE_CONNECT);
|
||||
}
|
||||
mDialog.show();
|
||||
mDialog.setOnDismissListener(this);
|
||||
}
|
||||
|
@@ -23,10 +23,13 @@ import static org.mockito.Mockito.doReturn;
|
||||
import android.content.Intent;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
|
||||
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.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -72,7 +75,7 @@ public class WifiDialogActivityTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onSubmit_shouldNotConnectToNetwork_whenConnectForCallerIsFalse() {
|
||||
public void onSubmit_whenConnectForCallerIsFalse_shouldNotConnectToNetwork() {
|
||||
WifiDialogActivity activity =
|
||||
Robolectric.buildActivity(
|
||||
WifiDialogActivity.class,
|
||||
@@ -88,4 +91,24 @@ public class WifiDialogActivityTest {
|
||||
|
||||
assertThat(ShadowWifiManager.get().savedWifiConfig).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onSubmit_whenLaunchInSetupFlow_shouldBeLightThemeForWifiDialog() {
|
||||
WifiDialogActivity activity =
|
||||
Robolectric.buildActivity(
|
||||
WifiDialogActivity.class,
|
||||
new Intent()
|
||||
.putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false)
|
||||
.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true)
|
||||
.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true))
|
||||
.setup().get();
|
||||
WifiDialog dialog = (WifiDialog) ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
|
||||
assertThat(dialog).isNotNull();
|
||||
|
||||
activity.onSubmit(dialog);
|
||||
|
||||
assertThat(dialog.getContext().getThemeResId())
|
||||
.isEqualTo(R.style.SuwAlertDialogThemeCompat_Light);
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
|
||||
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
@@ -41,4 +42,16 @@ public class WifiDialogTest {
|
||||
assertThat(modal.getContext().getThemeResId())
|
||||
.isEqualTo(wifiDialog.getContext().getThemeResId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createModal_whenSetTheme_shouldBeCustomizedTheme() {
|
||||
WifiDialog modal = WifiDialog.createModal(mContext, mListener, mockAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
|
||||
|
||||
WifiDialog wifiDialog = new WifiDialog(mContext, mListener, mockAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light,
|
||||
false /* hideSubmitButton */);
|
||||
assertThat(modal.getContext().getThemeResId())
|
||||
.isEqualTo(wifiDialog.getContext().getThemeResId());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user