summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-09-27 23:06:05 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-09-27 23:06:05 +0000
commit25daac1b54b75775c9d2ae55c25b9ea6c988ab39 (patch)
tree947609294616aea53039a3514bb6ac7af0e04c7d
parenteedf8d9782e8214e512775f28b6e2880293d3ae2 (diff)
parent46724f672722ce23b212ff6244ca197b68e44715 (diff)
downloadsetupcompat-25daac1b54b75775c9d2ae55c25b9ea6c988ab39.tar.gz
Snap for 7771957 from 46724f672722ce23b212ff6244ca197b68e44715 to sc-d2-release
Change-Id: I5dd789744ba9b87ce14ddfe8dc849a1498cf6546
-rw-r--r--main/java/com/google/android/setupcompat/template/FooterBarMixin.java2
-rw-r--r--main/java/com/google/android/setupcompat/util/BuildCompatUtils.java9
-rw-r--r--partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java24
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;
}