diff options
| author | 2017-12-15 09:49:18 +0900 | |
|---|---|---|
| committer | 2018-01-09 13:37:37 +0900 | |
| commit | 01b645072c6a8f18bf0ba677226f5f235280c25d (patch) | |
| tree | e9240cd32d8baddf4fef3d2fe490fe5c80595893 | |
| parent | 0be794a14c212d53b702844f500003ffd85e5ade (diff) | |
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
| -rw-r--r-- | services/core/java/com/android/server/wm/DragState.java | 14 |
1 files 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 + ")"); |