TODOs - forking persistence by product flavor
Change-Id: I1493fa5f953eecf4dfdcd12a735886e68510d7f7
diff --git a/projects/todos/app/build.gradle b/projects/todos/app/build.gradle
index 3f6b1a5..b125830 100644
--- a/projects/todos/app/build.gradle
+++ b/projects/todos/app/build.gradle
@@ -11,6 +11,14 @@
versionCode 1
versionName "1.0"
}
+ productFlavors {
+ firebase {
+ applicationId "io.v.todos.firebase"
+ }
+ syncbase {
+ applicationId "io.v.todos.syncbase"
+ }
+ }
buildTypes {
release {
minifyEnabled false
@@ -27,9 +35,12 @@
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:23.1.1'
- compile 'com.android.support:design:23.1.1'
- compile 'com.firebase:firebase-client-android:2.5.2'
- compile 'com.android.support:cardview-v7:23.1.1'
- compile 'com.android.support:recyclerview-v7:23.1.1'
+ compile (
+ 'com.android.support:appcompat-v7:23.1.1',
+ 'com.android.support:design:23.1.1',
+ 'com.android.support:cardview-v7:23.1.1',
+ 'com.android.support:recyclerview-v7:23.1.1'
+ )
+ firebaseCompile 'com.firebase:firebase-client-android:2.5.2'
+ syncbaseCompile 'com.fasterxml.jackson.core:jackson-annotations:2.7.3'
}
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/PersistenceFactory.java b/projects/todos/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java
similarity index 91%
rename from projects/todos/app/src/main/java/io/v/todos/persistence/PersistenceFactory.java
rename to projects/todos/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java
index b29f4f5..f137b99 100644
--- a/projects/todos/app/src/main/java/io/v/todos/persistence/PersistenceFactory.java
+++ b/projects/todos/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java
@@ -20,7 +20,6 @@
*/
public static MainPersistence getMainPersistence(Context context,
ListEventListener<TodoList> listener) {
- // TODO(rosswang): Choose this by build variant.
return new FirebaseMain(context, listener);
}
@@ -31,7 +30,6 @@
*/
public static TodoListPersistence getTodoListPersistence(Context context, String key,
TodoListListener listener) {
- // TODO(rosswang): Choose this by build variant.
return new FirebaseTodoList(context, key, listener);
}
}
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/firebase/ChildEventListenerAdapter.java b/projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/ChildEventListenerAdapter.java
similarity index 100%
rename from projects/todos/app/src/main/java/io/v/todos/persistence/firebase/ChildEventListenerAdapter.java
rename to projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/ChildEventListenerAdapter.java
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/firebase/FirebaseMain.java b/projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseMain.java
similarity index 100%
rename from projects/todos/app/src/main/java/io/v/todos/persistence/firebase/FirebaseMain.java
rename to projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseMain.java
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/firebase/FirebasePersistence.java b/projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/FirebasePersistence.java
similarity index 100%
rename from projects/todos/app/src/main/java/io/v/todos/persistence/firebase/FirebasePersistence.java
rename to projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/FirebasePersistence.java
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/firebase/FirebaseTodoList.java b/projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseTodoList.java
similarity index 100%
rename from projects/todos/app/src/main/java/io/v/todos/persistence/firebase/FirebaseTodoList.java
rename to projects/todos/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseTodoList.java
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/PersistenceFactory.java b/projects/todos/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java
similarity index 76%
copy from projects/todos/app/src/main/java/io/v/todos/persistence/PersistenceFactory.java
copy to projects/todos/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java
index b29f4f5..d19bd27 100644
--- a/projects/todos/app/src/main/java/io/v/todos/persistence/PersistenceFactory.java
+++ b/projects/todos/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java
@@ -7,8 +7,6 @@
import android.content.Context;
import io.v.todos.TodoList;
-import io.v.todos.persistence.firebase.FirebaseMain;
-import io.v.todos.persistence.firebase.FirebaseTodoList;
public final class PersistenceFactory {
private PersistenceFactory(){}
@@ -20,8 +18,7 @@
*/
public static MainPersistence getMainPersistence(Context context,
ListEventListener<TodoList> listener) {
- // TODO(rosswang): Choose this by build variant.
- return new FirebaseMain(context, listener);
+ throw new RuntimeException("Unsupported product flavor.");
}
/**
@@ -31,7 +28,6 @@
*/
public static TodoListPersistence getTodoListPersistence(Context context, String key,
TodoListListener listener) {
- // TODO(rosswang): Choose this by build variant.
- return new FirebaseTodoList(context, key, listener);
+ throw new RuntimeException("Unsupported product flavor.");
}
}
diff --git a/projects/todos/app/src/main/java/io/v/todos/persistence/syncbase/SyncbasePersistence.java b/projects/todos/app/src/syncbase/java/io/v/todos/persistence/syncbase/SyncbasePersistence.java
similarity index 100%
rename from projects/todos/app/src/main/java/io/v/todos/persistence/syncbase/SyncbasePersistence.java
rename to projects/todos/app/src/syncbase/java/io/v/todos/persistence/syncbase/SyncbasePersistence.java