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; @SuppressWarnings("nls") 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; } }