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
This commit is contained in:
pihuei
2020-10-13 19:00:57 +08:00
committed by Pihuei Wang
parent 9a1a35d316
commit 55fb2b745d
16 changed files with 297 additions and 56 deletions

View File

@@ -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,25 +40,39 @@ 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)) {
switch (theme) {
case ThemeHelper.THEME_GLIF_V3_LIGHT:
return R.style.GlifV3Theme_Light;
case ThemeHelper.THEME_GLIF_V3:
return R.style.GlifV3Theme;
case ThemeHelper.THEME_GLIF_V2_LIGHT:
return R.style.GlifV2Theme_Light;
case ThemeHelper.THEME_GLIF_V2:
return R.style.GlifV2Theme;
case ThemeHelper.THEME_GLIF_LIGHT:
return R.style.GlifTheme_Light;
case ThemeHelper.THEME_GLIF:
return R.style.GlifTheme;
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;
case ThemeHelper.THEME_GLIF_V3:
return R.style.GlifV3Theme;
case ThemeHelper.THEME_GLIF_V2_LIGHT:
return R.style.GlifV2Theme_Light;
case ThemeHelper.THEME_GLIF_V2:
return R.style.GlifV2Theme;
case ThemeHelper.THEME_GLIF_LIGHT:
return R.style.GlifTheme_Light;
case ThemeHelper.THEME_GLIF:
return R.style.GlifTheme;
}
}
} else {
switch (theme) {
@@ -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;
}