Merge "[DO NOT MERGE] Fix NPE caused by misplaced parenthesis." into nyc-dev am: 36a1cc6
am: 55fd06a

* commit '55fd06a7fde79daa0abf1f463926c2b34de3d80a':
  [DO NOT MERGE] Fix NPE caused by misplaced parenthesis.

Change-Id: I39a418ef9466e5b238192cfe598adf8da6aa2051
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 3e3926b..d0762fd 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -249,7 +249,6 @@
                 Call.areSameNumber(mPrimary, primary));
         final boolean secondaryChanged = !(Call.areSame(mSecondary, secondary) &&
                 Call.areSameNumber(mSecondary, secondary));
-        final boolean shouldShowCallSubject = shouldShowCallSubject(mPrimary);
 
         mSecondary = secondary;
         Call previousPrimary = mPrimary;
@@ -262,9 +261,8 @@
         // Refresh primary call information if either:
         // 1. Primary call changed.
         // 2. The call's ability to manage conference has changed.
-        if (mPrimary != null && (primaryChanged ||
-                ui.isManageConferenceVisible() != shouldShowManageConference()) ||
-                ui.isCallSubjectVisible() != shouldShowCallSubject) {
+        // 3. The call subject should be shown or hidden.
+        if (shouldRefreshPrimaryInfo(primaryChanged, ui, shouldShowCallSubject(mPrimary))) {
             // primary call has changed
             if (previousPrimary != null) {
                 //clear progess spinner (if any) related to previous primary call
@@ -402,6 +400,16 @@
         updatePrimaryDisplayInfo();
     }
 
+    private boolean shouldRefreshPrimaryInfo(boolean primaryChanged, CallCardUi ui,
+            boolean shouldShowCallSubject) {
+        if (mPrimary == null) {
+            return false;
+        }
+        return primaryChanged ||
+                ui.isManageConferenceVisible() != shouldShowManageConference() ||
+                ui.isCallSubjectVisible() != shouldShowCallSubject;
+    }
+
     private String getSubscriptionNumber() {
         // If it's an emergency call, and they're not populating the callback number,
         // then try to fall back to the phone sub info (to hopefully get the SIM's