Merge "Destroys the Presence Service when service is down."
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
index 151809f..6f1a076 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
@@ -709,6 +709,18 @@
private void clearImsUceService() {
synchronized (mSyncObj) {
+ try {
+ logger.info("clearImsUceService: removing listener and presence service.");
+ if (mStackPresService != null) {
+ mStackPresService.removeListener(mStackPresenceServiceHandle,
+ mListenerHandle);
+ }
+ if (mStackService != null) {
+ mStackService.destroyPresenceService(mStackPresenceServiceHandle);
+ }
+ } catch (RemoteException e) {
+ logger.warn("clearImsUceService: Couldn't clean up stack service");
+ }
mImsUceManager = null;
mStackService = null;
mStackPresService = null;