diff --git a/.gitignore b/.gitignore index 5dac550..bd1d989 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,4 @@ gen-external-apklibs .idea out .DS_Store - +classes diff --git a/README.md b/README.md index 393dac5..eb5cf27 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,60 @@ # Android Bootstrap App This repository contains the source code for the [Android Bootstrap](http://www.androidbootstrap.com/) -Android app available soon from [Google Play](https://play.google.com/store/apps/details?id=com.donnfelker.android.bootstrap). - - +Android app available from [Google Play](https://play.google.com/store/apps/details?id=com.donnfelker.android.bootstrap). Please see the [issues](https://github.com/donnfelker/android-bootstrap/issues) section to report any bugs or feature requests and to see the list of known issues. - +Have a questions about Android Bootstrap? Ask away on the [android-bootstrap discussion forum](https://groups.google.com/forum/#!forum/android-bootstrap). + + +## HOW TO +Learn how to develop with IntelliJ and Maven. [Watch the how to video](http://www.youtube.com/watch?v=YbyzRNxcvZw&feature=youtube_gdata) + +## Authentication +Log into this demo app with the following credentials: + +user: demo@androidbootstrap.com + +password: android + + +## Generating your Bootstrap App +Why generate? Simple ... renaming files, folders, copy and pasting is SUPER error prone and well... it sucks overall. This can easily take a few days with debugging if you run into issues and perform a lot of typo's. Using the generator on [AndroidBootstrap.com](http://www.androidbootstrap.com) you can generate your application with your application name as well as the package (and folder structure) that you want to work with. + +As an example, you know that you want your app name and package to the following: + + - *App Name*: Notify + - *Package Name*: com.notify.app.mobile + +After generating the app on [AndroidBootstrap.com](http://www.androidbootstrap.com) the folder structure of the source code for the app will change: + + - From: __com/donnfelker/android/bootstrap__ + - To: __com/notify/app/mobile__ + +At that point all the source files that were located in ____com/donnfelker/android/bootstrap__ will be moved to the new folder __com/notify/app/mobile__. + +All import statments that reference the old resources (__R.com.donnfelker.android.bootstrap.R__) will now be renamed to the correct package. The artifact id's in the *pom.xml* (and various other places) will be replaced. The App Name will be replaced in the strings/etc. + +The end result is that you will be given a zip file with the correct structure. Open the zip and then execute *mvn clean package* and your app should be ready for development. + +Enjoy! + +The application + ## License * [Apache Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) -Copyright 2012 Donn Felker +Copyright 2013 Donn Felker -Copyright 2012 GitHub Inc. +Copyright 2013 GitHub Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -70,10 +104,12 @@ and uses many great open-source libraries from the Android dev community: * [ActionBarSherlock](https://github.com/JakeWharton/ActionBarSherlock) for a consistent, great looking header across all Android platforms, [ViewPagerIndicator](https://github.com/JakeWharton/Android-ViewPagerIndicator) - for swiping between content, traffic, & referrer pages, and - [NineOldAndroids](https://github.com/JakeWharton/NineOldAndroids) for the - AirTraffic view animations - all from [Jake Wharton](http://jakewharton.com/). -* [RoboGuice](http://code.google.com/p/roboguice/) for dependency-injection. + for swiping between fragments and + [NineOldAndroids](https://github.com/JakeWharton/NineOldAndroids) for + view animations - all from [Jake Wharton](http://jakewharton.com/). +* [Dagger](https://github.com/square/dagger) for dependency-injection. +* [ButterKnife](https://github.com/JakeWharton/butterknife) for view injection +* [Otto](https://github.com/square/otto) as the event bus * [Robotium](http://code.google.com/p/robotium/) for driving our app during integration tests. * [android-maven-plugin](https://github.com/jayway/maven-android-plugin) diff --git a/app/AndroidManifest.xml b/app/AndroidManifest.xml index 30e28d0..f26e711 100644 --- a/app/AndroidManifest.xml +++ b/app/AndroidManifest.xml @@ -34,6 +34,11 @@ + + + https://github.com/donnfelker/android-bootstrap - 1.4 + 1.0 com.donnfelker.android.bootstrap android-bootstrap-parent - 4.1.0 + 4.2.0 + 1.0-SNAPSHOT @@ -28,17 +29,23 @@ com.google.code.gson gson - 2.1 + 2.2.2 - com.github.rtyley - roboguice-sherlock - 1.4 + com.squareup.dagger + dagger + ${dagger.version} - org.roboguice - roboguice - 2.0 + com.squareup.dagger + dagger-compiler + ${dagger.version} + true + + + com.jakewharton + butterknife + 1.3.0 com.actionbarsherlock @@ -48,7 +55,7 @@ com.actionbarsherlock - library + actionbarsherlock ${abs.version} jar provided @@ -56,18 +63,18 @@ com.github.kevinsawicki http-request - 2.1 + 3.0 com.viewpagerindicator library - 2.3.1 + 2.4.1 apklib com.nineoldandroids library - 2.2.0 + 2.4.0 com.github.kevinsawicki @@ -77,25 +84,30 @@ com.github.kevinsawicki wishlist - 0.3 + 0.8 apklib + + com.squareup + otto + 1.3.2 + junit junit - 4.10 + 4.11 test org.hamcrest hamcrest-library - 1.3.RC2 + 1.3 test org.mockito mockito-core - 1.9.0 + 1.9.5 test @@ -104,6 +116,13 @@ com.jayway.maven.plugins.android.generation2 android-maven-plugin + + + com.squareup.dagger + dagger-compiler + ${dagger.version} + + maven-compiler-plugin @@ -150,7 +169,7 @@ Also, if you have a ci (Continuous Integration) profile, these values can be passed in via the build server. --> ${bootstrap.sign.keystore} - ${boostrap.sign.alias} + ${bootstrap.sign.alias} ${bootstrap.sign.storepass} ${bootstrap.sign.keypass} true diff --git a/app/res/drawable-hdpi-v11/ic_stat_ab_notification.png b/app/res/drawable-hdpi-v11/ic_stat_ab_notification.png new file mode 100755 index 0000000..3b28155 Binary files /dev/null and b/app/res/drawable-hdpi-v11/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-hdpi-v9/ic_stat_ab_notification.png b/app/res/drawable-hdpi-v9/ic_stat_ab_notification.png new file mode 100755 index 0000000..72d24f6 Binary files /dev/null and b/app/res/drawable-hdpi-v9/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-hdpi/ic_action_timer.png b/app/res/drawable-hdpi/ic_action_timer.png new file mode 100755 index 0000000..dda32bd Binary files /dev/null and b/app/res/drawable-hdpi/ic_action_timer.png differ diff --git a/app/res/drawable-hdpi/ic_stat_ab_notification.png b/app/res/drawable-hdpi/ic_stat_ab_notification.png new file mode 100755 index 0000000..d3d4d39 Binary files /dev/null and b/app/res/drawable-hdpi/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-ldpi-v11/ic_stat_ab_notification.png b/app/res/drawable-ldpi-v11/ic_stat_ab_notification.png new file mode 100755 index 0000000..b8685af Binary files /dev/null and b/app/res/drawable-ldpi-v11/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-ldpi-v9/ic_stat_ab_notification.png b/app/res/drawable-ldpi-v9/ic_stat_ab_notification.png new file mode 100755 index 0000000..944778f Binary files /dev/null and b/app/res/drawable-ldpi-v9/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-mdpi-v11/ic_stat_ab_notification.png b/app/res/drawable-mdpi-v11/ic_stat_ab_notification.png new file mode 100755 index 0000000..d4087e5 Binary files /dev/null and b/app/res/drawable-mdpi-v11/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-mdpi-v9/ic_stat_ab_notification.png b/app/res/drawable-mdpi-v9/ic_stat_ab_notification.png new file mode 100755 index 0000000..6011074 Binary files /dev/null and b/app/res/drawable-mdpi-v9/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-mdpi/ic_action_timer.png b/app/res/drawable-mdpi/ic_action_timer.png new file mode 100755 index 0000000..475b0c6 Binary files /dev/null and b/app/res/drawable-mdpi/ic_action_timer.png differ diff --git a/app/res/drawable-mdpi/ic_stat_ab_notification.png b/app/res/drawable-mdpi/ic_stat_ab_notification.png new file mode 100755 index 0000000..d763f38 Binary files /dev/null and b/app/res/drawable-mdpi/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-xhdpi-v11/ic_stat_ab_notification.png b/app/res/drawable-xhdpi-v11/ic_stat_ab_notification.png new file mode 100755 index 0000000..b321d3a Binary files /dev/null and b/app/res/drawable-xhdpi-v11/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-xhdpi-v9/ic_stat_ab_notification.png b/app/res/drawable-xhdpi-v9/ic_stat_ab_notification.png new file mode 100755 index 0000000..1f33587 Binary files /dev/null and b/app/res/drawable-xhdpi-v9/ic_stat_ab_notification.png differ diff --git a/app/res/drawable-xhdpi/ic_action_timer.png b/app/res/drawable-xhdpi/ic_action_timer.png new file mode 100755 index 0000000..1c2ca4f Binary files /dev/null and b/app/res/drawable-xhdpi/ic_action_timer.png differ diff --git a/app/res/drawable-xhdpi/ic_stat_ab_notification.png b/app/res/drawable-xhdpi/ic_stat_ab_notification.png new file mode 100755 index 0000000..8d8c0e9 Binary files /dev/null and b/app/res/drawable-xhdpi/ic_stat_ab_notification.png differ diff --git a/app/res/drawable/button_background_pressed.xml b/app/res/drawable/button_background_pressed.xml new file mode 100644 index 0000000..6dcb77f --- /dev/null +++ b/app/res/drawable/button_background_pressed.xml @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/res/drawable/button_background_states.xml b/app/res/drawable/button_background_states.xml index 6aebde7..eafea6f 100644 --- a/app/res/drawable/button_background_states.xml +++ b/app/res/drawable/button_background_states.xml @@ -2,7 +2,8 @@ - + + \ No newline at end of file diff --git a/app/res/layout/bootstrap_timer.xml b/app/res/layout/bootstrap_timer.xml new file mode 100644 index 0000000..5367a92 --- /dev/null +++ b/app/res/layout/bootstrap_timer.xml @@ -0,0 +1,51 @@ + + + + + + +