Use current userhandle when querying for default dialer

Also update TestDialerActivity to use placeCall API.

Bug: 20696062
Change-Id: I65f9585f7659009e76456c4613de48f0558dd0b5
diff --git a/src/com/android/server/telecom/components/UserCallIntentProcessor.java b/src/com/android/server/telecom/components/UserCallIntentProcessor.java
index d19a260..82dc713 100644
--- a/src/com/android/server/telecom/components/UserCallIntentProcessor.java
+++ b/src/com/android/server/telecom/components/UserCallIntentProcessor.java
@@ -21,11 +21,13 @@
 import com.android.server.telecom.R;
 import com.android.server.telecom.TelephonyUtil;
 
+import android.app.ActivityManager;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.telecom.DefaultDialerManager;
 import android.telecom.PhoneAccount;
 import android.telecom.TelecomManager;
 import android.telecom.VideoProfile;
@@ -140,12 +142,14 @@
             return false;
         }
 
-        final TelecomManager telecomManager =
-                (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
-        if (TextUtils.equals(telecomManager.getDefaultDialerPackage(), callingPackageName)) {
+        final String defaultDialer = DefaultDialerManager.getDefaultDialerApplication(mContext,
+                mUserHandle.getIdentifier());
+        if (TextUtils.equals(defaultDialer, callingPackageName)) {
             return true;
         }
 
+        final TelecomManager telecomManager =
+                (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
         return TextUtils.equals(telecomManager.getSystemDialerPackage(), callingPackageName);
     }
 
diff --git a/testapps/src/com/android/server/telecom/testapps/TestDialerActivity.java b/testapps/src/com/android/server/telecom/testapps/TestDialerActivity.java
index 4153ee1..17f7dc8 100644
--- a/testapps/src/com/android/server/telecom/testapps/TestDialerActivity.java
+++ b/testapps/src/com/android/server/telecom/testapps/TestDialerActivity.java
@@ -88,9 +88,10 @@
     }
 
     private void placeCall() {
-        final Intent intent = new Intent(Intent.ACTION_CALL,
-                Uri.fromParts(PhoneAccount.SCHEME_TEL, mNumberView.getText().toString(), null));
-        startActivityForResult(intent, 0);
+        final TelecomManager telecomManager =
+                (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
+        telecomManager.placeCall(Uri.fromParts(PhoneAccount.SCHEME_TEL,
+                mNumberView.getText().toString(), null), null);
     }
 
     private void testVoicemail() {