diff options
author | Brad Ebinger <breadley@google.com> | 2018-12-07 13:32:06 -0800 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-12-07 13:32:06 -0800 |
commit | 6b0018b2bcab573339167c7f8a2eec0a1d411e66 (patch) | |
tree | c350d887740440ed1e8fd701c8b77a2bef791bda | |
parent | 0417d7184b92dc24d429554e97039ce79dad6f10 (diff) | |
parent | 3b17c9d761e2b06eb0b2ee7b962987a021be93d8 (diff) | |
download | ims-6b0018b2bcab573339167c7f8a2eec0a1d411e66.tar.gz |
Merge "Do not start init until ACTION_UCE_SERVICE_UP" am: 103cd11ce0 am: 45d0bf3f1e
am: 3b17c9d761
Change-Id: Iaff7c3f1a7cb6608fb851c14cadc019517d5252f
-rw-r--r-- | rcs/rcsservice/src/com/android/service/ims/RcsService.java | 3 | ||||
-rw-r--r-- | rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java | 32 |
2 files changed, 7 insertions, 28 deletions
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsService.java b/rcs/rcsservice/src/com/android/service/ims/RcsService.java index 01f9fbd..c41e092 100644 --- a/rcs/rcsservice/src/com/android/service/ims/RcsService.java +++ b/rcs/rcsservice/src/com/android/service/ims/RcsService.java @@ -379,9 +379,6 @@ public class RcsService extends Service{ @Override public void onImsConnected(int imsRadioTech) { logger.debug("onImsConnected imsRadioTech=" + imsRadioTech); - if(mRcsStackAdaptor != null) { - mRcsStackAdaptor.checkSubService(); - } if(mPublication != null) { mPublication.onImsConnected(); diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java index bd0f89c..d8cd345 100644 --- a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java +++ b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java @@ -515,9 +515,8 @@ public class RcsStackAdaptor{ mStackService = mImsUceManager.getUceServiceInstance(); logger.debug("doInitImsUceService mStackService=" + mStackService); - if (mStackService != null) { - startInitPresenceTimer(0, PRESENCE_INIT_TYPE_RCS_SERVICE_AVAILABLE); - } + // Do not connect to vendor UCE stack until ACTION_UCE_SERVICE_UP is called. + // The intent is sticky, so if we crash, we will get the UCE_SERVICE_UP intent again. } } @@ -560,7 +559,8 @@ public class RcsStackAdaptor{ boolean serviceStatus = false; serviceStatus = uceService.getServiceStatus(); - if (true == serviceStatus && mStackPresService == null) {//init only once. + //init only once and ensure connection to UCE service is available. + if (true == serviceStatus && mStackPresService == null && mStackService != null) { logger.print("initAllService : serviceStatus = true "); logger.debug("Create PresService"); mStackPresenceServiceHandle = mStackService.createPresenceService( @@ -576,7 +576,9 @@ public class RcsStackAdaptor{ mStackPresService = mStackService.getPresenceService(); ret = 0; } else { - logger.error("initAllService : serviceStatus = false "); + logger.error("initAllService : serviceStatus = false - serviceStatus: " + + serviceStatus + ", mStackPresService: " + mStackPresService + + ", mStackService: " + mStackService); } } catch (RemoteException e) { logger.error("initAllServices : DeadObjectException dialog "); @@ -587,26 +589,6 @@ public class RcsStackAdaptor{ return ret; } - // Init sub service when IMS get registered. - public void checkSubService() { - logger.debug("checkSubService"); - synchronized (mSyncObj) { - if (mStackPresService == null) { - // Cancel the retry timer. - if (mIsIniting) { - if (mRetryAlarmIntent != null) { - mAlarmManager.cancel(mRetryAlarmIntent); - mRetryAlarmIntent = null; - } - mIsIniting = false; - } - - // force to init imediately. - startInitPresenceTimer(0, PRESENCE_INIT_TYPE_IMS_REGISTERED); - } - } - } - public void startInitThread(int times){ final int currentRetry = times; Thread thread = new Thread(() -> { |