Merge 308ed83670f62615a5769691c9c60189f71a7c4d on remote branch

Change-Id: I210afe24bb1022a7e7dfbd4ddf7d3691c69710d8
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java
index feaf5ee..c8906ed 100644
--- a/InCallUI/src/com/android/incallui/Call.java
+++ b/InCallUI/src/com/android/incallui/Call.java
@@ -395,7 +395,7 @@
     private int mRequestedVideoState = VideoProfile.STATE_AUDIO_ONLY;
 
     private InCallVideoCallCallback mVideoCallCallback;
-    private boolean mIsVideoCallCallbackRegistered;
+    private VideoCall mRegisteredVideoCall;
     private String mChildNumber;
     private String mLastForwardedNumber;
     private String mCallSubject;
@@ -489,7 +489,7 @@
                 mVideoCallCallback = new InCallVideoCallCallback(this);
             }
             mTelecomCall.getVideoCall().registerCallback(mVideoCallCallback);
-            mIsVideoCallCallbackRegistered = true;
+            mRegisteredVideoCall = mTelecomCall.getVideoCall();
         }
 
         mChildCallIds.clear();
@@ -845,7 +845,7 @@
      *      callback on the {@link VideoCall}.
      */
     public VideoCall getVideoCall() {
-        return mTelecomCall == null || !mIsVideoCallCallbackRegistered ? null
+        return mTelecomCall == null || (mRegisteredVideoCall != mTelecomCall.getVideoCall()) ? null
                 : mTelecomCall.getVideoCall();
     }
 
diff --git a/InCallUI/src/com/android/incallui/InCallServiceImpl.java b/InCallUI/src/com/android/incallui/InCallServiceImpl.java
index 8f011e3..54bd571 100644
--- a/InCallUI/src/com/android/incallui/InCallServiceImpl.java
+++ b/InCallUI/src/com/android/incallui/InCallServiceImpl.java
@@ -90,6 +90,7 @@
 
         InCallPresenter.getInstance().onServiceUnbind();
         tearDown();
+        StatusBarNotifier.clearAllCallNotifications(getApplicationContext());
 
         return false;
     }
diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java
index ea39d03..c07ca2a 100644
--- a/src/com/android/dialer/calllog/ContactInfoHelper.java
+++ b/src/com/android/dialer/calllog/ContactInfoHelper.java
@@ -292,10 +292,13 @@
                 }
                 String combName = "";
                 for (String num : nums) {
-                    ContactInfo singleCi = lookupContactFromUri(getContactInfoLookupUri(num),
-                            isSip);
+                    ContactInfo singleCi = null;
+                    if (!TextUtils.isEmpty(num)) {
+                        singleCi = lookupContactFromUri(
+                                getContactInfoLookupUri(num), isSip);
+                    }
                     // If contact does not exist, need to avoid changing static empty-contact.
-                    if (singleCi == ContactInfo.EMPTY) {
+                    if (singleCi == null || singleCi == ContactInfo.EMPTY) {
                         singleCi = new ContactInfo();
                     }
                     if (TextUtils.isEmpty(singleCi.name)) {