diff --git a/app/build.gradle b/app/build.gradle index 2e74189..dae9bfd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,6 +42,18 @@ android { exclude 'NOTICE' exclude 'asm-license.txt' } + productFlavors { + testConfig { + minSdkVersion 8 + applicationId 'org.bspeice.minimalbible' + targetSdkVersion 20 + } + mainConfig { + minSdkVersion 8 + applicationId 'org.bspeice.minimalbible' + targetSdkVersion 20 + } + } sourceSets { main.java.srcDirs += 'src/main/kotlin' } @@ -71,7 +83,7 @@ dependencies { androidTestCompile 'com.google.dexmaker:dexmaker-mockito:+' // Email debug reports if I crash... - debugCompile('ch.acra:acra:+') { + testConfigCompile('ch.acra:acra:+') { exclude module: 'json' } } \ No newline at end of file diff --git a/app/src/androidTest/java/org/bspeice/minimalbible/test/activity/viewer/BibleViewerTest.java b/app/src/androidTest/java/org/bspeice/minimalbible/test/activity/viewer/BibleViewerTest.java index e33ecb9..1fffb70 100644 --- a/app/src/androidTest/java/org/bspeice/minimalbible/test/activity/viewer/BibleViewerTest.java +++ b/app/src/androidTest/java/org/bspeice/minimalbible/test/activity/viewer/BibleViewerTest.java @@ -2,7 +2,17 @@ package org.bspeice.minimalbible.test.activity.viewer; import android.test.ActivityInstrumentationTestCase2; +import org.bspeice.minimalbible.Modules; import org.bspeice.minimalbible.activity.viewer.BibleViewer; +import org.bspeice.minimalbible.service.manager.BookManager; +import org.crosswire.jsword.book.Book; + +import java.util.ArrayList; + +import rx.Observable; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; public class BibleViewerTest extends ActivityInstrumentationTestCase2 { @@ -19,10 +29,7 @@ public class BibleViewerTest extends ActivityInstrumentationTestCase2 + - + + diff --git a/app/src/androidTest/java/org/bspeice/minimalbible/MinimalBibleTest.java b/app/src/testConfig/java/org/bspeice/minimalbible/MinimalBible.java similarity index 88% rename from app/src/androidTest/java/org/bspeice/minimalbible/MinimalBibleTest.java rename to app/src/testConfig/java/org/bspeice/minimalbible/MinimalBible.java index 5e55c19..21f701b 100644 --- a/app/src/androidTest/java/org/bspeice/minimalbible/MinimalBibleTest.java +++ b/app/src/testConfig/java/org/bspeice/minimalbible/MinimalBible.java @@ -1,5 +1,6 @@ package org.bspeice.minimalbible; +import android.app.Application; import android.content.Context; import android.util.Log; @@ -19,13 +20,12 @@ import dagger.ObjectGraph; mailTo = "bspeice.nc@gmail.com", mode = ReportingInteractionMode.SILENT ) -@SuppressWarnings("unused") -public class MinimalBibleTest extends MinimalBible implements Injector { +public class MinimalBible extends Application implements Injector { private String TAG = "MinimalBible"; private ObjectGraph mObjectGraph; - public static MinimalBibleTest get(Context ctx) { - return (MinimalBibleTest) ctx.getApplicationContext(); + public static MinimalBible get(Context ctx) { + return (MinimalBible) ctx.getApplicationContext(); } @Override diff --git a/app/src/main/java/org/bspeice/minimalbible/Modules.java b/app/src/testConfig/java/org/bspeice/minimalbible/Modules.java similarity index 67% rename from app/src/main/java/org/bspeice/minimalbible/Modules.java rename to app/src/testConfig/java/org/bspeice/minimalbible/Modules.java index 1068286..0879293 100644 --- a/app/src/main/java/org/bspeice/minimalbible/Modules.java +++ b/app/src/testConfig/java/org/bspeice/minimalbible/Modules.java @@ -6,12 +6,14 @@ package org.bspeice.minimalbible; */ public class Modules { - private Modules() { - } + public static TestModules testModules = new TestModules(); + + private Modules() {} public static Object[] list(MinimalBible app) { - return new Object[]{ + return new Object[] { new MinimalBibleModules(app), + testModules }; } } diff --git a/app/src/testConfig/java/org/bspeice/minimalbible/TestModules.java b/app/src/testConfig/java/org/bspeice/minimalbible/TestModules.java new file mode 100644 index 0000000..ed03d46 --- /dev/null +++ b/app/src/testConfig/java/org/bspeice/minimalbible/TestModules.java @@ -0,0 +1,54 @@ +package org.bspeice.minimalbible; + + +import org.bspeice.minimalbible.activity.downloader.DownloadActivity; +import org.bspeice.minimalbible.service.manager.BookManager; +import org.crosswire.jsword.book.BookCategory; + +import java.util.ArrayList; +import java.util.List; + +import javax.inject.Named; +import javax.inject.Singleton; + +import dagger.Module; +import dagger.Provides; + +/** + * Created by Bradlee Speice on 7/5/2014. + */ +@Module(injects = DownloadActivity.class, + overrides = true, + library = true) +public class TestModules { + + public static CharSequence testActivityTitle = "Test"; + private BookManager bookManager; + + @Provides + CharSequence provideString() { + return testActivityTitle; + } + + @Provides + @Singleton + @Named("ValidCategories") + List provideValidCategories() { + return new ArrayList() {{ + add(BookCategory.BIBLE); + add(BookCategory.COMMENTARY); + add(BookCategory.DICTIONARY); + add(BookCategory.MAPS); + }}; + } + + public void setBookManager(BookManager bookManager) { + this.bookManager = bookManager; + } + + @Provides + @Singleton + BookManager provideBookManager() { + return bookManager; + } +} diff --git a/app/src/debug/java/org/bspeice/minimalbible/test/activity/FragmentTestActivity.java b/app/src/testConfig/java/org/bspeice/minimalbible/test/activity/FragmentTestActivity.java similarity index 97% rename from app/src/debug/java/org/bspeice/minimalbible/test/activity/FragmentTestActivity.java rename to app/src/testConfig/java/org/bspeice/minimalbible/test/activity/FragmentTestActivity.java index 5c2873e..2a46a63 100644 --- a/app/src/debug/java/org/bspeice/minimalbible/test/activity/FragmentTestActivity.java +++ b/app/src/testConfig/java/org/bspeice/minimalbible/test/activity/FragmentTestActivity.java @@ -30,7 +30,6 @@ public class FragmentTestActivity extends ActionBarActivity { } @Override - @SuppressWarnings("all") // Leave the if-statement verbose public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long diff --git a/app/src/debug/res/layout/activity_fragment_test.xml b/app/src/testConfig/res/layout/activity_fragment_test.xml similarity index 100% rename from app/src/debug/res/layout/activity_fragment_test.xml rename to app/src/testConfig/res/layout/activity_fragment_test.xml diff --git a/app/src/debug/res/menu/fragment_test.xml b/app/src/testConfig/res/menu/fragment_test.xml similarity index 84% rename from app/src/debug/res/menu/fragment_test.xml rename to app/src/testConfig/res/menu/fragment_test.xml index ca8d5fb..9bb73ad 100644 --- a/app/src/debug/res/menu/fragment_test.xml +++ b/app/src/testConfig/res/menu/fragment_test.xml @@ -1,10 +1,9 @@ - + diff --git a/app/src/debug/res/values-w820dp/dimens.xml b/app/src/testConfig/res/values-w820dp/dimens.xml similarity index 100% rename from app/src/debug/res/values-w820dp/dimens.xml rename to app/src/testConfig/res/values-w820dp/dimens.xml diff --git a/app/src/debug/res/values/dimens.xml b/app/src/testConfig/res/values/dimens.xml similarity index 100% rename from app/src/debug/res/values/dimens.xml rename to app/src/testConfig/res/values/dimens.xml diff --git a/app/src/debug/res/values/strings.xml b/app/src/testConfig/res/values/strings.xml similarity index 61% rename from app/src/debug/res/values/strings.xml rename to app/src/testConfig/res/values/strings.xml index e19613e..981e6a3 100644 --- a/app/src/debug/res/values/strings.xml +++ b/app/src/testConfig/res/values/strings.xml @@ -1,5 +1,5 @@ - FragmentTestActivity + FragmentTestActivity Hello world! Settings diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 40568e2..5ace921 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Oct 30 00:28:22 EDT 2014 +#Wed Oct 22 20:42:04 EDT 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip