diff options
-rw-r--r-- | rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java | 8 |
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 { |