package com.td;\r
\r
-import android.app.Activity;\r
+import android.content.Context;\r
import android.os.Bundle;\r
import android.text.Editable;\r
import android.text.TextWatcher;\r
\r
import com.td.db.Train;\r
import com.td.db.TrainDao;\r
+import com.td.utility.BaseActivity;\r
+import com.td.utility.EditPrefUtil;\r
+import com.td.utility.Util;\r
import com.td.webapi.RouteUpdater;\r
\r
-public class TrainEditActivity extends Activity {\r
+public class TrainEditActivity extends BaseActivity {\r
+ public static final String PREF_TRE_ID = "TRE_ID";\r
+ public static final String PREF_TRE_NAME = "TRE_NAME";\r
+ public static final String PREF_TRE_SNAME = "TRE_SNAME";\r
+\r
public static final String JR = "JR";\r
public static final String LINE = "\90ü";\r
private EditText editText1;\r
private Button button1;\r
private Button button2;\r
private Button button3;\r
- private long id;\r
\r
+ private EditPrefUtil pref = new EditPrefUtil(this);\r
+ private Train train = null;\r
+ \r
@Override\r
public void onCreate(Bundle savedInstanceState) {\r
super.onCreate(savedInstanceState);\r
});\r
button1.setOnClickListener(new OnClickListener(){\r
public void onClick(View view) {\r
- String sname = editText2.getText().toString();\r
- TrainDao.getInstance().set(id, sname);\r
+ long id = train.getId();\r
+ String sname = train.getSearchText();\r
+ TrainDao.getInstance().set(id, sname, true);\r
TrainEditActivity.this.finish();\r
}});\r
button2.setOnClickListener(new OnClickListener(){\r
}});\r
button3.setOnClickListener(new OnClickListener(){\r
public void onClick(View view) {\r
- String sname = editText1.getText().toString();\r
+ String sname = train.getSearchText();\r
sname = RouteUpdater.filter(sname);\r
editText2.setText(sname);\r
}});\r
-\r
- Bundle extras = getIntent().getExtras();\r
- id = extras.getLong("ID");\r
- Train train = TrainDao.getInstance().searchById(id);\r
- if (train != null){\r
- String name = train.getName();\r
- String sname = train.getSearchText();\r
- editText1.setText(name);\r
- editText2.setText(sname);\r
- editText();\r
- } \r
}\r
\r
+ public static void init(Context context){\r
+ EditPrefUtil pref = new EditPrefUtil(context);\r
+ pref.remove(PREF_TRE_ID);\r
+ pref.update();\r
+ }\r
+ \r
+ @Override\r
+ protected void onResume() {\r
+ String name = "";\r
+ String sname = "";\r
+ \r
+ String idStr = pref.get(PREF_TRE_ID);\r
+ if (idStr == null){\r
+ Bundle extras = getIntent().getExtras();\r
+ long id = extras.getLong("ID");\r
+ train = TrainDao.getInstance().searchById(id);\r
+ if (train != null){\r
+ name = train.getName();\r
+ sname = train.getSearchText();\r
+ } \r
+ }\r
+ else {\r
+ long id = Long.valueOf(idStr);\r
+ name = pref.get(PREF_TRE_NAME);\r
+ sname = pref.get(PREF_TRE_SNAME);\r
+ train = new Train(id, name, sname, Util.toInt(false));\r
+ }\r
+ editText1.setText(name);\r
+ editText2.setText(sname);\r
+ editText();\r
+\r
+ super.onResume();\r
+ }\r
+\r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+\r
+ try {\r
+ if (train != null){\r
+ pref.put(PREF_TRE_ID, String.valueOf(train.getId()));\r
+ pref.put(PREF_TRE_NAME, train.getName());\r
+ pref.put(PREF_TRE_SNAME, train.getSearchText());\r
+ pref.update();\r
+ }\r
+ }\r
+ catch (Exception e){\r
+ // TODO\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
private void editText(){\r
+ if (train == null){\r
+ return;\r
+ }\r
String name = editText1.getText().toString();\r
String sname = editText2.getText().toString();\r
\r
}\r
checkBox2.setChecked(!ch2.equals(JR));\r
}\r
+ train.setSearchText(sname);\r
}\r
\r
private void editLine() {\r
+ if (train == null){\r
+ return;\r
+ }\r
String sname = editText2.getText().toString();\r
if (checkBox1.isChecked()){\r
int len = sname.length();\r
sname += LINE;\r
}\r
editText2.setText(sname);\r
+ train.setSearchText(sname);\r
}\r
\r
private void editJR() {\r
+ if (train == null){\r
+ return;\r
+ }\r
String sname = editText2.getText().toString();\r
if (checkBox2.isChecked()){\r
int len = sname.length();\r
sname = JR + sname;\r
} \r
editText2.setText(sname);\r
+ train.setSearchText(sname);\r
}\r
}\r
private SQLiteStatement insertStmt = null;\r
private SQLiteStatement updateStmt = null;\r
private SQLiteStatement updateStmt2 = null;\r
+ private SQLiteStatement updateStmt3 = null;\r
private SQLiteStatement deleteStmt = null;\r
\r
public static TrainDao getInstance(){\r
"UPDATE TRAIN SET "\r
+ "SEARCH_TEXT = ? "\r
+ "WHERE " + android.provider.BaseColumns._ID + " = ?;");\r
+ updateStmt3 = db.compileStatement(\r
+ "UPDATE TRAIN SET "\r
+ + "SEARCH_TEXT = ? ,"\r
+ + "SELECTED = ? "\r
+ + "WHERE " + android.provider.BaseColumns._ID + " = ?;");\r
deleteStmt = db.compileStatement(\r
"DELETE FROM TRAIN");\r
}\r
}\r
}\r
\r
+ public void set(long id, String searchText, boolean selected) {\r
+ DatabaseHelper helper = DatabaseHelper.getInstance();\r
+ SQLiteDatabase db = helper.getWritableDatabase();\r
+ db.beginTransaction();\r
+ try {\r
+ int i = 1;\r
+ SQLiteStatement stmt = updateStmt3;\r
+ stmt.bindString(i++, searchText);\r
+ stmt.bindLong(i++, Util.toInt(selected));\r
+ stmt.bindLong(i++, id);\r
+ stmt.execute();\r
+ db.setTransactionSuccessful();\r
+ } catch (Exception e){\r
+ // TODO\r
+ Debug.d(this, null, e);\r
+ } finally {\r
+ db.endTransaction();\r
+ }\r
+ }\r
+\r
public void deleteNT() {\r
SQLiteStatement stmt = deleteStmt;\r
stmt.execute();\r