diff options
| author | 2019-06-05 13:04:32 +0100 | |
|---|---|---|
| committer | 2019-06-05 13:43:26 +0100 | |
| commit | 1c9c5d26c517bcf9cb08cd8c314a8ed2d32d5db0 (patch) | |
| tree | d1e9e863893db397411a774e530e25e95bc69988 | |
| parent | 02d9b9c35b5252de8e50218970b7a4fa10371583 (diff) | |
Don't send SessionCallbacks for DRY_RUN sessions.
Because DRY_RUN sessions shouldn't have any side effect except to tell
us if verification passed or failed.
Bug: 123753157
Test: atest CtsStagedInstallHostTestCases, with new test added.
Change-Id: Ide42759d80063da76955ef120b21b077197c15e3
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index bd8859401856..0032e9a8ea51 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -617,7 +617,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements mStagingManager.createSession(session); } - mCallbacks.notifySessionCreated(session.sessionId, session.userId); + if ((session.params.installFlags & PackageManager.INSTALL_DRY_RUN) == 0) { + mCallbacks.notifySessionCreated(session.sessionId, session.userId); + } writeSessionsAsync(); return sessionId; } @@ -1210,16 +1212,25 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements class InternalCallback { public void onSessionBadgingChanged(PackageInstallerSession session) { - mCallbacks.notifySessionBadgingChanged(session.sessionId, session.userId); + if ((session.params.installFlags & PackageManager.INSTALL_DRY_RUN) == 0) { + mCallbacks.notifySessionBadgingChanged(session.sessionId, session.userId); + } + writeSessionsAsync(); } public void onSessionActiveChanged(PackageInstallerSession session, boolean active) { - mCallbacks.notifySessionActiveChanged(session.sessionId, session.userId, active); + if ((session.params.installFlags & PackageManager.INSTALL_DRY_RUN) == 0) { + mCallbacks.notifySessionActiveChanged(session.sessionId, session.userId, + active); + } } public void onSessionProgressChanged(PackageInstallerSession session, float progress) { - mCallbacks.notifySessionProgressChanged(session.sessionId, session.userId, progress); + if ((session.params.installFlags & PackageManager.INSTALL_DRY_RUN) == 0) { + mCallbacks.notifySessionProgressChanged(session.sessionId, session.userId, + progress); + } } public void onStagedSessionChanged(PackageInstallerSession session) { @@ -1232,7 +1243,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } public void onSessionFinished(final PackageInstallerSession session, boolean success) { - mCallbacks.notifySessionFinished(session.sessionId, session.userId, success); + if ((session.params.installFlags & PackageManager.INSTALL_DRY_RUN) == 0) { + mCallbacks.notifySessionFinished(session.sessionId, session.userId, success); + } mInstallHandler.post(new Runnable() { @Override |