Merge "Don't crash when a broadcast requires an unknown permission"
This commit is contained in:
committed by
Android (Google) Code Review
commit
e264eab892
@@ -898,6 +898,11 @@ public final class BroadcastQueue {
|
||||
for (int i = perms.length-1; i >= 0; i--) {
|
||||
try {
|
||||
PermissionInfo pi = pm.getPermissionInfo(perms[i], "android", 0);
|
||||
if (pi == null) {
|
||||
// a required permission that no package has actually
|
||||
// defined cannot be signature-required.
|
||||
return false;
|
||||
}
|
||||
if ((pi.protectionLevel & (PermissionInfo.PROTECTION_MASK_BASE
|
||||
| PermissionInfo.PROTECTION_FLAG_PRIVILEGED))
|
||||
!= PermissionInfo.PROTECTION_SIGNATURE) {
|
||||
|
||||
@@ -439,6 +439,14 @@ public class ActivityTestMain extends Activity {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
menu.add("Require unknown permission").setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override public boolean onMenuItemClick(MenuItem item) {
|
||||
final Intent intent = new Intent(SLOW_RECEIVER_ACTION);
|
||||
intent.putExtra(SLOW_RECEIVER_EXTRA, 5038);
|
||||
sendOrderedBroadcast(intent, "com.google.android.test.activity.permission.UNDEFINED");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
menu.add("Stack Doc").setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override public boolean onMenuItemClick(MenuItem item) {
|
||||
ActivityManager.AppTask task = findDocTask();
|
||||
|
||||
Reference in New Issue
Block a user