Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
This is the Android client for Resilience, a system designed to help communities recover from a natural or human-made disaster by crowd-sourcing issue identification and resolution.
Java Ruby Other

- Update build tools version.

- Ignoring keystore files - THESE SHOULD NOT BE CHECKED IN
  They will however need to be present in the keys folder
  for the release build to work.
- Extracted Open311 credentials as resources. These should be
  defined in an xml file the IS NOT CHECKED IN
- Set max android version to 18.
- Added basic auth to feedback request.
- Added refresh on incident resolution and creation.
latest commit 8e9b55f6df
@justinberry justinberry authored

README.md

Resilience for Android

Prerequisite software

  • Java 1.6
  • Google Android Developer SDK
    • Android 4.0.3 (API 15)
    • Android 2.3.3 (API 10) - Required by one of the testing libraries, Robolectric
  • Maven 3.x
  • Eclipse + ADT plugin or IntelliJ or whatever works for you

Setup procedure

Emulator

An emulator is required, follow the steps in this article to setup a performant emulator.

http://codebutler.com/2012/10/10/configuring-a-usable-android-emualtor

Deviations from this article


Set the SD card size to 256 MB, not 512.

When pushing the google maps libraries to your new emulator, use the files int repository directory libraries/emulator

Creating a system image can be problematic and in may not actually work!.
If it works for you, GREAT! Otherwise, each time you power down your emulator, you will need to re push the libraries and ensure they are installed onto the device.

Copying the files does NOT install them and make them available. You need to do a software restart to ensure they are installed. Do this by issuing the following commands

adb shell stop
adb shell start

This will restart the software.

Building

ant debug install

-- NOT CURRENTLY WORKING WITH NEW BUILD --

We have externalised parse API keys and Google maps api keys as they differ per developer. Create a resilience-local.properties in the resilience-app directory and ensure you have the relevant key values specified, then run the maven resources target generate the filtered resource. e.g. add the the following keys

map.key=some_key
parse.client.key=some_other_key
parse.app.key=some_other_other_key

mvn resource:resources

Instead (for now):

  • Modify config.xml manually, and specify the base url of your Open311 server.
  • Edit AndroidManifest.xml and set the com.google.android.maps.v2.API_KEY property to your Google Maps V2 API key.

Running tests:

Unit tests:

ant test

-- NOT CURRENTLY WORKING WITH NEW BUILD --

Integration (instrumentation) tests

mvn clean install 

or mvn android:instrument

Running unit tests from the IDE Ensure the working directory for JUnit tests is set to resilience/resilience-app


Integration with IntelliJ

  • Create a new Android project using existing sources. Point it to the resilience-app folder.
  • Create a new Android library project and point it to the libraries/google-play-services_lib project.
  • Add google-play-services_lib as a compile dependency to resilience-app.
  • Add the jars under libs/ to your compile classpath, and the ones under libs/test to your test classpath.
  • Launch the main activity - ResilienceActivity.
Something went wrong with that request. Please try again.