Merge "Send ACTION_NEW_OUTGOING_CALL broadcast to the user initiates the call" into nyc-dev
diff --git a/src/com/android/server/telecom/NewOutgoingCallIntentBroadcaster.java b/src/com/android/server/telecom/NewOutgoingCallIntentBroadcaster.java
index d1949b7..6e8492e 100644
--- a/src/com/android/server/telecom/NewOutgoingCallIntentBroadcaster.java
+++ b/src/com/android/server/telecom/NewOutgoingCallIntentBroadcaster.java
@@ -270,8 +270,9 @@
             // initiate the call again because of the presence of the EXTRA_ALREADY_CALLED extra.
         }
 
-        Log.i(this, "Sending NewOutgoingCallBroadcast for %s", mCall);
-        broadcastIntent(intent, number, !callImmediately);
+        UserHandle targetUser = mCall.getInitiatingUser();
+        Log.i(this, "Sending NewOutgoingCallBroadcast for %s to %s", mCall, targetUser);
+        broadcastIntent(intent, number, !callImmediately, targetUser);
         return DisconnectCause.NOT_DISCONNECTED;
     }
 
@@ -282,12 +283,14 @@
      * @param originalCallIntent The original call intent.
      * @param number Call number that was stored in the original call intent.
      * @param receiverRequired Whether or not the result from the ordered broadcast should be
-     *     processed using a {@link NewOutgoingCallIntentBroadcaster}.
+     *                         processed using a {@link NewOutgoingCallIntentBroadcaster}.
+     * @param targetUser User that the broadcast sent to.
      */
     private void broadcastIntent(
             Intent originalCallIntent,
             String number,
-            boolean receiverRequired) {
+            boolean receiverRequired,
+            UserHandle targetUser) {
         Intent broadcastIntent = new Intent(Intent.ACTION_NEW_OUTGOING_CALL);
         if (number != null) {
             broadcastIntent.putExtra(Intent.EXTRA_PHONE_NUMBER, number);
@@ -302,7 +305,7 @@
 
         mContext.sendOrderedBroadcastAsUser(
                 broadcastIntent,
-                UserHandle.CURRENT,
+                targetUser,
                 android.Manifest.permission.PROCESS_OUTGOING_CALLS,
                 AppOpsManager.OP_PROCESS_OUTGOING_CALLS,
                 receiverRequired ? new NewOutgoingCallBroadcastIntentReceiver() : null,