summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2019-06-10 09:46:53 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-06-10 09:46:53 -0700
commit155cb7c2475df4839e7acdc0ad53a2610907e56b (patch)
treebad269b4770c09758c6f466083028d891e45d408 /core/java/android
parent8b19acac9014259c828de8865bff5f6065f2cab4 (diff)
parent3baa0b34e3f3fad923715ef77d389f8b003ea53d (diff)
Merge "Add timeout for setPermissionGrantState" into qt-dev
am: 3baa0b34e3 Change-Id: Ib1a295ed4de405ce8fc30d53a4334ef1ed2005e6
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();