package org.shikato.infodumper.dump;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import com.facebook.stetho.dumpapp.DumpException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
public class PermissionDumper implements InfoDumper {
@Override
public String getTitle() {
return "REQUESTED PERMISSIONS";
}
@Override
public LinkedHashMap<String, String> getDumpMap(Context context) throws DumpException {
return null;
}
@Override
public List<String> getDumpList(Context context) throws DumpException {
PackageManager packageManager = context.getPackageManager();
try {
PackageInfo packageInfo =
packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
if (packageInfo == null || packageInfo.requestedPermissions == null) {
return null;
}
List<String> dumps = new ArrayList<>();
for (String permission : packageInfo.requestedPermissions) {
dumps.add(permission);
}
return dumps;
} catch (PackageManager.NameNotFoundException e) {
throw new DumpException(e.getMessage());
}
}
@Override
public String getErrorMessage() {
return "No requested permission.";
}
}