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