summaryrefslogtreecommitdiffstats
path: root/core/tests
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2015-04-23 19:36:02 -0700
committerJeff Sharkey <jsharkey@android.com>2015-04-23 20:32:17 -0700
commit620b32b316fd4f1bab4eef55ec8802d14a55e7dd (patch)
treeafedbccf5c135e8d19ba52db199316ab0932a277 /core/tests
parent61044cfd9c7f02d3806338a6b8f137f50e1b1e0f (diff)
downloadframeworks_base-620b32b316fd4f1bab4eef55ec8802d14a55e7dd.zip
frameworks_base-620b32b316fd4f1bab4eef55ec8802d14a55e7dd.tar.gz
frameworks_base-620b32b316fd4f1bab4eef55ec8802d14a55e7dd.tar.bz2
Package and storage movement callbacks.
Since package and primary storage movement can take quite awhile, we want to have SystemUI surface progress and allow the Settings app to be torn down while the movement proceeds in the background. Movement requests now return a unique ID that identifies an ongoing operation, and interested parties can observe ongoing progress and final status. Internally, progress and status are overloaded so the values 0-100 are progress, and any values outside that range are terminal status. Add explicit constants for special-cased volume UUIDs, and change the APIs to accept VolumeInfo to reduce confusion. Internally the UUID value "null" means internal storage, and "primary_physical" means the current primary physical volume. These values are used for both package and primary storage movement destinations. Persist the current primary storage location in MountService metadata, since it can be moved over time. Surface disk scanned events with separate volume count so we can determine when it's partitioned successfully. Also send broadcast to support TvSettings launching into adoption flow. Bug: 19993667 Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/src/android/content/pm/PackageManagerTests.java82
1 files changed, 2 insertions, 80 deletions
diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
index 279bfbf..baa772e 100644
--- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
+++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
@@ -1587,91 +1587,13 @@ public class PackageManagerTests extends AndroidTestCase {
}
}
- private class PackageMoveObserver extends IPackageMoveObserver.Stub {
- public int returnCode;
-
- private boolean doneFlag = false;
-
- public String packageName;
-
- public PackageMoveObserver(String pkgName) {
- packageName = pkgName;
- }
-
- public void packageMoved(String packageName, int returnCode) {
- Log.i("DEBUG_MOVE::", "pkg = " + packageName + ", " + "ret = " + returnCode);
- if (!packageName.equals(this.packageName)) {
- return;
- }
- synchronized (this) {
- this.returnCode = returnCode;
- doneFlag = true;
- notifyAll();
- }
- }
-
- public boolean isDone() {
- return doneFlag;
- }
- }
-
public boolean invokeMovePackage(String pkgName, int flags, GenericReceiver receiver)
throws Exception {
- PackageMoveObserver observer = new PackageMoveObserver(pkgName);
- final boolean received = false;
- mContext.registerReceiver(receiver, receiver.filter);
- try {
- // Wait on observer
- synchronized (observer) {
- synchronized (receiver) {
- getPm().movePackage(pkgName, observer, flags);
- long waitTime = 0;
- while ((!observer.isDone()) && (waitTime < MAX_WAIT_TIME)) {
- observer.wait(WAIT_TIME_INCR);
- waitTime += WAIT_TIME_INCR;
- }
- if (!observer.isDone()) {
- throw new Exception("Timed out waiting for pkgmove callback");
- }
- if (observer.returnCode != PackageManager.MOVE_SUCCEEDED) {
- return false;
- }
- // Verify we received the broadcast
- waitTime = 0;
- while ((!receiver.isDone()) && (waitTime < MAX_WAIT_TIME)) {
- receiver.wait(WAIT_TIME_INCR);
- waitTime += WAIT_TIME_INCR;
- }
- if (!receiver.isDone()) {
- throw new Exception("Timed out waiting for MOVE notifications");
- }
- return receiver.received;
- }
- }
- } finally {
- mContext.unregisterReceiver(receiver);
- }
+ throw new UnsupportedOperationException();
}
private boolean invokeMovePackageFail(String pkgName, int flags, int errCode) throws Exception {
- PackageMoveObserver observer = new PackageMoveObserver(pkgName);
- try {
- // Wait on observer
- synchronized (observer) {
- getPm().movePackage(pkgName, observer, flags);
- long waitTime = 0;
- while ((!observer.isDone()) && (waitTime < MAX_WAIT_TIME)) {
- observer.wait(WAIT_TIME_INCR);
- waitTime += WAIT_TIME_INCR;
- }
- if (!observer.isDone()) {
- throw new Exception("Timed out waiting for pkgmove callback");
- }
- assertEquals(errCode, observer.returnCode);
- }
- } finally {
- }
- return true;
+ throw new UnsupportedOperationException();
}
private int getDefaultInstallLoc() {