Merge "OtaDexOptService: Log post-reboot moves" am: ac293515b3 am: 4e04b5882f

am: 5e81820123

Change-Id: Ibad423bf2f49ec4af474ade4dd74fb772f50c50a
This commit is contained in:
Andreas Gampe
2017-04-11 16:03:46 +00:00
committed by android-build-merger

View File

@@ -95,9 +95,6 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
public OtaDexoptService(Context context, PackageManagerService packageManagerService) { public OtaDexoptService(Context context, PackageManagerService packageManagerService) {
this.mContext = context; this.mContext = context;
this.mPackageManagerService = packageManagerService; this.mPackageManagerService = packageManagerService;
// Now it's time to check whether we need to move any A/B artifacts.
moveAbArtifacts(packageManagerService.mInstaller);
} }
public static OtaDexoptService main(Context context, public static OtaDexoptService main(Context context,
@@ -105,6 +102,9 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
OtaDexoptService ota = new OtaDexoptService(context, packageManagerService); OtaDexoptService ota = new OtaDexoptService(context, packageManagerService);
ServiceManager.addService("otadexopt", ota); ServiceManager.addService("otadexopt", ota);
// Now it's time to check whether we need to move any A/B artifacts.
ota.moveAbArtifacts(packageManagerService.mInstaller);
return ota; return ota;
} }
@@ -323,8 +323,15 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
throw new IllegalStateException("Should not be ota-dexopting when trying to move."); throw new IllegalStateException("Should not be ota-dexopting when trying to move.");
} }
if (!mPackageManagerService.isUpgrade()) {
Slog.d(TAG, "No upgrade, skipping A/B artifacts check.");
return;
}
// Look into all packages. // Look into all packages.
Collection<PackageParser.Package> pkgs = mPackageManagerService.getPackages(); Collection<PackageParser.Package> pkgs = mPackageManagerService.getPackages();
int packagePaths = 0;
int pathsSuccessful = 0;
for (PackageParser.Package pkg : pkgs) { for (PackageParser.Package pkg : pkgs) {
if (pkg == null) { if (pkg == null) {
continue; continue;
@@ -355,13 +362,16 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
// TODO: Check first whether there is an artifact, to save the roundtrip time. // TODO: Check first whether there is an artifact, to save the roundtrip time.
packagePaths++;
try { try {
installer.moveAb(path, dexCodeInstructionSet, oatDir); installer.moveAb(path, dexCodeInstructionSet, oatDir);
pathsSuccessful++;
} catch (InstallerException e) { } catch (InstallerException e) {
} }
} }
} }
} }
Slog.i(TAG, "Moved " + pathsSuccessful + "/" + packagePaths);
} }
/** /**