Merge "Prevent committing session while in progress" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
98a754b382
@@ -366,6 +366,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
|||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private boolean mStageDirInUse = false;
|
private boolean mStageDirInUse = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True if the installation is already in progress. This is used to prevent the caller
|
||||||
|
* from {@link #commit(IntentSender, boolean) committing} the session again while the
|
||||||
|
* installation is still in progress.
|
||||||
|
*/
|
||||||
|
@GuardedBy("mLock")
|
||||||
|
private boolean mInstallationInProgress = false;
|
||||||
|
|
||||||
/** Permissions have been accepted by the user (see {@link #setPermissionsResult}) */
|
/** Permissions have been accepted by the user (see {@link #setPermissionsResult}) */
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private boolean mPermissionsManuallyAccepted = false;
|
private boolean mPermissionsManuallyAccepted = false;
|
||||||
@@ -1661,6 +1669,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (mLock) {
|
||||||
|
if (mInstallationInProgress) {
|
||||||
|
throw new IllegalStateException("Installation is already in progress. Don't "
|
||||||
|
+ "commit session=" + sessionId + " again.");
|
||||||
|
}
|
||||||
|
mInstallationInProgress = true;
|
||||||
|
}
|
||||||
|
|
||||||
dispatchSessionSealed();
|
dispatchSessionSealed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user