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

Commit bf923878 authored by Michael Groover's avatar Michael Groover
Browse files

Add not exported flag to affected runtime receiver

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 a future
platform release and 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 the receiver in RespondViaSmsManager with the
RECEIVER_NOT_EXPORTED flag since this receiver is receiving
broadcasts sent via PendingIntents sent to the SmsManager.

Bug: 234659204
Test: Build
Change-Id: I603cab48e1e0098a218a24d0e2a4b6c2669ce7f2
parent 9ce8425e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -215,7 +215,8 @@ public class RespondViaSmsManager extends CallsManagerListenerBase {
            MessageSentReceiver receiver = new MessageSentReceiver(
                    !TextUtils.isEmpty(contactName) ? contactName : phoneNumber,
                    messageParts.size());
            context.registerReceiver(receiver, new IntentFilter(ACTION_MESSAGE_SENT));
            context.registerReceiver(receiver, new IntentFilter(ACTION_MESSAGE_SENT),
                    Context.RECEIVER_NOT_EXPORTED);
            smsManager.sendMultipartTextMessage(phoneNumber, null, messageParts,
                    sentIntents/*sentIntent*/, null /*deliveryIntent*/, context.getOpPackageName(),
                    context.getAttributionTag());