Java 类android.content.pm.PermissionGroupInfo 实例源码
项目:letv
文件:IApkManagerImpl.java
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException {
waitForReadyInner();
try {
enforcePluginFileExists();
if (shouldNotBlockOtherInfo()) {
for (PluginPackageParser pluginPackageParser : this.mPluginCache.values()) {
for (PermissionGroupInfo permissionGroupInfo : pluginPackageParser.getPermissionGroups()) {
if (TextUtils.equals(permissionGroupInfo.name, name)) {
return permissionGroupInfo;
}
}
}
}
List<String> pkgs = this.mActivityManagerService.getPackageNamesByPid(Binder.getCallingPid());
for (PluginPackageParser pluginPackageParser2 : this.mPluginCache.values()) {
for (PermissionGroupInfo permissionGroupInfo2 : pluginPackageParser2.getPermissionGroups()) {
if (TextUtils.equals(permissionGroupInfo2.name, name) && pkgs.contains(permissionGroupInfo2.packageName)) {
return permissionGroupInfo2;
}
}
}
} catch (Exception e) {
handleException(e);
}
return null;
}
项目:DroidPlugin
文件:IPackageManagerHookHandle.java
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException;*/
if (args != null) {
final int index0 = 0, index1 = 1;
if (args.length > 1 && args[index0] instanceof String && args[index1] instanceof Integer) {
String name = (String) args[index0];
int flags = (Integer) args[index1];
PermissionGroupInfo permissionInfo = PluginManager.getInstance().getPermissionGroupInfo(name, flags);
if (permissionInfo != null) {
setFakedResult(permissionInfo);
return true;
}
}
}
return super.beforeInvoke(receiver, method, args);
}
项目:DroidPlugin
文件:IPackageManagerHookHandle.java
@Override
protected void afterInvoke(Object receiver, Method method, Object[] args, Object invokeResult) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/* public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException;*/
if (args != null && invokeResult instanceof List) {
final int index = 0;
if (args.length > index && args[index] instanceof Integer) {
int flags = (Integer) args[index];
List<PermissionGroupInfo> infos = PluginManager.getInstance().getAllPermissionGroups(flags);
if (infos != null && infos.size() > 0) {
List old = (List) invokeResult;
old.addAll(infos);
}
}
}
super.afterInvoke(receiver, method, args, invokeResult);
}
项目:DroidPluginLibrary
文件:IPackageManagerHookHandle.java
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException;*/
if (args != null) {
final int index0 = 0, index1 = 1;
if (args.length > 1 && args[index0] instanceof String && args[index1] instanceof Integer) {
String name = (String) args[index0];
int flags = (Integer) args[index1];
PermissionGroupInfo permissionInfo = PluginManager.getInstance().getPermissionGroupInfo(name, flags);
if (permissionInfo != null) {
setFakedResult(permissionInfo);
return true;
}
}
}
return super.beforeInvoke(receiver, method, args);
}
项目:DroidPluginLibrary
文件:IPackageManagerHookHandle.java
@Override
protected void afterInvoke(Object receiver, Method method, Object[] args, Object invokeResult) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/* public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException;*/
if (args != null && invokeResult instanceof List) {
final int index = 0;
if (args.length > index && args[index] instanceof Integer) {
int flags = (Integer) args[index];
List<PermissionGroupInfo> infos = PluginManager.getInstance().getAllPermissionGroups(flags);
if (infos != null && infos.size() > 0) {
List old = (List) invokeResult;
old.addAll(infos);
}
}
}
super.afterInvoke(receiver, method, args, invokeResult);
}
项目:pet
文件:IPackageManagerHookHandle.java
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException;*/
if (args != null) {
final int index0 = 0, index1 = 1;
if (args.length > 1 && args[index0] instanceof String && args[index1] instanceof Integer) {
String name = (String) args[index0];
int flags = (Integer) args[index1];
PermissionGroupInfo permissionInfo = PluginManager.getInstance().getPermissionGroupInfo(name, flags);
if (permissionInfo != null) {
setFakedResult(permissionInfo);
return true;
}
}
}
return super.beforeInvoke(receiver, method, args);
}
项目:pet
文件:IPackageManagerHookHandle.java
@Override
protected void afterInvoke(Object receiver, Method method, Object[] args, Object invokeResult) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/* public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException;*/
if (args != null && invokeResult instanceof List) {
final int index = 0;
if (args.length > index && args[index] instanceof Integer) {
int flags = (Integer) args[index];
List<PermissionGroupInfo> infos = PluginManager.getInstance().getAllPermissionGroups(flags);
if (infos != null && infos.size() > 0) {
List old = (List) invokeResult;
old.addAll(infos);
}
}
}
super.afterInvoke(receiver, method, args, invokeResult);
}
项目:DynamicAppLoader
文件:IPackageManagerHookHandle.java
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException;*/
if (args != null) {
final int index0 = 0, index1 = 1;
if (args.length > 1 && args[index0] instanceof String && args[index1] instanceof Integer) {
String name = (String) args[index0];
int flags = (Integer) args[index1];
PermissionGroupInfo permissionInfo = PluginManager.getInstance().getPermissionGroupInfo(name, flags);
if (permissionInfo != null) {
setFakedResult(permissionInfo);
return true;
}
}
}
return super.beforeInvoke(receiver, method, args);
}
项目:DynamicAppLoader
文件:IPackageManagerHookHandle.java
@Override
protected void afterInvoke(Object receiver, Method method, Object[] args, Object invokeResult) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/* public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException;*/
if (args != null && invokeResult instanceof List) {
final int index = 0;
if (args.length > index && args[index] instanceof Integer) {
int flags = (Integer) args[index];
List<PermissionGroupInfo> infos = PluginManager.getInstance().getAllPermissionGroups(flags);
if (infos != null && infos.size() > 0) {
List old = (List) invokeResult;
old.addAll(infos);
}
}
}
super.afterInvoke(receiver, method, args, invokeResult);
}
项目:android_external_MicroGUiTools
文件:PermissionCheckGroup.java
private void doPermissionCheck(Context context, ResultCollector collector, final String permission) {
PackageManager pm = context.getPackageManager();
try {
PermissionInfo info = pm.getPermissionInfo(permission, 0);
PermissionGroupInfo groupInfo = info.group != null ? pm.getPermissionGroupInfo(info.group, 0) : null;
CharSequence permLabel = info.loadLabel(pm);
CharSequence groupLabel = groupInfo != null ? groupInfo.loadLabel(pm) : permLabel;
collector.addResult(context.getString(R.string.self_check_name_permission, permLabel),
context.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED ? Positive : Negative,
context.getString(R.string.self_check_resolution_permission, groupLabel),
new SelfCheckGroup.CheckResolver() {
@Override
public void tryResolve(Fragment fragment) {
fragment.requestPermissions(new String[]{permission}, 0);
}
});
} catch (PackageManager.NameNotFoundException e) {
Log.w(TAG, e);
}
}
项目:DroidPluginLibrary
文件:IPackageManagerHookHandle.java
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException;*/
if (args != null) {
final int index0 = 0, index1 = 1;
if (args.length > 1 && args[index0] instanceof String && args[index1] instanceof Integer) {
String name = (String) args[index0];
int flags = (Integer) args[index1];
PermissionGroupInfo permissionInfo = PluginManager.getInstance().getPermissionGroupInfo(name, flags);
if (permissionInfo != null) {
setFakedResult(permissionInfo);
return true;
}
}
}
return super.beforeInvoke(receiver, method, args);
}
项目:DroidPluginLibrary
文件:IPackageManagerHookHandle.java
@Override
protected void afterInvoke(Object receiver, Method method, Object[] args, Object invokeResult) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/* public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException;*/
if (args != null && invokeResult instanceof List) {
final int index = 0;
if (args.length > index && args[index] instanceof Integer) {
int flags = (Integer) args[index];
List<PermissionGroupInfo> infos = PluginManager.getInstance().getAllPermissionGroups(flags);
if (infos != null && infos.size() > 0) {
List old = (List) invokeResult;
old.addAll(infos);
}
}
}
super.afterInvoke(receiver, method, args, invokeResult);
}
项目:wheels
文件:IPackageManagerHookHandle.java
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException;*/
if (args != null) {
final int index0 = 0, index1 = 1;
if (args.length > 1 && args[index0] instanceof String && args[index1] instanceof Integer) {
String name = (String) args[index0];
int flags = (Integer) args[index1];
PermissionGroupInfo permissionInfo = PluginManager.getInstance().getPermissionGroupInfo(name, flags);
if (permissionInfo != null) {
setFakedResult(permissionInfo);
return true;
}
}
}
return super.beforeInvoke(receiver, method, args);
}
项目:wheels
文件:IPackageManagerHookHandle.java
@Override
protected void afterInvoke(Object receiver, Method method, Object[] args, Object invokeResult) throws Throwable {
//API 2.3, 4.01_r1, 4.0.3_r1, 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/* public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException;*/
if (args != null && invokeResult instanceof List) {
final int index = 0;
if (args.length > index && args[index] instanceof Integer) {
int flags = (Integer) args[index];
List<PermissionGroupInfo> infos = PluginManager.getInstance().getAllPermissionGroups(flags);
if (infos != null && infos.size() > 0) {
List old = (List) invokeResult;
old.addAll(infos);
}
}
}
super.afterInvoke(receiver, method, args, invokeResult);
}
项目:permission-explorer
文件:PermissionCatalog.java
public List<PermissionInfo> getAll() {
if (allPerms == null) {
allPerms = new ArrayList<PermissionInfo>();
List<PermissionGroupInfo> permGroups = getAllGroups();
permGroups.add(null);
for (PermissionGroupInfo pgi : permGroups) {
List<PermissionInfo> perms;
try {
perms = getByGroup(pgi == null ? null : pgi.name);
} catch (NameNotFoundException e) {
throw new AssertionError();
}
allPerms.addAll(perms);
}
Collections.sort(allPerms, PermissionComparator.getInstance());
}
return Collections.unmodifiableList(allPerms);
}
项目:letv
文件:IApkManagerImpl.java
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException {
waitForReadyInner();
try {
enforcePluginFileExists();
List<PermissionGroupInfo> list = new ArrayList();
if (shouldNotBlockOtherInfo()) {
for (PluginPackageParser pluginPackageParser : this.mPluginCache.values()) {
for (PermissionGroupInfo permissionGroupInfo : pluginPackageParser.getPermissionGroups()) {
if (!list.contains(permissionGroupInfo)) {
list.add(permissionGroupInfo);
}
}
}
return list;
}
List<String> pkgs = this.mActivityManagerService.getPackageNamesByPid(Binder.getCallingPid());
for (PluginPackageParser pluginPackageParser2 : this.mPluginCache.values()) {
for (PermissionGroupInfo permissionGroupInfo2 : pluginPackageParser2.getPermissionGroups()) {
if (!list.contains(permissionGroupInfo2) && pkgs.contains(permissionGroupInfo2.packageName)) {
list.add(permissionGroupInfo2);
}
}
}
return list;
} catch (Exception e) {
handleException(e);
return null;
}
}
项目:letv
文件:ApkManager.java
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws RemoteException {
try {
if (!(this.mApkManager == null || name == null)) {
return this.mApkManager.getPermissionGroupInfo(name, flags);
}
} catch (RemoteException e) {
JLog.log("wuxinrong", "获取PermissionGroupInfo 失败 e=" + e.getMessage());
throw e;
} catch (Exception e2) {
JLog.log("wuxinrong", "获取PermissionGroupInfo 失败 e=" + e2.getMessage());
}
return null;
}
项目:letv
文件:ApkManager.java
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) throws RemoteException {
try {
if (this.mApkManager != null) {
return this.mApkManager.getAllPermissionGroups(flags);
}
} catch (RemoteException e) {
JLog.log("wuxinrong", "获取PermissionGroupInfo列表 失败 e=" + e.getMessage());
throw e;
} catch (Exception e2) {
JLog.log("wuxinrong", "获取PermissionGroupInfo列表 失败 e=" + e2.getMessage());
}
return null;
}
项目:VirtualHook
文件:MethodProxies.java
@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
String name = (String) args[0];
int flags = (int) args[1];
PermissionGroupInfo info = VPackageManager.get().getPermissionGroupInfo(name, flags);
if (info != null) {
return info;
}
return super.call(who, method, args);
}
项目:VirtualHook
文件:VPackageManager.java
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
try {
return getInterface().getPermissionGroupInfo(name, flags);
} catch (RemoteException e) {
return VirtualRuntime.crash(e);
}
}
项目:VirtualHook
文件:VPackageManager.java
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
try {
return getInterface().getAllPermissionGroups(flags);
} catch (RemoteException e) {
return VirtualRuntime.crash(e);
}
}
项目:VirtualHook
文件:PackageParserEx.java
public static PermissionGroupInfo generatePermissionGroupInfo(
VPackage.PermissionGroupComponent pg, int flags) {
if (pg == null) return null;
if ((flags & PackageManager.GET_META_DATA) == 0) {
return pg.info;
}
PermissionGroupInfo pgi = new PermissionGroupInfo(pg.info);
pgi.metaData = pg.metaData;
return pgi;
}
项目:VirtualHook
文件:VPackageManagerService.java
@Override
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
synchronized (mPackages) {
VPackage.PermissionGroupComponent p = mPermissionGroups.get(name);
if (p != null) {
return new PermissionGroupInfo(p.info);
}
}
return null;
}
项目:VirtualHook
文件:VPackageManagerService.java
@Override
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
synchronized (mPackages) {
final int N = mPermissionGroups.size();
ArrayList<PermissionGroupInfo> out = new ArrayList<>(N);
for (VPackage.PermissionGroupComponent pg : mPermissionGroups.values()) {
out.add(new PermissionGroupInfo(pg.info));
}
return out;
}
}
项目:Brevent
文件:OpsItemAdapter.java
private PermissionGroupInfo getPermissionGroupInfo(PackageManager packageManager, String group) {
if (TextUtils.isEmpty(group)) {
return null;
}
try {
return packageManager.getPermissionGroupInfo(group, 0);
} catch (PackageManager.NameNotFoundException e) {
UILog.w("Can't find permission group " + group, e);
return null;
}
}
项目:DroidPlugin
文件:PackageParserApi15.java
@Override
public PermissionGroupInfo generatePermissionGroupInfo(
Object permissionGroup, int flags) throws Exception {
/* public static final PermissionGroupInfo generatePermissionGroupInfo(
PermissionGroup pg, int flags) */
return super.generatePermissionGroupInfo(permissionGroup, flags);
}
项目:DroidPlugin
文件:PackageParserApi16.java
@Override
public PermissionGroupInfo generatePermissionGroupInfo(
Object permissionGroup, int flags) throws Exception {
/* public static final PermissionGroupInfo generatePermissionGroupInfo(
PermissionGroup pg, int flags) */
return super.generatePermissionGroupInfo(permissionGroup, flags);
}
项目:DroidPlugin
文件:PluginPackageParser.java
public PermissionGroupInfo getPermissionGroupInfo(ComponentName className, int flags) throws Exception {
Object data;
synchronized (mPermissionGroupObjCache) {
data = mPermissionGroupObjCache.get(className);
}
if (data != null) {
return mParser.generatePermissionGroupInfo(data, flags);
}
return null;
}
项目:DroidPlugin
文件:PackageParserApi21.java
@Override
public PermissionGroupInfo generatePermissionGroupInfo(
Object permissionGroup, int flags) throws Exception {
/* public static final PermissionGroupInfo generatePermissionGroupInfo(
PermissionGroup pg, int flags)*/
Method method = MethodUtils.getAccessibleMethod(sPackageParserClass, "generatePermissionGroupInfo", sPermissionGroupClass, int.class);
return (PermissionGroupInfo) method.invoke(null, permissionGroup, flags);
}
项目:TPlayer
文件:MethodProxies.java
@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
String name = (String) args[0];
int flags = (int) args[1];
PermissionGroupInfo info = VPackageManager.get().getPermissionGroupInfo(name, flags);
if (info != null) {
return info;
}
return super.call(who, method, args);
}
项目:TPlayer
文件:VPackageManager.java
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
try {
return getInterface().getPermissionGroupInfo(name, flags);
} catch (RemoteException e) {
return VirtualRuntime.crash(e);
}
}
项目:TPlayer
文件:VPackageManager.java
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
try {
return getInterface().getAllPermissionGroups(flags);
} catch (RemoteException e) {
return VirtualRuntime.crash(e);
}
}
项目:TPlayer
文件:PackageParserEx.java
public static PermissionGroupInfo generatePermissionGroupInfo(
VPackage.PermissionGroupComponent pg, int flags) {
if (pg == null) return null;
if ((flags & PackageManager.GET_META_DATA) == 0) {
return pg.info;
}
PermissionGroupInfo pgi = new PermissionGroupInfo(pg.info);
pgi.metaData = pg.metaData;
return pgi;
}
项目:TPlayer
文件:VPackageManagerService.java
@Override
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
synchronized (mPackages) {
VPackage.PermissionGroupComponent p = mPermissionGroups.get(name);
if (p != null) {
return new PermissionGroupInfo(p.info);
}
}
return null;
}
项目:TPlayer
文件:VPackageManagerService.java
@Override
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
synchronized (mPackages) {
final int N = mPermissionGroups.size();
ArrayList<PermissionGroupInfo> out = new ArrayList<>(N);
for (VPackage.PermissionGroupComponent pg : mPermissionGroups.values()) {
out.add(new PermissionGroupInfo(pg.info));
}
return out;
}
}
项目:container
文件:GetPermissionGroupInfo.java
@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
String name = (String) args[0];
int flags = (int) args[1];
PermissionGroupInfo info = VPackageManager.get().getPermissionGroupInfo(name, flags);
if (info != null) {
return info;
}
return super.call(who, method, args);
}
项目:container
文件:VPackageManager.java
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
try {
return getInterface().getPermissionGroupInfo(name, flags);
} catch (RemoteException e) {
return VirtualRuntime.crash(e);
}
}
项目:container
文件:VPackageManager.java
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
try {
return getInterface().getAllPermissionGroups(flags);
} catch (RemoteException e) {
return VirtualRuntime.crash(e);
}
}
项目:container
文件:VPackageManagerService.java
@Override
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
synchronized (mPackages) {
PackageParser.PermissionGroup p = mPermissionGroups.get(name);
if (p != null) {
return new PermissionGroupInfo(p.info);
}
}
return null;
}
项目:container
文件:VPackageManagerService.java
@Override
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
synchronized (mPackages) {
final int N = mPermissionGroups.size();
ArrayList<PermissionGroupInfo> out = new ArrayList<>(N);
for (PackageParser.PermissionGroup pg : mPermissionGroups.values()) {
out.add(new PermissionGroupInfo(pg.info));
}
return out;
}
}