Android/Services
The Android Background Services module is a collection of related functionality that supports Mozilla's work on Android. Its remit is services, adapters, uploaders, downloaders, and the like that are not primarily user-facing, although UI is not excluded.
As of this writing (March 2013), this growing set includes Firefox Sync, product announcements the native updater, Firefox Health Report's native document manager, homepage snippets, and others.
Much of the code for Android services lives in the android-sync repo. Repository names are hard to change; pretend it's "android-services". Work in this repository is tracked by bugs in Bugzilla, but performed in Git branches and landed incrementally in mozilla-central.
Other work (e.g., the updater) lives in mozilla-central, typically as part of the mobile/ tree.
Contents
People
- Owner
- Richard Newman
- Peers
- Chris Peterson, Nick Alexander, Chenxia Liu, James Willcox
See also: Module owners for Android Background Services.
Look for us in #androidsync, #mobile on IRC.
Bugs
See the following:
- Android Background Services: Android Sync bugs
- Android Background Services: Build and Test bugs
- Firefox Health Report Service bugs for Android
- Product announcements bugs
- Services for Android (pending)
- Mozilla Services
- Firefox for Android
Getting started
There are two tiers of working with the Android Services codebase:
- Standalone, which involves working in Git, probably in Eclipse, using Maven for dependencies, and running JUnit tests. Tests that involve running against a Fennec instance can use a repackaged binary.
- Integrated, which means you deploy services code into a
mozilla-central
tree. You need this if you're landing code in the shipping product, or need to run tests using Robocop.
Getting started
But in short:
Getting the repo
git clone https://github.com/mozilla-services/android-sync git checkout develop
Setting up the preprocessor
python preprocess.py
If you plan to use a prepackaged build, you don't need to do anything further.
If you plan to use a custom build, edit the resulting preprocess.ini
to change the package name (e.g., to org.mozilla.gecko.fennec_username
). Then run the preprocessor again.
Running tests locally
mvn test