Allow shell notification listener access toggling

For cts tests

Bug: 62815965
Test: cts
Change-Id: Ida801c05b84362b61c87398c999308cebb5bd969
This commit is contained in:
Julia Reynolds
2017-06-23 13:32:09 -04:00
parent 68263d1dc7
commit b71f1d3191

View File

@@ -5679,11 +5679,14 @@ public class NotificationManagerService extends SystemService {
private class ShellCmd extends ShellCommand {
public static final String USAGE = "help\n"
+ "allow_listener COMPONENT\n"
+ "disallow_listener COMPONENT\n"
+ "allow_dnd PACKAGE\n"
+ "disallow_dnd PACKAGE";
@Override
public int onCommand(String cmd) {
final PrintWriter pw = getOutPrintWriter();
try {
switch (cmd) {
case "allow_dnd": {
@@ -5697,11 +5700,30 @@ public class NotificationManagerService extends SystemService {
getNextArgRequired(), false);
}
break;
case "allow_listener": {
ComponentName cn = ComponentName.unflattenFromString(getNextArgRequired());
if (cn == null) {
pw.println("Invalid listener - must be a ComponentName");
return -1;
}
getBinderService().setNotificationListenerAccessGranted(cn, true);
}
break;
case "disallow_listener": {
ComponentName cn = ComponentName.unflattenFromString(getNextArgRequired());
if (cn == null) {
pw.println("Invalid listener - must be a ComponentName");
return -1;
}
getBinderService().setNotificationListenerAccessGranted(cn, false);
}
break;
default:
return handleDefaultCommands(cmd);
}
} catch (RemoteException e) {
} catch (Exception e) {
pw.println("Error occurred. Check logcat for details. " + e.getMessage());
Slog.e(TAG, "Error running shell command", e);
}
return 0;