[MS28.2] Add checkDumpPermission
Test: atest FrameworksNetTests NetworkStaticLibTests
Bug: 204830222
Change-Id: I105c45d89628b47a989e2113c26e1ea3351c559a
diff --git a/staticlibs/framework/com/android/net/module/util/PermissionUtils.java b/staticlibs/framework/com/android/net/module/util/PermissionUtils.java
index 10eda57..3ab2070 100644
--- a/staticlibs/framework/com/android/net/module/util/PermissionUtils.java
+++ b/staticlibs/framework/com/android/net/module/util/PermissionUtils.java
@@ -22,7 +22,9 @@
import android.annotation.NonNull;
import android.content.Context;
+import android.os.Binder;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
@@ -80,4 +82,19 @@
permissions.add(PERMISSION_MAINLINE_NETWORK_STACK);
enforceAnyPermissionOf(context, permissions.toArray(new String[0]));
}
+
+ /**
+ * Return true if the context has DUMP permission.
+ */
+ public static boolean checkDumpPermission(Context context, String tag, PrintWriter pw) {
+ if (context.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
+ != PERMISSION_GRANTED) {
+ pw.println("Permission Denial: can't dump " + tag + " from from pid="
+ + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+ + " due to missing android.permission.DUMP permission");
+ return false;
+ } else {
+ return true;
+ }
+ }
}