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

@@ -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

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;
}

View File

@@ -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);
}
}

View File

@@ -203,9 +203,9 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
@Override
protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
resid = SetupWizardUtils.getTheme(getIntent());
final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
theme.applyStyle(R.style.SetupWizardPartnerResource, true);
super.onApplyThemeResource(theme, resid, first);
super.onApplyThemeResource(theme, new_resid, first);
}
@Override

View File

@@ -116,9 +116,9 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
@Override
protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
resid = SetupWizardUtils.getTheme(getIntent());
final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
theme.applyStyle(R.style.SetupWizardPartnerResource, true);
super.onApplyThemeResource(theme, resid, first);
super.onApplyThemeResource(theme, new_resid, first);
}
@Override

View File

@@ -62,8 +62,8 @@ public class RedactionInterstitial 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

View File

@@ -105,8 +105,8 @@ public class ChooseLockPassword extends SettingsActivity {
@Override
protected void onApplyThemeResource(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);
}
public static class IntentBuilder {

View File

@@ -94,8 +94,8 @@ public class ChooseLockPattern extends SettingsActivity {
@Override
protected void onApplyThemeResource(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);
}
public static class IntentBuilder {

View File

@@ -64,14 +64,14 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi
return;
}
if (UserManager.get(this).isManagedProfile(credentialOwnerUserId)) {
setTheme(SetupWizardUtils.getTheme(getIntent()));
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
mConfirmCredentialTheme = ConfirmCredentialTheme.WORK;
} else if (getIntent().getBooleanExtra(
ConfirmDeviceCredentialBaseFragment.DARK_THEME, false)) {
setTheme(R.style.Theme_ConfirmDeviceCredentialsDark);
mConfirmCredentialTheme = ConfirmCredentialTheme.DARK;
} else {
setTheme(SetupWizardUtils.getTheme(getIntent()));
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
mConfirmCredentialTheme = ConfirmCredentialTheme.NORMAL;
}
super.onCreate(savedState);

View File

@@ -31,7 +31,6 @@ import android.os.UserHandle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
@@ -42,8 +41,6 @@ import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
import com.android.settings.SetupEncryptionInterstitial;
import com.android.settings.SetupWizardUtils;
import com.android.settings.biometrics.BiometricEnrollActivity;
import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollFindSensor;
import com.android.settings.utils.SettingsDividerItemDecoration;
import com.google.android.setupdesign.GlifPreferenceLayout;
@@ -72,8 +69,8 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
@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

View File

@@ -45,6 +45,7 @@ import com.android.wifitrackerlib.NetworkDetailsTracker;
import com.android.wifitrackerlib.WifiEntry;
import com.google.android.setupcompat.util.WizardManagerHelper;
import com.google.android.setupdesign.util.ThemeHelper;
import java.time.Clock;
import java.time.ZoneOffset;
@@ -105,7 +106,7 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog
protected void onCreate(Bundle savedInstanceState) {
mIntent = getIntent();
if (WizardManagerHelper.isSetupWizardIntent(mIntent)) {
setTheme(SetupWizardUtils.getTransparentTheme(mIntent));
setTheme(SetupWizardUtils.getTransparentTheme(this, mIntent));
}
super.onCreate(savedInstanceState);
@@ -151,13 +152,16 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog
}
if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
final int targetStyle = ThemeHelper.isSetupWizardDayNightEnabled(this)
? R.style.SuwAlertDialogThemeCompat_DayNight :
R.style.SuwAlertDialogThemeCompat_Light;
if (mIsWifiTrackerLib) {
mDialog2 = WifiDialog2.createModal(this, this,
mNetworkDetailsTracker.getWifiEntry(),
WifiConfigUiBase2.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
WifiConfigUiBase2.MODE_CONNECT, targetStyle);
} else {
mDialog = WifiDialog.createModal(this, this, mAccessPoint,
WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
WifiConfigUiBase.MODE_CONNECT, targetStyle);
}
} else {
if (mIsWifiTrackerLib) {

View File

@@ -45,8 +45,8 @@ abstract class WifiDppBaseActivity extends InstrumentedActivity {
@Override
protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
resid = SetupWizardUtils.getTheme(getIntent());
final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
theme.applyStyle(R.style.SetupWizardPartnerResource, /* force */ true);
super.onApplyThemeResource(theme, resid, first);
super.onApplyThemeResource(theme, new_resid, first);
}
}