Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01b64507 authored by Daichi Hirono's avatar Daichi Hirono
Browse files

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
parent 0be794a1
Loading
Loading
Loading
Loading
+5 −9
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@ import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.UserManager;
import android.os.IUserManager;
import android.os.IUserManager;
import android.os.UserManagerInternal;
import android.util.Slog;
import android.util.Slog;
import android.view.Display;
import android.view.Display;
import android.view.DragEvent;
import android.view.DragEvent;
@@ -55,6 +56,7 @@ import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.animation.Interpolator;


import com.android.internal.view.IDragAndDropPermissions;
import com.android.internal.view.IDragAndDropPermissions;
import com.android.server.LocalServices;
import com.android.server.input.InputApplicationHandle;
import com.android.server.input.InputApplicationHandle;
import com.android.server.input.InputWindowHandle;
import com.android.server.input.InputWindowHandle;


@@ -318,15 +320,9 @@ class DragState {


        mSourceUserId = UserHandle.getUserId(mUid);
        mSourceUserId = UserHandle.getUserId(mUid);


        final IUserManager userManager =
        final UserManagerInternal userManager = LocalServices.getService(UserManagerInternal.class);
                (IUserManager) ServiceManager.getService(Context.USER_SERVICE);
        mCrossProfileCopyAllowed = !userManager.getUserRestriction(
        try {
                mSourceUserId, UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE);
            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;
        }


        if (DEBUG_DRAG) {
        if (DEBUG_DRAG) {
            Slog.d(TAG_WM, "broadcasting DRAG_STARTED at (" + touchX + ", " + touchY + ")");
            Slog.d(TAG_WM, "broadcasting DRAG_STARTED at (" + touchX + ", " + touchY + ")");