diff options
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java | 20 |
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); } |