summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
index 6f1a076..bd0f89c 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
@@ -565,6 +565,14 @@ public class RcsStackAdaptor{
logger.debug("Create PresService");
mStackPresenceServiceHandle = mStackService.createPresenceService(
mListenerHandler.mPresenceListener, mListenerHandle);
+ // If the service handle is -1, then creating the service failed somehow.
+ // schedule a retry.
+ if (mStackPresenceServiceHandle < 0) {
+ logger.error("initAllService : service handle < 0, retrying...");
+ mIsIniting = false;
+ mLastInitSubService = -1;
+ return ret;
+ }
mStackPresService = mStackService.getPresenceService();
ret = 0;
} else {