Update ImsRegistrationListener
Meng Wang [Thu, 8 Dec 2016 00:27:15 +0000 (16:27 -0800)]
1. Replace onImsConnected() with onImsConnected(int)
2. Replace onImsProgressing() with onImsProgressing(int)
3. Add registrationChangeFailed()

Bug: 33430556
Test: m
Change-Id: I14c171494bdcb0d82ed4be0caff8cb52d35421cc

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

index 1158375..4425854 100644 (file)
@@ -27,16 +27,16 @@ import android.net.Uri;
  */
 public class ImsConnectionStateListener {
     /**
-     * Called when the device is connected to the IMS network.
+     * Called when the device is connected to the IMS network with {@param imsRadioTech}.
      */
-    public void onImsConnected() {
+    public void onImsConnected(int imsRadioTech) {
         // no-op
     }
 
     /**
-     * Called when the device is trying to connect to the IMS network.
+     * Called when the device is trying to connect to the IMS network with {@param imsRadioTech}.
      */
-    public void onImsProgressing() {
+    public void onImsProgressing(int imsRadioTech) {
         // no-op
     }
 
@@ -83,4 +83,11 @@ public class ImsConnectionStateListener {
     public void registrationAssociatedUriChanged(Uri[] uris) {
         // no-op
     }
+
+    /**
+     * Called when IMS registration attempt on {@param imsRadioTech} failed
+     */
+    public void onRegistrationChangeFailed(int imsRadioTech, ImsReasonInfo imsReasonInfo) {
+        // no-op
+    }
 }
index 464aeed..d50b5b0 100644 (file)
@@ -31,6 +31,7 @@ import android.provider.Settings;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.Rlog;
+import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
@@ -1483,7 +1484,7 @@ public class ImsManager {
     /**
      * Adapter class for {@link IImsRegistrationListener}.
      */
-    private class ImsRegistrationListenerProxy extends IImsRegistrationListener.Stub {
+    private static class ImsRegistrationListenerProxy extends IImsRegistrationListener.Stub {
         private int mServiceClass;
         private ImsConnectionStateListener mListener;
 
@@ -1504,7 +1505,7 @@ public class ImsManager {
             }
 
             if (mListener != null) {
-                mListener.onImsConnected();
+                mListener.onImsConnected(ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN);
             }
         }
 
@@ -1515,7 +1516,7 @@ public class ImsManager {
             }
 
             if (mListener != null) {
-                mListener.onImsProgressing();
+                mListener.onImsProgressing(ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN);
             }
         }
 
@@ -1528,7 +1529,7 @@ public class ImsManager {
             }
 
             if (mListener != null) {
-                mListener.onImsConnected();
+                mListener.onImsConnected(imsRadioTech);
             }
         }
 
@@ -1541,7 +1542,7 @@ public class ImsManager {
             }
 
             if (mListener != null) {
-                mListener.onImsProgressing();
+                mListener.onImsProgressing(imsRadioTech);
             }
         }
 
@@ -1584,7 +1585,7 @@ public class ImsManager {
                     serviceClass + ", event=" + event);
 
             if (mListener != null) {
-                mListener.onImsConnected();
+                mListener.onImsConnected(ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN);
             }
         }
 
@@ -1616,6 +1617,16 @@ public class ImsManager {
                 mListener.registrationAssociatedUriChanged(uris);
             }
         }
+
+        @Override
+        public void registrationChangeFailed(int targetAccessTech, ImsReasonInfo imsReasonInfo) {
+            if (DBG) log("registrationChangeFailed :: targetAccessTech=" + targetAccessTech +
+                    ", imsReasonInfo=" + imsReasonInfo);
+
+            if (mListener != null) {
+                mListener.onRegistrationChangeFailed(targetAccessTech, imsReasonInfo);
+            }
+        }
     }
 
     /**