Revert "Remove the build flavors"

This reverts commit c38dad605a.
This commit is contained in:
Bradlee Speice 2014-11-06 19:57:13 -05:00
parent dc9700e268
commit 72f375ff9f
15 changed files with 112 additions and 24 deletions

View File

@ -42,6 +42,18 @@ android {
exclude 'NOTICE' exclude 'NOTICE'
exclude 'asm-license.txt' exclude 'asm-license.txt'
} }
productFlavors {
testConfig {
minSdkVersion 8
applicationId 'org.bspeice.minimalbible'
targetSdkVersion 20
}
mainConfig {
minSdkVersion 8
applicationId 'org.bspeice.minimalbible'
targetSdkVersion 20
}
}
sourceSets { sourceSets {
main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/main/kotlin'
} }
@ -71,7 +83,7 @@ dependencies {
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:+' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:+'
// Email debug reports if I crash... // Email debug reports if I crash...
debugCompile('ch.acra:acra:+') { testConfigCompile('ch.acra:acra:+') {
exclude module: 'json' exclude module: 'json'
} }
} }

View File

@ -2,7 +2,17 @@ package org.bspeice.minimalbible.test.activity.viewer;
import android.test.ActivityInstrumentationTestCase2; import android.test.ActivityInstrumentationTestCase2;
import org.bspeice.minimalbible.Modules;
import org.bspeice.minimalbible.activity.viewer.BibleViewer; 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<BibleViewer> { public class BibleViewerTest extends ActivityInstrumentationTestCase2<BibleViewer> {
@ -19,10 +29,7 @@ public class BibleViewerTest extends ActivityInstrumentationTestCase2<BibleViewe
/** /**
* It may happen to be the case that we start and there are no installed books. * It may happen to be the case that we start and there are no installed books.
* This likely triggers a runtime exception from Rx, and is no excuse for dying. * This likely triggers a runtime exception from Rx, and is no excuse for dying.
*
* Test disabled until I can get some refactoring done
*/ */
/*
public void testInitializationNoInstalledBooks() { public void testInitializationNoInstalledBooks() {
BookManager mockBookManager = mock(BookManager.class); BookManager mockBookManager = mock(BookManager.class);
when(mockBookManager.getInstalledBooks()).thenReturn( when(mockBookManager.getInstalledBooks()).thenReturn(
@ -31,5 +38,5 @@ public class BibleViewerTest extends ActivityInstrumentationTestCase2<BibleViewe
assertNotNull(getActivity()); assertNotNull(getActivity());
} }
*/
} }

View File

@ -0,0 +1,14 @@
package org.bspeice.minimalbible;
/**
* List modules used by default MinimalBible configuration
*/
public class Modules {
private Modules() {}
public static Object[] list(MinimalBible app) {
return new Object[] {
new MinimalBibleModules(app)
};
}
}

View File

@ -1,9 +1,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" > <manifest xmlns:android="http://schemas.android.com/apk/res/android" >
<application> <application>
<activity <activity android:name="org.bspeice.minimalbible.test.activity.FragmentTestActivity"
android:name="org.bspeice.minimalbible.test.activity.FragmentTestActivity" android:label="@string/title_activity_fragment_test"
android:label="@string/title_activity_fragment_test" /> >
</activity>
</application> </application>
</manifest> </manifest>

View File

@ -1,5 +1,6 @@
package org.bspeice.minimalbible; package org.bspeice.minimalbible;
import android.app.Application;
import android.content.Context; import android.content.Context;
import android.util.Log; import android.util.Log;
@ -19,13 +20,12 @@ import dagger.ObjectGraph;
mailTo = "bspeice.nc@gmail.com", mailTo = "bspeice.nc@gmail.com",
mode = ReportingInteractionMode.SILENT mode = ReportingInteractionMode.SILENT
) )
@SuppressWarnings("unused") public class MinimalBible extends Application implements Injector {
public class MinimalBibleTest extends MinimalBible implements Injector {
private String TAG = "MinimalBible"; private String TAG = "MinimalBible";
private ObjectGraph mObjectGraph; private ObjectGraph mObjectGraph;
public static MinimalBibleTest get(Context ctx) { public static MinimalBible get(Context ctx) {
return (MinimalBibleTest) ctx.getApplicationContext(); return (MinimalBible) ctx.getApplicationContext();
} }
@Override @Override

View File

@ -6,12 +6,14 @@ package org.bspeice.minimalbible;
*/ */
public class Modules { public class Modules {
private Modules() { public static TestModules testModules = new TestModules();
}
private Modules() {}
public static Object[] list(MinimalBible app) { public static Object[] list(MinimalBible app) {
return new Object[] { return new Object[] {
new MinimalBibleModules(app), new MinimalBibleModules(app),
testModules
}; };
} }
} }

View File

@ -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<BookCategory> provideValidCategories() {
return new ArrayList<BookCategory>() {{
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;
}
}

View File

@ -30,7 +30,6 @@ public class FragmentTestActivity extends ActionBarActivity {
} }
@Override @Override
@SuppressWarnings("all") // Leave the if-statement verbose
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will // Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long // automatically handle clicks on the Home/Up button, so long

View File

@ -2,9 +2,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
tools:context="org.bspeice.minimalbible.test.activity.FragmentTestActivity" > tools:context="org.bspeice.minimalbible.test.activity.FragmentTestActivity" >
<item <item android:id="@+id/action_settings"
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings" android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" /> app:showAsAction="never" />
</menu> </menu>

View File

@ -1,6 +1,6 @@
#Thu Oct 30 00:28:22 EDT 2014 #Wed Oct 22 20:42:04 EDT 2014
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists 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