Fixed a crash on startup, made notifications a bit better by opening up a new separate filter, also refactor.

pull/14/head
Tim Su 14 years ago
parent 8b85736976
commit f707702ed2

@ -37,7 +37,7 @@ public final class CoreFilterExposer extends BroadcastReceiver {
// build filters
Filter inbox = buildInboxFilter(r);
Filter all = new Filter(CorePlugin.pluginIdentifier, r.getString(R.string.BFE_All),
Filter all = new Filter(CorePlugin.IDENTIFIER, r.getString(R.string.BFE_All),
r.getString(R.string.BFE_All),
new QueryTemplate().where(Criterion.not(TaskCriteria.isDeleted())).
orderBy(Order.desc(Task.MODIFICATION_DATE)),
@ -59,7 +59,7 @@ public final class CoreFilterExposer extends BroadcastReceiver {
*/
@SuppressWarnings("nls")
public static Filter buildInboxFilter(Resources r) {
Filter inbox = new Filter(CorePlugin.pluginIdentifier, r.getString(R.string.BFE_Inbox),
Filter inbox = new Filter(CorePlugin.IDENTIFIER, r.getString(R.string.BFE_Inbox),
r.getString(R.string.BFE_Inbox_title),
new QueryTemplate().where(Criterion.and(TaskCriteria.isActive(),
TaskCriteria.isVisible(DateUtilities.now()))).orderBy(

@ -9,11 +9,11 @@ import com.todoroo.astrid.api.Plugin;
public class CorePlugin extends BroadcastReceiver {
static final String pluginIdentifier = "core";
static final String IDENTIFIER = "core";
@Override
public void onReceive(Context context, Intent intent) {
Plugin plugin = new Plugin(pluginIdentifier, "Core Filters", "Todoroo",
Plugin plugin = new Plugin(IDENTIFIER, "Core Filters", "Todoroo",
"Provides 'Inbox' and 'All Tasks' Filters");
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_PLUGINS);

@ -36,10 +36,10 @@ public final class ExtendedFilterExposer extends BroadcastReceiver {
Resources r = context.getResources();
// build filters
FilterListHeader header = new FilterListHeader(ExtendedPlugin.pluginIdentifier,
FilterListHeader header = new FilterListHeader(ExtendedPlugin.IDENTIFIER,
"Extended");
Filter alphabetical = new Filter(ExtendedPlugin.pluginIdentifier,
Filter alphabetical = new Filter(ExtendedPlugin.IDENTIFIER,
"Alphabetical",
"Alphabetical",
new QueryTemplate().where(Criterion.and(TaskCriteria.isActive(),
@ -48,7 +48,7 @@ public final class ExtendedFilterExposer extends BroadcastReceiver {
null);
alphabetical.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.filter_alpha)).getBitmap();
Filter recent = new Filter(ExtendedPlugin.pluginIdentifier,
Filter recent = new Filter(ExtendedPlugin.IDENTIFIER,
"Recently Modified",
"Recently Modified",
new QueryTemplate().orderBy(Order.desc(Task.MODIFICATION_DATE)).limit(15),
@ -57,7 +57,7 @@ public final class ExtendedFilterExposer extends BroadcastReceiver {
ContentValues hiddenValues = new ContentValues();
hiddenValues.put(Task.HIDE_UNTIL.name, DateUtilities.now() + DateUtilities.ONE_DAY);
Filter hidden = new Filter(ExtendedPlugin.pluginIdentifier,
Filter hidden = new Filter(ExtendedPlugin.IDENTIFIER,
"Hidden Tasks",
"Hidden Tasks",
new QueryTemplate().where(Criterion.and(TaskCriteria.isActive(),
@ -66,7 +66,7 @@ public final class ExtendedFilterExposer extends BroadcastReceiver {
hiddenValues);
hidden.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.filter_hidden)).getBitmap();
Filter deleted = new Filter(ExtendedPlugin.pluginIdentifier,
Filter deleted = new Filter(ExtendedPlugin.IDENTIFIER,
"Deleted Tasks",
"Deleted Tasks",
new QueryTemplate().where(TaskCriteria.isDeleted()).

@ -9,11 +9,11 @@ import com.todoroo.astrid.api.Plugin;
public class ExtendedPlugin extends BroadcastReceiver {
static final String pluginIdentifier = "extended";
static final String IDENTIFIER = "extended";
@Override
public void onReceive(Context context, Intent intent) {
Plugin plugin = new Plugin(pluginIdentifier, "Extended Filters", "Todoroo",
Plugin plugin = new Plugin(IDENTIFIER, "Extended Filters", "Todoroo",
"Provides extended filters for viewing subsets of your tasks");
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_PLUGINS);

@ -23,8 +23,10 @@ import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.timsu.astrid.activities.TaskList;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
/**
* This activity is launched when a user opens up a notification from the
@ -35,6 +37,16 @@ import com.todoroo.astrid.activity.TaskListActivity;
*/
public class NotificationActivity extends Activity {
// --- constants
/** task id from notification */
public static final String TOKEN_ID = "id";
/** task title */
public static final String TOKEN_TITLE = "title";
// --- implementation
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -50,8 +62,18 @@ public class NotificationActivity extends Activity {
}
private void launchTaskList(Intent intent) {
long id = intent.getLongExtra(TOKEN_ID, -1);
if(id == -1)
return;
Intent taskListIntent = new Intent(this, TaskListActivity.class);
taskListIntent.putExtra(TaskList.VARIABLES_TAG, intent.getExtras());
Filter itemFilter = new Filter(ReminderPlugin.IDENTIFIER,
"Notification",
"Notification",
new QueryTemplate().where(TaskCriteria.byId(id)),
null);
taskListIntent.putExtra(TaskListActivity.TOKEN_FILTER, itemFilter);
startActivity(taskListIntent);
finish();

@ -0,0 +1,24 @@
package com.todoroo.astrid.reminders;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Plugin;
public class ReminderPlugin extends BroadcastReceiver {
static final String IDENTIFIER = "reminders";
@Override
public void onReceive(Context context, Intent intent) {
Plugin plugin = new Plugin(IDENTIFIER, "Reminders", "Todoroo",
"Provides notification reminders for tasks");
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_PLUGINS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_PLUGIN, plugin);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
}

@ -1035,6 +1035,8 @@ public final class TaskEditActivity extends TabActivity {
@Override
public void writeToModel() {
model.setValue(Task.REMINDER_FLAGS, getValue());
if(random.isChecked())
model.setValue(Task.REMINDER_PERIOD, periodic);
}
}

@ -273,6 +273,11 @@ public final class Task extends AbstractModel {
* @param hasDueTime
*/
public void setDueDateAndTime(Date dueDate, boolean hasDueTime) {
if(dueDate == null || dueDate.getTime() == 0) {
setValue(Task.DUE_DATE, 0L);
return;
}
if(!hasDueTime) {
dueDate.setHours(23);
dueDate.setMinutes(59);

@ -23,6 +23,7 @@ public class Preferences {
setIfUnset(prefs, editor, r, R.string.p_default_urgency_key, 4);
setIfUnset(prefs, editor, r, R.string.p_default_importance_key, 2);
setIfUnset(prefs, editor, r, R.string.p_default_hideUntil_key, 0);
setIfUnset(prefs, editor, r, R.string.p_fontSize, 22);
editor.commit();
}

Loading…
Cancel
Save