diff options
author | Setup Wizard Team <android-setup-team-eng@google.com> | 2019-05-16 21:12:58 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-05-16 21:12:58 -0700 |
commit | ce385f74c0977de4ba18dcd6604f2fd47d3362ca (patch) | |
tree | acd721824306013c5801c02e2494d2e5cf6e49cb | |
parent | 8b0e23437936fb8a17954c6da29bcadb03caf891 (diff) | |
parent | b10744f1d35f731eb04bb4f22577117abc3f8d3b (diff) | |
download | setupcompat-ce385f74c0977de4ba18dcd6604f2fd47d3362ca.tar.gz |
Import updated Android SetupCompat Library 248257541 am: 14649e7964
am: b10744f1d3
Change-Id: I91a79013cfccfd545ff95c45917e7df3c9353fc4
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); + } } |