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
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 @@
                     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 {