Renaming TodoList -> ListMetadata

Closes vanadium/issues#1295

Change-Id: I72c503dbc0e03093c205cf39d5dc55f42c78c2a6
diff --git a/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java b/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java
index f0da774..07a13c7 100644
--- a/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java
+++ b/app/src/firebase/java/io/v/todos/persistence/PersistenceFactory.java
@@ -6,7 +6,7 @@
 
 import android.content.Context;
 
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 import io.v.todos.persistence.firebase.FirebaseMain;
 import io.v.todos.persistence.firebase.FirebaseTodoList;
 
@@ -19,7 +19,7 @@
      * @param context an Android context, usually from an Android activity or application
      */
     public static MainPersistence getMainPersistence(Context context,
-                                                     ListEventListener<TodoList> listener) {
+                                                     ListEventListener<ListMetadata> listener) {
         return new FirebaseMain(context, listener);
     }
 
diff --git a/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseMain.java b/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseMain.java
index f5f0998..9066a0b 100644
--- a/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseMain.java
+++ b/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseMain.java
@@ -16,8 +16,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import io.v.todos.model.ListMetadata;
 import io.v.todos.model.Task;
-import io.v.todos.model.TodoList;
 import io.v.todos.persistence.ListEventListener;
 import io.v.todos.persistence.MainPersistence;
 
@@ -27,29 +27,29 @@
     private final Firebase mTodoLists;
     private final ChildEventListener mTodoListsListener;
 
-    private final ListEventListener<TodoList> mListener;
+    private final ListEventListener<ListMetadata> mListener;
 
     private final Map<String, ChildEventListener> mTodoListTaskListeners;
     private final Map<String, TodoListTasksListener> mTodoListTrackers;
 
-    public FirebaseMain(Context context, final ListEventListener<TodoList> listener) {
+    public FirebaseMain(Context context, final ListEventListener<ListMetadata> listener) {
         super(context);
 
         mTodoLists = getFirebase().child(TODO_LISTS);
 
         // This handler will forward events to the passed in listener after ensuring that all the
-        // data in the TodoList is set and can automatically update.
+        // data in the ListMetadata is set and can automatically update.
         mTodoListsListener = mTodoLists.addChildEventListener(
-                new ChildEventListenerAdapter<>(TodoList.class, new ListEventListener<TodoList>() {
+                new ChildEventListenerAdapter<>(ListMetadata.class, new ListEventListener<ListMetadata>() {
                     @Override
-                    public void onItemAdd(TodoList item) {
+                    public void onItemAdd(ListMetadata item) {
                         // Hook up listeners for the # completed and # tasks. Then forward the item.
                         startWatchTodoListTasks(item);
                         mListener.onItemAdd(item);
                     }
 
                     @Override
-                    public void onItemUpdate(TodoList item) {
+                    public void onItemUpdate(ListMetadata item) {
                         // Retrieve # completed and # tasks. Then forward the item.
                         setTaskCompletion(item);
                         mListener.onItemUpdate(item);
@@ -69,8 +69,8 @@
     }
 
     @Override
-    public void addTodoList(TodoList todoList) {
-        mTodoLists.push().setValue(todoList);
+    public void addTodoList(ListMetadata listMetadata) {
+        mTodoLists.push().setValue(listMetadata);
     }
 
     @Override
@@ -83,15 +83,15 @@
     }
 
     @Override
-    public void completeAllTasks(final TodoList todoList) {
+    public void completeAllTasks(final ListMetadata listMetadata) {
         // Update all child tasks for this key to have done = true.
-        Firebase tasksRef = getFirebase().child(FirebaseTodoList.TASKS).child(todoList.getKey());
+        Firebase tasksRef = getFirebase().child(FirebaseTodoList.TASKS).child(listMetadata.getKey());
         tasksRef.runTransaction(new Transaction.Handler() {
             @Override
             public Transaction.Result doTransaction(MutableData mutableData) {
                 // Note: This is very easy to make conflicts with. It may be better to avoid doing
                 // this in a batch or to split up the Task into components.
-                for (Task t : mTodoListTrackers.get(todoList.getKey()).mTasks.values()) {
+                for (Task t : mTodoListTrackers.get(listMetadata.getKey()).mTasks.values()) {
                     Task tCopy = t.copy();
                     tCopy.setDone(true);
                     mutableData.child(t.getKey()).setValue(tCopy);
@@ -105,19 +105,19 @@
         });
 
         // Further, update this todo list to set its last updated time.
-        mTodoLists.child(todoList.getKey()).setValue(new TodoList(todoList.getName()));
+        mTodoLists.child(listMetadata.getKey()).setValue(new ListMetadata(listMetadata.getName()));
     }
 
-    private void setTaskCompletion(TodoList todoList) {
-        TodoListTasksListener tracker = mTodoListTrackers.get(todoList.getKey());
-        tracker.swapTodoList(todoList);
+    private void setTaskCompletion(ListMetadata listMetadata) {
+        TodoListTasksListener tracker = mTodoListTrackers.get(listMetadata.getKey());
+        tracker.swapTodoList(listMetadata);
     }
 
-    private void startWatchTodoListTasks(final TodoList todoList) {
-        final String todoListKey = todoList.getKey();
+    private void startWatchTodoListTasks(final ListMetadata listMetadata) {
+        final String todoListKey = listMetadata.getKey();
 
         Firebase taskRef = getFirebase().child(FirebaseTodoList.TASKS).child(todoListKey);
-        TodoListTasksListener tasksListener = new TodoListTasksListener(todoList);
+        TodoListTasksListener tasksListener = new TodoListTasksListener(listMetadata);
         ChildEventListener l = taskRef.addChildEventListener(
                 new ChildEventListenerAdapter<>(Task.class, tasksListener)
         );
@@ -140,12 +140,12 @@
     }
 
     private class TodoListTasksListener implements ListEventListener<Task> {
-        TodoList mTodoList; // The list whose numCompleted and numTasks fields will be updated.
+        ListMetadata mListMetadata; // The list whose numCompleted and numTasks fields will be updated.
         final Map<String, Task> mTasks;
         boolean disabled = false;
 
-        TodoListTasksListener(TodoList todoList) {
-            mTodoList = todoList;
+        TodoListTasksListener(ListMetadata listMetadata) {
+            mListMetadata = listMetadata;
             mTasks = new HashMap<>();
         }
 
@@ -156,14 +156,14 @@
             disabled = true;
         }
 
-        public void swapTodoList(TodoList otherList) {
+        public void swapTodoList(ListMetadata otherList) {
             if (disabled) {
                 return;
             }
-            assert mTodoList.getKey() == otherList.getKey();
-            otherList.numCompleted = mTodoList.numCompleted;
-            otherList.numTasks = mTodoList.numTasks;
-            mTodoList = otherList;
+            assert mListMetadata.getKey() == otherList.getKey();
+            otherList.numCompleted = mListMetadata.numCompleted;
+            otherList.numTasks = mListMetadata.numTasks;
+            mListMetadata = otherList;
         }
 
         @Override
@@ -171,13 +171,13 @@
             if (disabled) {
                 return;
             }
-            mTodoList.numTasks++;
+            mListMetadata.numTasks++;
             if (item.getDone()) {
-                mTodoList.numCompleted++;
+                mListMetadata.numCompleted++;
             }
             mTasks.put(item.getKey(), item);
 
-            mListener.onItemUpdate(mTodoList);
+            mListener.onItemUpdate(mListMetadata);
         }
 
         @Override
@@ -190,11 +190,11 @@
 
             if (oldItem.getDone() != item.getDone()) {
                 if (item.getDone()) {
-                    mTodoList.numCompleted++;
+                    mListMetadata.numCompleted++;
                 } else {
-                    mTodoList.numCompleted--;
+                    mListMetadata.numCompleted--;
                 }
-                mListener.onItemUpdate(mTodoList);
+                mListener.onItemUpdate(mListMetadata);
             }
         }
 
@@ -203,13 +203,13 @@
             if (disabled) {
                 return;
             }
-            mTodoList.numTasks--;
+            mListMetadata.numTasks--;
             Task t = mTasks.remove(key);
             if (t.getDone()) {
-                mTodoList.numCompleted--;
+                mListMetadata.numCompleted--;
             }
 
-            mListener.onItemUpdate(mTodoList);
+            mListener.onItemUpdate(mListMetadata);
         }
     }
 }
diff --git a/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseTodoList.java b/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseTodoList.java
index ffe9419..402cd62 100644
--- a/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseTodoList.java
+++ b/app/src/firebase/java/io/v/todos/persistence/firebase/FirebaseTodoList.java
@@ -12,8 +12,8 @@
 import com.firebase.client.FirebaseError;
 import com.firebase.client.ValueEventListener;
 
+import io.v.todos.model.ListMetadata;
 import io.v.todos.model.Task;
-import io.v.todos.model.TodoList;
 import io.v.todos.persistence.TodoListListener;
 import io.v.todos.persistence.TodoListPersistence;
 
@@ -24,7 +24,7 @@
     private final ValueEventListener mTodoListListener;
     private final ChildEventListener mTasksListener;
 
-    private TodoList mList;
+    private ListMetadata mList;
 
     public FirebaseTodoList(Context context, String todoListKey, final TodoListListener listener) {
         super(context);
@@ -35,12 +35,12 @@
         mTodoListListener = mTodoList.addValueEventListener(new ValueEventListener() {
             @Override
             public void onDataChange(DataSnapshot dataSnapshot) {
-                TodoList todoList = dataSnapshot.getValue(TodoList.class);
-                if (todoList == null) {
+                ListMetadata listMetadata = dataSnapshot.getValue(ListMetadata.class);
+                if (listMetadata == null) {
                     listener.onDelete();
                 } else {
-                    mList = todoList;
-                    listener.onUpdate(todoList);
+                    mList = listMetadata;
+                    listener.onUpdate(listMetadata);
                 }
             }
 
@@ -55,8 +55,8 @@
     }
 
     @Override
-    public void updateTodoList(TodoList todoList) {
-        mTodoList.setValue(todoList);
+    public void updateTodoList(ListMetadata listMetadata) {
+        mTodoList.setValue(listMetadata);
     }
 
     @Override
@@ -67,19 +67,19 @@
     @Override
     public void addTask(Task task) {
         mTasks.push().setValue(task);
-        mTodoList.setValue(new TodoList(mList.getName()));
+        mTodoList.setValue(new ListMetadata(mList.getName()));
     }
 
     @Override
     public void updateTask(Task task) {
         mTasks.child(task.getKey()).setValue(task);
-        mTodoList.setValue(new TodoList(mList.getName()));
+        mTodoList.setValue(new ListMetadata(mList.getName()));
     }
 
     @Override
     public void deleteTask(String key) {
         mTasks.child(key).removeValue();
-        mTodoList.setValue(new TodoList(mList.getName()));
+        mTodoList.setValue(new ListMetadata(mList.getName()));
     }
 
     @Override
diff --git a/app/src/main/java/io/v/todos/MainActivity.java b/app/src/main/java/io/v/todos/MainActivity.java
index a141ee6..93e84b3 100644
--- a/app/src/main/java/io/v/todos/MainActivity.java
+++ b/app/src/main/java/io/v/todos/MainActivity.java
@@ -19,7 +19,7 @@
 import android.widget.Toolbar;
 
 import io.v.todos.model.DataList;
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 import io.v.todos.persistence.ListEventListener;
 import io.v.todos.persistence.MainPersistence;
 import io.v.todos.persistence.PersistenceFactory;
@@ -41,7 +41,7 @@
     // These todos are backed up at the SNACKOOS child of the Firebase URL.
     // We use the snackoosList to track a custom sorted list of the stored values.
     static final String INTENT_SNACKOO_KEY = "snackoo key";
-    private DataList<TodoList> snackoosList = new DataList<TodoList>();
+    private DataList<ListMetadata> snackoosList = new DataList<ListMetadata>();
 
     // This adapter handle mirrors the firebase list values and generates the corresponding todo
     // item View children for a list view.
@@ -85,7 +85,7 @@
                     if (position == -1) {
                         return;
                     }
-                    TodoList l = snackoosList.get(position);
+                    ListMetadata l = snackoosList.get(position);
                     if (l.canCompleteAll()) {
                         mPersistence.completeAllTasks(l);
                     }
@@ -101,9 +101,9 @@
             }
         }).attachToRecyclerView(recyclerView);
 
-        mPersistence = PersistenceFactory.getMainPersistence(this, new ListEventListener<TodoList>() {
+        mPersistence = PersistenceFactory.getMainPersistence(this, new ListEventListener<ListMetadata>() {
             @Override
-            public void onItemAdd(TodoList item) {
+            public void onItemAdd(ListMetadata item) {
                 int position = snackoosList.insertInOrder(item);
 
                 adapter.notifyItemInserted(position);
@@ -111,7 +111,7 @@
             }
 
             @Override
-            public void onItemUpdate(TodoList item) {
+            public void onItemUpdate(ListMetadata item) {
                 int start = snackoosList.findIndexByKey(item.getKey());
                 int end = snackoosList.updateInOrder(item);
 
@@ -143,7 +143,7 @@
                 .setView(todoItem)
                 .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int whichButton) {
-                        mPersistence.addTodoList(new TodoList(todoItem.getText().toString()));
+                        mPersistence.addTodoList(new ListMetadata(todoItem.getText().toString()));
                     }
                 })
                 .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
diff --git a/app/src/main/java/io/v/todos/TodoListActivity.java b/app/src/main/java/io/v/todos/TodoListActivity.java
index 5372ade..4d6a5a2 100644
--- a/app/src/main/java/io/v/todos/TodoListActivity.java
+++ b/app/src/main/java/io/v/todos/TodoListActivity.java
@@ -19,8 +19,8 @@
 import android.widget.Toolbar;
 
 import io.v.todos.model.DataList;
+import io.v.todos.model.ListMetadata;
 import io.v.todos.model.Task;
-import io.v.todos.model.TodoList;
 import io.v.todos.persistence.PersistenceFactory;
 import io.v.todos.persistence.TodoListListener;
 import io.v.todos.persistence.TodoListPersistence;
@@ -40,7 +40,7 @@
 public class TodoListActivity extends Activity {
     private TodoListPersistence mPersistence;
 
-    private TodoList snackoo;
+    private ListMetadata snackoo;
     private DataList<Task> snackoosList = new DataList<Task>();
     private boolean showDone = false; // TODO(alexfandrianto): Load from shared preferences...
 
@@ -91,7 +91,7 @@
         mPersistence = PersistenceFactory.getTodoListPersistence(this, snackooKey,
                 new TodoListListener() {
             @Override
-            public void onUpdate(TodoList value) {
+            public void onUpdate(ListMetadata value) {
                 snackoo = value;
                 getActionBar().setTitle(snackoo.getName());
             }
@@ -222,7 +222,7 @@
 
 
     public void updateTodoList(String todo) {
-        mPersistence.updateTodoList(new TodoList(todo));
+        mPersistence.updateTodoList(new ListMetadata(todo));
     }
 
     public void deleteTodoList() {
diff --git a/app/src/main/java/io/v/todos/TodoListRecyclerAdapter.java b/app/src/main/java/io/v/todos/TodoListRecyclerAdapter.java
index 10736e1..46f6cd3 100644
--- a/app/src/main/java/io/v/todos/TodoListRecyclerAdapter.java
+++ b/app/src/main/java/io/v/todos/TodoListRecyclerAdapter.java
@@ -11,18 +11,18 @@
 
 import java.util.ArrayList;
 
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 
 /**
  * @author alexfandrianto
  */
 public class TodoListRecyclerAdapter extends RecyclerView.Adapter<TodoListViewHolder> {
-    private ArrayList<TodoList> backup;
+    private ArrayList<ListMetadata> backup;
     private View.OnClickListener itemListener;
 
     private static final int RESOURCE_ID = R.layout.todo_list_row;
 
-    public TodoListRecyclerAdapter(ArrayList<TodoList> backup, View.OnClickListener itemListener) {
+    public TodoListRecyclerAdapter(ArrayList<ListMetadata> backup, View.OnClickListener itemListener) {
         super();
         this.backup = backup;
         this.itemListener = itemListener;
@@ -37,8 +37,8 @@
 
     @Override
     public void onBindViewHolder(TodoListViewHolder holder, int position) {
-        TodoList todoList = backup.get(position);
-        holder.bindTodoList(todoList, itemListener);
+        ListMetadata listMetadata = backup.get(position);
+        holder.bindTodoList(listMetadata, itemListener);
     }
 
     @Override
diff --git a/app/src/main/java/io/v/todos/TodoListViewHolder.java b/app/src/main/java/io/v/todos/TodoListViewHolder.java
index 83c46a3..b170523 100644
--- a/app/src/main/java/io/v/todos/TodoListViewHolder.java
+++ b/app/src/main/java/io/v/todos/TodoListViewHolder.java
@@ -7,7 +7,7 @@
 import android.view.View;
 import android.widget.TextView;
 
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 
 /**
  * @author alexfandrianto
@@ -17,35 +17,35 @@
         super(itemView);
     }
 
-    public void bindTodoList(TodoList todoList, View.OnClickListener listener) {
+    public void bindTodoList(ListMetadata listMetadata, View.OnClickListener listener) {
         final TextView name=(TextView) itemView.findViewById(R.id.todo_list_name);
-        name.setText(todoList.getName());
+        name.setText(listMetadata.getName());
 
         final TextView completedStatus=(TextView) itemView.findViewById(R.id.todo_list_completed);
-        completedStatus.setText(computeCompleted(todoList));
+        completedStatus.setText(computeCompleted(listMetadata));
 
         final TextView timeAgo=(TextView) itemView.findViewById(R.id.todo_list_time);
-        timeAgo.setText(computeTimeAgo(todoList));
+        timeAgo.setText(computeTimeAgo(listMetadata));
 
-        getCardView().setCardBackgroundColor(todoList.getDone() ? 0xFFCCCCCC : 0xFFFFFFFF);
+        getCardView().setCardBackgroundColor(listMetadata.getDone() ? 0xFFCCCCCC : 0xFFFFFFFF);
 
-        itemView.setTag(todoList.getKey());
+        itemView.setTag(listMetadata.getKey());
         itemView.setOnClickListener(listener);
     }
 
-    private String computeTimeAgo(TodoList todoList) {
-        return UIUtil.computeTimeAgo("Last Updated", todoList.getUpdatedAt());
+    private String computeTimeAgo(ListMetadata listMetadata) {
+        return UIUtil.computeTimeAgo("Last Updated", listMetadata.getUpdatedAt());
     }
 
-    private String computeCompleted(TodoList todoList) {
-        if (todoList.getDone()) {
+    private String computeCompleted(ListMetadata listMetadata) {
+        if (listMetadata.getDone()) {
             return "Done!";
-        } else if (todoList.numTasks == 0) {
+        } else if (listMetadata.numTasks == 0) {
             return "Needs Tasks";
-        } else if (todoList.numCompleted == 0) {
+        } else if (listMetadata.numCompleted == 0) {
             return "Not Started";
         } else {
-            return todoList.numCompleted + " of " + todoList.numTasks;
+            return listMetadata.numCompleted + " of " + listMetadata.numTasks;
         }
     }
 }
diff --git a/app/src/main/java/io/v/todos/model/TodoList.java b/app/src/main/java/io/v/todos/model/ListMetadata.java
similarity index 84%
rename from app/src/main/java/io/v/todos/model/TodoList.java
rename to app/src/main/java/io/v/todos/model/ListMetadata.java
index 979f504..d455f62 100644
--- a/app/src/main/java/io/v/todos/model/TodoList.java
+++ b/app/src/main/java/io/v/todos/model/ListMetadata.java
@@ -7,12 +7,12 @@
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
 /**
- * TodoList is a Firebase-compatible class that tracks information regarding a particular todo list.
+ * ListMetadata is a Firebase-compatible class that tracks information regarding a particular todo list.
  *
  * @author alexfandrianto
  */
 @JsonIgnoreProperties({ "numCompleted", "numTasks", "done", "key" })
-public class TodoList implements KeyedData<TodoList> {
+public class ListMetadata implements KeyedData<ListMetadata> {
     private String name;
     private long updatedAt;
 
@@ -23,10 +23,10 @@
     //public List<String> sharedWith ??
 
     // The default constructor is used by Firebase.
-    public TodoList() {}
+    public ListMetadata() {}
 
     // Use this constructor when creating a new Task for the first time.
-    public TodoList(String name) {
+    public ListMetadata(String name) {
         this.name = name;
         this.updatedAt = System.currentTimeMillis();
     }
@@ -50,7 +50,7 @@
     }
 
     @Override
-    public int compareTo(TodoList other) {
+    public int compareTo(ListMetadata other) {
         if (key == null && other.key != null) {
             return 1;
         } else if (key != null && other.key == null) {
diff --git a/app/src/main/java/io/v/todos/persistence/MainPersistence.java b/app/src/main/java/io/v/todos/persistence/MainPersistence.java
index 08fe574..7516f3d 100644
--- a/app/src/main/java/io/v/todos/persistence/MainPersistence.java
+++ b/app/src/main/java/io/v/todos/persistence/MainPersistence.java
@@ -4,10 +4,10 @@
 
 package io.v.todos.persistence;
 
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 
 public interface MainPersistence extends Persistence {
-    void addTodoList(TodoList todoList);
+    void addTodoList(ListMetadata listMetadata);
     void deleteTodoList(String key);
-    void completeAllTasks(TodoList todoList);
+    void completeAllTasks(ListMetadata listMetadata);
 }
diff --git a/app/src/main/java/io/v/todos/persistence/TodoListListener.java b/app/src/main/java/io/v/todos/persistence/TodoListListener.java
index 265ef43..de06278 100644
--- a/app/src/main/java/io/v/todos/persistence/TodoListListener.java
+++ b/app/src/main/java/io/v/todos/persistence/TodoListListener.java
@@ -5,9 +5,9 @@
 package io.v.todos.persistence;
 
 import io.v.todos.model.Task;
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 
 public interface TodoListListener extends ListEventListener<Task> {
-    void onUpdate(TodoList value);
+    void onUpdate(ListMetadata value);
     void onDelete();
 }
diff --git a/app/src/main/java/io/v/todos/persistence/TodoListPersistence.java b/app/src/main/java/io/v/todos/persistence/TodoListPersistence.java
index 1db8ec5..2dcb24c 100644
--- a/app/src/main/java/io/v/todos/persistence/TodoListPersistence.java
+++ b/app/src/main/java/io/v/todos/persistence/TodoListPersistence.java
@@ -4,11 +4,11 @@
 
 package io.v.todos.persistence;
 
+import io.v.todos.model.ListMetadata;
 import io.v.todos.model.Task;
-import io.v.todos.model.TodoList;
 
 public interface TodoListPersistence extends Persistence {
-    void updateTodoList(TodoList todoList);
+    void updateTodoList(ListMetadata listMetadata);
     void deleteTodoList();
     void addTask(Task task);
     void updateTask(Task task);
diff --git a/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java b/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java
index 3228301..9fa6855 100644
--- a/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java
+++ b/app/src/syncbase/java/io/v/todos/persistence/PersistenceFactory.java
@@ -6,7 +6,7 @@
 
 import android.content.Context;
 
-import io.v.todos.model.TodoList;
+import io.v.todos.model.ListMetadata;
 
 public final class PersistenceFactory {
     private PersistenceFactory(){}
@@ -17,7 +17,7 @@
      * @param context an Android context, usually from an Android activity or application
      */
     public static MainPersistence getMainPersistence(Context context,
-                                                     ListEventListener<TodoList> listener) {
+                                                     ListEventListener<ListMetadata> listener) {
         throw new RuntimeException("Unsupported product flavor.");
     }