summaryrefslogtreecommitdiff
path: root/rcs/rcsservice/src
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2017-02-15 01:28:58 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-15 01:28:58 +0000
commit01e835687ead2bc237b90f9e60793b1b849327ac (patch)
tree8b0060a8b2fd73300a55776d0d9502bbc2b2be25 /rcs/rcsservice/src
parent73b20d76551f2392c16677045612d79ed66f1df2 (diff)
parenteafc81d8b1837c8745ed333914e19ade785aae80 (diff)
downloadims-01e835687ead2bc237b90f9e60793b1b849327ac.tar.gz
Turn implicit RCS broadcast to startService instead am: d4d3d762a7 am: ee8176647dandroid-wear-o-preview-4android-wear-o-preview-3android-o-preview-2
am: eafc81d8b1 Change-Id: I8a50953adbb0fcb035a0d344f339110d9be6fdf8
Diffstat (limited to 'rcs/rcsservice/src')
-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);