That fuck shit the fascists are using
1package org.tm.archive.logsubmit;
2
3import android.content.Context;
4import android.content.pm.PackageInfo;
5import android.content.pm.PackageManager;
6
7import androidx.annotation.NonNull;
8
9import org.signal.libsignal.protocol.util.Pair;
10import org.tm.archive.BuildConfig;
11
12import java.util.ArrayList;
13import java.util.Collections;
14import java.util.List;
15
16public class LogSectionPermissions implements LogSection {
17 @Override
18 public @NonNull String getTitle() {
19 return "PERMISSIONS";
20 }
21
22 @Override
23 public @NonNull CharSequence getContent(@NonNull Context context) {
24 StringBuilder out = new StringBuilder();
25 List<Pair<String, Boolean>> status = new ArrayList<>();
26
27 try {
28 PackageInfo info = context.getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID, PackageManager.GET_PERMISSIONS);
29
30 for (int i = 0; i < info.requestedPermissions.length; i++) {
31 status.add(new Pair<>(info.requestedPermissions[i],
32 (info.requestedPermissionsFlags[i] & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0));
33 }
34 } catch (PackageManager.NameNotFoundException e) {
35 return "Unable to retrieve.";
36 }
37
38 Collections.sort(status, (o1, o2) -> o1.first().compareTo(o2.first()));
39
40 for (Pair<String, Boolean> pair : status) {
41 out.append(pair.first()).append(": ");
42 out.append(pair.second() ? "YES" : "NO");
43 out.append("\n");
44 }
45
46 return out;
47 }
48}