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

Commit 4f30490d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Call timeout callbacks on executor too"

parents 723e868e 1117ca31
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -363,6 +363,7 @@ public final class PermissionControllerManager {
        private final boolean mDoDryRun;
        private final boolean mDoDryRun;
        private final int mReason;
        private final int mReason;
        private final @NonNull String mCallingPackage;
        private final @NonNull String mCallingPackage;
        private final @NonNull Executor mExecutor;
        private final @NonNull OnRevokeRuntimePermissionsCallback mCallback;
        private final @NonNull OnRevokeRuntimePermissionsCallback mCallback;


        private final @NonNull RemoteCallback mRemoteCallback;
        private final @NonNull RemoteCallback mRemoteCallback;
@@ -378,6 +379,7 @@ public final class PermissionControllerManager {
            mDoDryRun = doDryRun;
            mDoDryRun = doDryRun;
            mReason = reason;
            mReason = reason;
            mCallingPackage = callingPackage;
            mCallingPackage = callingPackage;
            mExecutor = executor;
            mCallback = callback;
            mCallback = callback;


            mRemoteCallback = new RemoteCallback(result -> executor.execute(() -> {
            mRemoteCallback = new RemoteCallback(result -> executor.execute(() -> {
@@ -412,7 +414,13 @@ public final class PermissionControllerManager {


        @Override
        @Override
        protected void onTimeout(RemoteService remoteService) {
        protected void onTimeout(RemoteService remoteService) {
            mCallback.onRevokeRuntimePermissions(Collections.emptyMap());
            long token = Binder.clearCallingIdentity();
            try {
                mExecutor.execute(
                        () -> mCallback.onRevokeRuntimePermissions(Collections.emptyMap()));
            } finally {
                Binder.restoreCallingIdentity(token);
            }
        }
        }


        @Override
        @Override