Update packages, remove cloud messaging

Alex Baker 13 years ago
parent 828114c001
commit 9906b181db

@ -1,11 +0,0 @@
<component name="libraryTable">
<library name="gcm">
<CLASSES>
<root url="jar://$PROJECT_DIR$/astrid/libs/gcm.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/astrid/libs/gcm-src.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,22 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="tests" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
<module name="tests" />
<option name="TESTING_TYPE" value="0" />
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
<option name="METHOD_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="PACKAGE_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<RunnerSettings RunnerId="AndroidDebugRunner" />
<ConfigurationWrapper RunnerId="AndroidDebugRunner" />
<method />
</configuration>
</component>

@ -0,0 +1,22 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="tests-sync" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
<module name="tests-sync" />
<option name="TESTING_TYPE" value="0" />
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
<option name="METHOD_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="PACKAGE_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<RunnerSettings RunnerId="AndroidDebugRunner" />
<ConfigurationWrapper RunnerId="AndroidDebugRunner" />
<method />
</configuration>
</component>

@ -5,7 +5,7 @@
** See the file "LICENSE" for the full license governing this code.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.todoroo.astrid.api"
package="org.astrid.api"
android:versionCode="1"
android:versionName="1.0">

@ -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

@ -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;

@ -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 {

@ -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;

@ -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;

@ -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;

@ -7,7 +7,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.astrid"
android:versionName="4.6.6"
android:versionCode="307">
android:versionCode="312">
<!-- widgets, alarms, and services will break if Astrid is installed on SD card -->
<!-- android:installLocation="internalOnly"> -->
@ -26,26 +26,18 @@
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<!-- for backup -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- for analytics -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- for google tasks -->
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH"/>
<!-- for task sharing -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!-- for push notifications -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<!-- for missed call reminders -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- required for ics -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- Required for GCM - keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<!-- Used to initiate sync when device comes back online -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
@ -75,16 +67,11 @@
android:protectionLevel="normal"
android:label="@string/write_permission_label"/>
<uses-permission android:name="com.todoroo.astrid.WRITE"/>
<!-- for receiving C2D messages-->
<permission
android:name="com.timsu.astrid.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.timsu.astrid.permission.C2D_MESSAGE"/>
<!-- ========================================================== Metadata = -->
<uses-sdk
android:targetSdkVersion="10"
android:targetSdkVersion="17"
android:minSdkVersion="7"/>
<supports-screens
android:xlargeScreens="true"
@ -98,6 +85,7 @@
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/Theme"
android:allowBackup="true"
android:name="greendroid.app.GDApplication"
android:hardwareAccelerated="false"
android:manageSpaceActivity="com.todoroo.astrid.core.OldTaskPreferences">
@ -392,17 +380,6 @@
android:name="com.todoroo.astrid.actfm.CommentsActivity"
android:windowSoftInputMode="stateHidden"/>
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
<action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
<category android:name="com.timsu.astrid"/>
</intent-filter>
</receiver>
<receiver android:name="com.todoroo.astrid.actfm.sync.ActFmSyncThread$NetworkStateChangedReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

@ -37,7 +37,6 @@
<orderEntry type="library" exported="" name="httpmime" level="project" />
<orderEntry type="library" exported="" name="guava" level="project" />
<orderEntry type="library" exported="" name="gson" level="project" />
<orderEntry type="library" exported="" name="gcm" level="project" />
<orderEntry type="library" exported="" name="google-oauth-client" level="project" />
<orderEntry type="library" exported="" name="google-http-client" level="project" />
<orderEntry type="library" exported="" name="googleloginclient-helper" level="project" />

Binary file not shown.

Binary file not shown.

@ -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;

@ -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<TagData> 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>(TagData.class, uuid, pushedAt), ActFmSyncThread.DEFAULT_REFRESH_RUNNABLE);
} else if (intent.hasExtra("task_id")) {
String uuid = intent.getStringExtra("task_id");
TodorooCursor<Task> 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>(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<Task> 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>(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<TagData> 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>(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);
}
}
}
}

@ -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;

@ -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;

@ -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;

@ -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;

@ -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) {

@ -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;

@ -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;

@ -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;

@ -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;

@ -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$

@ -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);

@ -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;

@ -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<Object> params = new ArrayList<Object>();
params.add("gcm");
params.add(regId);
if (!TextUtils.isEmpty(deviceId)) {
params.add("device_id");
params.add(deviceId);
}
if (!TextUtils.isEmpty(existingC2DM)) { // Unregisters C2DM with the server for migration purposes
params.add("c2dm");
params.add(existingC2DM);
}
invoke("user_set_gcm", params.toArray(new Object[params.size()]));
Preferences.setString(GCMIntentService.PREF_REGISTRATION, regId);
Preferences.setString(GCMIntentService.PREF_C2DM_REGISTRATION, null);
Preferences.setString(GCMIntentService.PREF_NEEDS_REGISTRATION, null);
Preferences.setBoolean(GCMIntentService.PREF_NEEDS_RETRY, false);
} catch (IOException e) {
Preferences.setString(GCMIntentService.PREF_NEEDS_REGISTRATION, regId);
Log.e("gcm", "error-gcm-register", e);
}
}
// --- generic invokation
/**

@ -11,7 +11,6 @@ import android.net.NetworkInfo;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -59,6 +58,7 @@ import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.widget.TasksWidget;
import org.apache.http.entity.mime.MultipartEntity;
import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONObject;

@ -8,8 +8,6 @@ package com.todoroo.astrid.actfm.sync;
import android.app.Activity;
import android.content.DialogInterface;
import com.timsu.astrid.GCMIntentService;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.DialogUtilities;
@ -20,6 +18,7 @@ import com.todoroo.astrid.service.AstridDependencyInjector;
import com.todoroo.astrid.sync.SyncResultCallback;
import com.todoroo.astrid.sync.SyncV2Provider;
import org.astrid.R;
import org.json.JSONObject;
import java.io.IOException;
@ -57,7 +56,6 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
actFmPreferenceService.setToken(null);
actFmPreferenceService.clearLastSyncDate();
ActFmPreferenceService.premiumLogout();
GCMIntentService.unregister(ContextManager.getContext());
DialogUtilities.okCancelCustomDialog(activity,
activity.getString(R.string.actfm_logout_clear_tasks_title),
@ -105,12 +103,6 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
*/
public void updateUserStatus() {
if (Preferences.getStringValue(GCMIntentService.PREF_NEEDS_REGISTRATION) != null) {
actFmSyncService.setGCMRegistration(Preferences.getStringValue(GCMIntentService.PREF_NEEDS_REGISTRATION));
} else if (Preferences.getBoolean(GCMIntentService.PREF_NEEDS_RETRY, false)) {
GCMIntentService.register(ContextManager.getContext());
}
try {
JSONObject status = actFmSyncService.invoke("user_status"); //$NON-NLS-1$
if (status.has("id")) {

@ -3,7 +3,6 @@ package com.todoroo.astrid.actfm.sync.messages;
import android.text.TextUtils;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.StringProperty;
@ -33,6 +32,7 @@ import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TaskToTagMetadata;
import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

@ -20,7 +20,6 @@ import android.widget.EditText;
import android.widget.Toast;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import org.astrid.R;
import com.todoroo.aacenc.RecognizerApi.RecognizerApiListener;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -48,6 +47,8 @@ import com.todoroo.astrid.ui.DateChangedAlerts;
import com.todoroo.astrid.ui.QuickAddBar;
import com.todoroo.astrid.voice.VoiceRecognizer;
import org.astrid.R;
/**
* This wrapper activity contains all the glue-code to handle the callbacks between the different
* fragments that could be visible on the screen in landscape-mode.

@ -20,9 +20,10 @@ import android.widget.TextView;
import com.commonsware.cwac.tlv.TouchListView;
import com.commonsware.cwac.tlv.TouchListView.DropListener;
import org.astrid.R;
import com.todoroo.andlib.utility.Preferences;
import org.astrid.R;
import java.util.ArrayList;
import java.util.HashMap;

@ -2,11 +2,12 @@ package com.todoroo.astrid.activity;
import android.content.Context;
import org.astrid.R;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.ui.MainMenuPopover;
import org.astrid.R;
public class DefaultFilterMode implements FilterModeSpec {
@Override

@ -23,7 +23,6 @@ import android.preference.PreferenceScreen;
import android.text.TextUtils;
import android.widget.Toast;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -57,6 +56,8 @@ import com.todoroo.astrid.voice.VoiceOutputService;
import com.todoroo.astrid.voice.VoiceRecognizer;
import com.todoroo.astrid.widget.TasksWidget;
import org.astrid.R;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;

@ -41,7 +41,6 @@ import android.widget.Toast;
import com.actionbarsherlock.app.SherlockListFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
@ -56,6 +55,8 @@ import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.utility.AstridPreferences;
import org.astrid.R;
/**
* Activity that displays a user's task lists and allows users
* to filter their task list.

@ -13,12 +13,13 @@ import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import org.astrid.R;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.service.ThemeService;
import org.astrid.R;
public class FilterShortcutActivity extends ListActivity {

@ -11,7 +11,6 @@ import android.content.ContentValues;
import android.content.Intent;
import android.os.Bundle;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.AndroidUtilities;
@ -20,6 +19,8 @@ import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.data.Task;
import org.astrid.R;
import java.util.Map.Entry;
import java.util.Set;

@ -13,9 +13,10 @@ import android.view.View;
import android.widget.CheckBox;
import android.widget.RadioButton;
import org.astrid.R;
import com.todoroo.astrid.core.SortHelper;
import org.astrid.R;
/**
* Shows the sort / hidden dialog
*

@ -11,12 +11,13 @@ import android.view.KeyEvent;
import android.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.service.ThemeService;
import org.astrid.R;
public class TaskEditActivity extends AstridActivity {
/**
* @see android.app.Activity#onCreate(Bundle)

@ -44,7 +44,6 @@ import com.actionbarsherlock.app.SherlockFragment;
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.andlib.service.ExceptionService;
@ -100,6 +99,8 @@ import com.todoroo.astrid.voice.VoiceInputAssistant;
import com.todoroo.astrid.voice.VoiceRecognizer;
import com.viewpagerindicator.TabPageIndicator;
import org.astrid.R;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;

@ -11,9 +11,10 @@ import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import org.astrid.R;
import com.viewpagerindicator.TitleProvider;
import org.astrid.R;
import java.util.ArrayList;
public class TaskEditViewPager extends PagerAdapter implements TitleProvider {

@ -26,7 +26,6 @@ import android.widget.PopupWindow.OnDismissListener;
import android.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.QueryTemplate;
@ -60,6 +59,8 @@ import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Flags;
import org.astrid.R;
public class TaskListActivity extends AstridActivity implements MainMenuListener, OnPageChangeListener {
public static final String TOKEN_SELECTED_FILTER = "selectedFilter"; //$NON-NLS-1$

@ -43,7 +43,6 @@ import android.widget.ListView;
import com.actionbarsherlock.app.SherlockListFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import org.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
@ -101,6 +100,8 @@ import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.widget.TasksWidget;
import org.astrid.R;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

@ -32,7 +32,6 @@ import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -57,6 +56,8 @@ import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.ResourceDrawableCache;
import org.astrid.R;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;

@ -42,7 +42,6 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.IntegerProperty;
import com.todoroo.andlib.data.Property.LongProperty;
@ -79,6 +78,7 @@ import com.todoroo.astrid.ui.CheckableImageView;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.ResourceDrawableCache;
import org.astrid.R;
import org.json.JSONException;
import org.json.JSONObject;

@ -29,7 +29,6 @@ import android.view.ViewGroup.LayoutParams;
import android.widget.CursorAdapter;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.data.TodorooCursor;
@ -47,6 +46,7 @@ import com.todoroo.astrid.data.User;
import com.todoroo.astrid.data.UserActivity;
import com.todoroo.astrid.helper.AsyncImageView;
import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

@ -13,7 +13,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.data.Metadata;
@ -23,6 +22,8 @@ import com.todoroo.astrid.ui.DateAndTimeDialog;
import com.todoroo.astrid.ui.DateAndTimeDialog.DateAndTimeDialogListener;
import com.todoroo.astrid.ui.DateAndTimePicker;
import org.astrid.R;
import java.util.Date;
import java.util.LinkedHashSet;

@ -10,10 +10,11 @@ import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.astrid.utility.Flags;
import org.astrid.R;
public class BackupActivity extends Activity {
@Override

@ -14,7 +14,6 @@ import android.preference.Preference.OnPreferenceClickListener;
import android.view.View;
import android.view.ViewGroup.OnHierarchyChangeListener;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DateUtilities;
@ -23,6 +22,8 @@ import com.todoroo.andlib.utility.Preferences;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import org.astrid.R;
import java.util.Date;
/**

@ -13,12 +13,13 @@ import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.core.PluginServices;
import org.astrid.R;
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;

@ -10,9 +10,10 @@ import android.content.Context;
import android.content.DialogInterface;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import org.astrid.R;
import java.io.File;
import java.io.FilenameFilter;

@ -13,7 +13,6 @@ import android.util.Log;
import android.util.Xml;
import android.widget.Toast;
import org.astrid.R;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.PropertyVisitor;
@ -33,6 +32,7 @@ import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.AstridPreferences;
import org.astrid.R;
import org.xmlpull.v1.XmlSerializer;
import java.io.File;

@ -18,7 +18,6 @@ import android.util.Log;
import android.view.WindowManager.BadTokenException;
import com.google.ical.values.RRule;
import org.astrid.R;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.PropertyVisitor;
@ -42,6 +41,7 @@ import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.UpgradeService;
import com.todoroo.astrid.tags.TagService;
import org.astrid.R;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

@ -22,7 +22,6 @@ import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.AndroidUtilities;
@ -37,6 +36,8 @@ import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.ThemeService;
import org.astrid.R;
import java.io.InputStream;
public class MissedCallActivity extends Activity {

@ -16,11 +16,12 @@ import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import org.astrid.R;
import java.util.Date;

@ -12,7 +12,6 @@ import android.content.Intent;
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
@ -32,6 +31,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TaskToTagMetadata;
import org.astrid.R;
import java.util.ArrayList;
import java.util.List;

@ -29,7 +29,6 @@ import android.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.MenuItem;
import org.astrid.R;
import com.todoroo.andlib.data.Property.CountProperty;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -52,6 +51,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.utility.AstridPreferences;
import org.astrid.R;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;

@ -20,11 +20,12 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.astrid.api.MultipleSelectCriterion;
import com.todoroo.astrid.api.TextInputCriterion;
import com.todoroo.astrid.core.CustomFilterActivity.CriterionInstance;
import org.astrid.R;
import java.util.List;
public class CustomFilterAdapter extends ArrayAdapter<CriterionInstance> {

@ -14,7 +14,6 @@ import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -37,6 +36,8 @@ import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.ThemeService;
import org.astrid.R;
import java.util.ArrayList;
/**

@ -11,12 +11,13 @@ import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.andlib.utility.TodorooPreferenceActivity;
import com.todoroo.astrid.gcal.Calendars;
import org.astrid.R;
/**
* Displays the preference screen for users to edit their preferences
*

@ -18,7 +18,6 @@ import android.text.Spannable;
import android.text.style.URLSpan;
import android.text.util.Linkify;
import org.astrid.R;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.api.TaskAction;
import com.todoroo.astrid.api.TaskDecoration;
@ -26,6 +25,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.files.FilesAction;
import com.todoroo.astrid.notes.NotesAction;
import org.astrid.R;
import java.util.HashMap;
import java.util.List;

@ -14,8 +14,6 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceScreen;
import com.timsu.astrid.GCMIntentService;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -34,6 +32,8 @@ import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.AstridPreferences;
import org.astrid.R;
/**
* Displays the preference screen for users to manage their old tasks and events
*
@ -135,7 +135,6 @@ public class OldTaskPreferences extends TodorooPreferenceActivity {
deleteDatabase(database.getName());
AstridPreferences.setPreferenceDefaults();
GCMIntentService.unregister(OldTaskPreferences.this);
System.exit(0);
}

@ -10,7 +10,6 @@ import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteConstraintException;
import org.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
@ -29,6 +28,8 @@ import com.todoroo.astrid.data.TaskApiDao;
import com.todoroo.astrid.reminders.Notifications;
import com.todoroo.astrid.reminders.ReminderService;
import org.astrid.R;
/**
* Data Access layer for {@link Task}-related operations.
*

@ -14,12 +14,13 @@ import android.view.View.OnClickListener;
import android.widget.Chronometer;
import android.widget.Toast;
import org.astrid.R;
import com.todoroo.aacenc.AACRecorder;
import com.todoroo.aacenc.AACRecorder.AACRecorderCallbacks;
import com.todoroo.aacenc.AACToM4A;
import com.todoroo.andlib.utility.DialogUtilities;
import org.astrid.R;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicReference;

@ -21,9 +21,10 @@ import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.utility.DialogUtilities;
import org.astrid.R;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;

@ -8,11 +8,12 @@ package com.todoroo.astrid.files;
import android.content.Context;
import android.text.TextUtils;
import org.astrid.R;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.data.TaskAttachment;
import org.astrid.R;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

@ -24,7 +24,6 @@ import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import android.widget.Toast;
import org.astrid.R;
import com.todoroo.aacenc.RecognizerApi;
import com.todoroo.aacenc.RecognizerApi.PlaybackExceptionHandler;
import com.todoroo.andlib.data.TodorooCursor;
@ -45,6 +44,8 @@ import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.ui.PopupControlSet;
import com.todoroo.astrid.utility.Constants;
import org.astrid.R;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

@ -9,7 +9,6 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -25,6 +24,7 @@ import com.todoroo.astrid.data.User;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.ThemeService;
import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

@ -11,13 +11,14 @@ import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import org.astrid.R;
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.utility.Constants;
import org.astrid.R;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

@ -9,11 +9,12 @@ import android.database.Cursor;
import android.net.Uri;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.utility.Constants;
import org.astrid.R;
import java.util.Date;

@ -13,7 +13,6 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.AndroidUtilities;
@ -31,6 +30,8 @@ import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.utility.Constants;
import org.astrid.R;
import java.util.Date;

@ -4,11 +4,12 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.api.AstridApiConstants;
import org.astrid.R;
public class CalendarStartupReceiver extends BroadcastReceiver {
public static final String BROADCAST_RESCHEDULE_CAL_ALARMS = AstridApiConstants.API_PACKAGE + ".SCHEDULE_CAL_REMINDERS"; //$NON-NLS-1$

@ -14,11 +14,12 @@ import android.preference.ListPreference;
import android.provider.CalendarContract;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import org.astrid.R;
import java.util.ArrayList;
import java.util.Arrays;

@ -24,7 +24,6 @@ import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
@ -34,6 +33,8 @@ import com.todoroo.astrid.gcal.Calendars.CalendarResult;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.ui.PopupControlSet;
import org.astrid.R;
import java.util.ArrayList;
import java.util.Collections;

@ -14,7 +14,6 @@ import android.text.TextUtils;
import android.text.format.Time;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
@ -22,6 +21,8 @@ import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.data.Task;
import org.astrid.R;
import java.util.TimeZone;
public class GCalHelper {

@ -14,12 +14,13 @@ import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.data.Task;
import org.astrid.R;
public class GCalTaskCompleteListener extends BroadcastReceiver {

@ -12,7 +12,6 @@ import android.content.Intent;
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import org.astrid.R;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -30,6 +29,8 @@ import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.AstridDependencyInjector;
import org.astrid.R;
public class GtasksCustomFilterCriteriaExposer extends BroadcastReceiver {
@Autowired
private GtasksPreferenceService gtasksPreferenceService;

@ -14,7 +14,6 @@ import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import org.astrid.R;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -39,6 +38,8 @@ import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.AstridDependencyInjector;
import org.astrid.R;
/**
* Exposes filters based on lists
*

@ -13,7 +13,6 @@ import android.text.TextUtils;
import android.widget.EditText;
import android.widget.FrameLayout;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DialogUtilities;
@ -22,6 +21,8 @@ import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.gtasks.api.GtasksInvoker;
import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator;
import org.astrid.R;
import java.io.IOException;
public class GtasksListAdder extends Activity {

@ -12,7 +12,6 @@ import android.os.Bundle;
import android.widget.TextView;
import com.actionbarsherlock.view.Menu;
import org.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
@ -30,6 +29,8 @@ import com.todoroo.astrid.subtasks.OrderedListFragmentHelperInterface;
import com.todoroo.astrid.subtasks.OrderedMetadataListFragmentHelper;
import com.todoroo.astrid.subtasks.SubtasksListFragment;
import org.astrid.R;
public class GtasksListFragment extends SubtasksListFragment {
protected static final int MENU_CLEAR_COMPLETED_ID = MENU_ADDON_INTENT_ID + 1;

@ -5,10 +5,11 @@
*/
package com.todoroo.astrid.gtasks;
import org.astrid.R;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.sync.SyncProviderUtilities;
import org.astrid.R;
/**
* Methods for working with GTasks preferences
*

@ -10,7 +10,6 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DialogUtilities;
@ -25,6 +24,8 @@ import com.todoroo.astrid.sync.SyncProviderUtilities;
import com.todoroo.astrid.sync.SyncResultCallbackAdapter;
import com.todoroo.astrid.tags.TagService;
import org.astrid.R;
/**
* Displays synchronization preferences and an action panel so users can
* initiate actions from the menu.

@ -15,13 +15,14 @@ import com.google.api.services.tasks.Tasks.TasksOperations.Move;
import com.google.api.services.tasks.model.Task;
import com.google.api.services.tasks.model.TaskList;
import com.google.api.services.tasks.model.TaskLists;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator;
import org.astrid.R;
import java.io.IOException;
/**

@ -23,7 +23,6 @@ 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.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -34,6 +33,8 @@ import com.todoroo.astrid.gtasks.api.GtasksInvoker;
import com.todoroo.astrid.service.AstridDependencyInjector;
import com.todoroo.astrid.service.SyncV2Service;
import org.astrid.R;
import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

@ -14,13 +14,14 @@ import android.content.Intent;
import android.os.Bundle;
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.Preferences;
import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.gtasks.api.GoogleTasksException;
import com.todoroo.astrid.gtasks.api.GtasksInvoker;
import org.astrid.R;
import java.io.IOException;

@ -9,7 +9,6 @@ import android.app.Activity;
import android.text.TextUtils;
import com.google.api.services.tasks.model.Tasks;
import org.astrid.R;
import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
@ -51,6 +50,7 @@ import com.todoroo.astrid.sync.SyncResultCallback;
import com.todoroo.astrid.sync.SyncV2Provider;
import com.todoroo.astrid.tags.TagService;
import org.astrid.R;
import org.json.JSONException;
import java.io.IOException;

@ -18,7 +18,6 @@ import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.widget.ArrayAdapter;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -34,6 +33,8 @@ import com.todoroo.astrid.service.SyncV2Service;
import com.todoroo.astrid.sync.SyncResultCallback;
import com.todoroo.astrid.sync.SyncV2Provider;
import org.astrid.R;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;

@ -13,11 +13,12 @@ import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import org.astrid.R;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.ui.EditDialogOkBackground;
import org.astrid.R;
// --- interface
/**

@ -17,7 +17,6 @@ import android.view.View;
import android.widget.ListView;
import android.widget.Spinner;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.adapter.FilterAdapter;
@ -26,6 +25,8 @@ import com.todoroo.astrid.api.FilterCategory;
import com.todoroo.astrid.api.FilterListItem;
import com.twofortyfouram.SharedResources;
import org.astrid.R;
/**
* Activity to edit alerts from Locale
*

@ -13,7 +13,6 @@ import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -27,6 +26,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.reminders.Notifications;
import com.todoroo.astrid.utility.Constants;
import org.astrid.R;
/**
* Receiver is activated when Locale conditions are triggered
*

@ -33,7 +33,6 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
@ -72,6 +71,7 @@ import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.timers.TimerActionControlSet.TimerActionListener;
import com.todoroo.astrid.utility.ResourceDrawableCache;
import org.astrid.R;
import org.json.JSONArray;
import org.json.JSONObject;

@ -9,13 +9,14 @@ import android.app.PendingIntent;
import android.content.Intent;
import android.widget.RemoteViews;
import org.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.api.TaskDecoration;
import com.todoroo.astrid.api.TaskDecorationExposer;
import com.todoroo.astrid.data.Task;
import org.astrid.R;
/**
* Exposes {@link TaskDecoration} for timers
*

@ -11,7 +11,6 @@ import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import org.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Order;
import com.todoroo.andlib.sql.Query;
@ -22,6 +21,8 @@ import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.Task;
import org.astrid.R;
/**
* Exposes Task Detail for notes
*

@ -15,7 +15,6 @@ import android.widget.AutoCompleteTextView;
import android.widget.Spinner;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.andlib.data.Property.LongProperty;
import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.data.TodorooCursor;
@ -32,6 +31,8 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.ui.PopupControlSet;
import org.astrid.R;
import java.util.ArrayList;
/**

@ -53,7 +53,6 @@ public class Astrid2TaskProvider extends ContentProvider {
private static final boolean LOGD = false;
public static final String AUTHORITY = "com.timsu.astrid.tasksprovider";
public static final Uri CONTENT_URI = Uri.parse("content://com.timsu.astrid.tasksprovider");

@ -19,7 +19,6 @@ import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.Spinner;
import org.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
@ -28,6 +27,8 @@ import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.repeats.RepeatControlSet;
import com.todoroo.astrid.ui.NumberPicker;
import org.astrid.R;
import java.util.Date;
/**

@ -20,7 +20,6 @@ import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import org.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -43,6 +42,8 @@ import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.voice.VoiceOutputService;
import org.astrid.R;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@ -11,10 +11,11 @@ import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;
import org.astrid.R;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.service.ThemeService;
import org.astrid.R;
public class ReengagementFragment extends TaskListFragment {
public static final String EXTRA_TEXT = "dialogText"; //$NON-NLS-1$

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save