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.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.lang.StringBuilder; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; import org.json.JSONObject; import org.json.JSONException; public class TntService extends DBModel{ public static final String TABLE = "tnt_service"; public TntService(){ super(MPDDBHelper.get(), TABLE); init(); } public TntService(int _id){ super(MPDDBHelper.get(), TABLE, _id); init(); } @Override public DBModel newInstance(){ return new TntService(); } @Override public DBModel newInstance(int id){ return new TntService(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("name_short")); addField(new StringField("base_url")); addField(new BooleanField("http_auth")); getField("http_auth").setDefault(false); // balance addField(new StringField("balance_url")); addField(new StringField("balance_formdata")); // donations addField(new StringField("donations_url")); addField(new StringField("donations_formdata")); // addresses addField(new StringField("addresses_url")); addField(new StringField("addresses_formdata")); // addresses_by_personids addField(new StringField("addresses_by_personids_url")); addField(new StringField("addresses_by_personids_formdata")); addField(new StringField("query_ini_url")); addField(new BooleanField("untested_service")); getField("untested_service").setDefault(false); TABLE_NAME=TABLE; super.init(); } public static String readRawTextFile(Context ctx, int resId) { InputStream inputStream = ctx.getResources().openRawResource(resId); InputStreamReader inputreader = new InputStreamReader(inputStream); BufferedReader buffreader = new BufferedReader(inputreader); String line; StringBuilder text = new StringBuilder(); try { while (( line = buffreader.readLine()) != null) { text.append(line); text.append('\n'); } } catch (IOException e) { return null; } return text.toString(); } private String [] [] getArgs(String formdata){ String [] pairs = formdata.split("&"); String [] [] results = new String [pairs.length][]; for (int i = 0; i < pairs.length; i++){ results[i] = pairs[i].split("="); } return results; } private String getArgNameByValue(String formdata, String value){ String [] [] args = getArgs(formdata); for (int i = 0; i < args.length; i++){ if (args[i][1].equals(value)){ return args[i][0]; } } return null; } private String getValueByArgName(String formdata, String key){ String [] [] args = getArgs(formdata); for (int i = 0; i < args.length; i++){ if (args[i][0].equals(key)){ return args[i][1]; } } return null; } public String getUsernameKey(){ return getArgNameByValue(getString("balance_formdata"), "$ACCOUNT$"); } public String getPasswordKey(){ return getArgNameByValue(getString("balance_formdata"), "$PASSWORD$"); } public String getBalanceAction(){ return getValueByArgName(getString("balance_formdata"), "Action"); } public String getDonationsAction(){ return getValueByArgName(getString("donations_formdata"), "Action"); } public String getAddressesAction(){ return getValueByArgName(getString("addresses_formdata"), "Action"); } public String getAddressesByPersonidsAction(){ return getValueByArgName(getString("addresses_by_personids_formdata"), "Action"); } }