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 android.content.ContentValues; import android.content.Context; import net.bradmont.openmpd.helpers.Log; import android.view.View; import android.widget.*; import android.widget.SimpleCursorAdapter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; import org.json.JSONObject; import org.json.JSONException; public class QuickMessage extends DBModel{ public static final String TABLE = "quick_message"; public QuickMessage(){ super(MPDDBHelper.get(), TABLE); init(); } public QuickMessage(int _id){ super(MPDDBHelper.get(), TABLE, _id); init(); } @Override public DBModel newInstance(){ return new QuickMessage(); } @Override public DBModel newInstance(int id){ return new QuickMessage(id); } @Override protected void init(){ addField(new IntField("id")); setPrimaryKey(getField("id")); getField("id").setColumnName("_id"); getField("id").setExtraArguments("autoincrement"); addField(new StringField("name")); addField(new StringField("subject")); addField(new StringField("body")); addField(new StringField("notification_type")); addField(new BooleanField("customized")); getField("customized").setDefault(false); TABLE_NAME=TABLE; super.init(); } public void createDefaults(){ String raw_json = TntService.readRawTextFile(MPDDBHelper.get().getContext(), R.raw.quick_messages); try { JSONObject json = new JSONObject(raw_json); String [] fieldnames = { "subject", "body", "notification_type"}; for (Iterator<String> iKeys= json.keys(); iKeys.hasNext(); ){ String key = iKeys.next(); JSONObject obj = json.getJSONObject(key); QuickMessage message = new QuickMessage(); message.setValue("name", key); for (String field: fieldnames){ if (obj.has(field)){ message.setValue(field, obj.getString(field)); } } message.dirtySave(); } } catch (JSONException e){ Log.i("net.bradmont.openmpd", "JSONException caught."); } } public String [] generateUpdateSQL(int oldversion){ if (oldversion < 15){ String [] result = new String[1]; result[0] = generateCreateSQL(); return result; } return null; } }