IMS RAT Reporting in Registration Callbacks
Omkar Kolangade [Tue, 5 May 2015 00:55:13 +0000 (17:55 -0700)]
Modifying the registrationProgressing and
registrationConnected callbacks to have a parameter
for IMS Radio Access Technology information.
Through this, frameworks is aware of the IMS
RAT - LTE or WiFi - and can use the information
to display appropriate UI notifications.

Bug: 21902225
Change-Id: I18af9c146be06d98f9ea9cd9c947e4cffee04a42

src/java/com/android/ims/ImsManager.java

index 5c49450..7d55de0 100644 (file)
@@ -1225,7 +1225,7 @@ public class ImsManager {
             return (mServiceClass == serviceClass);
         }
 
-        @Override
+        @Deprecated
         public void registrationConnected() {
             if (DBG) {
                 log("registrationConnected ::");
@@ -1236,7 +1236,7 @@ public class ImsManager {
             }
         }
 
-        @Override
+        @Deprecated
         public void registrationProgressing() {
             if (DBG) {
                 log("registrationProgressing ::");
@@ -1248,6 +1248,32 @@ public class ImsManager {
         }
 
         @Override
+        public void registrationConnectedWithRadioTech(int imsRadioTech) {
+            // Note: imsRadioTech value maps to RIL_RADIO_TECHNOLOGY
+            //       values in ServiceState.java.
+            if (DBG) {
+                log("registrationConnectedWithRadioTech :: imsRadioTech=" + imsRadioTech);
+            }
+
+            if (mListener != null) {
+                mListener.onImsConnected();
+            }
+        }
+
+        @Override
+        public void registrationProgressingWithRadioTech(int imsRadioTech) {
+            // Note: imsRadioTech value maps to RIL_RADIO_TECHNOLOGY
+            //       values in ServiceState.java.
+            if (DBG) {
+                log("registrationProgressingWithRadioTech :: imsRadioTech=" + imsRadioTech);
+            }
+
+            if (mListener != null) {
+                mListener.onImsProgressing();
+            }
+        }
+
+        @Override
         public void registrationDisconnected(ImsReasonInfo imsReasonInfo) {
             if (DBG) {
                 log("registrationDisconnected :: imsReasonInfo" + imsReasonInfo);