summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorGustav Sennton <gsennton@google.com>2017-11-20 20:14:17 +0000
committerGustav Sennton <gsennton@google.com>2018-01-03 18:30:41 +0000
commit74473597dcec337c4f6ea91fa1ea7edc619adf22 (patch)
tree1caa8d286b17cefca4cea392ca70cf561abf586f /core/java
parentdc4cb146315240441fc8d9c05fe8dd63370a7c57 (diff)
Store WebView package signatures as Signatures instead of Strings
We are currently storing WebView package signatures as Strings in WebViewProviderInfo, represent these as Signatures instead. Bug: 62429931 Test: start WebView app + run WebViewTest GTS tests + WVUS tests Change-Id: I910db133cd147b44b4b1c63921308d82db44e5b3
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/webkit/WebViewProviderInfo.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/core/java/android/webkit/WebViewProviderInfo.java b/core/java/android/webkit/WebViewProviderInfo.java
index 5d091c91abfb..b0e9f0194ed4 100644
--- a/core/java/android/webkit/WebViewProviderInfo.java
+++ b/core/java/android/webkit/WebViewProviderInfo.java
@@ -17,10 +17,10 @@
package android.webkit;
import android.annotation.SystemApi;
+import android.content.pm.Signature;
import android.os.Parcel;
import android.os.Parcelable;
-
-import java.util.Arrays;
+import android.util.Base64;
/**
* @hide
@@ -34,7 +34,14 @@ public final class WebViewProviderInfo implements Parcelable {
this.description = description;
this.availableByDefault = availableByDefault;
this.isFallback = isFallback;
- this.signatures = signatures;
+ if (signatures == null) {
+ this.signatures = new Signature[0];
+ } else {
+ this.signatures = new Signature[signatures.length];
+ for (int n = 0; n < signatures.length; n++) {
+ this.signatures[n] = new Signature(Base64.decode(signatures[n], Base64.DEFAULT));
+ }
+ }
}
// aidl stuff
@@ -54,7 +61,7 @@ public final class WebViewProviderInfo implements Parcelable {
description = in.readString();
availableByDefault = (in.readInt() > 0);
isFallback = (in.readInt() > 0);
- signatures = in.createStringArray();
+ signatures = in.createTypedArray(Signature.CREATOR);
}
@Override
@@ -68,7 +75,7 @@ public final class WebViewProviderInfo implements Parcelable {
out.writeString(description);
out.writeInt(availableByDefault ? 1 : 0);
out.writeInt(isFallback ? 1 : 0);
- out.writeStringArray(signatures);
+ out.writeTypedArray(signatures, 0);
}
// fields read from framework resource
@@ -76,5 +83,5 @@ public final class WebViewProviderInfo implements Parcelable {
public final String description;
public final boolean availableByDefault;
public final boolean isFallback;
- public final String[] signatures;
+ public final Signature[] signatures;
}