Skip to content
Android mobile app. Make your story great.
Java JavaScript CSS HTML Other
Branch: master
Clone or download
Latest commit be1d422 Aug 15, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx remove dead resources from tx/config Jan 21, 2016
app update translated resources Aug 15, 2016
external update to latest storypath master Jun 10, 2016
gradle/wrapper remove SecureShare from integrated module to external AAR May 17, 2016
scripts changed package name to org.storymaker.app from info.guardianproject.… Nov 7, 2014
.gitignore update gitignore Apr 29, 2015
.gitmodules update to gradle dependencies in all possible cases Dec 14, 2015
CHANGELOG.txt bumping to v 2.1.5 build 1100 Jun 10, 2016
LICENSE.txt Create LICENSE.txt Aug 20, 2014
README.md add section to README.md about generating content Nov 4, 2015
available_index_template.json update avail index to versions 12; update cover art links Jan 28, 2016
build.gradle remove SecureShare from integrated module to external AAR May 17, 2016
content.py update content.py Jan 16, 2016
git-submodule-sync.sh adding some helper scripts for translation and submodule May 30, 2014
gradlew Gradle build support. Minsdk 14 Oct 11, 2014
gradlew.bat Gradle build support. Minsdk 14 Oct 11, 2014
jenkins-build.sh make jenkins-build.sh easy to run on any machine Jun 6, 2014
lint-templates.sh adding some helper scripts for translation and submodule May 30, 2014
make-release.py make release now fails on failed sub command Feb 13, 2016
pull-translations.sh update to deal with new persian fa_IR translation Jan 28, 2016
run-tests.sh update target and compile to 22; add hugo dep; start adding hugo logs Sep 1, 2015
settings.gradle remove Wordpress module import May 18, 2016
setup-ant.sh Merge branch 'master' into secureshare Jul 15, 2014
spoon-runner-1.1.2-jar-with-dependencies.jar Testing setup with Spoon + Espresso Dec 20, 2014
tests.sh update tests Mar 19, 2015

README.md

Story Maker - Make your story great.

StoryMaker.org

Download StoryMaker - Video, Audio & Photo in the the Google Play Store.

Setting up Development Environment

Prerequisites: .

Follow these steps to setup your dev environment:

  1. Clone the git repo, make sure you fork first if you intend to commit

  2. Init and update git submodules

    $ git submodule update --init --recursive
    
  3. Ensure NDK_BASE env variable is set to the location of your NDK, example:

    $ export NDK_BASE=/path/to/android-ndk
    
  4. Build android-ffmpeg

    $ cd external/android-ffmpeg-java/external/android-ffmpeg/
    $ ./configure_make_everything.sh
    
  5. Create SecureSHaredLib third party credentials file

    vim ./external/SecureShareLib/SecureShareUILibrary/res/values/credentials.xml
    

    Add the following contents:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <!-- insert your own keys from: https://www.flickr.com/services/apps/create/apply/ -->
        <string name="flickr_key">REPLACE_WITH_YOUR_KEY</string>
        <string name="flickr_secret">REPLACE_WITH_YOUR_KEY</string>
    
        <!-- insert your own keys following: https://developers.google.com/accounts/docs/OAuth2 -->
        <string name="google_client_id">REPLACE_WITH_YOUR_ID</string>
        <string name="google_client_secret">REPLACE_WITH_YOUR_SECRET</string>
        <string name="google_app_name">REPLACE_WITH_YOUR_APP_NAME</string>
    
        <string name="s3_key">REPLACE_WITH_YOUR_APP_NAME</string>
        <string name="s3_secret">REPLACE_WITH_YOUR_APP_NAME</string>
        <string name="s3_bucket">REPLACE_WITH_YOUR_APP_NAME</string>
        <string name="s3_path_prefix">REPLACE_WITH_YOUR_APP_NAME</string>
    
        <string name="sm_key">REPLACE_WITH_YOUR_SM_KEY</string>
        <string name="sm_secret">REPLACE_WITH_YOUR_SM_SECRET</string>
    
        <string name="sm_tor_host">REPLACE_WITH_YOUR_TOR_HOST</string>
        <string name="sm_tor_port">REPLACE_WITH_YOUR_TOR_PORT</string>
    </resources>
  6. Create Google Play Developer Account credentials file

    vim ./external/liger/lib/src/main/res/values/google_play.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="base64_public_key">REPLACE WITH YOUR PUBLIC KEY</string>
        <string name="liger_salt">REPLACE WITH A STRING OF BYTES</string>
    </resources>
    

Android Studio Specific Steps

After completing all items under Prerequisites:

  1. File -> Import Project -> Point to the root project directory

  2. (optional) Build from the command line

    $ ./gradlew assembleDebug
    

How to update content packs

  • update AVAILABLE_INDEX_VERSION in Constants:

$ gedit storymaker/external/liger/lib/src/main/java/scal/io/liger/Constants.java

  • generate zip:

./content.py generate ; ./content.py zip_one_content_pack beta 6 ./content.py generate ; ./content.py zip_one_content_pack citizen_journalism_pack 2

  • update records in available_index.json (version, size and hash)

$ gedit external/liger/lib/src/main/assets/available_index.json

  • test:

./content.py push_test_files beta 6 ./content.py push_test_files citizen_journalism_pack 2

  • test it:

  • upload zip to s3

  • make public

Testing

We have a helper script "run-tests.sh" that should run the core tests

There are several test classes you can also run manually:

  • DownloadAndPatchTest - downloads a content pack with a patch and verifies their content

  • EndToEndTest.java - logs in before creating and uploading a new story

  • HookPathsTest.java - checks all possible hook paths for dead ends

Please note that you must build with the "testing" branch of the liger(storypath) submodule to run DownloadAndPatchTest. To do this, follow these steps:

```
$ cd external/liger/
$ git fetch origin testing:testing
$ git checkout testing
```

To return to the "master" branch of liger(storypath) for a normal build, do the following:

```
$ cd external/liger/
$ git checkout master
```

Eclipse Specific Steps

!! This is outdated and probably doesn't work anymore

After completing all items under Prerequisites:

  1. run script to update all libraries android support library. from command line run in the top level of the repo:

    $ scripts/copy-support-libs.sh
    
  2. Import dependancies into Eclipse

    Using the File->Import->Android->"Existing Android Code Into Workspace" option, import these projects in this order:

     external/HoloEverywhere/contrib/ActionBarSherlock/library/
     external/HoloEverywhere/library/
     external/NetCipher/
     external/android-ffmpeg-java/
     external/WordpressJavaAndroid/
     external/SecureShareLib/SecureShareUILibrary/
     external/SecureShareLib/SecureShareUILibrary/external/facebook-sdk/
     external/cardsui-for-android/CardsUILib
     external/SlidingMenu/library
     external/Android-ViewPagerIndicator/library
     external/RangeSeekBar/library
    
  3. Import the StoryMaker project from the app/ subfolder

  4. (optional) Build from the command line

    $ cd app/
    $ ./setup-ant.sh
    $ ant clean debug
    
You can’t perform that action at this time.