Merge "Use hand-written counted loop for ArrayList" into rvc-dev
This commit is contained in:
@@ -522,7 +522,8 @@ public abstract class ApexManager {
|
|||||||
"APEX packages have not been scanned");
|
"APEX packages have not been scanned");
|
||||||
boolean matchActive = (flags & MATCH_ACTIVE_PACKAGE) != 0;
|
boolean matchActive = (flags & MATCH_ACTIVE_PACKAGE) != 0;
|
||||||
boolean matchFactory = (flags & MATCH_FACTORY_PACKAGE) != 0;
|
boolean matchFactory = (flags & MATCH_FACTORY_PACKAGE) != 0;
|
||||||
for (PackageInfo packageInfo: mAllPackagesCache) {
|
for (int i = 0, size = mAllPackagesCache.size(); i < size; i++) {
|
||||||
|
final PackageInfo packageInfo = mAllPackagesCache.get(i);
|
||||||
if (!packageInfo.packageName.equals(packageName)) {
|
if (!packageInfo.packageName.equals(packageName)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -581,7 +582,8 @@ public abstract class ApexManager {
|
|||||||
if (!isApexSupported()) return false;
|
if (!isApexSupported()) return false;
|
||||||
Preconditions.checkState(mAllPackagesCache != null,
|
Preconditions.checkState(mAllPackagesCache != null,
|
||||||
"APEX packages have not been scanned");
|
"APEX packages have not been scanned");
|
||||||
for (PackageInfo packageInfo : mAllPackagesCache) {
|
for (int i = 0, size = mAllPackagesCache.size(); i < size; i++) {
|
||||||
|
final PackageInfo packageInfo = mAllPackagesCache.get(i);
|
||||||
if (packageInfo.packageName.equals(packageName)) {
|
if (packageInfo.packageName.equals(packageName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -839,7 +841,8 @@ public abstract class ApexManager {
|
|||||||
IndentingPrintWriter ipw) {
|
IndentingPrintWriter ipw) {
|
||||||
ipw.println();
|
ipw.println();
|
||||||
ipw.increaseIndent();
|
ipw.increaseIndent();
|
||||||
for (PackageInfo pi : packagesCache) {
|
for (int i = 0, size = packagesCache.size(); i < size; i++) {
|
||||||
|
final PackageInfo pi = packagesCache.get(i);
|
||||||
if (packageName != null && !packageName.equals(pi.packageName)) {
|
if (packageName != null && !packageName.equals(pi.packageName)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -254,8 +254,9 @@ public class StagingManager {
|
|||||||
private int retrieveRollbackIdForCommitSession(int sessionId) throws PackageManagerException {
|
private int retrieveRollbackIdForCommitSession(int sessionId) throws PackageManagerException {
|
||||||
RollbackManager rm = mContext.getSystemService(RollbackManager.class);
|
RollbackManager rm = mContext.getSystemService(RollbackManager.class);
|
||||||
|
|
||||||
List<RollbackInfo> rollbacks = rm.getRecentlyCommittedRollbacks();
|
final List<RollbackInfo> rollbacks = rm.getRecentlyCommittedRollbacks();
|
||||||
for (RollbackInfo rollback : rollbacks) {
|
for (int i = 0, size = rollbacks.size(); i < size; i++) {
|
||||||
|
final RollbackInfo rollback = rollbacks.get(i);
|
||||||
if (rollback.getCommittedSessionId() == sessionId) {
|
if (rollback.getCommittedSessionId() == sessionId) {
|
||||||
return rollback.getRollbackId();
|
return rollback.getRollbackId();
|
||||||
}
|
}
|
||||||
@@ -388,7 +389,8 @@ public class StagingManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (PackageInstallerSession childSession : childrenSessions) {
|
for (int i = 0, size = childrenSessions.size(); i < size; i++) {
|
||||||
|
final PackageInstallerSession childSession = childrenSessions.get(i);
|
||||||
if (sessionContainsApex(childSession)) {
|
if (sessionContainsApex(childSession)) {
|
||||||
apexSessions.add(childSession);
|
apexSessions.add(childSession);
|
||||||
}
|
}
|
||||||
@@ -402,15 +404,15 @@ public class StagingManager {
|
|||||||
IRollbackManager rm = IRollbackManager.Stub.asInterface(
|
IRollbackManager rm = IRollbackManager.Stub.asInterface(
|
||||||
ServiceManager.getService(Context.ROLLBACK_SERVICE));
|
ServiceManager.getService(Context.ROLLBACK_SERVICE));
|
||||||
|
|
||||||
for (PackageInstallerSession apexSession : apexSessions) {
|
for (int i = 0, sessionsSize = apexSessions.size(); i < sessionsSize; i++) {
|
||||||
String packageName = apexSession.getPackageName();
|
final String packageName = apexSessions.get(i).getPackageName();
|
||||||
// Perform any snapshots or restores for the APEX itself
|
// Perform any snapshots or restores for the APEX itself
|
||||||
snapshotAndRestoreApexUserData(packageName, allUsers, rm);
|
snapshotAndRestoreApexUserData(packageName, allUsers, rm);
|
||||||
|
|
||||||
// Process the apks inside the APEX
|
// Process the apks inside the APEX
|
||||||
List<String> apksInApex = mApexManager.getApksInApex(packageName);
|
final List<String> apksInApex = mApexManager.getApksInApex(packageName);
|
||||||
for (String apk: apksInApex) {
|
for (int j = 0, apksSize = apksInApex.size(); j < apksSize; j++) {
|
||||||
snapshotAndRestoreApkInApexUserData(apk, allUsers, rm);
|
snapshotAndRestoreApkInApexUserData(apksInApex.get(j), allUsers, rm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -637,7 +639,8 @@ public class StagingManager {
|
|||||||
0 /* UserHandle.SYSTEM */);
|
0 /* UserHandle.SYSTEM */);
|
||||||
PackageInstallerSession apkSession = mPi.getSession(apkSessionId);
|
PackageInstallerSession apkSession = mPi.getSession(apkSessionId);
|
||||||
apkSession.open();
|
apkSession.open();
|
||||||
for (String apkFilePath : apkFilePaths) {
|
for (int i = 0, size = apkFilePaths.size(); i < size; i++) {
|
||||||
|
final String apkFilePath = apkFilePaths.get(i);
|
||||||
File apkFile = new File(apkFilePath);
|
File apkFile = new File(apkFilePath);
|
||||||
ParcelFileDescriptor pfd = ParcelFileDescriptor.open(apkFile,
|
ParcelFileDescriptor pfd = ParcelFileDescriptor.open(apkFile,
|
||||||
ParcelFileDescriptor.MODE_READ_ONLY);
|
ParcelFileDescriptor.MODE_READ_ONLY);
|
||||||
@@ -705,9 +708,9 @@ public class StagingManager {
|
|||||||
"Unable to prepare multi-package session for staged session");
|
"Unable to prepare multi-package session for staged session");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (PackageInstallerSession sessionToClone : childSessions) {
|
for (int i = 0, size = childSessions.size(); i < size; i++) {
|
||||||
PackageInstallerSession apkChildSession =
|
final PackageInstallerSession apkChildSession = createAndWriteApkSession(
|
||||||
createAndWriteApkSession(sessionToClone, preReboot);
|
childSessions.get(i), preReboot);
|
||||||
try {
|
try {
|
||||||
apkParentSession.addChildSessionId(apkChildSession.sessionId);
|
apkParentSession.addChildSessionId(apkChildSession.sessionId);
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
@@ -1206,10 +1209,9 @@ public class StagingManager {
|
|||||||
// multi-package sessions, find all the child sessions that contain an APEX.
|
// multi-package sessions, find all the child sessions that contain an APEX.
|
||||||
if (hasApex) {
|
if (hasApex) {
|
||||||
try {
|
try {
|
||||||
final List<PackageInfo> apexPackages =
|
final List<PackageInfo> apexPackages = submitSessionToApexService(session);
|
||||||
submitSessionToApexService(session);
|
for (int i = 0, size = apexPackages.size(); i < size; i++) {
|
||||||
for (PackageInfo apexPackage : apexPackages) {
|
validateApexSignature(apexPackages.get(i));
|
||||||
validateApexSignature(apexPackage);
|
|
||||||
}
|
}
|
||||||
} catch (PackageManagerException e) {
|
} catch (PackageManagerException e) {
|
||||||
session.setStagedSessionFailed(e.error, e.getMessage());
|
session.setStagedSessionFailed(e.error, e.getMessage());
|
||||||
|
|||||||
Reference in New Issue
Block a user