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

Commit 9d4a806f authored by tmfang's avatar tmfang
Browse files

Settings crashes on opening Wi-Fi Add network

Since Theme_Settings_NoActionBar extends from Theme.DeviceDefault.Settings,
so it carshed when AppCompatDelegateImpl tried to get AppCompat theme from WifiDialog.

Test: visual inspection, robo
Change-Id: I751b771fdfa9ad2261baa5a06274f6bb0a70d677
Fixes: 111804691
parent ee8bf5d4
Loading
Loading
Loading
Loading
+18 −2
Original line number Diff line number Diff line
@@ -165,12 +165,28 @@
        <item name="android:windowNoTitle">true</item>
    </style>

    <style name="Theme.Settings.Home" parent="Theme.AppCompat.Light.NoActionBar">
    <style name="Theme.Settings.Home" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Color names copied from frameworks/base/core/res/res/values/themes_device_defaults.xml -->
        <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
        <item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item>
        <item name="android:colorAccent">@*android:color/accent_device_default_light</item>
        <item name="colorAccent">@*android:color/accent_device_default_light</item>
    </style>

    <!--TODO(b/111875856) This theme will be useless, when we add real activity/fragment to handle the full screen for WifiDialog -->
    <style name="Theme.Settings.WifiDialogFullScreen" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Color names copied from frameworks/base/core/res/res/values/themes_device_defaults.xml -->
        <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
        <item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item>
        <item name="colorAccent">@*android:color/accent_device_default_light</item>

        <!-- Add white nav bar with divider that matches material -->
        <item name="android:navigationBarDividerColor">@color/ripple_material_light</item>
        <item name="android:navigationBarColor">@android:color/white</item>
        <item name="android:windowLightNavigationBar">true</item>
        <item name="android:windowLightStatusBar">true</item>

        <!-- For AndroidX AlertDialog -->
        <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
    </style>

</resources>
+2 −2
Original line number Diff line number Diff line
@@ -50,12 +50,12 @@ public class WifiDialog extends AlertDialog implements WifiConfigUiBase,
    private WifiConfigController mController;
    private boolean mHideSubmitButton;


    // TODO(b/111875856) WifiDialog should not mimic full screen UI.
    /** Creates a WifiDialog with fullscreen style. It displays in fullscreen mode. */
    public static WifiDialog createFullscreen(Context context, WifiDialogListener listener,
            AccessPoint accessPoint, int mode) {
        return new WifiDialog(context, listener, accessPoint, mode,
                R.style.Theme_Settings_NoActionBar, false /* hideSubmitButton */);
                R.style.Theme_Settings_WifiDialogFullScreen, false /* hideSubmitButton */);
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ public class WifiDialogTest {
        WifiDialog fullscreen = WifiDialog.createFullscreen(mContext, mListener, mockAccessPoint,
                WifiConfigUiBase.MODE_CONNECT);
        assertThat(fullscreen.getContext().getThemeResId())
                .isEqualTo(R.style.Theme_Settings_NoActionBar);
                .isEqualTo(R.style.Theme_Settings_WifiDialogFullScreen);
    }

    @Test