summaryrefslogtreecommitdiffstats
path: root/mobile/android/stumbler/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/stumbler/manifests')
-rw-r--r--mobile/android/stumbler/manifests/StumblerManifest_services.xml.in32
1 files changed, 32 insertions, 0 deletions
diff --git a/mobile/android/stumbler/manifests/StumblerManifest_services.xml.in b/mobile/android/stumbler/manifests/StumblerManifest_services.xml.in
new file mode 100644
index 000000000..400863187
--- /dev/null
+++ b/mobile/android/stumbler/manifests/StumblerManifest_services.xml.in
@@ -0,0 +1,32 @@
+<service
+ android:name="org.mozilla.mozstumbler.service.stumblerthread.StumblerService"
+ android:label="stumbler">
+</service>
+
+<receiver android:name="org.mozilla.mozstumbler.service.uploadthread.UploadAlarmReceiver" />
+<service android:name="org.mozilla.mozstumbler.service.uploadthread.UploadAlarmReceiver$UploadAlarmService" />
+
+<!-- How Fennec and Stumbler interact:
+- On start, Fennec broadcasts an empty STUMBLER_REGISTER_LOCAL_LISTENER intent, indicating that Stumbler should
+ start listening for a locally-broadcast Stumbler preferences.
+- In response, Stumbler's SafeReceiver registers LocalPreferenceReceiver to listen for broadcasts
+ sent over LocalBroadcastManager which contain sensitive information.
+- This registration happens only once, and SafeReceiver can't unregister the listener.
+- LocalPreferenceReceiver responds to internal broadcasts with sensitive information,
+ and is able to start/stop StumblerService.
+- Fennec startup (if stumbling is enabled) or Fennec stumbling preference adjustment will trigger
+ a local preference intent, and Stumbler's internal state will be adjusted via LocalPreferenceReceiver.
+-->
+<receiver android:exported="false" android:name="org.mozilla.mozstumbler.service.mainthread.SafeReceiver">
+ <intent-filter>
+ <action android:name="org.mozilla.gecko.STUMBLER_REGISTER_LOCAL_LISTENER" />
+ </intent-filter>
+</receiver>
+
+<receiver android:exported="true" android:name="org.mozilla.mozstumbler.service.mainthread.SystemReceiver">
+ <intent-filter>
+ <action android:name="android.intent.action.BOOT_COMPLETED" />
+ <action android:name="android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" />
+ </intent-filter>
+</receiver>
+