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

Commit 1ad6bbad authored by pihuei's avatar pihuei Committed by Automerger Merge Worker
Browse files

Use system day/night to switch theme instead of from intent extra. am: 55fb2b74

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12825438

Change-Id: I3e048c1b5e91e8c5fa9019ea5a8c69e166e00168
parents 42bc40a0 55fb2b74
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