Merge "PackageInfo: add Parcel read/write for cert history."
This commit is contained in:
committed by
Android (Google) Code Review
commit
0589371900
@@ -468,6 +468,18 @@ public class PackageInfo implements Parcelable {
|
||||
dest.writeBoolean(mOverlayIsStatic);
|
||||
dest.writeInt(compileSdkVersion);
|
||||
dest.writeString(compileSdkVersionCodename);
|
||||
writeSigningCertificateHistoryToParcel(dest, parcelableFlags);
|
||||
}
|
||||
|
||||
private void writeSigningCertificateHistoryToParcel(Parcel dest, int parcelableFlags) {
|
||||
if (signingCertificateHistory != null) {
|
||||
dest.writeInt(signingCertificateHistory.length);
|
||||
for (int i = 0; i < signingCertificateHistory.length; i++) {
|
||||
dest.writeTypedArray(signingCertificateHistory[i], parcelableFlags);
|
||||
}
|
||||
} else {
|
||||
dest.writeInt(-1);
|
||||
}
|
||||
}
|
||||
|
||||
public static final Parcelable.Creator<PackageInfo> CREATOR
|
||||
@@ -523,6 +535,7 @@ public class PackageInfo implements Parcelable {
|
||||
mOverlayIsStatic = source.readBoolean();
|
||||
compileSdkVersion = source.readInt();
|
||||
compileSdkVersionCodename = source.readString();
|
||||
readSigningCertificateHistoryFromParcel(source);
|
||||
|
||||
// The component lists were flattened with the redundant ApplicationInfo
|
||||
// instances omitted. Distribute the canonical one here as appropriate.
|
||||
@@ -534,6 +547,16 @@ public class PackageInfo implements Parcelable {
|
||||
}
|
||||
}
|
||||
|
||||
private void readSigningCertificateHistoryFromParcel(Parcel source) {
|
||||
int len = source.readInt();
|
||||
if (len != -1) {
|
||||
signingCertificateHistory = new Signature[len][];
|
||||
for (int i = 0; i < len; i++) {
|
||||
signingCertificateHistory[i] = source.createTypedArray(Signature.CREATOR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void propagateApplicationInfo(ApplicationInfo appInfo, ComponentInfo[] components) {
|
||||
if (components != null) {
|
||||
for (ComponentInfo ci : components) {
|
||||
|
||||
Reference in New Issue
Block a user