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

Commit 544afd44 authored by Eugene Susla's avatar Eugene Susla Committed by android-build-merger
Browse files

Merge "Add timeout for setPermissionGrantState" into qt-dev am: 3baa0b34

am: 155cb7c2

Change-Id: Iae59a733fb0be8ed10327a7e51d1da824b51ff2f
parents d8ca3206 155cb7c2
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.app.admin;

import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;

import android.Manifest.permission;
import android.annotation.CallbackExecutor;
import android.annotation.ColorInt;
@@ -88,6 +90,7 @@ import android.util.Log;

import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.Preconditions;
import com.android.org.conscrypt.TrustedCertificateStore;

@@ -8810,6 +8813,11 @@ public class DevicePolicyManager {
            mService.setPermissionGrantState(admin, mContext.getPackageName(), packageName,
                    permission, grantState, new RemoteCallback((b) -> result.complete(b != null)));

            // Timeout
            BackgroundThread.getHandler().sendMessageDelayed(
                    obtainMessage(CompletableFuture::complete, result, false),
                    20_000);

            return result.get();
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();