summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2018-12-07 13:32:06 -0800
committerandroid-build-merger <android-build-merger@google.com>2018-12-07 13:32:06 -0800
commit6b0018b2bcab573339167c7f8a2eec0a1d411e66 (patch)
treec350d887740440ed1e8fd701c8b77a2bef791bda
parent0417d7184b92dc24d429554e97039ce79dad6f10 (diff)
parent3b17c9d761e2b06eb0b2ee7b962987a021be93d8 (diff)
downloadims-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.java3
-rw-r--r--rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java32
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(() -> {