diff --git a/src/com/android/dialer/util/PrivilegedCallUtil.java b/src/com/android/dialer/util/PrivilegedCallUtil.java
index 88adc72..367f365 100644
--- a/src/com/android/dialer/util/PrivilegedCallUtil.java
+++ b/src/com/android/dialer/util/PrivilegedCallUtil.java
@@ -32,6 +32,8 @@
  */
 public class PrivilegedCallUtil {
 
+    public static final String CALL_ACTION = Intent.ACTION_CALL_PRIVILEGED;
+
     /**
      * Return an Intent for making a phone call. Scheme (e.g. tel, sip) will be determined
      * automatically.
@@ -129,7 +131,7 @@
      */
     public static Intent getCallIntent(
             Uri uri, String callOrigin, PhoneAccountHandle accountHandle, int videoState) {
-        final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, uri);
+        final Intent intent = new Intent(CALL_ACTION, uri);
         intent.putExtra(TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE, videoState);
         if (callOrigin != null) {
             intent.putExtra(PhoneConstants.EXTRA_CALL_ORIGIN, callOrigin);
diff --git a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
index 7ae2c22..df4247b 100644
--- a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
@@ -239,7 +239,7 @@
     public void testSetCallDetailsHeader_PayphoneNumber() {
         setCallDetailsHeaderWithNumber("", Calls.PRESENTATION_PAYPHONE);
         assertEquals(View.VISIBLE, mNameView.getVisibility());
-        assertEquals("Pay phone", mNameView.getText().toString());
+        assertEquals("Payphone", mNameView.getText().toString());
     }
 
     public void testSetCallDetailsHeader_VoicemailNumber() {
diff --git a/tests/src/com/android/dialer/util/TestConstants.java b/tests/src/com/android/dialer/util/TestConstants.java
index 780626a..ff4a2fa 100644
--- a/tests/src/com/android/dialer/util/TestConstants.java
+++ b/tests/src/com/android/dialer/util/TestConstants.java
@@ -1,7 +1,5 @@
 package com.android.dialer.util;
 
-import android.content.Intent;
-
 public class TestConstants {
-    public static final String CALL_INTENT_ACTION = Intent.ACTION_CALL;
+    public static final String CALL_INTENT_ACTION = PrivilegedCallUtil.CALL_ACTION;
 }
