Merge "Continue populating legacy data structures." into sc-dev
This commit is contained in:
@@ -227,6 +227,14 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
|
||||
@NonNull
|
||||
@DataClass.ParcelWith(ForInternedStringList.class)
|
||||
protected List<String> adoptPermissions = emptyList();
|
||||
/**
|
||||
* @deprecated consider migrating to {@link #getUsesPermissions} which has
|
||||
* more parsed details, such as flags
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
@DataClass.ParcelWith(ForInternedStringList.class)
|
||||
protected List<String> requestedPermissions = emptyList();
|
||||
|
||||
@NonNull
|
||||
private List<ParsedUsesPermission> usesPermissions = emptyList();
|
||||
@@ -701,6 +709,11 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
|
||||
@Override
|
||||
public ParsingPackageImpl addUsesPermission(ParsedUsesPermission permission) {
|
||||
this.usesPermissions = CollectionUtils.add(this.usesPermissions, permission);
|
||||
|
||||
// Continue populating legacy data structures to avoid performance
|
||||
// issues until all that code can be migrated
|
||||
this.requestedPermissions = CollectionUtils.add(this.requestedPermissions, permission.name);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -1142,6 +1155,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
|
||||
dest.writeByteArray(this.restrictUpdateHash);
|
||||
dest.writeStringList(this.originalPackages);
|
||||
sForInternedStringList.parcel(this.adoptPermissions, dest, flags);
|
||||
sForInternedStringList.parcel(this.requestedPermissions, dest, flags);
|
||||
dest.writeTypedList(this.usesPermissions);
|
||||
sForInternedStringList.parcel(this.implicitPermissions, dest, flags);
|
||||
sForStringSet.parcel(this.upgradeKeySets, dest, flags);
|
||||
@@ -1264,6 +1278,7 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
|
||||
this.restrictUpdateHash = in.createByteArray();
|
||||
this.originalPackages = in.createStringArrayList();
|
||||
this.adoptPermissions = sForInternedStringList.unparcel(in);
|
||||
this.requestedPermissions = sForInternedStringList.unparcel(in);
|
||||
this.usesPermissions = in.createTypedArrayList(ParsedUsesPermission.CREATOR);
|
||||
this.implicitPermissions = sForInternedStringList.unparcel(in);
|
||||
this.upgradeKeySets = sForStringSet.unparcel(in);
|
||||
@@ -1558,15 +1573,14 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
|
||||
return adoptPermissions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated consider migrating to {@link #getUsesPermissions} which has
|
||||
* more parsed details, such as flags
|
||||
*/
|
||||
@NonNull
|
||||
@Override
|
||||
@Deprecated
|
||||
public List<String> getRequestedPermissions() {
|
||||
final List<ParsedUsesPermission> usesPermissions = getUsesPermissions();
|
||||
final int size = usesPermissions.size();
|
||||
final List<String> requestedPermissions = new ArrayList<>(size);
|
||||
for (int i = 0; i < size; i++) {
|
||||
requestedPermissions.add(usesPermissions.get(i).name);
|
||||
}
|
||||
return requestedPermissions;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user