iBurn is an offline map and guide for the Burning Man art festival.
Got iOS? You'll love iBurn for iOS.
Make sure your Android SDK packages are up to date.
$ git clone https://github.com/Burning-Man-Earth/iBurn-Android --recursive
$ cd ./iBurn-Android
$ touch ./iBurn/src/main/java/com/gaiagps/iburn/SECRETS.kt && open ./iBurn/src/main/java/com/gaiagps/iburn/SECRETS.kt
Copy the following into SECRETS.kt
:
package com.gaiagps.iburn
const val UNLOCK_CODE = "WHATEVER_PASSWORD"
const val IBURN_API_URL = "https://SOME_API"
const val MAPBOX_API_KEY = "YOUR_MAPBOX_KEY"
Copy the following into ./iBurn/fabric.properties
:
apiKey=yourFabricApiKey
$ ./gradlew assembleDebug
or from Android Studio invoke 'Import Project' and select the ./iBurn-Android
directory.
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.
app_name
and current_year
in iBurn/src/main/res/values/strings.xmlMOCK_NOW_DATE
in CurrentDateProvider (Used when simulating event time during testing)versionYear
, versionName
and versionCode
in iBurn/build.gradle
EVENT_START_DATE
and EVENT_END_DATE
in AdapterUtils.javaEMBARGO_DATE
in Embargo.javaUNLOCK_CODE
in SECRETS.kt./gradlew updateData
. This will copy updated map, geocoder, art images, art audio tour, and api json (camp, art, event) files to this repo.MapboxMapFragment.MBTILES_VERSION
DATABASE_NAME
in PlayaDatabase2.kt
to represent the current year. Commit this change.USE_BUNDLED_DB
to false
in PlayaDatabase2.kt
bootstrapDatabaseFromJson
in MainActivity
's onCreate
MainActivity: Bootstrap success: true
./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
USE_BUNDLED_DB
in PlayaDatabase2.kt to true
, Comment out call to bootstrapDatabaseFromJson
in MainActivity
's onCreate
The ./gradlew updateData
will copy art images and tour audio from the iBurn-Data repo to ./assets/art_images
and ./assets/audio_tour
respectively.
Make sure you've:
Embargo.java
, and set EVENT_START_DATE
and EVENT_STOP_DATE
in AdapterUtils
$ ./gradlew assembleRegularUnsigned
Pass the resulting apk off for signing. Then zipalign before publishing:
$ zipalign -f -v 4 ./signed.apk ./signed-aligned.apk
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!
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.
© 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