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

Commit 55fb2b74 authored by pihuei's avatar pihuei Committed by Pihuei Wang
Browse files

Use system day/night to switch theme instead of from intent extra.

Use value-night to give theme instead of directly from intent extra when Setup day/nNight mode enabled and in Setup flow

Before:
<vision settings>
https://hsv.googleplex.com/4837266235064320
<wifi dialog>
https://hsv.googleplex.com/5687053981319168
<lock screen with disabling button>
https://hsv.googleplex.com/4843506419892224
<lock screen with enabling button>
https://hsv.googleplex.com/5650348922372096
<fingerprint intro>
https://hsv.googleplex.com/5133769046491136
<fingerprint touch>
https://hsv.googleplex.com/5681937198874624
<fingerprint left touch>
https://hsv.googleplex.com/5767441676238848
<squeeze release>
https://hsv.googleplex.com/6632476812247040

After:
<vision settings>
https://hsv.googleplex.com/6213298875793408
<wifi dialog>
https://hsv.googleplex.com/6025790804197376
<lock screen with disabling button>
https://hsv.googleplex.com/5747461219942400
<lock screen with enabling button>
https://hsv.googleplex.com/5766700781797376
<fingerprint intro>
https://hsv.googleplex.com/6751334529236992
<fingerprint touch>
https://hsv.googleplex.com/5625963293442048
<fingerprint left touch>
https://hsv.googleplex.com/4518139360444416
<squeeze release>
https://hsv.googleplex.com/5220720579706880

Bug: 169734655
Test: robo test
Change-Id: I4aab843e28a932c7b823f36f1d8df1e5b2341f4e
parent 9a1a35d3
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2020 The Android Open Source Project

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  -->

<!-- SUW related themes -->
<resources>
    <!-- DayNight themes -->
    <style name="GlifTheme.DayNight" parent="GlifTheme" />
    <style name="GlifV2Theme.DayNight" parent="GlifV2Theme" />
    <style name="GlifV3Theme.DayNight" parent="GlifV3Theme" />
    <style name="GlifV2Theme.DayNight.Transparent" parent="GlifV2Theme.Transparent" />
    <style name="GlifV3Theme.DayNight.Transparent" parent="GlifV3Theme.Transparent" />
    <style name="SetupWizardTheme.DayNight.Transparent" parent="SetupWizardTheme.Transparent" />
    <style name="SuwAlertDialogThemeCompat.DayNight" parent="SuwAlertDialogThemeCompat" />
</resources>
+10 −1
Original line number Diff line number Diff line
@@ -211,4 +211,13 @@
        <item name="colorAccent">@*android:color/accent_device_default_light</item>
        <item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
    </style>

    <!-- DayNight themes -->
    <style name="GlifTheme.DayNight" parent="GlifTheme.Light" />
    <style name="GlifV2Theme.DayNight" parent="GlifV2Theme.Light" />
    <style name="GlifV3Theme.DayNight" parent="GlifV3Theme.Light" />
    <style name="GlifV2Theme.DayNight.Transparent" parent="GlifV2Theme.Light.Transparent" />
    <style name="GlifV3Theme.DayNight.Transparent" parent="GlifV3Theme.Light.Transparent" />
    <style name="SetupWizardTheme.DayNight.Transparent" parent="SetupWizardTheme.Light.Transparent" />
    <style name="SuwAlertDialogThemeCompat.DayNight" parent="SuwAlertDialogThemeCompat.Light" />
</resources>
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -62,8 +62,8 @@ public class EncryptionInterstitial extends SettingsActivity {

    @Override
    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
        resid = SetupWizardUtils.getTheme(getIntent());
        super.onApplyThemeResource(theme, resid, first);
        final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
        super.onApplyThemeResource(theme, new_resid, first);
    }

    @Override
+49 −21
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings;
import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_FIRST_RUN;
import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SETUP_FLOW;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.sysprop.SetupWizardProperties;
@@ -39,12 +40,25 @@ public class SetupWizardUtils {
        return theme;
    }

    public static int getTheme(Intent intent) {
    public static int getTheme(Context context, Intent intent) {
        String theme = getThemeString(intent);
        // TODO(yukl): Move to ThemeResolver and add any additional required attributes in
        // onApplyThemeResource using Theme overlays
        if (theme != null) {
            if (WizardManagerHelper.isAnySetupWizard(intent)) {
                if (ThemeHelper.isSetupWizardDayNightEnabled(context)) {
                    switch (theme) {
                        case ThemeHelper.THEME_GLIF_V3_LIGHT:
                        case ThemeHelper.THEME_GLIF_V3:
                            return R.style.GlifV3Theme_DayNight;
                        case ThemeHelper.THEME_GLIF_V2_LIGHT:
                        case ThemeHelper.THEME_GLIF_V2:
                            return R.style.GlifV2Theme_DayNight;
                        case ThemeHelper.THEME_GLIF_LIGHT:
                        case ThemeHelper.THEME_GLIF:
                            return R.style.GlifTheme_DayNight;
                    }
                } else {
                    switch (theme) {
                        case ThemeHelper.THEME_GLIF_V3_LIGHT:
                            return R.style.GlifV3Theme_Light;
@@ -59,6 +73,7 @@ public class SetupWizardUtils {
                        case ThemeHelper.THEME_GLIF:
                            return R.style.GlifTheme;
                    }
                }
            } else {
                switch (theme) {
                    case ThemeHelper.THEME_GLIF_V3_LIGHT:
@@ -76,17 +91,30 @@ public class SetupWizardUtils {
        return R.style.GlifTheme;
    }

    public static int getTransparentTheme(Intent intent) {
        final int suwTheme = getTheme(intent);
        int transparentTheme = R.style.GlifV2Theme_Light_Transparent;
        if (suwTheme == R.style.GlifV3Theme) {
            transparentTheme = R.style.GlifV3Theme_Transparent;
    public static int getTransparentTheme(Context context, Intent intent) {
        int transparentTheme;
        final int suwTheme = getTheme(context, intent);
        if (ThemeHelper.isSetupWizardDayNightEnabled(context)) {
            transparentTheme = R.style.GlifV2Theme_DayNight_Transparent;
        } else {
            transparentTheme = R.style.GlifV2Theme_Light_Transparent;
        }
        if (suwTheme == R.style.GlifV3Theme_DayNight) {
            transparentTheme = R.style.GlifV3Theme_DayNight_Transparent;
        } else if (suwTheme == R.style.GlifV3Theme_Light) {
            transparentTheme = R.style.GlifV3Theme_Light_Transparent;
        } else if (suwTheme == R.style.GlifV2Theme) {
            transparentTheme = R.style.GlifV2Theme_Transparent;
        } else if (suwTheme == R.style.GlifV2Theme_DayNight) {
            transparentTheme = R.style.GlifV2Theme_DayNight_Transparent;
        } else if (suwTheme == R.style.GlifV2Theme_Light) {
            transparentTheme = R.style.GlifV2Theme_Light_Transparent;
        } else if (suwTheme == R.style.GlifTheme_DayNight) {
            transparentTheme = R.style.SetupWizardTheme_DayNight_Transparent;
        } else if (suwTheme == R.style.GlifTheme_Light) {
            transparentTheme = R.style.SetupWizardTheme_Light_Transparent;
        } else if (suwTheme == R.style.GlifV3Theme) {
            transparentTheme = R.style.GlifV3Theme_Transparent;
        } else if (suwTheme == R.style.GlifV2Theme) {
            transparentTheme = R.style.GlifV2Theme_Transparent;
        } else if (suwTheme == R.style.GlifTheme) {
            transparentTheme = R.style.SetupWizardTheme_Transparent;
        }
+8 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings.accessibility;

import android.content.ComponentName;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
@@ -122,4 +123,11 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
            finish();
        }
    }

    @Override
    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
        final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
        theme.applyStyle(R.style.SetupWizardPartnerResource, true);
        super.onApplyThemeResource(theme, new_resid, first);
    }
}
Loading