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>
|
||||||
|
|
||||||
<style name="SuwAlertDialogThemeCompat" parent="@style/Theme.AppCompat.Dialog.Alert">
|
<style name="SuwAlertDialogThemeCompat" parent="@style/Theme.AppCompat.Dialog.Alert">
|
||||||
|
<item name="android:windowSoftInputMode">adjustResize</item>
|
||||||
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
|
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
|
||||||
<item name="colorAccent">@*android:color/accent_device_default_light</item>
|
<item name="colorAccent">@*android:color/accent_device_default_light</item>
|
||||||
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
|
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="SuwAlertDialogThemeCompat.Light" parent="@style/Theme.AppCompat.Light.Dialog.Alert">
|
<style name="SuwAlertDialogThemeCompat.Light" parent="@style/Theme.AppCompat.Light.Dialog.Alert">
|
||||||
|
<item name="android:windowSoftInputMode">adjustResize</item>
|
||||||
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
|
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
|
||||||
<item name="colorAccent">@*android:color/accent_device_default_light</item>
|
<item name="colorAccent">@*android:color/accent_device_default_light</item>
|
||||||
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
|
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.wifi;
|
package com.android.settings.wifi;
|
||||||
|
|
||||||
|
import android.annotation.StyleRes;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -64,11 +65,21 @@ public class WifiDialog extends AlertDialog implements WifiConfigUiBase,
|
|||||||
public static WifiDialog createModal(Context context, WifiDialogListener listener,
|
public static WifiDialog createModal(Context context, WifiDialogListener listener,
|
||||||
AccessPoint accessPoint, int mode) {
|
AccessPoint accessPoint, int mode) {
|
||||||
return new WifiDialog(context, listener, accessPoint, mode, 0 /* style */,
|
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,
|
/* package */ WifiDialog(Context context, WifiDialogListener listener, AccessPoint accessPoint,
|
||||||
int mode, int style, boolean hideSubmitButton) {
|
int mode, @StyleRes int style, boolean hideSubmitButton) {
|
||||||
super(context, style);
|
super(context, style);
|
||||||
mMode = mode;
|
mMode = mode;
|
||||||
mListener = listener;
|
mListener = listener;
|
||||||
|
@@ -28,6 +28,7 @@ import android.util.Log;
|
|||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
import com.android.settings.SetupWizardUtils;
|
import com.android.settings.SetupWizardUtils;
|
||||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||||
import com.android.settingslib.wifi.AccessPoint;
|
import com.android.settingslib.wifi.AccessPoint;
|
||||||
@@ -74,8 +75,13 @@ public class WifiDialogActivity extends Activity implements WifiDialog.WifiDialo
|
|||||||
accessPoint = new AccessPoint(this, accessPointState);
|
accessPoint = new AccessPoint(this, accessPointState);
|
||||||
}
|
}
|
||||||
|
|
||||||
mDialog = WifiDialog.createModal(
|
if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
|
||||||
this, this, accessPoint, WifiConfigUiBase.MODE_CONNECT);
|
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.show();
|
||||||
mDialog.setOnDismissListener(this);
|
mDialog.setOnDismissListener(this);
|
||||||
}
|
}
|
||||||
|
@@ -23,10 +23,13 @@ import static org.mockito.Mockito.doReturn;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
|
|
||||||
|
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.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -72,7 +75,7 @@ public class WifiDialogActivityTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onSubmit_shouldNotConnectToNetwork_whenConnectForCallerIsFalse() {
|
public void onSubmit_whenConnectForCallerIsFalse_shouldNotConnectToNetwork() {
|
||||||
WifiDialogActivity activity =
|
WifiDialogActivity activity =
|
||||||
Robolectric.buildActivity(
|
Robolectric.buildActivity(
|
||||||
WifiDialogActivity.class,
|
WifiDialogActivity.class,
|
||||||
@@ -88,4 +91,24 @@ public class WifiDialogActivityTest {
|
|||||||
|
|
||||||
assertThat(ShadowWifiManager.get().savedWifiConfig).isNull();
|
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 android.content.Context;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
|
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
|
||||||
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
|
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
|
||||||
import com.android.settingslib.wifi.AccessPoint;
|
import com.android.settingslib.wifi.AccessPoint;
|
||||||
@@ -41,4 +42,16 @@ public class WifiDialogTest {
|
|||||||
assertThat(modal.getContext().getThemeResId())
|
assertThat(modal.getContext().getThemeResId())
|
||||||
.isEqualTo(wifiDialog.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