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

Commit 5e874bb4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Do not use BIND_RESTRICT_ASSOCIATIONS when binding...

Merge "Do not use BIND_RESTRICT_ASSOCIATIONS when binding TextClassifierService" into rvc-dev am: 47300548 am: 8defa973

Change-Id: I95e2450f3073b237244ced59f3dea827272b7017
parents e10e3ff2 8defa973
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -772,6 +772,8 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        @NonNull
        final TextClassifierServiceConnection mConnection;
        final boolean mIsTrusted;
        @Context.BindServiceFlags
        final int mBindServiceFlags;
        @NonNull
        @GuardedBy("mLock")
        final Queue<PendingRequest> mPendingRequests = new ArrayDeque<>();
@@ -786,11 +788,22 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        @GuardedBy("mLock")
        int mBoundServiceUid = Process.INVALID_UID;

        private ServiceState(@UserIdInt int userId, String packageName, boolean isTrusted) {
        private ServiceState(
                @UserIdInt int userId, @NonNull String packageName, boolean isTrusted) {
            mUserId = userId;
            mPackageName = packageName;
            mConnection = new TextClassifierServiceConnection(mUserId);
            mIsTrusted = isTrusted;
            mBindServiceFlags = createBindServiceFlags(packageName);
        }

        @Context.BindServiceFlags
        private int createBindServiceFlags(@NonNull String packageName) {
            int flags = Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE;
            if (!packageName.equals(mDefaultTextClassifierPackage)) {
                flags |= Context.BIND_RESTRICT_ASSOCIATIONS;
            }
            return flags;
        }

        @GuardedBy("mLock")
@@ -858,10 +871,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi
                        .setComponent(componentName);
                Slog.d(LOG_TAG, "Binding to " + serviceIntent.getComponent());
                willBind = mContext.bindServiceAsUser(
                        serviceIntent, mConnection,
                        Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE
                                | Context.BIND_RESTRICT_ASSOCIATIONS,
                        UserHandle.of(mUserId));
                        serviceIntent, mConnection, mBindServiceFlags, UserHandle.of(mUserId));
                mBinding = willBind;
            } finally {
                Binder.restoreCallingIdentity(identity);
@@ -884,6 +894,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi
                pw.printPair("packageName", mPackageName);
                pw.printPair("boundComponentName", mBoundComponentName);
                pw.printPair("isTrusted", mIsTrusted);
                pw.printPair("bindServiceFlags", mBindServiceFlags);
                pw.printPair("boundServiceUid", mBoundServiceUid);
                pw.printPair("binding", mBinding);
                pw.printPair("numberRequests", mPendingRequests.size());