Skip to content

Commit

Permalink
Respect AppOpsManager.opAllowsReset
Browse files Browse the repository at this point in the history
  • Loading branch information
jclehner committed May 14, 2015
1 parent 356455f commit 8abb5cb
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/at/jclehner/appopsxposed/AppListFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -508,10 +508,11 @@ private void resetChangedOps()
final int uid = pi.packageInfo.applicationInfo.uid;
final String packageName = pi.packageInfo.packageName;

for(OpEntryWrapper op : pi.changedOps)
for(OpEntryWrapper entry : pi.changedOps)
{
appOps.setMode(op.getOp(), uid, packageName,
AppOpsManagerWrapper.opToDefaultMode(op.getOp()));
final int op = entry.getOp();
if(AppOpsManagerWrapper.opAllowsReset(op))
appOps.setMode(op, uid, packageName, AppOpsManagerWrapper.opToDefaultMode(op));
}
}

Expand Down
13 changes: 13 additions & 0 deletions src/at/jclehner/appopsxposed/util/AppOpsManagerWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,19 @@ public static int opToDefaultMode(int op)
}
}

public static boolean opAllowsReset(int op)
{
try
{
return callStatic(AppOpsManager.class, "opAllowsReset", new Class<?>[] { int.class }, op);
}
catch(ReflectiveException e)
{
Util.debug(e);
return op != OP_WRITE_SMS;
}
}

public static int opFromName(String opName)
{
if(!opName.startsWith("OP_"))
Expand Down

0 comments on commit 8abb5cb

Please sign in to comment.