diff options
| author | Eugene Susla <eugenesusla@google.com> | 2019-06-10 09:45:56 -0700 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2019-06-10 09:45:56 -0700 |
| commit | 3d5b18aab166805db95bbd139834cd6c4c77900a (patch) | |
| tree | bf9c303536dfe35fe39f23a703188d9451a83d91 /core/java/android | |
| parent | e214c2e1df2556f3ec8f0307538a899ebf2c3f50 (diff) | |
| parent | 3baa0b34e3f3fad923715ef77d389f8b003ea53d (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.java | 8 |
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(); |
