Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 529f91fc authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Always send volume UUID with installd commands.

Since packages can be moved to other volumes, all relevant commands
to installd now require an explicit volume UUID parameter.

Bug: 20275577
Change-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e
parent 355df8f1
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1691,9 +1691,13 @@ public final class Pm {
            showUsage();
            return 1;
        }
        String volumeUuid = nextArg();
        if ("internal".equals(volumeUuid)) {
            volumeUuid = null;
        }
        ClearDataObserver obs = new ClearDataObserver();
        try {
            mPm.freeStorageAndNotify(sizeVal, obs);
            mPm.freeStorageAndNotify(volumeUuid, sizeVal, obs);
            synchronized (obs) {
                while (!obs.finished) {
                    try {
@@ -1884,7 +1888,7 @@ public final class Pm {
        System.err.println("       pm set-install-location [0/auto] [1/internal] [2/external]");
        System.err.println("       pm get-install-location");
        System.err.println("       pm set-permission-enforced PERMISSION [true|false]");
        System.err.println("       pm trim-caches DESIRED_FREE_SPACE");
        System.err.println("       pm trim-caches DESIRED_FREE_SPACE [internal|UUID]");
        System.err.println("       pm create-user [--profileOf USER_ID] [--managed] USER_NAME");
        System.err.println("       pm remove-user USER_ID");
        System.err.println("       pm get-max-users");
+6 −4
Original line number Diff line number Diff line
@@ -1520,19 +1520,21 @@ final class ApplicationPackageManager extends PackageManager {
            // Should never happen!
        }
    }

    @Override
    public void freeStorageAndNotify(long idealStorageSize, IPackageDataObserver observer) {
    public void freeStorageAndNotify(String volumeUuid, long idealStorageSize,
            IPackageDataObserver observer) {
        try {
            mPM.freeStorageAndNotify(idealStorageSize, observer);
            mPM.freeStorageAndNotify(volumeUuid, idealStorageSize, observer);
        } catch (RemoteException e) {
            // Should never happen!
        }
    }

    @Override
    public void freeStorage(long freeStorageSize, IntentSender pi) {
    public void freeStorage(String volumeUuid, long freeStorageSize, IntentSender pi) {
        try {
            mPM.freeStorage(freeStorageSize, pi);
            mPM.freeStorage(volumeUuid, freeStorageSize, pi);
        } catch (RemoteException e) {
            // Should never happen!
        }
+2 −2
Original line number Diff line number Diff line
@@ -328,7 +328,7 @@ interface IPackageManager {
     * @param observer call back used to notify when
     * the operation is completed
     */
     void freeStorageAndNotify(in long freeStorageSize,
     void freeStorageAndNotify(in String volumeUuid, in long freeStorageSize,
             IPackageDataObserver observer);

    /**
@@ -352,7 +352,7 @@ interface IPackageManager {
     * notify when the operation is completed.May be null
     * to indicate that no call back is desired.
     */
     void freeStorage(in long freeStorageSize,
     void freeStorage(in String volumeUuid, in long freeStorageSize,
             in IntentSender pi);
     
    /**
+13 −2
Original line number Diff line number Diff line
@@ -3798,7 +3798,13 @@ public abstract class PackageManager {
     * @hide
     */
    // @SystemApi
    public abstract void freeStorageAndNotify(long freeStorageSize, IPackageDataObserver observer);
    public void freeStorageAndNotify(long freeStorageSize, IPackageDataObserver observer) {
        freeStorageAndNotify(null, freeStorageSize, observer);
    }

    /** {@hide} */
    public abstract void freeStorageAndNotify(String volumeUuid, long freeStorageSize,
            IPackageDataObserver observer);

    /**
     * Free storage by deleting LRU sorted list of cache files across
@@ -3823,7 +3829,12 @@ public abstract class PackageManager {
     *
     * @hide
     */
    public abstract void freeStorage(long freeStorageSize, IntentSender pi);
    public void freeStorage(long freeStorageSize, IntentSender pi) {
        freeStorage(null, freeStorageSize, pi);
    }

    /** {@hide} */
    public abstract void freeStorage(String volumeUuid, long freeStorageSize, IntentSender pi);

    /**
     * Retrieve the size information for a package.
+2 −2
Original line number Diff line number Diff line
@@ -490,7 +490,7 @@ public class AppCacheTest extends AndroidTestCase {
            PackageDataObserver observer = new PackageDataObserver();
            //wait on observer
            synchronized(observer) {
                getPm().freeStorageAndNotify(idealStorageSize, observer);
                getPm().freeStorageAndNotify(null, idealStorageSize, observer);
                long waitTime = 0;
                while(!observer.isDone() || (waitTime > MAX_WAIT_TIME)) {
                    observer.wait(WAIT_TIME_INCR);
@@ -515,7 +515,7 @@ public class AppCacheTest extends AndroidTestCase {
        try {
            // Spin lock waiting for call back
            synchronized(r) {
                getPm().freeStorage(idealStorageSize, pi.getIntentSender());
                getPm().freeStorage(null, idealStorageSize, pi.getIntentSender());
                long waitTime = 0;
                while(!r.isDone() && (waitTime < MAX_WAIT_TIME)) {
                    r.wait(WAIT_TIME_INCR);
Loading