package net.bradmont.openmpd.models; import net.bradmont.openmpd.*; import net.bradmont.supergreen.*; import net.bradmont.supergreen.fields.*; import net.bradmont.supergreen.fields.constraints.*; import net.bradmont.supergreen.models.DBModel; import android.database.Cursor; import android.database.sqlite.*; import android.app.Activity; import net.bradmont.openmpd.helpers.Log; import android.widget.SimpleCursorAdapter; public class Notification extends DBModel{ public static final String TABLE = "notification"; // notification types public static final int CHANGE_PARTNER_TYPE = 1; public static final int CHANGE_STATUS = 2; public static final int CHANGE_AMOUNT = 3; public static final int SPECIAL_GIFT = 4; public static final int USER_MESSAGE = 5; // not currently used // notification statuses public static final int STATUS_NEW = 1; public static final int STATUS_NOTIFIED = 2; public static final int STATUS_ACKNOWLEDGED = 3; public Notification(){ super(MPDDBHelper.get(), TABLE); init(); } public Notification(int _id){ super(MPDDBHelper.get(), TABLE, _id); init(); } @Override public DBModel newInstance(){ return new Notification(); } @Override public DBModel newInstance(int id){ return new Notification(id); } @Override protected void init(){ addField(new IntField("id")); setPrimaryKey(getField("id")); getField("id").setColumnName("_id"); getField("id").setExtraArguments("autoincrement"); addField(new ForeignKeyField("contact", Contact.getReferenceInstance())); getField("contact").setColumnName("contact_id"); addField(new IntField("type")); addField(new IntField("status")); getField("status").setDefault(STATUS_NEW); addField(new StringField("message")); addField(new DateField("date")); addField(new StringField("last_gift")); addField(new IntField("giving_amount")); addField(new IntField("partner_type")); addField(new IntField("partner_status")); TABLE_NAME=TABLE; super.init(); } public String [] generateUpdateSQL(int oldversion){ if (oldversion < 12){ String [] result = new String[5]; result[0] = "alter table notification add " + getField("date").getSQLDefinition() +";"; result[1] = "alter table notification add " + getField("last_gift").getSQLDefinition() +";"; result[2] = "alter table notification add " + getField("giving_amount").getSQLDefinition() +";"; result[3] = "alter table notification add " + getField("partner_type").getSQLDefinition() +";"; result[4] = "alter table notification add " + getField("partner_status").getSQLDefinition() +";"; return result; } if (oldversion < 16){ String [] result = new String[4]; result[0] = "alter table notification add " + getField("last_gift").getSQLDefinition() +";"; result[1] = "alter table notification add " + getField("giving_amount").getSQLDefinition() +";"; result[2] = "alter table notification add " + getField("partner_type").getSQLDefinition() +";"; result[3] = "alter table notification add " + getField("partner_status").getSQLDefinition() +";"; return result; } return null; } }