Loading services/core/java/com/android/server/clipboard/ClipboardService.java +12 −10 Original line number Diff line number Diff line Loading @@ -234,7 +234,6 @@ public class ClipboardService extends SystemService { private final AppOpsManager mAppOps; private final ContentCaptureManagerInternal mContentCaptureInternal; private final AutofillManagerInternal mAutofillInternal; private final TextClassificationManager mTextClassificationManager; private final IBinder mPermissionOwner; private final HostClipboardMonitor mHostClipboardMonitor; private final Handler mWorkerHandler; Loading Loading @@ -265,8 +264,6 @@ public class ClipboardService extends SystemService { mAppOps = (AppOpsManager) getContext().getSystemService(Context.APP_OPS_SERVICE); mContentCaptureInternal = LocalServices.getService(ContentCaptureManagerInternal.class); mAutofillInternal = LocalServices.getService(AutofillManagerInternal.class); mTextClassificationManager = (TextClassificationManager) getContext().getSystemService(Context.TEXT_CLASSIFICATION_SERVICE); final IBinder permOwner = mUgmInternal.newUriPermissionOwner("clipboard"); mPermissionOwner = permOwner; if (IS_EMULATOR) { Loading Loading @@ -659,12 +656,12 @@ public class ClipboardService extends SystemService { } } final int userId = UserHandle.getUserId(uid); if (clip != null) { startClassificationLocked(clip); startClassificationLocked(clip, userId); } // Update this user final int userId = UserHandle.getUserId(uid); setPrimaryClipInternalLocked(getClipboardLocked(userId), clip, uid, sourcePackage); // Update related users Loading Loading @@ -763,11 +760,12 @@ public class ClipboardService extends SystemService { } @GuardedBy("mLock") private void startClassificationLocked(@NonNull ClipData clip) { private void startClassificationLocked(@NonNull ClipData clip, @UserIdInt int userId) { TextClassifier classifier; final long ident = Binder.clearCallingIdentity(); try { classifier = mTextClassificationManager.createTextClassificationSession( classifier = createTextClassificationManagerAsUser(userId) .createTextClassificationSession( new TextClassificationContext.Builder( getContext().getPackageName(), TextClassifier.WIDGET_TYPE_CLIPBOARD Loading Loading @@ -1125,4 +1123,8 @@ public class ClipboardService extends SystemService { && item.getIntent() == null; } private TextClassificationManager createTextClassificationManagerAsUser(@UserIdInt int userId) { Context context = getContext().createContextAsUser(UserHandle.of(userId), /* flags= */ 0); return context.getSystemService(TextClassificationManager.class); } } Loading
services/core/java/com/android/server/clipboard/ClipboardService.java +12 −10 Original line number Diff line number Diff line Loading @@ -234,7 +234,6 @@ public class ClipboardService extends SystemService { private final AppOpsManager mAppOps; private final ContentCaptureManagerInternal mContentCaptureInternal; private final AutofillManagerInternal mAutofillInternal; private final TextClassificationManager mTextClassificationManager; private final IBinder mPermissionOwner; private final HostClipboardMonitor mHostClipboardMonitor; private final Handler mWorkerHandler; Loading Loading @@ -265,8 +264,6 @@ public class ClipboardService extends SystemService { mAppOps = (AppOpsManager) getContext().getSystemService(Context.APP_OPS_SERVICE); mContentCaptureInternal = LocalServices.getService(ContentCaptureManagerInternal.class); mAutofillInternal = LocalServices.getService(AutofillManagerInternal.class); mTextClassificationManager = (TextClassificationManager) getContext().getSystemService(Context.TEXT_CLASSIFICATION_SERVICE); final IBinder permOwner = mUgmInternal.newUriPermissionOwner("clipboard"); mPermissionOwner = permOwner; if (IS_EMULATOR) { Loading Loading @@ -659,12 +656,12 @@ public class ClipboardService extends SystemService { } } final int userId = UserHandle.getUserId(uid); if (clip != null) { startClassificationLocked(clip); startClassificationLocked(clip, userId); } // Update this user final int userId = UserHandle.getUserId(uid); setPrimaryClipInternalLocked(getClipboardLocked(userId), clip, uid, sourcePackage); // Update related users Loading Loading @@ -763,11 +760,12 @@ public class ClipboardService extends SystemService { } @GuardedBy("mLock") private void startClassificationLocked(@NonNull ClipData clip) { private void startClassificationLocked(@NonNull ClipData clip, @UserIdInt int userId) { TextClassifier classifier; final long ident = Binder.clearCallingIdentity(); try { classifier = mTextClassificationManager.createTextClassificationSession( classifier = createTextClassificationManagerAsUser(userId) .createTextClassificationSession( new TextClassificationContext.Builder( getContext().getPackageName(), TextClassifier.WIDGET_TYPE_CLIPBOARD Loading Loading @@ -1125,4 +1123,8 @@ public class ClipboardService extends SystemService { && item.getIntent() == null; } private TextClassificationManager createTextClassificationManagerAsUser(@UserIdInt int userId) { Context context = getContext().createContextAsUser(UserHandle.of(userId), /* flags= */ 0); return context.getSystemService(TextClassificationManager.class); } }