summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSetup Wizard Team <android-setup-team-eng@google.com>2019-05-16 21:12:58 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-05-16 21:12:58 -0700
commitce385f74c0977de4ba18dcd6604f2fd47d3362ca (patch)
treeacd721824306013c5801c02e2494d2e5cf6e49cb
parent8b0e23437936fb8a17954c6da29bcadb03caf891 (diff)
parentb10744f1d35f731eb04bb4f22577117abc3f8d3b (diff)
downloadsetupcompat-ce385f74c0977de4ba18dcd6604f2fd47d3362ca.tar.gz
Import updated Android SetupCompat Library 248257541 am: 14649e7964
am: b10744f1d3 Change-Id: I91a79013cfccfd545ff95c45917e7df3c9353fc4
-rw-r--r--main/java/com/google/android/setupcompat/internal/SetupCompatServiceProvider.java8
-rw-r--r--main/java/com/google/android/setupcompat/template/FooterBarMixin.java2
-rw-r--r--partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java31
3 files changed, 31 insertions, 10 deletions
diff --git a/main/java/com/google/android/setupcompat/internal/SetupCompatServiceProvider.java b/main/java/com/google/android/setupcompat/internal/SetupCompatServiceProvider.java
index eb3afaa..66503a7 100644
--- a/main/java/com/google/android/setupcompat/internal/SetupCompatServiceProvider.java
+++ b/main/java/com/google/android/setupcompat/internal/SetupCompatServiceProvider.java
@@ -154,11 +154,7 @@ public class SetupCompatServiceProvider {
} else {
// SetupWizard is not installed/calling app does not have permissions to bind.
swapServiceContextAndNotify(new ServiceContext(State.BIND_FAILED));
- Log.e(
- TAG,
- String.format(
- "Context#bindService did not succeed, is the manifest missing %s permission?",
- COMPAT_PERMISSION));
+ Log.e(TAG, "Context#bindService did not succeed.");
}
}
@@ -341,7 +337,5 @@ public class SetupCompatServiceProvider {
@SuppressLint("StaticFieldLeak")
private static volatile SetupCompatServiceProvider instance;
- private static final String COMPAT_PERMISSION =
- "com.google.android.setupwizard.SETUP_COMPAT_SERVICE";
private static final String TAG = "SucServiceProvider";
}
diff --git a/main/java/com/google/android/setupcompat/template/FooterBarMixin.java b/main/java/com/google/android/setupcompat/template/FooterBarMixin.java
index c931de8..3c88791 100644
--- a/main/java/com/google/android/setupcompat/template/FooterBarMixin.java
+++ b/main/java/com/google/android/setupcompat/template/FooterBarMixin.java
@@ -110,7 +110,7 @@ public class FooterBarMixin implements Mixin {
Button button = buttonContainer.findViewById(id);
if (button != null) {
button.setEnabled(enabled);
- if (applyPartnerResources && !enabled) {
+ if (applyPartnerResources) {
updateButtonTextColorWithPartnerConfig(
button,
(id == primaryButtonId)
diff --git a/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java b/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java
index b437f2b..6dd71b2 100644
--- a/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java
+++ b/partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java
@@ -30,6 +30,7 @@ import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import com.google.android.setupcompat.partnerconfig.PartnerConfig.ResourceType;
@@ -237,7 +238,8 @@ public class PartnerConfigHelper {
}
if (partnerResourceCache.containsKey(resourceConfig)) {
- return (float) partnerResourceCache.get(resourceConfig);
+ return getDimensionFromTypedValue(
+ context, (TypedValue) partnerResourceCache.get(resourceConfig));
}
float result = defaultValue;
@@ -245,7 +247,13 @@ public class PartnerConfigHelper {
ResourceEntry resourceEntry = getResourceEntryFromKey(resourceConfig.getResourceName());
Resources resource = getResourcesByPackageName(context, resourceEntry.getPackageName());
result = resource.getDimension(resourceEntry.getResourceId());
- partnerResourceCache.put(resourceConfig, result);
+ TypedValue value =
+ getTypedValueFromResource(
+ resource, resourceEntry.getResourceId(), TypedValue.TYPE_DIMENSION);
+ partnerResourceCache.put(resourceConfig, value);
+ result =
+ getDimensionFromTypedValue(
+ context, (TypedValue) partnerResourceCache.get(resourceConfig));
} catch (PackageManager.NameNotFoundException | NullPointerException exception) {
// fall through
}
@@ -331,4 +339,23 @@ public class PartnerConfigHelper {
public static synchronized void resetForTesting() {
instance = null;
}
+
+ private TypedValue getTypedValueFromResource(Resources resource, int resId, int type) {
+ TypedValue value = new TypedValue();
+ resource.getValue(resId, value, true);
+ if (value.type != type) {
+ throw new NotFoundException(
+ "Resource ID #0x"
+ + Integer.toHexString(resId)
+ + " type #0x"
+ + Integer.toHexString(value.type)
+ + " is not valid");
+ }
+ return value;
+ }
+
+ private float getDimensionFromTypedValue(Context context, TypedValue value) {
+ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
+ return value.getDimension(displayMetrics);
+ }
}