mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 18:06:48 +00:00
Add unaudited exported flag to exposed runtime receivers
Android T allows apps to declare a runtime receiver as not exported by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag; receivers registered with this flag will only receive broadcasts from the platform and the app itself. However to ensure developers can properly protect their receivers, all apps targeting U or later registering a receiver for non-system broadcasts must specify either the exported or not exported flag when invoking #registerReceiver; if one of these flags is not provided, the platform will throw a SecurityException. This commit updates all the exposed receivers with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing behavior of exporting the receiver while also flagging the receiver for audit before the U release. Bug: 234659204 Test: Build Change-Id: I6660cfb00244470edfb2411dadfca81afed42343
This commit is contained in:
@@ -202,7 +202,8 @@ public abstract class AbstractLauncherUiTest {
|
||||
};
|
||||
mTargetContext.registerReceiver(broadcastReceiver,
|
||||
PackageManagerHelper.getPackageFilter(pkg,
|
||||
Intent.ACTION_PACKAGE_RESTARTED, Intent.ACTION_PACKAGE_DATA_CLEARED));
|
||||
Intent.ACTION_PACKAGE_RESTARTED, Intent.ACTION_PACKAGE_DATA_CLEARED),
|
||||
Context.RECEIVER_EXPORTED/*UNAUDITED*/);
|
||||
|
||||
mDevice.executeShellCommand("pm clear " + pkg);
|
||||
assertTrue(pkg + " didn't restart", count.await(10, TimeUnit.SECONDS));
|
||||
@@ -437,7 +438,8 @@ public abstract class AbstractLauncherUiTest {
|
||||
private Intent mIntent;
|
||||
|
||||
public BlockingBroadcastReceiver(String action) {
|
||||
mTargetContext.registerReceiver(this, new IntentFilter(action));
|
||||
mTargetContext.registerReceiver(this, new IntentFilter(action),
|
||||
Context.RECEIVER_EXPORTED/*UNAUDITED*/);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user