Merge "Add "retrying" text for CDMA redial calls." into klp-dev
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index 74aff53..6840a15 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -37,6 +37,9 @@
     private boolean mAutomaticallyMuted = false;
     private boolean mPreviousMuteState = false;
 
+    private boolean mShowGenericMerge = false;
+    private boolean mShowManageConference = false;
+
     private InCallState mPreviousState = null;
 
     public CallButtonPresenter() {
@@ -208,6 +211,8 @@
         Log.v(this, "Show dialpad " + String.valueOf(checked));
         getUi().displayDialpad(checked);
         mProximitySensor.onDialpadVisible(checked);
+
+        updateExtraButtonRow();
     }
 
     private void updateUi(InCallState state, Call call) {
@@ -235,7 +240,7 @@
             final boolean canAdd = call.can(Capabilities.ADD_CALL);
             final boolean isGenericConference = call.can(Capabilities.GENERIC_CONFERENCE);
 
-            final boolean showGenericMerge = isGenericConference && canMerge;
+
             final boolean showMerge = !isGenericConference && canMerge;
 
             if (showMerge) {
@@ -292,22 +297,28 @@
             // - "Manage conference" (used only on GSM devices)
             // - "Merge" button (used only on CDMA devices)
 
-            final boolean showManageConference = (call.isConferenceCall() && !isGenericConference);
-            final boolean showExtraButtonRow = (showGenericMerge || showManageConference) &&
-                    !getUi().isDialpadVisible();
+            mShowGenericMerge = isGenericConference && canMerge;
+            mShowManageConference = (call.isConferenceCall() && !isGenericConference);
 
-            Log.i(this, "isGeneric: " + isGenericConference);
-            Log.i(this, "showManageConference : " + showManageConference);
-            Log.i(this, "showGenericMerge: " + showGenericMerge);
-            if (showExtraButtonRow) {
-                if (showGenericMerge) {
-                    getUi().showGenericMergeButton();
-                } else if (showManageConference) {
-                    getUi().showManageConferenceCallButton();
-                }
-            } else {
-                getUi().hideExtraRow();
+            updateExtraButtonRow();
+        }
+    }
+
+    private void updateExtraButtonRow() {
+        final boolean showExtraButtonRow = (mShowGenericMerge || mShowManageConference) &&
+                !getUi().isDialpadVisible();
+
+        Log.d(this, "isGeneric: " + mShowGenericMerge);
+        Log.d(this, "mShowManageConference : " + mShowManageConference);
+        Log.d(this, "mShowGenericMerge: " + mShowGenericMerge);
+        if (showExtraButtonRow) {
+            if (mShowGenericMerge) {
+                getUi().showGenericMergeButton();
+            } else if (mShowManageConference) {
+                getUi().showManageConferenceCallButton();
             }
+        } else {
+            getUi().hideExtraRow();
         }
     }