Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d2b51ae authored by pastychang's avatar pastychang Committed by Pasty Chang
Browse files

Set WifiDialog to light theme in setup flow

Screenshot: https://screenshot.googleplex.com/X6tkxihEWFY

Test: Manual
Bug: 130507879
Change-Id: Icca6b827cdb62387fde4c91435d4df10e2ff4d04
parent 96b53495
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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>
+13 −2
Original line number Diff line number Diff line
@@ -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;
@@ -67,8 +68,18 @@ public class WifiDialog extends AlertDialog implements WifiConfigUiBase,
                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;
+8 −2
Original line number Diff line number Diff line
@@ -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);
        }

        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);
    }
+24 −1
Original line number Diff line number Diff line
@@ -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);
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -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());
    }
}