From 01b645072c6a8f18bf0ba677226f5f235280c25d Mon Sep 17 00:00:00 2001 From: Daichi Hirono Date: Fri, 15 Dec 2017 09:49:18 +0900 Subject: Use LocalService to access UserManagerServcie from DragState. It allows us to replace UserManagerServcie with a mock when writing tests for DragState. Bug: 70601660 Test: com.android.server.wm.DragDropControllerTests, android.server.wm.CrossAppDragAndDropTests, manually check the drag and drop behavior on test app. Change-Id: I2db9cbe1e1b3542ecd7d60b26fc0e7b322041eb4 --- services/core/java/com/android/server/wm/DragState.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/services/core/java/com/android/server/wm/DragState.java b/services/core/java/com/android/server/wm/DragState.java index b9f437af20e4..f0fffb95d03c 100644 --- a/services/core/java/com/android/server/wm/DragState.java +++ b/services/core/java/com/android/server/wm/DragState.java @@ -42,6 +42,7 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserManager; import android.os.IUserManager; +import android.os.UserManagerInternal; import android.util.Slog; import android.view.Display; import android.view.DragEvent; @@ -55,6 +56,7 @@ import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; import com.android.internal.view.IDragAndDropPermissions; +import com.android.server.LocalServices; import com.android.server.input.InputApplicationHandle; import com.android.server.input.InputWindowHandle; @@ -318,15 +320,9 @@ class DragState { mSourceUserId = UserHandle.getUserId(mUid); - final IUserManager userManager = - (IUserManager) ServiceManager.getService(Context.USER_SERVICE); - try { - mCrossProfileCopyAllowed = !userManager.getUserRestrictions(mSourceUserId).getBoolean( - UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE); - } catch (RemoteException e) { - Slog.e(TAG_WM, "Remote Exception calling UserManager: " + e); - mCrossProfileCopyAllowed = false; - } + final UserManagerInternal userManager = LocalServices.getService(UserManagerInternal.class); + mCrossProfileCopyAllowed = !userManager.getUserRestriction( + mSourceUserId, UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE); if (DEBUG_DRAG) { Slog.d(TAG_WM, "broadcasting DRAG_STARTED at (" + touchX + ", " + touchY + ")"); -- cgit v1.2.3-59-g8ed1b