Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99de8259 authored by Michael Groover's avatar Michael Groover
Browse files

Add required flag to registerReceiver calls

Android T adds support to allow a runtime receiver to be registered as
not exported, but to ensure apps can take advantage of this, calls to
registerReceiver must specify a flag indicating whether the receiver
should be exported for apps targeting T+ that are registering for
non-system broadcasts. This commit adds the RECEIVER_EXPORTED
flag to CarrierKeyDownloadManager so the DOWNLOAD_COMPLETE
action can be received from the downloads provider, and the
RECEIVER_NOT_EXPORTED flag to the InboundSmsHandler receiver
since the action for which it is registering is delivered via a
PendingIntent in a notification and will be delivered with the
app's UID.

Bug: 161145287
Test: Build
Change-Id: I208de5b4fd17122b5c776c82ece6aea42f015c0c
parent 6fb35e70
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -549,7 +549,8 @@ public class CarrierKeyDownloadManager extends Handler {
        try {
            // register the broadcast receiver to listen for download complete
            IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
            mContext.registerReceiver(mDownloadReceiver, filter, null, mPhone);
            mContext.registerReceiver(mDownloadReceiver, filter, null, mPhone,
                    Context.RECEIVER_EXPORTED);

            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(mURL));

+2 −1
Original line number Diff line number Diff line
@@ -2115,7 +2115,8 @@ public abstract class InboundSmsHandler extends StateMachine {
    static void registerNewMessageNotificationActionHandler(Context context) {
        IntentFilter userFilter = new IntentFilter();
        userFilter.addAction(ACTION_OPEN_SMS_APP);
        context.registerReceiver(new NewMessageNotificationActionReceiver(), userFilter);
        context.registerReceiver(new NewMessageNotificationActionReceiver(), userFilter,
                Context.RECEIVER_NOT_EXPORTED);
    }

    protected abstract class CbTestBroadcastReceiver extends BroadcastReceiver {