diff options
Diffstat (limited to 'mobile/android/stumbler/manifests')
-rw-r--r-- | mobile/android/stumbler/manifests/StumblerManifest_services.xml.in | 32 |
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> + |