summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
index 0369ece92cfa..fccf11d421ae 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
@@ -156,6 +156,23 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
}
};
+ private final RegistrationCallback mRegistrationCallback = new RegistrationCallback() {
+ @Override
+ public void onRegistered(ImsRegistrationAttributes attributes) {
+ Log.d(mTag, "onRegistered: " + "attributes=" + attributes);
+ mCurrentState.imsRegistered = true;
+ mCurrentState.imsRegistrationTech = attributes.getRegistrationTechnology();
+ notifyListenersIfNecessary();
+ }
+
+ @Override
+ public void onUnregistered(ImsReasonInfo info) {
+ Log.d(mTag, "onDeregistered: " + "info=" + info);
+ mCurrentState.imsRegistered = false;
+ mCurrentState.imsRegistrationTech = REGISTRATION_TECH_NONE;
+ notifyListenersIfNecessary();
+ }
+ };
// TODO: Reduce number of vars passed in, if we have the NetworkController, probably don't
// need listener lists anymore.
public MobileSignalController(
@@ -343,6 +360,8 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
Log.d(mTag, "setListeners: register CapabilitiesCallback and RegistrationCallback");
mImsMmTelManager.registerMmTelCapabilityCallback(mContext.getMainExecutor(),
mCapabilityCallback);
+ mImsMmTelManager.registerImsRegistrationCallback (mContext.getMainExecutor(),
+ mRegistrationCallback);
} catch (ImsException e) {
Log.e(mTag, "unable to register listeners.", e);
}
@@ -368,6 +387,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
Log.d(mTag,
"removeListeners: unregister CapabilitiesCallback and RegistrationCallback");
mImsMmTelManager.unregisterMmTelCapabilityCallback(mCapabilityCallback);
+ mImsMmTelManager.unregisterImsRegistrationCallback(mRegistrationCallback);
}catch (Exception e) {
Log.e(mTag, "removeListeners", e);
}