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

Commit eaa3f626 authored by Grace Jia's avatar Grace Jia
Browse files

Use Context#sendBroadcastAsUser(Intent, UserHandle, String) instead of

hidden API.

Bug: b/303444622
Test: atest NewOutgoingCallIntentBroadcasterTest
Change-Id: I6426e200961c86c7474604c740909378f7aabfc2
parent 525dc1a7
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.telecom;

import android.Manifest;
import android.app.Activity;
import android.app.AppOpsManager;
import android.app.BroadcastOptions;
@@ -487,11 +488,18 @@ public class NewOutgoingCallIntentBroadcaster {
            broadcastIntent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
            Log.i(this, "broadcastIntent: Sending non-blocking for %s to %s", mCall.getId(),
                    targetUser);
            if (mFeatureFlags.telecomResolveHiddenDependencies()) {
                mContext.sendBroadcastAsUser(
                        broadcastIntent,
                        targetUser,
                        Manifest.permission.PROCESS_OUTGOING_CALLS);
            } else {
                mContext.sendBroadcastAsUser(
                        broadcastIntent,
                        targetUser,
                        android.Manifest.permission.PROCESS_OUTGOING_CALLS,
                        AppOpsManager.OP_PROCESS_OUTGOING_CALLS);  // initialExtras
            }
        } else {
            Log.i(this, "broadcastIntent: Sending ordered for %s to %s, waitForResult=%b",
                    mCall.getId(), targetUser, receiverRequired);
+5 −0
Original line number Diff line number Diff line
@@ -414,6 +414,11 @@ public class ComponentContextFixture implements TestFixture<Context> {
            // TODO -- need to ensure this is captured
        }

        @Override
        public void sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission) {
            // Override so that this can be verified via spy.
        }

        @Override
        public void sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission,
                Bundle options) {
+1 −2
Original line number Diff line number Diff line
@@ -544,8 +544,7 @@ public class NewOutgoingCallIntentBroadcasterTest extends TelecomTestCase {
        verify(mContext, never()).sendBroadcastAsUser(
                any(Intent.class),
                eq(UserHandle.CURRENT),
                eq(android.Manifest.permission.PROCESS_OUTGOING_CALLS),
                eq(AppOpsManager.OP_PROCESS_OUTGOING_CALLS));
                eq(android.Manifest.permission.PROCESS_OUTGOING_CALLS));
    }

    /**