summaryrefslogtreecommitdiff
path: root/rcs
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2018-02-22 16:07:21 -0800
committerBrad Ebinger <breadley@google.com>2018-02-22 16:26:08 -0800
commit3ea793302fed57895659104fc8438e0e3ad44467 (patch)
tree26ed1e3cb7fe89ddab748b8d9a24879e71c991de /rcs
parent9388108bb9f0b8e49e706334064461620e81be4b (diff)
downloadims-3ea793302fed57895659104fc8438e0e3ad44467.tar.gz
Destroys the Presence Service when service is down.
Also calls destroyPresenceService when UCE_SERVICE_DOWN is received to make sure everything is cleaned up properly. Bug: 73558136 Test: Manual Change-Id: I3f02616c226b35e4979075c4073d1353b13e6455
Diffstat (limited to 'rcs')
-rw-r--r--rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java12
1 files changed, 12 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 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 @@ public class RcsStackAdaptor{
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;