summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2019-06-10 09:45:56 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-06-10 09:45:56 -0700
commit3d5b18aab166805db95bbd139834cd6c4c77900a (patch)
treebf9c303536dfe35fe39f23a703188d9451a83d91 /core/java/android
parente214c2e1df2556f3ec8f0307538a899ebf2c3f50 (diff)
parent3baa0b34e3f3fad923715ef77d389f8b003ea53d (diff)
Merge "Add timeout for setPermissionGrantState" into qt-dev
am: 3baa0b34e3 Change-Id: I1a342c7f85a75d6a66296455fabad769a133a89b
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 507e97e3df05..d082f33cdefe 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -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();