diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java
index 2f35fa45f..bda90c3db 100644
--- a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java
+++ b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java
@@ -11,6 +11,7 @@ import android.graphics.drawable.BitmapDrawable;
import com.timsu.astrid.R;
import com.todoroo.andlib.sql.Criterion;
+import com.todoroo.andlib.sql.Order;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.astrid.activity.FilterListActivity;
@@ -41,10 +42,17 @@ public final class CoreFilterExposer extends BroadcastReceiver {
SearchFilter searchFilter = new SearchFilter(r.getString(R.string.BFE_Search));
searchFilter.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.tango_search)).getBitmap();
+ Filter recent = new Filter(r.getString(R.string.BFE_Recent),
+ r.getString(R.string.BFE_Recent),
+ new QueryTemplate().orderBy(Order.desc(Task.MODIFICATION_DATE)).limit(15),
+ null);
+ recent.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.tango_new)).getBitmap();
+
// transmit filter list
- FilterListItem[] list = new FilterListItem[2];
+ FilterListItem[] list = new FilterListItem[3];
list[0] = inbox;
- list[1] = searchFilter;
+ list[1] = recent;
+ list[2] = searchFilter;
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, list);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevDetailExposer.java b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevDetailExposer.java
index fc3e2f38b..5362eaa45 100644
--- a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevDetailExposer.java
+++ b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevDetailExposer.java
@@ -80,7 +80,7 @@ public class ProducteevDetailExposer extends BroadcastReceiver implements Detail
!= Preferences.getLong(ProducteevUtilities.PREF_DEFAULT_DASHBOARD, 0L) &&
ownerDashboard != null) {
String dashboardName = ownerDashboard.getValue(ProducteevDashboard.NAME);
- builder.append(" ").append(dashboardName).append(TaskAdapter.DETAIL_SEPARATOR); //$NON-NLS-1$
+ builder.append(" ").append(dashboardName).append(TaskAdapter.DETAIL_SEPARATOR); //$NON-NLS-1$
}
// display responsible user if not current one
diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevUtilities.java b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevUtilities.java
index 796387c43..391e96ef7 100644
--- a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevUtilities.java
+++ b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevUtilities.java
@@ -38,12 +38,11 @@ public class ProducteevUtilities extends SyncProviderUtilities {
public static final String PREF_SERVER_LAST_SYNC = IDENTIFIER + "_last_server"; //$NON-NLS-1$
- public static final String PREF_EMAIL = IDENTIFIER + "_email"; //$NON-NLS-1$
-
- public static final String PREF_PASSWORD = IDENTIFIER + "_password"; //$NON-NLS-1$
-
+ /** Producteev user's default dashboard. This is different from the
+ * preference key, which indicates where user wants to put new tasks */
public static final String PREF_DEFAULT_DASHBOARD = IDENTIFIER + "_defaultdash"; //$NON-NLS-1$
+ /** Producteev user's id */
public static final String PREF_USER_ID = IDENTIFIER + "_userid"; //$NON-NLS-1$
/**
diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java
index 48f7f5608..32a2518df 100644
--- a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java
+++ b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java
@@ -21,10 +21,10 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.dao.MetadataDao;
-import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.dao.StoreObjectDao;
-import com.todoroo.astrid.dao.StoreObjectDao.StoreObjectCriteria;
import com.todoroo.astrid.dao.TaskDao;
+import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
+import com.todoroo.astrid.dao.StoreObjectDao.StoreObjectCriteria;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.model.Metadata;
import com.todoroo.astrid.model.StoreObject;
@@ -80,6 +80,7 @@ public final class ProducteevDataService {
public void clearMetadata() {
metadataDao.deleteWhere(Metadata.KEY.eq(ProducteevTask.METADATA_KEY));
metadataDao.deleteWhere(Metadata.KEY.eq(ProducteevNote.METADATA_KEY));
+ storeObjectDao.deleteWhere(StoreObject.TYPE.eq(ProducteevDashboard.TYPE));
}
/**
@@ -147,7 +148,7 @@ public final class ProducteevDataService {
task.pdvTask.setValue(Metadata.KEY, ProducteevTask.METADATA_KEY);
for(Metadata metadata : task.metadata) {
metadata.setValue(Metadata.TASK, task.task.getId());
- metadataDao.createNew(metadata);
+ metadataDao.persist(metadata);
}
}
diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java
index 5461247ee..909f1a57b 100644
--- a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java
+++ b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java
@@ -82,6 +82,8 @@ public class ProducteevSyncProvider extends SyncProvider 0 && !"Inbox".equals(listName)) { //$NON-NLS-1$
- builder.append(" ").append(listName).append(TaskAdapter.DETAIL_SEPARATOR); //$NON-NLS-1$
+ builder.append(" ").append(listName).append(TaskAdapter.DETAIL_SEPARATOR); //$NON-NLS-1$
}
int repeat = metadata.getValue(MilkTask.REPEATING);
diff --git a/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkLoginActivity.java b/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkLoginActivity.java
index a28da10b5..2e5d350ac 100644
--- a/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkLoginActivity.java
+++ b/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkLoginActivity.java
@@ -84,6 +84,7 @@ public class MilkLoginActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rmilk_login_activity);
+ setTitle(R.string.rmilk_MPr_header);
String urlParam = getIntent().getStringExtra(URL_TOKEN);
diff --git a/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java b/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java
index 865e59b78..eb36a57d5 100644
--- a/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java
+++ b/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java
@@ -159,7 +159,7 @@ public class MilkPreferences extends TodorooPreferences {
boolean loggedIn = MilkUtilities.isLoggedIn();
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference p) {
- new RTMSyncProvider().synchronize(MilkPreferences.this);
+ startService(new Intent(MilkPreferences.this, MilkBackgroundService.class));
finish();
return true;
}
diff --git a/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java
index 777fae37b..b9c38e30d 100644
--- a/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java
+++ b/astrid/plugin-src/com/todoroo/astrid/rmilk/sync/RTMSyncProvider.java
@@ -217,7 +217,8 @@ public class RTMSyncProvider extends SyncProvider {
((Activity)context).startActivityForResult(intent, 0);
else {
// can't synchronize until user logs in
- MilkUtilities.setToken(null);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(intent);
MilkUtilities.stopOngoing();
}
diff --git a/astrid/res/values/strings-filters.xml b/astrid/res/values/strings-filters.xml
index b6ce8308c..5741c67be 100644
--- a/astrid/res/values/strings-filters.xml
+++ b/astrid/res/values/strings-filters.xml
@@ -12,6 +12,9 @@
Search...
+
+ Recently Modified
+
Custom Filter...