iBurnApp / iBurn-Android

iBurn for Android
http://www.iburnapp.com
Mozilla Public License 2.0
35 stars 10 forks source link

iBurn-Android

iBurn is an offline map and guide for the Burning Man art festival.

Got iOS? You'll love iBurn for iOS.

Google Play link

Installation

Note: Camp, Art and Event location data (camps.json, art.json, events.json) are embargoed by the Burning Man Organization until the gates open each year. Sorry!

Fortunately, you can still run and test the app with the previous year's data.

Annual Update

Update code and text resources

Update playa data

  1. Check out iBurn-Data into a directory adjacent to this repository's root, and point iBurn-Data to the branch appropriate for the current year. Note this will usually be the private repo.
  2. ./gradlew updateData. This will copy updated map, geocoder, art images, art audio tour, and api json (camp, art, event) files to this repo.
  3. If the map.mbtiles were updated, bump MapboxMapFragment.MBTILES_VERSION
  4. Update DATABASE_NAME in PlayaDatabase2.kt to represent the current year. Commit this change.
  5. Make these temporary changes to app to generate a database file from JSON. Do not commit:
    • Set USE_BUNDLED_DB to false in PlayaDatabase2.kt
    • Uncomment the call to bootstrapDatabaseFromJson in MainActivity's onCreate
  6. Launch the app and confirm database bootstrap completion with logline MainActivity: Bootstrap success: true.
  7. Copy the generated database from your device. Depending on the value of the database name set in PlayaDatabase2.kt the file will be located somewhere like /data/data/com.iburnapp.iburn3.debug/databases/playaDatabase2023.db. You can use Android Studio's "Device File Explorer" to conveniently copy this, or use adb pull from the command line. Place the saved database in iBurn/src/main/assets/databases
  8. return the value of USE_BUNDLED_DB in PlayaDatabase2.kt to true, Comment out call to bootstrapDatabaseFromJson in MainActivity's onCreate

Art Images/Audio Tour

The ./gradlew updateData will copy art images and tour audio from the iBurn-Data repo to ./assets/art_images and ./assets/audio_tour respectively.

TODO

Releasing

Make sure you've:

    $ ./gradlew assembleRegularUnsigned

Pass the resulting apk off for signing. Then zipalign before publishing:

$ zipalign -f -v 4 ./signed.apk ./signed-aligned.apk

Contributing

Thank you for your interest in contributing to iBurn! Please open up an issue on our tracker before starting work on major interface or functionality changes. Otherwise, feel free to run wild!

  1. Fork the project and do your work in a feature branch.
  2. Make sure everything compiles and existing functionality is not broken.
  3. Open a pull request.
  4. Thank you! :)

Your contributions will need to be licensed to us under the MPL 2.0 and will be distributed under the terms of the MPL 2.0.

Authors

Attribution

License

© 2016 David Brodsky

Code: MPL 2.0 (similar to the LGPL in terms of copyleft but more compatible with the App Store)

Data: CC BY-SA 4.0