From d56c6bdfa91fa06bcfbb669e3c3acac61712f7ba Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Thu, 25 Apr 2019 16:09:03 -0700 Subject: [PATCH] Don't use Context#getApplicationContext as this might be null. In PermissionControllerManager we need a context that outlives the passed in context as we bind to a service that will only get destroyed after a delay. Test: atest PermissionControllerTest Bug: 131356152 Change-Id: Iabeac669f6464b84a4b9e8f9b2a27959b116c25b --- core/java/android/permission/PermissionControllerManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/android/permission/PermissionControllerManager.java b/core/java/android/permission/PermissionControllerManager.java index be8973751bf8d..6e83e5a1f8b68 100644 --- a/core/java/android/permission/PermissionControllerManager.java +++ b/core/java/android/permission/PermissionControllerManager.java @@ -39,6 +39,7 @@ import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.app.ActivityThread; import android.app.admin.DevicePolicyManager.PermissionGrantState; import android.content.ComponentName; import android.content.Context; @@ -232,7 +233,7 @@ public final class PermissionControllerManager { intent.setPackage(context.getPackageManager().getPermissionControllerPackageName()); ResolveInfo serviceInfo = context.getPackageManager().resolveService(intent, 0); - remoteService = new RemoteService(context.getApplicationContext(), + remoteService = new RemoteService(ActivityThread.currentApplication(), serviceInfo.getComponentInfo().getComponentName(), handler, context.getUser()); sRemoteServices.put(key, remoteService);