Conference calling for IMS: add code to delegate from parent GSM/CDMA phone.

Bug: 17221493
Change-Id: I261922349cb0574a0b726e831bc5205bb2b37019
diff --git a/src/java/com/android/internal/telephony/cdma/CDMAPhone.java b/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
index d6be758..c3ac036 100644
--- a/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
+++ b/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
@@ -337,6 +337,11 @@
 
     @Override
     public void conference() {
+        if (mImsPhone != null && mImsPhone.canConference()) {
+            log("conference() - delegated to IMS phone");
+            mImsPhone.conference();
+            return;
+        }
         // three way calls in CDMA will be handled by feature codes
         Rlog.e(LOG_TAG, "conference: not possible in CDMA");
     }
@@ -591,6 +596,9 @@
 
     @Override
     public boolean canConference() {
+        if (mImsPhone != null && mImsPhone.canConference()) {
+            return true;
+        }
         Rlog.e(LOG_TAG, "canConference: not possible in CDMA");
         return false;
     }
diff --git a/src/java/com/android/internal/telephony/gsm/GSMPhone.java b/src/java/com/android/internal/telephony/gsm/GSMPhone.java
index d5aaa7c..c9d1d5e 100644
--- a/src/java/com/android/internal/telephony/gsm/GSMPhone.java
+++ b/src/java/com/android/internal/telephony/gsm/GSMPhone.java
@@ -523,7 +523,11 @@
 
     @Override
     public boolean canConference() {
-        return mCT.canConference();
+        boolean canImsConference = false;
+        if (mImsPhone != null) {
+            canImsConference = mImsPhone.canConference();
+        }
+        return mCT.canConference() || canImsConference;
     }
 
     public boolean canDial() {
@@ -532,6 +536,11 @@
 
     @Override
     public void conference() {
+        if (mImsPhone != null && mImsPhone.canConference()) {
+            log("conference() - delegated to IMS phone");
+            mImsPhone.conference();
+            return;
+        }
         mCT.conference();
     }