diff options
author | Setup Wizard Team <android-setup-team-eng@google.com> | 2019-05-15 10:21:11 +0800 |
---|---|---|
committer | Cyril Lee <cyrillee@google.com> | 2019-05-16 11:01:07 +0000 |
commit | 14649e7964684e7cbe3dd7e7404b0c9f2d986db1 (patch) | |
tree | acd721824306013c5801c02e2494d2e5cf6e49cb /partnerconfig | |
parent | 3266cd8b60eab2ff75573e7df5ff62b2a8f7db00 (diff) | |
download | setupcompat-14649e7964684e7cbe3dd7e7404b0c9f2d986db1.tar.gz |
Import updated Android SetupCompat Library 248257541
Copied from google3/third_party/java_src/android_libs/setupcompat
Bug: 129349466
Test: mm
Included changes:
- 248257541 Fix font size of Header/sub-header when font and display ...
- 248061227 Fix text color been change since button sets to enable fr...
- 247713170 Remove the permission require of SetupCompatService
PiperOrigin-RevId: 248257541
Change-Id: I2ccb6b8f1a47e060da5a722886f3ed46fb0b1bc6
Diffstat (limited to 'partnerconfig')
-rw-r--r-- | partnerconfig/java/com/google/android/setupcompat/partnerconfig/PartnerConfigHelper.java | 31 |
1 files changed, 29 insertions, 2 deletions
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); + } } |