mirror of https://github.com/tasks/tasks
Remove 'waiting on me'
parent
696065b344
commit
997a4725ec
@ -1,113 +0,0 @@
|
||||
package com.todoroo.astrid.data;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.todoroo.andlib.data.AbstractModel;
|
||||
import com.todoroo.andlib.data.Property;
|
||||
import com.todoroo.andlib.data.Property.IntegerProperty;
|
||||
import com.todoroo.andlib.data.Property.LongProperty;
|
||||
import com.todoroo.andlib.data.Property.StringProperty;
|
||||
import com.todoroo.andlib.data.Table;
|
||||
import com.todoroo.andlib.data.TodorooCursor;
|
||||
import com.todoroo.astrid.api.AstridApiConstants;
|
||||
|
||||
public class WaitingOnMe extends RemoteModel {
|
||||
|
||||
/** table for this model */
|
||||
public static final Table TABLE = new Table("waitingOnMe", WaitingOnMe.class);
|
||||
|
||||
/** model class for entries in the outstanding table */
|
||||
public static final Class<? extends OutstandingEntry<WaitingOnMe>> OUTSTANDING_MODEL = WaitingOnMeOutstanding.class;
|
||||
|
||||
/** content uri for this model */
|
||||
public static final Uri CONTENT_URI = Uri.parse("content://" + AstridApiConstants.API_PACKAGE + "/" +
|
||||
TABLE.name);
|
||||
|
||||
/** ID */
|
||||
public static final LongProperty ID = new LongProperty(
|
||||
TABLE, ID_PROPERTY_NAME);
|
||||
|
||||
/** Remote ID */
|
||||
public static final StringProperty UUID = new StringProperty(
|
||||
TABLE, RemoteModel.UUID_PROPERTY_NAME);
|
||||
|
||||
public static final StringProperty WAITING_USER_ID = new StringProperty(
|
||||
TABLE, "waiting_user_id", Property.PROP_FLAG_USER_ID);
|
||||
|
||||
public static final StringProperty TASK_UUID = new StringProperty(
|
||||
TABLE, "task_uuid");
|
||||
|
||||
public static final StringProperty WAIT_TYPE = new StringProperty(
|
||||
TABLE, "wait_type");
|
||||
|
||||
public static final LongProperty CREATED_AT = new LongProperty(
|
||||
TABLE, "created_at", Property.PROP_FLAG_DATE);
|
||||
|
||||
public static final LongProperty DELETED_AT = new LongProperty(
|
||||
TABLE, "deleted_at", Property.PROP_FLAG_DATE);
|
||||
|
||||
public static final LongProperty READ_AT = new LongProperty(
|
||||
TABLE, "read_at", Property.PROP_FLAG_DATE);
|
||||
|
||||
public static final IntegerProperty ACKNOWLEDGED = new IntegerProperty(
|
||||
TABLE, "acknowledged", Property.PROP_FLAG_BOOLEAN);
|
||||
|
||||
public static final LongProperty PUSHED_AT = new LongProperty(
|
||||
TABLE, PUSHED_AT_PROPERTY_NAME, Property.PROP_FLAG_DATE);
|
||||
|
||||
@Override
|
||||
public String getUuid() {
|
||||
return getUuidHelper(UUID);
|
||||
}
|
||||
|
||||
public WaitingOnMe() {
|
||||
super();
|
||||
}
|
||||
|
||||
public WaitingOnMe(TodorooCursor<WaitingOnMe> cursor) {
|
||||
this();
|
||||
readPropertiesFromCursor(cursor);
|
||||
}
|
||||
|
||||
public void readFromCursor(TodorooCursor<WaitingOnMe> cursor) {
|
||||
super.readPropertiesFromCursor(cursor);
|
||||
}
|
||||
|
||||
private static final ContentValues defaultValues = new ContentValues();
|
||||
|
||||
static {
|
||||
defaultValues.put(UUID.name, RemoteModel.NO_UUID);
|
||||
defaultValues.put(WAITING_USER_ID.name, RemoteModel.NO_UUID);
|
||||
defaultValues.put(TASK_UUID.name, RemoteModel.NO_UUID);
|
||||
defaultValues.put(CREATED_AT.name, 0L);
|
||||
defaultValues.put(DELETED_AT.name, 0L);
|
||||
defaultValues.put(READ_AT.name, 0L);
|
||||
}
|
||||
|
||||
public static final String WAIT_TYPE_COMMENTED = "commented";
|
||||
public static final String WAIT_TYPE_ASSIGNED = "assigned";
|
||||
public static final String WAIT_TYPE_MENTIONED = "mentioned";
|
||||
public static final String WAIT_TYPE_RAISED_PRI = "raised_pri";
|
||||
public static final String WAIT_TYPE_CHANGED_DUE = "changed_due";
|
||||
|
||||
@Override
|
||||
public ContentValues getDefaultValues() {
|
||||
return defaultValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return getIdHelper(ID);
|
||||
}
|
||||
|
||||
public static final Property<?>[] PROPERTIES = generateProperties(WaitingOnMe.class);
|
||||
|
||||
private static final Creator<WaitingOnMe> CREATOR = new ModelCreator<WaitingOnMe>(WaitingOnMe.class);
|
||||
|
||||
@Override
|
||||
protected Creator<? extends AbstractModel> getCreator() {
|
||||
return CREATOR;
|
||||
}
|
||||
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package com.todoroo.astrid.data;
|
||||
|
||||
import android.content.ContentValues;
|
||||
|
||||
import com.todoroo.andlib.data.AbstractModel;
|
||||
import com.todoroo.andlib.data.Property;
|
||||
import com.todoroo.andlib.data.Property.LongProperty;
|
||||
import com.todoroo.andlib.data.Property.StringProperty;
|
||||
import com.todoroo.andlib.data.Table;
|
||||
|
||||
public class WaitingOnMeOutstanding extends OutstandingEntry<WaitingOnMe> {
|
||||
|
||||
/** table for this model */
|
||||
public static final Table TABLE = new Table("waiting_on_me_outstanding", WaitingOnMeOutstanding.class);
|
||||
|
||||
// --- properties
|
||||
|
||||
/** ID */
|
||||
public static final LongProperty ID = new LongProperty(
|
||||
TABLE, ID_PROPERTY_NAME);
|
||||
|
||||
public static final LongProperty TASK_ID = new LongProperty(
|
||||
TABLE, ENTITY_ID_PROPERTY_NAME);
|
||||
|
||||
public static final StringProperty COLUMN_STRING = new StringProperty(
|
||||
TABLE, COLUMN_STRING_PROPERTY_NAME);
|
||||
|
||||
public static final StringProperty VALUE_STRING = new StringProperty(
|
||||
TABLE, VALUE_STRING_PROPERTY_NAME);
|
||||
|
||||
public static final LongProperty CREATED_AT = new LongProperty(
|
||||
TABLE, CREATED_AT_PROPERTY_NAME);
|
||||
|
||||
private static final ContentValues defaultValues = new ContentValues();
|
||||
|
||||
static {
|
||||
defaultValues.put(TASK_ID.name, 0);
|
||||
defaultValues.put(COLUMN_STRING.name, "");
|
||||
defaultValues.put(VALUE_STRING.name, "");
|
||||
}
|
||||
|
||||
/** List of all properties for this model */
|
||||
public static final Property<?>[] PROPERTIES = generateProperties(WaitingOnMeOutstanding.class);
|
||||
|
||||
@Override
|
||||
public ContentValues getDefaultValues() {
|
||||
return defaultValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return getIdHelper(ID);
|
||||
}
|
||||
|
||||
public static final Creator<WaitingOnMeOutstanding> CREATOR = new ModelCreator<WaitingOnMeOutstanding>(WaitingOnMeOutstanding.class);
|
||||
|
||||
@Override
|
||||
protected Creator<? extends AbstractModel> getCreator() {
|
||||
return CREATOR;
|
||||
}
|
||||
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 781 B |
Binary file not shown.
Before Width: | Height: | Size: 790 B |
@ -1,94 +0,0 @@
|
||||
package com.todoroo.astrid.actfm;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Typeface;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.todoroo.andlib.data.Property;
|
||||
import com.todoroo.andlib.data.TodorooCursor;
|
||||
import com.todoroo.andlib.service.Autowired;
|
||||
import com.todoroo.andlib.sql.Criterion;
|
||||
import com.todoroo.andlib.sql.Query;
|
||||
import com.todoroo.andlib.utility.AndroidUtilities;
|
||||
import com.todoroo.andlib.utility.DateUtilities;
|
||||
import com.todoroo.astrid.activity.TaskListFragment;
|
||||
import com.todoroo.astrid.adapter.TaskAdapter;
|
||||
import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener;
|
||||
import com.todoroo.astrid.dao.TaskDao;
|
||||
import com.todoroo.astrid.dao.WaitingOnMeDao;
|
||||
import com.todoroo.astrid.data.Task;
|
||||
import com.todoroo.astrid.data.WaitingOnMe;
|
||||
|
||||
public class WaitingOnMeFragment extends TaskListFragment {
|
||||
|
||||
@Autowired
|
||||
private WaitingOnMeDao waitingOnMeDao;
|
||||
|
||||
@Autowired
|
||||
private TaskDao taskDao;
|
||||
|
||||
@Override
|
||||
public Property<?>[] taskProperties() {
|
||||
return AndroidUtilities.addToArray(Property.class, super.taskProperties(), WaitingOnMe.READ_AT, WaitingOnMe.ACKNOWLEDGED);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor) {
|
||||
return new WaitingOnMeTaskAdapter(this, getTaskRowResource(),
|
||||
cursor, sqlQueryTemplate, false,
|
||||
new OnCompletedTaskListener() {
|
||||
@Override
|
||||
public void onCompletedTask(Task item, boolean newState) {
|
||||
if (newState == true) {
|
||||
onTaskCompleted(item);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static class WaitingOnMeTaskAdapter extends TaskAdapter {
|
||||
|
||||
public WaitingOnMeTaskAdapter(TaskListFragment fragment, int resource,
|
||||
Cursor c, AtomicReference<String> query, boolean autoRequery,
|
||||
OnCompletedTaskListener onCompletedTaskListener) {
|
||||
super(fragment, resource, c, query, autoRequery, onCompletedTaskListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setTaskAppearance(ViewHolder viewHolder, Task task) {
|
||||
super.setTaskAppearance(viewHolder, task);
|
||||
|
||||
TextView nameView = viewHolder.nameView;
|
||||
if (task.getValue(WaitingOnMe.READ_AT) == 0 && task.getValue(WaitingOnMe.ACKNOWLEDGED) == 0) {
|
||||
nameView.setTypeface(null, Typeface.BOLD);
|
||||
} else {
|
||||
nameView.setTypeface(null, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskListItemClicked(long taskId, boolean editable) {
|
||||
super.onTaskListItemClicked(taskId, editable);
|
||||
String uuid = taskDao.uuidFromLocalId(taskId);
|
||||
if (!TextUtils.isEmpty(uuid)) {
|
||||
TodorooCursor<WaitingOnMe> womCursor = waitingOnMeDao.query(Query.select(WaitingOnMe.ID)
|
||||
.where(Criterion.and(WaitingOnMe.TASK_UUID.eq(uuid), WaitingOnMe.READ_AT.eq(0))));
|
||||
try {
|
||||
if (womCursor.getCount() > 0) {
|
||||
womCursor.moveToFirst();
|
||||
WaitingOnMe wom = new WaitingOnMe(womCursor);
|
||||
wom.setValue(WaitingOnMe.READ_AT, DateUtilities.now());
|
||||
waitingOnMeDao.saveExisting(wom);
|
||||
}
|
||||
} finally {
|
||||
womCursor.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
package com.todoroo.astrid.dao;
|
||||
|
||||
import com.todoroo.andlib.data.TodorooCursor;
|
||||
import com.todoroo.andlib.service.Autowired;
|
||||
import com.todoroo.andlib.service.DependencyInjectionService;
|
||||
import com.todoroo.andlib.sql.Criterion;
|
||||
import com.todoroo.andlib.sql.Query;
|
||||
import com.todoroo.astrid.actfm.sync.messages.NameMaps;
|
||||
import com.todoroo.astrid.data.WaitingOnMe;
|
||||
|
||||
public class WaitingOnMeDao extends RemoteModelDao<WaitingOnMe> {
|
||||
|
||||
@Autowired
|
||||
private Database database;
|
||||
|
||||
public WaitingOnMeDao() {
|
||||
super(WaitingOnMe.class);
|
||||
DependencyInjectionService.getInstance().inject(this);
|
||||
setDatabase(database);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean shouldRecordOutstandingEntry(String columnName, Object value) {
|
||||
return NameMaps.shouldRecordOutstandingColumnForTable(NameMaps.TABLE_ID_WAITING_ON_ME, columnName);
|
||||
}
|
||||
|
||||
public WaitingOnMe findByTask(String taskUuid) {
|
||||
TodorooCursor<WaitingOnMe> cursor = query(Query.select(WaitingOnMe.PROPERTIES).where(
|
||||
Criterion.and(WaitingOnMe.TASK_UUID.eq(taskUuid),
|
||||
Criterion.or(WaitingOnMe.ACKNOWLEDGED.eq(0), WaitingOnMe.ACKNOWLEDGED.isNull()),
|
||||
Criterion.or(WaitingOnMe.DELETED_AT.eq(0), WaitingOnMe.DELETED_AT.isNull()))));
|
||||
cursor.moveToFirst();
|
||||
return returnFetchResult(cursor);
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
package com.todoroo.astrid.dao;
|
||||
|
||||
import com.todoroo.astrid.data.WaitingOnMeOutstanding;
|
||||
|
||||
public class WaitingOnMeOutstandingDao extends OutstandingEntryDao<WaitingOnMeOutstanding> {
|
||||
|
||||
public WaitingOnMeOutstandingDao() {
|
||||
super(WaitingOnMeOutstanding.class);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue