summaryrefslogtreecommitdiffstats
path: root/mobile/android/stumbler/manifests/StumblerManifest_services.xml.in
blob: 400863187c57a1182e5a5ff3e068a3d49c3474cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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>