resolve merge conflicts of f7622446f1 to lmp-mr1-dev
am: 75d30fab5c

* commit '75d30fab5c13fea88e204a9a743b2dd427fd41b3':
  DO NOT MERGE addNewIncomingCall now checks PAH
diff --git a/src/com/android/server/telecom/TelecomService.java b/src/com/android/server/telecom/TelecomService.java
index e914f32..77fb1d2 100644
--- a/src/com/android/server/telecom/TelecomService.java
+++ b/src/com/android/server/telecom/TelecomService.java
@@ -43,6 +43,8 @@
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
+import android.util.EventLog;
+
 // TODO: Needed for move to system service: import com.android.internal.R;
 import com.android.internal.telecom.ITelecomService;
 import com.android.internal.util.IndentingPrintWriter;
@@ -664,6 +666,8 @@
                 } else {
                     mAppOpsManager.checkPackage(Binder.getCallingUid(),
                             phoneAccountHandle.getComponentName().getPackageName());
+
+                    enforcePhoneAccountIsRegistered(phoneAccountHandle);
                     // Make sure it doesn't cross the UserHandle boundary
                     enforceUserHandleMatchesCaller(phoneAccountHandle);
                 }
@@ -690,6 +694,7 @@
                 mAppOpsManager.checkPackage(
                         Binder.getCallingUid(), phoneAccountHandle.getComponentName().getPackageName());
 
+                enforcePhoneAccountIsRegistered(phoneAccountHandle);
                 // Make sure it doesn't cross the UserHandle boundary
                 enforceUserHandleMatchesCaller(phoneAccountHandle);
 
@@ -855,6 +860,16 @@
         return false;
     }
 
+    // Enforce that the PhoneAccountHandle being passed in is registered to a valid PhoneAccount. 
+    private void enforcePhoneAccountIsRegistered(PhoneAccountHandle phoneAccountHandle) {
+        PhoneAccount phoneAccount = mPhoneAccountRegistrar.getPhoneAccount(phoneAccountHandle);
+        if(phoneAccount == null) {
+            EventLog.writeEvent(0x534e4554, "26864502", Binder.getCallingUid(), "R");
+            throw new SecurityException("This PhoneAccountHandle is not registered to a valid " +
+                    "PhoneAccount!");
+        }
+    }
+
     private void enforcePhoneAccountModificationForPackage(String packageName) {
         // TODO: Use a new telecomm permission for this instead of reusing modify.