From 9f7e4d37bfeca32dc8a4fb9628a0aca97abde2f0 Mon Sep 17 00:00:00 2001 From: Brad Ebinger Date: Fri, 29 Jun 2018 14:47:50 -0700 Subject: Perform a retry if creating the presence service fails If the service handle's value is < 0, perform a retry instead of blocking indefinitely. Bug: 109782868 Test: Add contacts and make sure device publishes status and retrieves capabilities. Change-Id: I54f52b54a30f49c0834963df76a42d89a6e589bf --- rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 { -- cgit v1.2.3