summaryrefslogtreecommitdiff
path: root/rcs/rcsservice
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2017-02-15 01:34:17 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-15 01:34:17 +0000
commit36bfb04582277af7c8daaab8eacfd5b5e6b0236a (patch)
treec9435acdba23130c739bce2327a425ab5a99b524 /rcs/rcsservice
parent921cc3a850561fa950186c58b6c92be27e01ec14 (diff)
parent01e835687ead2bc237b90f9e60793b1b849327ac (diff)
downloadims-36bfb04582277af7c8daaab8eacfd5b5e6b0236a.tar.gz
Turn implicit RCS broadcast to startService instead am: d4d3d762a7 am: ee8176647d am: eafc81d8b1
am: 01e835687e Change-Id: Ieb7dc17ebe2cce3276c3e6480291cff64ec88e10
Diffstat (limited to 'rcs/rcsservice')
-rw-r--r--rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
index 450e692..151809f 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
@@ -85,6 +85,10 @@ import com.android.service.ims.presence.AlarmBroadcastReceiver;
public class RcsStackAdaptor{
private static final boolean DEBUG = true;
+ private static final String PERSIST_SERVICE_NAME =
+ "com.android.service.ims.presence.PersistService";
+ private static final String PERSIST_SERVICE_PACKAGE = "com.android.service.ims.presence";
+
// The logger
private Logger logger = Logger.getLogger(this.getClass().getName());
@@ -238,11 +242,12 @@ public class RcsStackAdaptor{
SystemProperties.set("rcs.publish.status",
String.valueOf(publishState));
- // broadcast publish state change intent
Intent publishIntent = new Intent(RcsPresence.ACTION_PUBLISH_STATE_CHANGED);
- publishIntent.putExtra(RcsPresence.EXTRA_PUBLISH_STATE,
- publishState);
+ publishIntent.putExtra(RcsPresence.EXTRA_PUBLISH_STATE, publishState);
+ // Start PersistService and broadcast to other receivers that are listening
+ // dynamically.
mContext.sendStickyBroadcast(publishIntent);
+ launchPersistService(publishIntent);
}
mPublishingState = publishState;
@@ -443,6 +448,13 @@ public class RcsStackAdaptor{
return ResultCode.SUCCESS;
}
+ private void launchPersistService(Intent intent) {
+ ComponentName component = new ComponentName(PERSIST_SERVICE_PACKAGE,
+ PERSIST_SERVICE_NAME);
+ intent.setComponent(component);
+ mContext.startService(intent);
+ }
+
private void createListeningThread() {
HandlerThread listenerThread = new HandlerThread("Listener",
android.os.Process.THREAD_PRIORITY_BACKGROUND);