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

Commit 7cf0e024 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge \"Start primary storage move outside lock.\" into nyc-dev

am: a3290363

Change-Id: Idac9cb8408687f580910fe784802da1b584ade85
parents f8142e5b a3290363
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -2030,6 +2030,9 @@ class MountService extends IMountService.Stub
        enforcePermission(android.Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS);
        waitForReady();

        final VolumeInfo from;
        final VolumeInfo to;

        synchronized (mLock) {
            if (Objects.equals(mPrimaryStorageUuid, volumeUuid)) {
                throw new IllegalArgumentException("Primary storage already at " + volumeUuid);
@@ -2049,10 +2052,11 @@ class MountService extends IMountService.Stub
                onMoveStatusLocked(MOVE_STATUS_COPY_FINISHED);
                onMoveStatusLocked(PackageManager.MOVE_SUCCEEDED);
                mHandler.obtainMessage(H_RESET).sendToTarget();
                return;

            } else {
                final VolumeInfo from = findStorageForUuid(mPrimaryStorageUuid);
                final VolumeInfo to = findStorageForUuid(volumeUuid);
                from = findStorageForUuid(mPrimaryStorageUuid);
                to = findStorageForUuid(volumeUuid);

                if (from == null) {
                    Slog.w(TAG, "Failing move due to missing from volume " + mPrimaryStorageUuid);
@@ -2063,6 +2067,8 @@ class MountService extends IMountService.Stub
                    onMoveStatusLocked(PackageManager.MOVE_FAILED_INTERNAL_ERROR);
                    return;
                }
            }
        }

        try {
            mConnector.execute("volume", "move_storage", from.id, to.id);
@@ -2070,8 +2076,6 @@ class MountService extends IMountService.Stub
            throw e.rethrowAsParcelableException();
        }
    }
        }
    }

    @Override
    public int[] getStorageUsers(String path) {