diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 7253870d2f126..25ce4856be1fe 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -177,6 +177,11 @@ class MountService extends IMountService.Stub } } + @Override + public void onSwitchUser(int userHandle) { + mMountService.mCurrentUserId = userHandle; + } + @Override public void onUnlockUser(int userHandle) { mMountService.onUnlockUser(userHandle); @@ -320,6 +325,8 @@ class MountService extends IMountService.Stub @GuardedBy("mLock") private String mMoveTargetUuid; + private volatile int mCurrentUserId = UserHandle.USER_SYSTEM; + private VolumeInfo findVolumeByIdOrThrow(String id) { synchronized (mLock) { final VolumeInfo vol = mVolumes.get(id); @@ -1285,7 +1292,7 @@ class MountService extends IMountService.Stub vol.mountFlags |= VolumeInfo.MOUNT_FLAG_VISIBLE; } - vol.mountUserId = ActivityManager.getCurrentUser(); + vol.mountUserId = mCurrentUserId; mHandler.obtainMessage(H_VOLUME_MOUNT, vol).sendToTarget(); } else if (vol.type == VolumeInfo.TYPE_PRIVATE) {