summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-12-07 21:03:41 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-12-07 21:03:41 +0000
commit103cd11ce00770da1fd2e53578aa917e5389d9d8 (patch)
treec350d887740440ed1e8fd701c8b77a2bef791bda
parent687cb412fe71f205a0308b49b42afcf73aa52c0b (diff)
parent0eb053e7cf651965f17e930d41301721a56ed871 (diff)
downloadims-103cd11ce00770da1fd2e53578aa917e5389d9d8.tar.gz
Merge "Do not start init until ACTION_UCE_SERVICE_UP"
-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(() -> {