From eb9f9554b637ef73ccd249d7957d6edf92a3159c Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 7 Mar 2022 13:18:08 +0100 Subject: [PATCH] Debug info: system permission list --- app/src/main/java/eu/faircode/email/Log.java | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/Log.java b/app/src/main/java/eu/faircode/email/Log.java index d79b394f2f..ffa17ba0c4 100644 --- a/app/src/main/java/eu/faircode/email/Log.java +++ b/app/src/main/java/eu/faircode/email/Log.java @@ -35,6 +35,8 @@ import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.content.pm.PermissionGroupInfo; +import android.content.pm.PermissionInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.database.sqlite.SQLiteFullException; @@ -2634,6 +2636,27 @@ public class Log { } catch (Throwable ex) { size += write(os, String.format("%s\r\n", ex)); } + + try { + PackageManager pm = context.getPackageManager(); + List groups = pm.getAllPermissionGroups(0); + groups.add(0, null); // Ungrouped + + for (PermissionGroupInfo group : groups) { + String name = (group == null ? null : group.name); + size += write(os, String.format("\r\n%s\r\n", name == null ? "Ungrouped" : name)); + size += write(os, "----------------------------------------\r\n"); + + try { + for (PermissionInfo permission : pm.queryPermissionsByGroup(name, 0)) + size += write(os, String.format("%s\r\n", permission.name)); + } catch (Throwable ex) { + size += write(os, String.format("%s\r\n", ex)); + } + } + } catch (Throwable ex) { + size += write(os, String.format("%s\r\n", ex)); + } } db.attachment().setDownloaded(attachment.id, size);