This is the source code for the Eric Mill's Congress app for Android phones. (This app was previously funded and developed for years by the Sunlight Foundation.)
Find the most up-to-date version in the Google Play Store: https://play.google.com/store/apps/details?id=com.sunlightlabs.android.congress
We ship the app using the code found in this repository, with some miscellaneous unversioned API keys and build information placed in app/src/main/res/values/keys.xml
.
We use Github Issues for issue tracking.
When setting this up:
- copy
keys.xml.example
toapp/src/main/res/values/keys.xml
and:- fill in
propublica_api_key
with your Pro Publica API key, - fill in
propublica_api_endpoint
with the base Pro Publica API endpoint you wish to use. By default, this ishttps://api.propublica.org/congress/v1/
.
- fill in
- copy
tracker.xml.example
toapp/src/main/res/xml/tracker.xml
If you're using Google Analytics, fill in app/src/main/res/xml/tracker.xml
's ga_trackingId
field with your Google Analytics profile tracking ID. (Make sure you've set up a profile in Google Analytics first.)
If you're not using Google Analytics, then turn off analytics by setting app/src/main/res/values/keys.xml
's debug_disable_analytics
field to true
.
We use a mixed GPLv3 and BSD license for our code in this repository. Generally speaking, the code specific to our Android app is GPLv3, and the code you could reuse in any Java or Android app is BSD.
The repository also contains some miscellaneous .jar
files in /libs
, who have separate individual licenses.
See LICENSE for complete details.
Final dev check:
- Tested on enough emulators to feel confident?
- Leave any debug stuff commented out or in? (also avoid ever having to do this even temporarily)
Code changes:
- Bump the android:versionCode and android:versionName in AndroidManifest.xml
- Bump the android:app_version in strings.xml to match android:versionName
- Change the android:app_version_older in strings.xml to what's appropriate
- Update the changelog data in arrays.xml to what's appropriate
- Commit changes, add tag in git for version "vX.X.X" where X.X.X is the android:versionName
git tag -a -m "Tagging vX.X.X" vX.X.X
git push --tags
Then, release work:
- Check keys.xml:
- is pro_publica_api_endpoint pointing to production?
- are all debug flags set to false?
- Produce signed APK version
- Take any screenshots needed to replace outdated ones
- Replace any new screenshots in _____ (GitHub?)
- Store APKs in GitHub
- into releases/
- create a Release associated with the tag