summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daichi Hirono <hirono@google.com> 2017-12-15 09:49:18 +0900
committer Daichi Hirono <hirono@google.com> 2018-01-09 13:37:37 +0900
commit01b645072c6a8f18bf0ba677226f5f235280c25d (patch)
treee9240cd32d8baddf4fef3d2fe490fe5c80595893
parent0be794a14c212d53b702844f500003ffd85e5ade (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.java14
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 + ")");