From f437e35728510b8e2f99bb12d90ce6458c6933c2 Mon Sep 17 00:00:00 2001 From: Anh Pham Date: Mon, 8 Feb 2021 13:36:02 +0100 Subject: [PATCH] Add support for retrieving the Debuggable flag. Adds support for retrieving the debuggable flag through the IPackageManagerNative interface. Bug: 136069189 Test: Builds, verified applications debuggable flag is returned properly Change-Id: I3c9de1e3c9de69f930508be1866c2a24e1811ceb --- .../com/android/server/pm/PackageManagerService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 7b9cf734fd30a..214fd4400ac1e 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -193,7 +193,6 @@ import android.content.pm.InstrumentationInfo; import android.content.pm.IntentFilterVerificationInfo; import android.content.pm.KeySet; import android.content.pm.ModuleInfo; -import android.content.pm.overlay.OverlayPaths; import android.content.pm.PackageChangeEvent; import android.content.pm.PackageInfo; import android.content.pm.PackageInfoLite; @@ -25916,6 +25915,17 @@ public class PackageManagerService extends IPackageManager.Stub throw new RemoteException("Couldn't get targetSdkVersion for package " + packageName); } + @Override + public boolean isPackageDebuggable(String packageName) throws RemoteException { + int callingUser = UserHandle.getCallingUserId(); + ApplicationInfo appInfo = getApplicationInfo(packageName, 0, callingUser); + if (appInfo != null) { + return (0 != (appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)); + } + + throw new RemoteException("Couldn't get debug flag for package " + packageName); + } + @Override public boolean[] isAudioPlaybackCaptureAllowed(String[] packageNames) throws RemoteException {