diff --git a/.idea/libraries/gcm.xml b/.idea/libraries/gcm.xml
deleted file mode 100644
index a12ddc69e..000000000
--- a/.idea/libraries/gcm.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/tests.xml b/.idea/runConfigurations/tests.xml
new file mode 100644
index 000000000..3578fdfc9
--- /dev/null
+++ b/.idea/runConfigurations/tests.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/tests_sync.xml b/.idea/runConfigurations/tests_sync.xml
new file mode 100644
index 000000000..471ad575c
--- /dev/null
+++ b/.idea/runConfigurations/tests_sync.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/api/AndroidManifest.xml b/api/AndroidManifest.xml
index d63ccf83e..d7008d6e6 100644
--- a/api/AndroidManifest.xml
+++ b/api/AndroidManifest.xml
@@ -5,7 +5,7 @@
** See the file "LICENSE" for the full license governing this code.
-->
diff --git a/api/src/com/todoroo/andlib/service/ExceptionService.java b/api/src/com/todoroo/andlib/service/ExceptionService.java
index d0e82e932..8527fc14a 100644
--- a/api/src/com/todoroo/andlib/service/ExceptionService.java
+++ b/api/src/com/todoroo/andlib/service/ExceptionService.java
@@ -12,7 +12,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.util.Log;
-import com.todoroo.astrid.api.R;
+import org.astrid.api.R;
/**
* Exception handling utility class - reports and logs errors
diff --git a/api/src/com/todoroo/andlib/utility/DateUtilities.java b/api/src/com/todoroo/andlib/utility/DateUtilities.java
index 54f95d773..029a30219 100644
--- a/api/src/com/todoroo/andlib/utility/DateUtilities.java
+++ b/api/src/com/todoroo/andlib/utility/DateUtilities.java
@@ -9,7 +9,7 @@ import android.content.Context;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
-import com.todoroo.astrid.api.R;
+import org.astrid.api.R;
import java.text.ParseException;
import java.text.SimpleDateFormat;
diff --git a/api/src/com/todoroo/andlib/utility/DialogUtilities.java b/api/src/com/todoroo/andlib/utility/DialogUtilities.java
index 71da64eb3..8500a75a3 100644
--- a/api/src/com/todoroo/andlib/utility/DialogUtilities.java
+++ b/api/src/com/todoroo/andlib/utility/DialogUtilities.java
@@ -15,7 +15,7 @@ import android.content.DialogInterface;
import android.view.View;
import android.webkit.WebView;
-import com.todoroo.astrid.api.R;
+import org.astrid.api.R;
public class DialogUtilities {
diff --git a/api/src/com/todoroo/astrid/data/Task.java b/api/src/com/todoroo/astrid/data/Task.java
index a63a56bae..8ff8ce530 100644
--- a/api/src/com/todoroo/astrid/data/Task.java
+++ b/api/src/com/todoroo/astrid/data/Task.java
@@ -19,7 +19,8 @@ import com.todoroo.andlib.data.Table;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.api.AstridApiConstants;
-import com.todoroo.astrid.api.R;
+
+import org.astrid.api.R;
import java.util.Date;
diff --git a/api/src/com/todoroo/astrid/sync/SyncProvider.java b/api/src/com/todoroo/astrid/sync/SyncProvider.java
index 771d949a3..4fba3976b 100644
--- a/api/src/com/todoroo/astrid/sync/SyncProvider.java
+++ b/api/src/com/todoroo/astrid/sync/SyncProvider.java
@@ -18,9 +18,10 @@ import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.andlib.service.NotificationManager;
import com.todoroo.andlib.utility.DialogUtilities;
-import com.todoroo.astrid.api.R;
import com.todoroo.astrid.data.Task;
+import org.astrid.api.R;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/api/src/com/todoroo/astrid/sync/SyncProviderPreferences.java b/api/src/com/todoroo/astrid/sync/SyncProviderPreferences.java
index 7838ce0a3..d957d2ecc 100644
--- a/api/src/com/todoroo/astrid/sync/SyncProviderPreferences.java
+++ b/api/src/com/todoroo/astrid/sync/SyncProviderPreferences.java
@@ -23,7 +23,8 @@ import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
-import com.todoroo.astrid.api.R;
+
+import org.astrid.api.R;
import java.util.Date;
import java.util.HashMap;
diff --git a/astrid/AndroidManifest.xml b/astrid/AndroidManifest.xml
index ac59bcd18..10d239a3c 100644
--- a/astrid/AndroidManifest.xml
+++ b/astrid/AndroidManifest.xml
@@ -7,7 +7,7 @@
+ android:versionCode="312">
@@ -26,26 +26,18 @@
-
-
-
-
-
-
+
-
-
-
@@ -75,16 +67,11 @@
android:protectionLevel="normal"
android:label="@string/write_permission_label"/>
-
-
-
@@ -392,17 +380,6 @@
android:name="com.todoroo.astrid.actfm.CommentsActivity"
android:windowSoftInputMode="stateHidden"/>
-
-
-
-
-
-
-
-
-
diff --git a/astrid/astrid.iml b/astrid/astrid.iml
index e61bf42ff..072c5a2df 100644
--- a/astrid/astrid.iml
+++ b/astrid/astrid.iml
@@ -37,7 +37,6 @@
-
diff --git a/astrid/libs/gcm-src.jar b/astrid/libs/gcm-src.jar
deleted file mode 100644
index e2d9b43e9..000000000
Binary files a/astrid/libs/gcm-src.jar and /dev/null differ
diff --git a/astrid/libs/gcm.jar b/astrid/libs/gcm.jar
deleted file mode 100644
index ac109a830..000000000
Binary files a/astrid/libs/gcm.jar and /dev/null differ
diff --git a/astrid/src/com/commonsware/cwac/tlv/TouchListView.java b/astrid/src/com/commonsware/cwac/tlv/TouchListView.java
index 5aacc82e8..1f401745e 100644
--- a/astrid/src/com/commonsware/cwac/tlv/TouchListView.java
+++ b/astrid/src/com/commonsware/cwac/tlv/TouchListView.java
@@ -33,10 +33,11 @@ import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ImageView;
-import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.ui.ErrorCatchingListView;
+import org.astrid.R;
+
public class TouchListView extends ErrorCatchingListView {
private ImageView mDragView;
diff --git a/astrid/src/com/timsu/astrid/GCMIntentService.java b/astrid/src/com/timsu/astrid/GCMIntentService.java
deleted file mode 100644
index fa678d5c0..000000000
--- a/astrid/src/com/timsu/astrid/GCMIntentService.java
+++ /dev/null
@@ -1,472 +0,0 @@
-package com.timsu.astrid;
-
-import android.app.Notification;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Build;
-import android.provider.Settings.Secure;
-import android.text.TextUtils;
-import android.util.Log;
-
-import org.astrid.R;
-import com.google.android.gcm.GCMBaseIntentService;
-import com.google.android.gcm.GCMConstants;
-import com.google.android.gcm.GCMRegistrar;
-import com.todoroo.andlib.data.TodorooCursor;
-import com.todoroo.andlib.service.Autowired;
-import com.todoroo.andlib.service.ContextManager;
-import com.todoroo.andlib.service.DependencyInjectionService;
-import com.todoroo.andlib.service.NotificationManager;
-import com.todoroo.andlib.service.NotificationManager.AndroidNotificationManager;
-import com.todoroo.andlib.sql.Query;
-import com.todoroo.andlib.sql.QueryTemplate;
-import com.todoroo.andlib.utility.AndroidUtilities;
-import com.todoroo.andlib.utility.DateUtilities;
-import com.todoroo.andlib.utility.Preferences;
-import com.todoroo.astrid.actfm.TagViewFragment;
-import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
-import com.todoroo.astrid.actfm.sync.ActFmSyncService;
-import com.todoroo.astrid.actfm.sync.ActFmSyncThread;
-import com.todoroo.astrid.actfm.sync.ActFmSyncV2Provider;
-import com.todoroo.astrid.actfm.sync.messages.BriefMe;
-import com.todoroo.astrid.activity.ShortcutActivity;
-import com.todoroo.astrid.activity.TaskListActivity;
-import com.todoroo.astrid.activity.TaskListFragment;
-import com.todoroo.astrid.api.AstridApiConstants;
-import com.todoroo.astrid.api.Filter;
-import com.todoroo.astrid.api.FilterWithCustomIntent;
-import com.todoroo.astrid.dao.UserActivityDao;
-import com.todoroo.astrid.data.SyncFlags;
-import com.todoroo.astrid.data.TagData;
-import com.todoroo.astrid.data.Task;
-import com.todoroo.astrid.data.UserActivity;
-import com.todoroo.astrid.reminders.Notifications;
-import com.todoroo.astrid.service.AstridDependencyInjector;
-import com.todoroo.astrid.service.TagDataService;
-import com.todoroo.astrid.service.TaskService;
-import com.todoroo.astrid.sync.SyncResultCallbackAdapter;
-import com.todoroo.astrid.tags.TagFilterExposer;
-import com.todoroo.astrid.utility.Constants;
-
-import java.io.IOException;
-
-
-public class GCMIntentService extends GCMBaseIntentService {
-
- public static final String SENDER_ID = "1003855277730"; //$NON-NLS-1$
- public static final String PREF_REGISTRATION = "gcm_id";
- public static final String PREF_NEEDS_REGISTRATION = "gcm_needs_reg";
- public static final String PREF_NEEDS_RETRY = "gcm_needs_retry";
-
- private static final String PREF_LAST_GCM = "c2dm_last";
- public static final String PREF_C2DM_REGISTRATION = "c2dm_key";
-
- public static String getDeviceID() {
- String id = Secure.getString(ContextManager.getContext().getContentResolver(), Secure.ANDROID_ID);
- if (AndroidUtilities.getSdkVersion() > 8) { //Gingerbread and above
- //the following uses relection to get android.os.Build.SERIAL to avoid having to build with Gingerbread
- try {
- if (!Build.UNKNOWN.equals(Build.SERIAL)) {
- id = Build.SERIAL;
- }
- } catch (Exception e) {
- // Ah well
- }
- }
-
- if (TextUtils.isEmpty(id) || "9774d56d682e549c".equals(id)) { // check for failure or devices affected by the "9774d56d682e549c" bug
- return null;
- }
-
- return id;
- }
-
- static {
- AstridDependencyInjector.initialize();
- }
-
- @Autowired
- private ActFmSyncService actFmSyncService;
-
- @Autowired
- private ActFmPreferenceService actFmPreferenceService;
-
- @Autowired
- private TaskService taskService;
-
- @Autowired
- private TagDataService tagDataService;
-
- @Autowired
- private UserActivityDao userActivityDao;
-
- public GCMIntentService() {
- super(SENDER_ID);
- DependencyInjectionService.getInstance().inject(this);
- }
-
-
- // ===================== Messaging =================== //
-
- private final SyncResultCallbackAdapter refreshOnlyCallback = new SyncResultCallbackAdapter() {
- @Override
- public void finished() {
- ContextManager.getContext().sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH));
- }
- };
-
- private static final long MIN_MILLIS_BETWEEN_FULL_SYNCS = DateUtilities.ONE_HOUR;
-
- @Override
- protected void onMessage(Context context, Intent intent) {
- if (actFmPreferenceService.isLoggedIn()) {
- if (intent.hasExtra("web_update")) {
- if (DateUtilities.now() - actFmPreferenceService.getLastSyncDate() > MIN_MILLIS_BETWEEN_FULL_SYNCS && !actFmPreferenceService.isOngoing()) {
- new ActFmSyncV2Provider().synchronizeActiveTasks(false, refreshOnlyCallback);
- } else {
- handleWebUpdate(intent);
- }
- } else {
- handleMessage(intent);
- }
- }
- }
-
- /**
- * Handle web task or list changed
- */
- protected void handleWebUpdate(Intent intent) {
- if (intent.hasExtra("tag_id")) {
- String uuid = intent.getStringExtra("tag_id");
- TodorooCursor cursor = tagDataService.query(
- Query.select(TagData.PUSHED_AT).where(TagData.UUID.eq(
- uuid)));
- long pushedAt = 0;
- try {
- TagData tagData = new TagData();
- if (cursor.getCount() > 0) {
- cursor.moveToNext();
- tagData.readFromCursor(cursor);
- pushedAt = tagData.getValue(TagData.PUSHED_AT);
- }
- } finally {
- cursor.close();
- }
- ActFmSyncThread.getInstance().enqueueMessage(new BriefMe(TagData.class, uuid, pushedAt), ActFmSyncThread.DEFAULT_REFRESH_RUNNABLE);
- } else if (intent.hasExtra("task_id")) {
- String uuid = intent.getStringExtra("task_id");
- TodorooCursor cursor = taskService.query(
- Query.select(Task.PROPERTIES).where(Task.UUID.eq(
- uuid)));
- long pushedAt = 0;
- try {
- final Task task = new Task();
- if (cursor.getCount() > 0) {
- cursor.moveToNext();
- task.readFromCursor(cursor);
- pushedAt = task.getValue(Task.PUSHED_AT);
- }
- ActFmSyncThread.getInstance().enqueueMessage(new BriefMe(Task.class, uuid, pushedAt), ActFmSyncThread.DEFAULT_REFRESH_RUNNABLE);
- } finally {
- cursor.close();
- }
- }
- }
-
- // --- message handling
-
- /**
- * Handle message. Run on separate thread.
- */
- private void handleMessage(Intent intent) {
- String message = intent.getStringExtra("alert");
- Context context = ContextManager.getContext();
- if (TextUtils.isEmpty(message)) {
- return;
- }
-
- long lastNotification = Preferences.getLong(PREF_LAST_GCM, 0);
- if (DateUtilities.now() - lastNotification < 5000L) {
- return;
- }
- Preferences.setLong(PREF_LAST_GCM, DateUtilities.now());
- Intent notifyIntent = null;
- int notifId;
-
- final String user_id = intent.getStringExtra("oid");
- final String token_id = intent.getStringExtra("tid");
- // unregister
- if (!actFmPreferenceService.isLoggedIn() || !ActFmPreferenceService.userId().equals(user_id)) {
- new Thread() {
- @Override
- public void run() {
- try {
- actFmSyncService.invoke("user_unset_c2dm", "tid", token_id, "oid", user_id);
- } catch (IOException e) {
- //
- }
- }
- }.start();
- return;
- }
-
-
- // fetch data
- if (intent.hasExtra("tag_id")) {
- notifyIntent = createTagIntent(context, intent);
- notifId = intent.getStringExtra("tag_id").hashCode();
- } else if (intent.hasExtra("task_id")) {
- notifyIntent = createTaskIntent(intent);
- notifId = intent.getStringExtra("task_id").hashCode();
- } else {
- return;
- }
-
- if (notifyIntent == null) {
- return;
- }
-
- notifyIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- notifyIntent.putExtra(TaskListActivity.TOKEN_SOURCE, Constants.SOURCE_C2DM);
- PendingIntent pendingIntent = PendingIntent.getActivity(context,
- notifId, notifyIntent, 0);
-
- int icon = calculateIcon(intent);
-
- // create notification
- NotificationManager nm = new AndroidNotificationManager(ContextManager.getContext());
- Notification notification = new Notification(icon,
- message, System.currentTimeMillis());
- String title;
- if (intent.hasExtra("title")) {
- title = "Astrid: " + intent.getStringExtra("title");
- } else {
- title = ContextManager.getString(R.string.app_name);
- }
- notification.setLatestEventInfo(ContextManager.getContext(), title,
- message, pendingIntent);
- notification.flags |= Notification.FLAG_AUTO_CANCEL;
-
- boolean sounds = !"false".equals(intent.getStringExtra("sound"));
- notification.defaults = 0;
- if (sounds && !Notifications.isQuietHours()) {
- notification.defaults |= Notification.DEFAULT_SOUND;
- notification.defaults |= Notification.DEFAULT_VIBRATE;
- }
- nm.notify(notifId, notification);
-
- if (intent.hasExtra("tag_id")) {
- Intent broadcastIntent = new Intent(TagViewFragment.BROADCAST_TAG_ACTIVITY);
- broadcastIntent.putExtras(intent);
- ContextManager.getContext().sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
- }
- }
-
- private int calculateIcon(Intent intent) {
- if (intent.hasExtra("type")) {
- String type = intent.getStringExtra("type");
- if ("f".equals(type)) {
- return R.drawable.notif_c2dm_done;
- }
- if ("s".equals(type)) {
- return R.drawable.notif_c2dm_assign;
- }
- if ("l".equals(type)) {
- return R.drawable.notif_c2dm_assign;
- }
- } else {
- String message = intent.getStringExtra("alert");
- if (message.contains(" finished ")) {
- return R.drawable.notif_c2dm_done;
- }
- if (message.contains(" invited you to ")) {
- return R.drawable.notif_c2dm_assign;
- }
- if (message.contains(" sent you ")) {
- return R.drawable.notif_c2dm_assign;
- }
- }
- return R.drawable.notif_c2dm_msg;
- }
-
- private Intent createTaskIntent(Intent intent) {
- String uuid = intent.getStringExtra("task_id");
- TodorooCursor cursor = taskService.query(
- Query.select(Task.PROPERTIES).where(Task.UUID.eq(
- uuid)));
- long pushedAt = 0;
- try {
- final Task task = new Task();
- if (cursor.getCount() == 0) {
- task.setValue(Task.TITLE, intent.getStringExtra("title"));
- task.setValue(Task.UUID, intent.getStringExtra("task_id"));
- task.setValue(Task.USER_ID, Task.USER_ID_UNASSIGNED);
- task.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true);
- taskService.save(task);
- } else {
- cursor.moveToNext();
- task.readFromCursor(cursor);
- pushedAt = task.getValue(Task.PUSHED_AT);
- }
- ActFmSyncThread.getInstance().enqueueMessage(new BriefMe(Task.class, uuid, pushedAt), null);
-
- Filter filter = new Filter("", task.getValue(Task.TITLE),
- new QueryTemplate().where(Task.ID.eq(task.getId())),
- null);
-
- return ShortcutActivity.createIntent(filter);
- } finally {
- cursor.close();
- }
- }
-
- private Intent createTagIntent(final Context context, final Intent intent) {
- String uuid = intent.getStringExtra("tag_id");
- TodorooCursor cursor = tagDataService.query(
- Query.select(TagData.PROPERTIES).where(TagData.UUID.eq(
- uuid)));
- long pushedAt = 0;
- try {
- final TagData tagData = new TagData();
- if (cursor.getCount() == 0) {
- tagData.setValue(TagData.NAME, intent.getStringExtra("title"));
- tagData.setValue(TagData.UUID, intent.getStringExtra("tag_id"));
- tagData.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true);
- tagDataService.save(tagData);
- } else {
- cursor.moveToNext();
- tagData.readFromCursor(cursor);
- pushedAt = tagData.getValue(TagData.PUSHED_AT);
- }
- ActFmSyncThread.getInstance().enqueueMessage(new BriefMe(TagData.class, uuid, pushedAt), null);
-
- FilterWithCustomIntent filter = TagFilterExposer.filterFromTagData(context, tagData);
-
- if (intent.hasExtra("activity_id")) {
- UserActivity update = new UserActivity();
- update.setValue(UserActivity.UUID, intent.getStringExtra("activity_id"));
- update.setValue(UserActivity.USER_UUID, intent.getStringExtra("user_id"));
-
- update.setValue(UserActivity.ACTION, "tag_comment");
- update.setValue(UserActivity.TARGET_NAME, intent.getStringExtra("title"));
- String message = intent.getStringExtra("alert");
- if (message.contains(":")) {
- message = message.substring(message.indexOf(':') + 2);
- }
- update.setValue(UserActivity.MESSAGE, message);
- update.setValue(UserActivity.CREATED_AT, DateUtilities.now());
- update.setValue(UserActivity.TARGET_ID, intent.getStringExtra("tag_id"));
- update.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true);
- userActivityDao.createNew(update);
- }
-
- if (filter != null) {
- Intent launchIntent = new Intent(context, TaskListActivity.class);
- launchIntent.putExtra(TaskListFragment.TOKEN_FILTER, filter);
- filter.customExtras.putBoolean(TagViewFragment.TOKEN_START_ACTIVITY, shouldLaunchActivity(intent));
- launchIntent.putExtras(filter.customExtras);
-
- return launchIntent;
- } else {
- return null;
- }
- } finally {
- cursor.close();
- }
- }
-
- private boolean shouldLaunchActivity(Intent intent) {
- if (intent.hasExtra("type")) {
- String type = intent.getStringExtra("type");
- if ("f".equals(type)) {
- return true;
- }
- if ("s".equals(type)) {
- return false;
- }
- if ("l".equals(type)) {
- return false;
- }
- } else {
- String message = intent.getStringExtra("alert");
- if (message.contains(" finished ")) {
- return true;
- }
- if (message.contains(" invited you to ")) {
- return false;
- }
- if (message.contains(" sent you ")) {
- return false;
- }
- }
- return true;
- }
-
- // ==================== Registration ============== //
-
- public static void register(Context context) {
- try {
- if (AndroidUtilities.getSdkVersion() >= 8) {
- GCMRegistrar.checkDevice(context);
- GCMRegistrar.checkManifest(context);
- final String regId = GCMRegistrar.getRegistrationId(context);
- if ("".equals(regId)) {
- GCMRegistrar.register(context, GCMIntentService.SENDER_ID);
- } else {
- // TODO: Already registered--do something?
- }
- }
- } catch (Exception e) {
- // phone may not support gcm
- Log.e("actfm-sync", "gcm-register", e);
- }
- }
-
- public static void unregister(Context context) {
- try {
- if (AndroidUtilities.getSdkVersion() >= 8) {
- GCMRegistrar.unregister(context);
- }
- } catch (Exception e) {
- Log.e("actfm-sync", "gcm-unregister", e);
- }
- }
-
- @Override
- protected void onRegistered(Context context, String registrationId) {
- actFmSyncService.setGCMRegistration(registrationId);
- }
-
- @Override
- protected void onUnregistered(Context context, String registrationId) {
- // Server can unregister automatically next time it tries to send a message
- }
-
-
- @Override
- protected void onError(Context context, String intent) {
- if ((GCMConstants.ERROR_AUTHENTICATION_FAILED.equals(intent) || GCMConstants.ERROR_ACCOUNT_MISSING.equals(intent))
- && !Preferences.getBoolean(PREF_NEEDS_RETRY, false)) {
- Preferences.setBoolean(PREF_NEEDS_RETRY, true);
- }
- }
-
- // =========== Migration ============= //
-
- public static class GCMMigration {
- @Autowired
- private ActFmPreferenceService actFmPreferenceService;
-
- public GCMMigration() {
- DependencyInjectionService.getInstance().inject(this);
- }
-
- public void performMigration(Context context) {
- if (actFmPreferenceService.isLoggedIn()) {
- GCMIntentService.register(context);
- }
- }
- }
-
-}
diff --git a/astrid/src/com/timsu/astrid/data/task/AbstractTaskModel.java b/astrid/src/com/timsu/astrid/data/task/AbstractTaskModel.java
index ac9ef63c7..e6c94617d 100644
--- a/astrid/src/com/timsu/astrid/data/task/AbstractTaskModel.java
+++ b/astrid/src/com/timsu/astrid/data/task/AbstractTaskModel.java
@@ -12,7 +12,6 @@ import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
-import org.astrid.R;
import com.timsu.astrid.data.LegacyAbstractController;
import com.timsu.astrid.data.LegacyAbstractModel;
import com.timsu.astrid.data.enums.Importance;
diff --git a/astrid/src/com/timsu/astrid/utilities/LegacyTasksXmlExporter.java b/astrid/src/com/timsu/astrid/utilities/LegacyTasksXmlExporter.java
index 943cec6d7..9cdd4a94f 100644
--- a/astrid/src/com/timsu/astrid/utilities/LegacyTasksXmlExporter.java
+++ b/astrid/src/com/timsu/astrid/utilities/LegacyTasksXmlExporter.java
@@ -12,7 +12,6 @@ import android.util.Log;
import android.util.Xml;
import android.widget.Toast;
-import org.astrid.R;
import com.timsu.astrid.data.alerts.AlertController;
import com.timsu.astrid.data.sync.SyncDataController;
import com.timsu.astrid.data.sync.SyncMapping;
@@ -24,6 +23,7 @@ import com.timsu.astrid.data.task.TaskIdentifier;
import com.timsu.astrid.data.task.TaskModelForXml;
import com.todoroo.astrid.backup.BackupDateUtilities;
+import org.astrid.R;
import org.xmlpull.v1.XmlSerializer;
import java.io.File;
diff --git a/astrid/src/com/todoroo/astrid/actfm/ActFmCameraModule.java b/astrid/src/com/todoroo/astrid/actfm/ActFmCameraModule.java
index fd82ae307..059e115dc 100644
--- a/astrid/src/com/todoroo/astrid/actfm/ActFmCameraModule.java
+++ b/astrid/src/com/todoroo/astrid/actfm/ActFmCameraModule.java
@@ -18,10 +18,11 @@ import android.provider.MediaStore;
import android.support.v4.app.Fragment;
import android.widget.ArrayAdapter;
-import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
+import org.astrid.R;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/astrid/src/com/todoroo/astrid/actfm/ActFmGoogleAuthActivity.java b/astrid/src/com/todoroo/astrid/actfm/ActFmGoogleAuthActivity.java
index cca79bde7..105387e5b 100644
--- a/astrid/src/com/todoroo/astrid/actfm/ActFmGoogleAuthActivity.java
+++ b/astrid/src/com/todoroo/astrid/actfm/ActFmGoogleAuthActivity.java
@@ -23,10 +23,11 @@ import android.widget.TextView;
import android.widget.Toast;
import com.google.api.client.googleapis.extensions.android2.auth.GoogleAccountManager;
-import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.DialogUtilities;
+import org.astrid.R;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
diff --git a/astrid/src/com/todoroo/astrid/actfm/CommentsActivity.java b/astrid/src/com/todoroo/astrid/actfm/CommentsActivity.java
index 7dbca6da3..f45af28fe 100644
--- a/astrid/src/com/todoroo/astrid/actfm/CommentsActivity.java
+++ b/astrid/src/com/todoroo/astrid/actfm/CommentsActivity.java
@@ -12,11 +12,12 @@ import android.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.view.MenuItem;
-import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.service.ThemeService;
+import org.astrid.R;
+
public class CommentsActivity extends AstridActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java b/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java
index fd75a1827..1e7ce2224 100644
--- a/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java
+++ b/astrid/src/com/todoroo/astrid/actfm/CommentsFragment.java
@@ -34,7 +34,6 @@ import com.actionbarsherlock.app.SherlockListFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
-import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback;
@@ -51,6 +50,7 @@ import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.UserActivity;
import com.todoroo.astrid.helper.AsyncImageView;
+import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONObject;
diff --git a/astrid/src/com/todoroo/astrid/actfm/TagCommentsFragment.java b/astrid/src/com/todoroo/astrid/actfm/TagCommentsFragment.java
index 293b9ee30..9b829de18 100644
--- a/astrid/src/com/todoroo/astrid/actfm/TagCommentsFragment.java
+++ b/astrid/src/com/todoroo/astrid/actfm/TagCommentsFragment.java
@@ -15,7 +15,6 @@ import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.TextView;
-import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
@@ -37,6 +36,8 @@ import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.ResourceDrawableCache;
+import org.astrid.R;
+
public class TagCommentsFragment extends CommentsFragment {
private TagData tagData;
diff --git a/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java b/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java
index 870df9a18..39ca1aaac 100644
--- a/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java
+++ b/astrid/src/com/todoroo/astrid/actfm/TagSettingsActivity.java
@@ -28,7 +28,6 @@ import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.Window;
-import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
@@ -61,6 +60,7 @@ import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.ResourceDrawableCache;
+import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java
index b8d9704bb..e96b6cc83 100644
--- a/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java
+++ b/astrid/src/com/todoroo/astrid/actfm/TagViewFragment.java
@@ -22,7 +22,6 @@ import android.widget.TextView;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
-import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@@ -70,6 +69,7 @@ import com.todoroo.astrid.tags.TaskToTagMetadata;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Flags;
+import org.astrid.R;
import org.json.JSONArray;
import java.util.List;
diff --git a/astrid/src/com/todoroo/astrid/actfm/TaskCommentsFragment.java b/astrid/src/com/todoroo/astrid/actfm/TaskCommentsFragment.java
index ef17a3bc4..d974c2285 100644
--- a/astrid/src/com/todoroo/astrid/actfm/TaskCommentsFragment.java
+++ b/astrid/src/com/todoroo/astrid/actfm/TaskCommentsFragment.java
@@ -5,7 +5,6 @@ import android.database.Cursor;
import android.view.ViewGroup;
import android.widget.ListView;
-import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.actfm.sync.ActFmSyncThread;
@@ -19,6 +18,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.UserActivity;
import com.todoroo.astrid.service.TaskService;
+import org.astrid.R;
+
public class TaskCommentsFragment extends CommentsFragment {
public static final String EXTRA_TASK = "extra_task"; //$NON-NLS-1$
diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java
index 669d355cc..da46ef292 100644
--- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java
+++ b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmInvoker.java
@@ -8,8 +8,6 @@ package com.todoroo.astrid.actfm.sync;
import android.text.TextUtils;
import android.util.Log;
-import com.timsu.astrid.GCMIntentService;
-import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.RestClient;
@@ -17,12 +15,12 @@ import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Pair;
import com.todoroo.andlib.utility.Preferences;
-import com.todoroo.astrid.utility.Constants;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpEntity;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.StringBody;
+import org.astrid.R;
import org.json.JSONException;
import org.json.JSONObject;
@@ -190,15 +188,6 @@ public class ActFmInvoker {
Object[] params = {"token", tok, "data", data, "time", timeString};
- if (changesHappened) {
- String gcm = Preferences.getStringValue(GCMIntentService.PREF_REGISTRATION);
- ActFmSyncThread.syncLog("Sending GCM token: " + gcm);
- if (!TextUtils.isEmpty(gcm)) {
- params = AndroidUtilities.addToArray(Object.class, params, "gcm", gcm);
- entity.addPart("gcm", new StringBody(gcm));
- }
- }
-
String request = createFetchUrl("api/" + API_VERSION, "synchronize", params);
if (SYNC_DEBUG) {
Log.e("act-fm-post", request);
diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java
index 4c5d3b743..3b7bcca6c 100644
--- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java
+++ b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java
@@ -7,13 +7,13 @@ package com.todoroo.astrid.actfm.sync;
import android.text.TextUtils;
-import org.astrid.R;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.dao.RemoteModelDao;
import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.sync.SyncProviderUtilities;
import com.todoroo.astrid.utility.AstridPreferences;
+import org.astrid.R;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java
index 131196901..ab5b17a44 100644
--- a/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java
+++ b/astrid/src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java
@@ -8,7 +8,6 @@ package com.todoroo.astrid.actfm.sync;
import android.text.TextUtils;
import android.util.Log;
-import com.timsu.astrid.GCMIntentService;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.Preferences;
@@ -45,36 +44,6 @@ public final class ActFmSyncService {
DependencyInjectionService.getInstance().inject(this);
}
- // --- data fetch methods
- public void setGCMRegistration(String regId) {
- try {
- String deviceId = GCMIntentService.getDeviceID();
- String existingC2DM = Preferences.getStringValue(GCMIntentService.PREF_C2DM_REGISTRATION);
-
- ArrayList