From 2eff822eca8307ee203d7fa63922ec228b615afa Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 8 Aug 2013 08:57:27 -0500 Subject: [PATCH] Remove ActFmInvoker, ActFmSyncService --- api/src/com/todoroo/astrid/data/User.java | 13 ++ .../astrid/actfm/CommentsFragment.java | 5 +- .../astrid/actfm/TagSettingsActivity.java | 8 +- .../todoroo/astrid/actfm/TagViewFragment.java | 4 - .../astrid/actfm/sync/ActFmInvoker.java | 96 --------- .../astrid/actfm/sync/ActFmSyncService.java | 86 -------- .../astrid/actfm/sync/ActFmSyncThread.java | 3 - .../actfm/sync/ActFmSyncV2Provider.java | 26 +-- .../actfm/sync/messages/FetchHistory.java | 184 ------------------ .../astrid/core/OldTaskPreferences.java | 6 +- .../astrid/notes/EditNoteActivity.java | 6 +- .../service/AstridDependencyInjector.java | 4 - .../subtasks/SubtasksMetadataMigration.java | 4 - .../astrid/subtasks/SubtasksUpdater.java | 4 +- .../sync/repeats/RepeatTestsActFmSync.java | 167 ---------------- .../repeats/RepeatTestsActFmSyncRemote.java | 34 ---- 16 files changed, 23 insertions(+), 627 deletions(-) delete mode 100644 astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java delete mode 100644 astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java delete mode 100644 tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSync.java delete mode 100644 tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSyncRemote.java diff --git a/api/src/com/todoroo/astrid/data/User.java b/api/src/com/todoroo/astrid/data/User.java index cc46e5b88..08ad1f467 100644 --- a/api/src/com/todoroo/astrid/data/User.java +++ b/api/src/com/todoroo/astrid/data/User.java @@ -18,6 +18,9 @@ import com.todoroo.andlib.data.Table; import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.astrid.api.AstridApiConstants; +import org.json.JSONException; +import org.json.JSONObject; + /** * Data Model which represents a user. * @@ -26,6 +29,16 @@ import com.todoroo.astrid.api.AstridApiConstants; public final class User extends RemoteModel { + public static class JsonHelper { + public static void jsonFromUser(JSONObject json, User model) throws JSONException { + json.put("id", model.getValue(User.UUID)); + json.put("name", model.getDisplayName()); + json.put("email", model.getValue(User.EMAIL)); + json.put("picture", model.getPictureUrl(User.PICTURE, RemoteModel.PICTURE_THUMB)); + json.put("first_name", model.getValue(User.FIRST_NAME)); + } + } + // --- table and uri /** diff --git a/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java b/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java index 8e90b9f3e..8580e8c7c 100644 --- a/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java +++ b/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java @@ -38,7 +38,6 @@ import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; import com.todoroo.astrid.actfm.ActFmCameraModule.ClearImageCallback; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.actfm.sync.ActFmSyncThread.SyncMessageCallback; import com.todoroo.astrid.actfm.sync.messages.NameMaps; import com.todoroo.astrid.activity.AstridActivity; @@ -76,11 +75,9 @@ public abstract class CommentsFragment extends SherlockListFragment { protected Resources resources; - - @Autowired - ActFmSyncService actFmSyncService; @Autowired ActFmPreferenceService actFmPreferenceService; + @Autowired UserActivityDao userActivityDao; diff --git a/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java b/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java index 222258034..1fac20b43 100644 --- a/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java +++ b/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java @@ -39,7 +39,6 @@ import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.activity.FilterListFragment; import com.todoroo.astrid.activity.ShortcutActivity; import com.todoroo.astrid.api.Filter; @@ -91,9 +90,6 @@ public class TagSettingsActivity extends SherlockFragmentActivity { @Autowired TagDataService tagDataService; - @Autowired - ActFmSyncService actFmSyncService; - @Autowired ActFmPreferenceService actFmPreferenceService; @@ -427,7 +423,7 @@ public class TagSettingsActivity extends SherlockFragmentActivity { user.readFromCursor(members); try { JSONObject userJson = new JSONObject(); - ActFmSyncService.JsonHelper.jsonFromUser(userJson, user); + User.JsonHelper.jsonFromUser(userJson, user); people.put(userJson); } catch (JSONException e2) { // @@ -463,7 +459,7 @@ public class TagSettingsActivity extends SherlockFragmentActivity { if (u != null) { try { JSONObject owner = new JSONObject(); - ActFmSyncService.JsonHelper.jsonFromUser(owner, u); + User.JsonHelper.jsonFromUser(owner, u); owner.put("owner", true); people.put(owner); } catch (JSONException e2) { diff --git a/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java index 93ce5b06e..67e43d839 100644 --- a/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java @@ -31,7 +31,6 @@ import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.activity.AstridActivity; import com.todoroo.astrid.activity.FilterListFragment; import com.todoroo.astrid.activity.TaskListActivity; @@ -92,9 +91,6 @@ public class TagViewFragment extends TaskListFragment { @Autowired TagDataDao tagDataDao; - @Autowired - ActFmSyncService actFmSyncService; - @Autowired ActFmPreferenceService actFmPreferenceService; diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java deleted file mode 100644 index ed9c4a0a1..000000000 --- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (c) 2012 Todoroo Inc - * - * See the file "LICENSE" for the full license governing this code. - */ -package com.todoroo.astrid.actfm.sync; - -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; -import com.todoroo.andlib.service.RestClient; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.io.IOException; -import java.util.TimeZone; - - -public class ActFmInvoker { - - /** - * NOTE: these values are development values & will not work on production - */ - private static final String URL = "//10.0.2.2:3000/api/"; - private static final String APP_ID = "a4732a32859dbcd3e684331acd36432c"; - private static final String APP_SECRET = "e389bfc82a0d932332f9a8bd8203735f"; - - public static final String PROVIDER_PASSWORD = "password"; - - private static final int API_VERSION = 7; - - @Autowired - private RestClient restClient; - - private String token = null; - - // --- initialization, getters, setters - - /** - * Create new api invoker service without a token - */ - public ActFmInvoker() { - // - DependencyInjectionService.getInstance().inject(this); - } - - /** - * Create new api invoker service with a token - * - * @token access token - */ - public ActFmInvoker(String token) { - this.token = token; - DependencyInjectionService.getInstance().inject(this); - } - - public String getToken() { - return token; - } - - // --- special method invocations - - /** - * Authentication user with Act.fm server, returning a token - */ - public JSONObject authenticate(String email, String firstName, String lastName, String provider, - String secret) throws IOException { - JSONObject result = invoke( - "user_signin", - "email", email, - "first_name", firstName, - "last_name", lastName, - "provider", provider, - "secret", secret, - "timezone", TimeZone.getDefault().getID()); - try { - token = result.getString("token"); - } catch (JSONException e) { - throw new IOException(e.toString()); - } - return result; - } - - // --- invocation - - /** - * Invokes API method using HTTP GET - * - * @param method API method to invoke - * @param getParameters Name/Value pairs. Values will be URL encoded. - * @return response object - */ - public JSONObject invoke(String method, Object... getParameters) throws IOException { - return new JSONObject(); - } -} diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java deleted file mode 100644 index a8688c877..000000000 --- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (c) 2012 Todoroo Inc - * - * See the file "LICENSE" for the full license governing this code. - */ -package com.todoroo.astrid.actfm.sync; - -import android.util.Log; - -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; -import com.todoroo.astrid.data.RemoteModel; -import com.todoroo.astrid.data.User; -import com.todoroo.astrid.service.TagDataService; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.io.IOException; - -/** - * Service for synchronizing data on Astrid.com server with local. - * - * @author Tim Su - */ - -public final class ActFmSyncService { - - // --- instance variables - - @Autowired - private TagDataService tagDataService; - @Autowired - private ActFmPreferenceService actFmPreferenceService; - @Autowired - private ActFmInvoker actFmInvoker; - - private String token; - - public ActFmSyncService() { - DependencyInjectionService.getInstance().inject(this); - } - - // --- generic invokation - - /** - * invoke authenticated method against the server - */ - public JSONObject invoke(String method, Object... getParameters) throws IOException { - if (!checkForToken()) { - throw new ActFmServiceException("not logged in", null); - } - Object[] parameters = new Object[getParameters.length + 2]; - parameters[0] = "token"; - parameters[1] = token; - for (int i = 0; i < getParameters.length; i++) { - parameters[i + 2] = getParameters[i]; - } - return actFmInvoker.invoke(method, parameters); - } - - protected void handleException(String message, Exception exception) { - Log.w("actfm-sync", message, exception); - } - - private boolean checkForToken() { - return false; - } - - // --- json reader helper - - /** - * Read data models from JSON - */ - public static class JsonHelper { - - public static void jsonFromUser(JSONObject json, User model) throws JSONException { - json.put("id", model.getValue(User.UUID)); - json.put("name", model.getDisplayName()); - json.put("email", model.getValue(User.EMAIL)); - json.put("picture", model.getPictureUrl(User.PICTURE, RemoteModel.PICTURE_THUMB)); - json.put("first_name", model.getValue(User.FIRST_NAME)); - } - } - -} diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java index 9d9326465..e9cd75392 100644 --- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java +++ b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java @@ -58,9 +58,6 @@ public class ActFmSyncThread { private final Object monitor; private Thread thread; - @Autowired - private ActFmInvoker actFmInvoker; - @Autowired private ActFmPreferenceService actFmPreferenceService; diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncV2Provider.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncV2Provider.java index 3cc91d6c8..b5480ae7f 100644 --- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncV2Provider.java +++ b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncV2Provider.java @@ -19,7 +19,6 @@ import com.todoroo.astrid.sync.SyncResultCallback; import com.todoroo.astrid.sync.SyncV2Provider; import org.astrid.R; -import org.json.JSONObject; import java.io.IOException; @@ -31,9 +30,6 @@ public class ActFmSyncV2Provider extends SyncV2Provider { @Autowired private ActFmPreferenceService actFmPreferenceService; - @Autowired - private ActFmSyncService actFmSyncService; - @Autowired private Database database; @@ -104,27 +100,7 @@ public class ActFmSyncV2Provider extends SyncV2Provider { public void updateUserStatus() { try { - JSONObject status = actFmSyncService.invoke("user_status"); //$NON-NLS-1$ - if (status.has("id")) { - Preferences.setString(ActFmPreferenceService.PREF_USER_ID, Long.toString(status.optLong("id"))); - } - if (status.has("name")) { - Preferences.setString(ActFmPreferenceService.PREF_NAME, status.optString("name")); - } - if (status.has("first_name")) { - Preferences.setString(ActFmPreferenceService.PREF_FIRST_NAME, status.optString("first_name")); - } - if (status.has("last_name")) { - Preferences.setString(ActFmPreferenceService.PREF_LAST_NAME, status.optString("last_name")); - } - if (status.has("email")) { - Preferences.setString(ActFmPreferenceService.PREF_EMAIL, status.optString("email")); - } - if (status.has("picture")) { - Preferences.setString(ActFmPreferenceService.PREF_PICTURE, status.optString("picture")); - } - - ActFmPreferenceService.reloadThisUser(); + throw new ActFmServiceException("not logged in", null); } catch (IOException e) { handler.handleException("actfm-sync", e, e.toString()); //$NON-NLS-1$ } diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/messages/FetchHistory.java b/astrid/src/com/todoroo/astrid/actfm/sync/messages/FetchHistory.java index a8205bc13..21733a579 100644 --- a/astrid/src/com/todoroo/astrid/actfm/sync/messages/FetchHistory.java +++ b/astrid/src/com/todoroo/astrid/actfm/sync/messages/FetchHistory.java @@ -1,203 +1,19 @@ package com.todoroo.astrid.actfm.sync.messages; -import android.text.TextUtils; -import android.util.Log; - import com.todoroo.andlib.data.Property.IntegerProperty; import com.todoroo.andlib.data.Property.LongProperty; -import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; -import com.todoroo.astrid.actfm.sync.ActFmInvoker; -import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmSyncThread.SyncMessageCallback; -import com.todoroo.astrid.dao.HistoryDao; import com.todoroo.astrid.dao.RemoteModelDao; -import com.todoroo.astrid.dao.UserDao; -import com.todoroo.astrid.data.History; import com.todoroo.astrid.data.RemoteModel; -import com.todoroo.astrid.data.Task; -import com.todoroo.astrid.data.User; - -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; public class FetchHistory { - private static final String ERROR_TAG = "actfm-fetch-history"; //$NON-NLS-1$ - - private final RemoteModelDao dao; - private final LongProperty historyTimeProperty; - private final IntegerProperty historyHasMoreProperty; - private final String table; - private final String uuid; - private final String taskTitle; - private final long modifiedAfter; - private final int offset; - private final SyncMessageCallback done; - - @Autowired - private ActFmInvoker actFmInvoker; - - @Autowired - private HistoryDao historyDao; - - @Autowired - private UserDao userDao; - - @Autowired - private ActFmPreferenceService actFmPreferenceService; - public FetchHistory(RemoteModelDao dao, LongProperty historyTimeProperty, IntegerProperty historyHasMoreProperty, String table, String uuid, String taskTitle, long modifiedAfter, int offset, SyncMessageCallback done) { DependencyInjectionService.getInstance().inject(this); - this.dao = dao; - this.historyTimeProperty = historyTimeProperty; - this.historyHasMoreProperty = historyHasMoreProperty; - this.table = table; - this.uuid = uuid; - this.taskTitle = taskTitle; - this.modifiedAfter = modifiedAfter; - this.offset = offset; - this.done = done; } - public void execute() { - new Thread(new Runnable() { - @Override - public void run() { - String token = actFmPreferenceService.getToken(); - if (TextUtils.isEmpty(token) || TextUtils.isEmpty(uuid)) { - return; - } - - ArrayList params = new ArrayList(); - if (NameMaps.TABLE_ID_TASKS.equals(table)) { - params.add("task_id"); - } else if (NameMaps.TABLE_ID_TAGS.equals(table)) { - params.add("tag_id"); - } else { - return; - } - - params.add(uuid); - - if (modifiedAfter > 0) { - params.add("modified_after"); - params.add(modifiedAfter / 1000L); - } - - if (offset > 0) { - params.add("offset"); - params.add(offset); - } - - params.add("token"); - params.add(token); - try { - JSONObject result = actFmInvoker.invoke("model_history_list", params.toArray(new Object[params.size()])); - JSONArray list = result.optJSONArray("list"); - boolean hasMore = result.optInt("has_more") > 0; - long time = result.optLong("time") * 1000; - if (hasMore && offset == 0) { - historyDao.deleteWhere(History.TARGET_ID.eq(uuid)); - } - if (list != null) { - for (int i = 0; i < list.length(); i++) { - JSONObject historyJson = list.optJSONObject(i); - if (historyJson != null) { - History history = new History(); - history.setValue(History.TABLE_ID, table); - history.setValue(History.TARGET_ID, uuid); - history.setValue(History.UUID, historyJson.optString("id") + ":" + uuid); - - String userId = historyJson.optString("user_id"); - if (userId.equals(ActFmPreferenceService.userId())) { - userId = Task.USER_ID_SELF; - } - history.setValue(History.USER_UUID, historyJson.optString("user_id")); - history.setValue(History.COLUMN, historyJson.optString("column")); - history.setValue(History.OLD_VALUE, historyJson.optString("prev")); - history.setValue(History.NEW_VALUE, historyJson.optString("value")); - history.setValue(History.CREATED_AT, historyJson.optLong("created_at") * 1000); - - JSONArray taskObj = historyJson.optJSONArray("task"); - if (taskObj != null) { - history.setValue(History.TABLE_ID, NameMaps.TABLE_ID_TASKS); - history.setValue(History.TARGET_ID, taskObj.optString(0)); - history.setValue(History.TASK, taskObj.toString()); - } else if (NameMaps.TABLE_ID_TASKS.equals(table) && !TextUtils.isEmpty(taskTitle)) { - taskObj = new JSONArray(); - taskObj.put(uuid); - taskObj.put(taskTitle); - history.setValue(History.TASK, taskObj.toString()); - } - - if (NameMaps.TABLE_ID_TAGS.equals(table)) { - history.setValue(History.TAG_ID, uuid); - } - - if (historyDao.update(History.UUID.eq(history.getValue(History.UUID)), history) <= 0) { - historyDao.createNew(history); - } - } - } - if (time > 0) { - TYPE template; - try { - template = dao.getModelClass().newInstance(); - template.setValue(historyTimeProperty, time); - if (modifiedAfter == 0 || hasMore) { - template.setValue(historyHasMoreProperty, hasMore ? 1 : 0); - } - dao.update(RemoteModel.UUID_PROPERTY.eq(uuid), template); - } catch (InstantiationException e) { - Log.e(ERROR_TAG, "Error instantiating model for recording time", e); - } catch (IllegalAccessException e) { - Log.e(ERROR_TAG, "Error instantiating model for recording time", e); - } - } - } - - JSONObject users = result.optJSONObject("users"); - if (users != null) { - Iterator keys = users.keys(); - while (keys.hasNext()) { - String key = keys.next(); - JSONObject userObj = users.optJSONObject(key); - if (userObj != null) { - String userUuid = userObj.optString("id"); - if (RemoteModel.isUuidEmpty(uuid)) { - continue; - } - - User user = new User(); - user.setValue(User.FIRST_NAME, userObj.optString("first_name")); - user.setValue(User.LAST_NAME, userObj.optString("last_name")); - user.setValue(User.NAME, userObj.optString("name")); - user.setValue(User.PICTURE, userObj.optString("picture")); - user.setValue(User.UUID, userUuid); - - if (userDao.update(User.UUID.eq(userUuid), user) <= 0) { - userDao.createNew(user); - } - } - } - } - - } catch (IOException e) { - Log.e(ERROR_TAG, "Error getting model history", e); - } - - if (done != null) { - done.runOnSuccess(); - } - } - }).start(); } - } diff --git a/astrid/src/com/todoroo/astrid/core/OldTaskPreferences.java b/astrid/src/com/todoroo/astrid/core/OldTaskPreferences.java index 87246915b..54601ee6f 100644 --- a/astrid/src/com/todoroo/astrid/core/OldTaskPreferences.java +++ b/astrid/src/com/todoroo/astrid/core/OldTaskPreferences.java @@ -23,7 +23,6 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.TodorooPreferenceActivity; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.actfm.sync.ActFmSyncThread; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.data.Task; @@ -43,13 +42,12 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { @Autowired TaskService taskService; + @Autowired MetadataService metadataService; - @Autowired - Database database; @Autowired - ActFmSyncService actFmSyncService; + Database database; ProgressDialog pd; diff --git a/astrid/src/com/todoroo/astrid/notes/EditNoteActivity.java b/astrid/src/com/todoroo/astrid/notes/EditNoteActivity.java index 418d7c544..f2186d95a 100644 --- a/astrid/src/com/todoroo/astrid/notes/EditNoteActivity.java +++ b/astrid/src/com/todoroo/astrid/notes/EditNoteActivity.java @@ -43,7 +43,6 @@ import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.ActFmCameraModule; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; import com.todoroo.astrid.actfm.ActFmCameraModule.ClearImageCallback; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.actfm.sync.ActFmSyncThread; import com.todoroo.astrid.actfm.sync.ActFmSyncThread.SyncMessageCallback; import com.todoroo.astrid.actfm.sync.messages.BriefMe; @@ -88,14 +87,15 @@ public class EditNoteActivity extends LinearLayout implements TimerActionListene private Task task; - @Autowired - ActFmSyncService actFmSyncService; @Autowired MetadataService metadataService; + @Autowired UserActivityDao userActivityDao; + @Autowired TaskService taskService; + @Autowired TaskDao taskDao; diff --git a/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java b/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java index 4a8a5f06d..290ade14d 100644 --- a/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java +++ b/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java @@ -10,9 +10,7 @@ import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService.AndroidLogReporter; import com.todoroo.andlib.service.ExceptionService.ErrorReporter; import com.todoroo.andlib.service.HttpRestClient; -import com.todoroo.astrid.actfm.sync.ActFmInvoker; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.HistoryDao; import com.todoroo.astrid.dao.MetadataDao; @@ -102,8 +100,6 @@ public class AstridDependencyInjector extends AbstractDependencyInjector { // com.todoroo.astrid.sharing injectables.put("actFmPreferenceService", ActFmPreferenceService.class); - injectables.put("actFmInvoker", ActFmInvoker.class); - injectables.put("actFmSyncService", ActFmSyncService.class); // com.todoroo.astrid.gtasks injectables.put("gtasksPreferenceService", GtasksPreferenceService.class); diff --git a/astrid/src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java b/astrid/src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java index 3c5ac541a..2810699bb 100644 --- a/astrid/src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java +++ b/astrid/src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java @@ -9,7 +9,6 @@ import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.utility.Preferences; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.TagData; @@ -28,9 +27,6 @@ public class SubtasksMetadataMigration { @Autowired private MetadataService metadataService; - @Autowired - private ActFmSyncService actFmSyncService; - public SubtasksMetadataMigration() { DependencyInjectionService.getInstance().inject(this); } diff --git a/astrid/src/com/todoroo/astrid/subtasks/SubtasksUpdater.java b/astrid/src/com/todoroo/astrid/subtasks/SubtasksUpdater.java index f059f3dfa..ec6207bd7 100644 --- a/astrid/src/com/todoroo/astrid/subtasks/SubtasksUpdater.java +++ b/astrid/src/com/todoroo/astrid/subtasks/SubtasksUpdater.java @@ -7,7 +7,6 @@ package com.todoroo.astrid.subtasks; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.sql.Criterion; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.dao.TaskListMetadataDao; @@ -18,10 +17,9 @@ public abstract class SubtasksUpdater extends AstridOrderedListUpdater { @Autowired TaskListMetadataDao taskListMetadataDao; + @Autowired TaskService taskService; - @Autowired - ActFmSyncService actFmSyncService; public static final String ACTIVE_TASKS_ORDER = "active_tasks_order"; //$NON-NLS-1$ public static final String TODAY_TASKS_ORDER = "today_tasks_order"; //$NON-NLS-1$ diff --git a/tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSync.java b/tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSync.java deleted file mode 100644 index b7aad64f8..000000000 --- a/tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSync.java +++ /dev/null @@ -1,167 +0,0 @@ -/** - * Copyright (c) 2012 Todoroo Inc - * - * See the file "LICENSE" for the full license governing this code. - */ -package com.todoroo.astrid.sync.repeats; - -import com.google.ical.values.Frequency; -import com.google.ical.values.RRule; -import org.astrid.R; -import com.todoroo.andlib.data.TodorooCursor; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.sql.Query; -import com.todoroo.andlib.utility.AndroidUtilities; -import com.todoroo.andlib.utility.DateUtilities; -import com.todoroo.andlib.utility.Preferences; -import com.todoroo.astrid.actfm.sync.ActFmInvoker; -import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; -import com.todoroo.astrid.actfm.sync.ActFmSyncService; -import com.todoroo.astrid.actfm.sync.ActFmSyncV2Provider; -import com.todoroo.astrid.dao.TaskDao.TaskCriteria; -import com.todoroo.astrid.data.Task; -import com.todoroo.astrid.service.MetadataService; -import com.todoroo.astrid.sync.SyncResultCallbackAdapter; - -import org.json.JSONObject; - -import java.io.IOException; -import java.util.concurrent.Semaphore; - -public class RepeatTestsActFmSync extends AbstractSyncRepeatTests { - - @Autowired - MetadataService metadataService; - @Autowired - ActFmSyncService actFmSyncService; - @Autowired - ActFmPreferenceService actFmPreferenceService; - protected static ActFmInvoker invoker = null; - - private static final String TEST_ACCOUNT = "sync_tester2@astrid.com"; - private static final String TEST_PASSWORD = "wonkwonkjj"; - private static boolean initialized = false; - - @Override - protected void setUp() throws Exception { - super.setUp(); - Preferences.setStringFromInteger(R.string.p_default_urgency_key, 0); - - if (!initialized) { - initializeTestService(); - } - - clearTasks(); - } - - private void initializeTestService() throws Exception { - invoker = new ActFmInvoker(); - authenticate(TEST_ACCOUNT, null, null, ActFmInvoker.PROVIDER_PASSWORD, TEST_PASSWORD); - initialized = true; - } - - private void clearTasks() throws Exception { - } - - private void authenticate(String email, String firstName, String lastName, String provider, String secret) { - try { - JSONObject result = invoker.authenticate(email, firstName, lastName, provider, secret); - String token = invoker.getToken(); - postAuthenticate(result, token); - } catch (IOException e) { - e.printStackTrace(); - fail("Error authenticating"); - } - } - - @SuppressWarnings("nls") - private void postAuthenticate(JSONObject result, String token) { - actFmPreferenceService.setToken(token); - - Preferences.setString(ActFmPreferenceService.PREF_USER_ID, - Long.toString(result.optLong("id"))); - Preferences.setString(ActFmPreferenceService.PREF_NAME, result.optString("name")); - Preferences.setString(ActFmPreferenceService.PREF_EMAIL, result.optString("email")); - Preferences.setString(ActFmPreferenceService.PREF_PICTURE, result.optString("picture")); - } - - - @Override - protected void waitAndSync() { - AndroidUtilities.sleepDeep(3000L); - final Semaphore sema = new Semaphore(0); - new ActFmSyncV2Provider().synchronizeActiveTasks(true, new SyncResultCallbackAdapter() { - @Override - public void finished() { - sema.release(); - } - }); - try { - sema.acquire(); - } catch (InterruptedException e) { - fail("Interrupted while waiting for sync to finish"); - } - AndroidUtilities.sleepDeep(3000L); - } - - /** - * @param t - * @param expectedDueDate - */ - @Override - protected Task assertTaskExistsRemotely(Task t, long expectedDueDate) { - return null; //remote; - } - - @Override - protected void testRepeating(boolean completeBefore, boolean fromCompletion, RRule rrule, Frequency frequency, String title) { - Task t = new Task(); - t.setValue(Task.TITLE, title); - long dueDate = DateUtilities.now() + ((completeBefore ? -1 : 1) * DateUtilities.ONE_DAY * 3); - dueDate = Task.createDueDate(Task.URGENCY_SPECIFIC_DAY_TIME, (dueDate / 1000L) * 1000L); // Strip milliseconds - - t.setValue(Task.DUE_DATE, dueDate); - - if (rrule == null) { - rrule = new RRule(); - rrule.setFreq(frequency); - int interval = 5; - rrule.setInterval(interval); - } - - String result = rrule.toIcal(); - if (fromCompletion) - result = result + ";FROM=COMPLETION"; - - t.setValue(Task.RECURRENCE, rrule.toIcal()); - taskDao.save(t); - - waitAndSync(); - t = taskDao.fetch(t.getId(), Task.PROPERTIES); // Refetch - Task remoteModel = assertTaskExistsRemotely(t, dueDate); - - long completionDate = setCompletionDate(completeBefore, t, remoteModel, dueDate); - - waitAndSync(); - - TodorooCursor cursor = taskDao.query(Query.select(Task.PROPERTIES).where(TaskCriteria.notDeleted())); - try { - assertEquals(1, cursor.getCount()); - cursor.moveToFirst(); - t.readFromCursor(cursor); - - long fromDate = (fromCompletion ? completionDate : dueDate); - long expectedTime = computeNextDueDateFromDate(fromDate, rrule, fromCompletion); - long newDueDate = t.getValue(Task.DUE_DATE); - - assertTaskExistsRemotely(t, expectedTime); - assertTrue(t.hasDueTime()); - assertEquals(title, t.getValue(Task.TITLE)); - assertTimesMatch(expectedTime, newDueDate); - assertFalse(t.isCompleted()); - - } finally { - cursor.close(); - } - } -} diff --git a/tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSyncRemote.java b/tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSyncRemote.java deleted file mode 100644 index 5c70bf3c4..000000000 --- a/tests-sync/src/com/todoroo/astrid/sync/repeats/RepeatTestsActFmSyncRemote.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright (c) 2012 Todoroo Inc - * - * See the file "LICENSE" for the full license governing this code. - */ -package com.todoroo.astrid.sync.repeats; - -import com.todoroo.andlib.utility.DateUtilities; -import com.todoroo.astrid.data.Task; - -import java.util.ArrayList; - -public class RepeatTestsActFmSyncRemote extends RepeatTestsActFmSync { - @Override - protected long setCompletionDate(boolean completeBefore, Task t, - Task remoteModel, long dueDate) { - long completionDate = DateUtilities.now(); - - ArrayList params = new ArrayList(); - params.add("completed"); - params.add(completionDate / 1000L); - - params.add("id"); - params.add(remoteModel.getValue(Task.UUID)); - try { - invoker.invoke("task_save", params.toArray(new Object[params.size()])); - } catch (Exception e) { - e.printStackTrace(); - fail("Error in actfm invoker"); - } - return completionDate; - } - -}