package org.greengin.sciencetoolkit.spotit.logic.data; import org.greengin.sciencetoolkit.common.model.Model; import org.greengin.sciencetoolkit.common.model.events.ModelNotificationListener; import org.greengin.sciencetoolkit.common.model.events.NotificationListenerAggregator; import org.greengin.sciencetoolkit.spotit.model.ProjectManager; import android.content.Context; public class DataManager { private static DataManager instance; NotificationListenerAggregator listeners; public static void init(Context applicationContext) { instance = new DataManager(applicationContext); } public static DataManager get() { return instance; } private DataManager(Context applicationContext) { listeners = new NotificationListenerAggregator(applicationContext, "data:notifications"); } public void deleteData(String projectId) { } public int dataCount(String projectId) { return 0; } public void registerDataListener(ModelNotificationListener listener) { listeners.addUIListener(listener); } public void unregisterDataListener(ModelNotificationListener listener) { listeners.removeUIListener(listener); } public void fireStatusModified(String event) { listeners.fireEvent(event); } public void newData(String uri) { Model project = ProjectManager.get().getActiveProject(); if (project != null && uri != null) { Model item = project.getModel("data", true, true).getModel(uri, true, true); item.setString("uri", uri); item.setLong("date", System.currentTimeMillis()); ProjectManager.get().forceSave(); fireStatusModified("newdata"); } } public void markAsSent(Model project, Model observation, int status) { if (observation != null) { observation.setInt("uploaded", status, true); ProjectManager.get().forceSave(); fireStatusModified("upload"); } } public void deleteData(Model observation) { } }