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

Commit 871467b6 authored by Michael Groover's avatar Michael Groover
Browse files

Add required flag to registerReceiver call in LauncherAppState

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
unprotected broadcasts. This commit adds the RECEIVER_EXPORTED
flag to the call to registerReceiver in LauncherAppState when
registering for ACTION_FORCE_RELOAD.

Bug: 161145287
Test: Build
Change-Id: I9ffb5e00f2ce5bc9dcff4b681237ba06604fc995
parent 3b7ae6e7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ public class LauncherAppState implements SafeCloseable {
                Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE,
                Intent.ACTION_MANAGED_PROFILE_UNLOCKED);
        if (FeatureFlags.IS_STUDIO_BUILD) {
            modelChangeReceiver.register(mContext, ACTION_FORCE_ROLOAD);
            modelChangeReceiver.register(mContext, Context.RECEIVER_EXPORTED, ACTION_FORCE_ROLOAD);
        }
        mOnTerminateCallback.add(() -> mContext.unregisterReceiver(modelChangeReceiver));

+8 −1
Original line number Diff line number Diff line
@@ -39,10 +39,17 @@ public class SimpleBroadcastReceiver extends BroadcastReceiver {
     * Helper method to register multiple actions
     */
    public void register(Context context, String... actions) {
        register(context, 0, actions);
    }

    /**
     * Helper method to register multiple actions with one or more {@code flags}.
     */
    public void register(Context context, int flags, String... actions) {
        IntentFilter filter = new IntentFilter();
        for (String action : actions) {
            filter.addAction(action);
        }
        context.registerReceiver(this, filter);
        context.registerReceiver(this, filter, flags);
    }
}