diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-09-27 23:06:05 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-09-27 23:06:05 +0000 |
commit | 25daac1b54b75775c9d2ae55c25b9ea6c988ab39 (patch) | |
tree | 947609294616aea53039a3514bb6ac7af0e04c7d | |
parent | eedf8d9782e8214e512775f28b6e2880293d3ae2 (diff) | |
parent | 46724f672722ce23b212ff6244ca197b68e44715 (diff) | |
download | setupcompat-25daac1b54b75775c9d2ae55c25b9ea6c988ab39.tar.gz |
Snap for 7771957 from 46724f672722ce23b212ff6244ca197b68e44715 to sc-d2-release
Change-Id: I5dd789744ba9b87ce14ddfe8dc849a1498cf6546
3 files changed, 29 insertions, 6 deletions
diff --git a/main/java/com/google/android/setupcompat/template/FooterBarMixin.java b/main/java/com/google/android/setupcompat/template/FooterBarMixin.java index 3a03559..52e3dc9 100644 --- a/main/java/com/google/android/setupcompat/template/FooterBarMixin.java +++ b/main/java/com/google/android/setupcompat/template/FooterBarMixin.java @@ -233,7 +233,7 @@ public class FooterBarMixin implements Mixin { } } - private boolean isFooterButtonsEvenlyWeighted() { + protected boolean isFooterButtonsEvenlyWeighted() { if (!isSecondaryButtonInPrimaryStyle) { return false; } diff --git a/main/java/com/google/android/setupcompat/util/BuildCompatUtils.java b/main/java/com/google/android/setupcompat/util/BuildCompatUtils.java index 3583b93..7fac760 100644 --- a/main/java/com/google/android/setupcompat/util/BuildCompatUtils.java +++ b/main/java/com/google/android/setupcompat/util/BuildCompatUtils.java @@ -26,6 +26,15 @@ import androidx.annotation.ChecksSdkIntAtLeast; public final class BuildCompatUtils { /** + * Implementation of BuildCompat.isAtLeastR() suitable for use in Setup + * + * @return Whether the current OS version is higher or equal to R. + */ + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.R) + public static boolean isAtLeastR() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R; + } + /** * Implementation of BuildCompat.isAtLeastS() suitable for use in Setup * * @return Whether the current OS version is higher or equal to S. diff --git a/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java b/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java index 27bd521..c0be011 100644 --- a/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java +++ b/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java @@ -81,6 +81,14 @@ public class PartnerConfigHelper { private static int savedOrientation = Configuration.ORIENTATION_PORTRAIT; + /** + * When testing related to fake PartnerConfigHelper instance, should sync the following saved + * config with testing environment. + */ + @VisibleForTesting public static int savedScreenHeight = Configuration.SCREEN_HEIGHT_DP_UNDEFINED; + + @VisibleForTesting public static int savedScreenWidth = Configuration.SCREEN_WIDTH_DP_UNDEFINED; + public static synchronized PartnerConfigHelper get(@NonNull Context context) { if (!isValidInstance(context)) { instance = new PartnerConfigHelper(context); @@ -93,15 +101,21 @@ public class PartnerConfigHelper { if (instance == null) { savedConfigUiMode = currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK; savedOrientation = currentConfig.orientation; + savedScreenWidth = currentConfig.screenWidthDp; + savedScreenHeight = currentConfig.screenHeightDp; return false; } else { - if (isSetupWizardDayNightEnabled(context) - && (currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK) != savedConfigUiMode) { + boolean uiModeChanged = + isSetupWizardDayNightEnabled(context) + && (currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK) != savedConfigUiMode; + if (uiModeChanged + || currentConfig.orientation != savedOrientation + || currentConfig.screenWidthDp != savedScreenWidth + || currentConfig.screenHeightDp != savedScreenHeight) { savedConfigUiMode = currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK; - resetInstance(); - return false; - } else if (currentConfig.orientation != savedOrientation) { savedOrientation = currentConfig.orientation; + savedScreenHeight = currentConfig.screenHeightDp; + savedScreenWidth = currentConfig.screenWidthDp; resetInstance(); return false; } |