That fuck shit the fascists are using
at master 48 lines 1.5 kB view raw
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}