diff options
| -rw-r--r-- | services/core/java/com/android/server/MountService.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 9c75a009d7af..55464e4cb7c8 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -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,14 +2067,14 @@ class MountService extends IMountService.Stub onMoveStatusLocked(PackageManager.MOVE_FAILED_INTERNAL_ERROR); return; } - - try { - mConnector.execute("volume", "move_storage", from.id, to.id); - } catch (NativeDaemonConnectorException e) { - throw e.rethrowAsParcelableException(); - } } } + + try { + mConnector.execute("volume", "move_storage", from.id, to.id); + } catch (NativeDaemonConnectorException e) { + throw e.rethrowAsParcelableException(); + } } @Override |