<TextView android:text="路線名(編集不可)" android:background="#999999" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
<EditText android:layout_height="wrap_content" android:id="@+id/editText31" android:layout_width="wrap_content" editable="false" android:focusable="false" android:cursorVisible="false" />\r
<TextView android:text="検索時に使用する路線名" android:background="#999999" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
- <EditText android:layout_height="wrap_content" android:id="@+id/editText32" android:layout_width="wrap_content" />\r
+ <EditText android:layout_height="wrap_content" android:id="@+id/editText32" android:layout_width="wrap_content" android:inputType="text" />\r
<TextView android:text="編集内容" android:background="#999999" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>\r
<CheckBox android:layout_width="fill_parent" android:text="「線」を削除する" android:id="@+id/checkBox31" android:layout_height="fill_parent"></CheckBox>\r
<CheckBox android:layout_width="fill_parent" android:text="「JR」を削除する" android:id="@+id/checkBox32" android:layout_height="fill_parent"></CheckBox>\r
import com.td.utility.BaseActivity;
import com.td.utility.Debug;
import com.td.utility.EditPrefUtil;
+import com.td.utility.StatusFlagTest;
import com.td.wait.InitializeWating;
import com.td.wait.TrainServiceWaiting;
}
private void debug(){
- int n = 1;
+ int n = 4;
switch (n){
case 1:
intent.putExtra("TEXT", "\83T\83\93\83v\83\8b\83\81\83b\83Z\81[\83W");
sendBroadcast(intent);
break;
+ case 4:
+ // StatusFlag\82Ì\83e\83X\83g
+ StatusFlagTest.main(this);
+ break;
default:
break;
}
String sname = train.getSearchText();\r
if (checkBox1.isChecked()) {\r
int len = sname.length();\r
- sname = sname.substring(0, len - 1);\r
+ int slen = LINE.length();\r
+ if (len >= slen\r
+ && sname.substring(len - slen, len).equals(LINE)) {\r
+ sname = sname.substring(0, len - slen);\r
+ }\r
} else {\r
sname += LINE;\r
}\r
String sname = train.getSearchText();\r
if (checkBox2.isChecked()) {\r
int len = sname.length();\r
- sname = sname.substring(2, len);\r
+ int slen = JR.length();\r
+ if (len >= slen && sname.substring(0, slen).equals(JR)) {\r
+ sname = sname.substring(slen, len);\r
+ }\r
} else {\r
sname = JR + sname;\r
}\r
\r
public static Calendar getCalendar(int y, int m, int d, int h, int mi){\r
Calendar cal = Calendar.getInstance();\r
- //cal.set(y - 1900, m - 1, d, h, mi);\r
cal.set(y, m - 1, d, h, mi);\r
return cal;\r
}\r
public static String getMinute(String t){\r
return t.substring(3, 5);\r
}\r
+ \r
+ public static int getY(int ymd){\r
+ return ymd / 10000;\r
+ }\r
+ \r
+ public static int getM(int ymd){\r
+ return (ymd % 10000) / 100;\r
+ }\r
+ \r
+ public static int getD(int ymd){\r
+ return ymd % 100;\r
+ }\r
+\r
+ public static int getH(int hm){\r
+ return hm / 100;\r
+ }\r
+\r
+ public static int getMi(int hm){\r
+ return hm % 100;\r
+ } \r
}\r
--- /dev/null
+package com.td.utility;\r
+\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+\r
+import android.content.Context;\r
+\r
+public class StatusFlag {\r
+ public static final int ON = 1;\r
+ public static final int OFF = 0;\r
+ public static final int TERM_NONE = -1;\r
+ \r
+ private static final String PREF_STF_FLAG = "STF_FLAG";\r
+ private static final String DELM = ",";\r
+\r
+ private Context context;\r
+ private long term; // \95ª\r
+ private EditPrefUtil pref;\r
+\r
+ public StatusFlag(Context context, long term){\r
+ this.context = context;\r
+ this.term = term;\r
+ pref = new EditPrefUtil(context);\r
+ }\r
+ \r
+ public void set(int flag){\r
+ Calendar cal = Calendar.getInstance();\r
+ Date d = cal.getTime();\r
+ int ymd = DateUtil.getYmd(d);\r
+ int hm = DateUtil.getHm(d);\r
+ \r
+ StringBuffer sb = new StringBuffer();\r
+ sb.append(ymd);\r
+ sb.append(DELM);\r
+ sb.append(hm);\r
+ sb.append(DELM);\r
+ sb.append(flag);\r
+ \r
+ pref.put(PREF_STF_FLAG, sb.toString());\r
+ }\r
+ \r
+ public int get(){\r
+ return get(term);\r
+ }\r
+ \r
+ public int get(long term){\r
+ String s = pref.get(PREF_STF_FLAG);\r
+ if (s == null){\r
+ return OFF;\r
+ }\r
+ \r
+ String[] t = s.split(DELM);\r
+ int ymd = Integer.valueOf(t[0]);\r
+ int hm = Integer.valueOf(t[1]);\r
+ int flag = Integer.valueOf(t[2]);\r
+ \r
+ if (flag == OFF || term < 0){\r
+ return flag;\r
+ }\r
+ \r
+ int y = DateUtil.getY(ymd);\r
+ int m = DateUtil.getM(ymd);\r
+ int d = DateUtil.getD(ymd);\r
+\r
+ int h = DateUtil.getH(hm);\r
+ int mi = DateUtil.getMi(hm);\r
+ \r
+ Calendar sCal = DateUtil.getCalendar(y, m, d, h, mi);\r
+ Calendar nCal = Calendar.getInstance();\r
+ \r
+ long mt = sCal.getTimeInMillis() + term * 60 * 1000; // \95Û\91¶\8aú\8aÔ\8dÅ\91å\r
+ long nt = nCal.getTimeInMillis(); // \8c»\8dÝ\r
+ \r
+ if (nt > mt){\r
+ Debug.t(context, "\95Û\91¶\8dÅ\91å\8aú\8aÔ\92´\89ß\81@" + ymd + "/" + hm);\r
+ return OFF;\r
+ }\r
+ return flag;\r
+ }\r
+\r
+ public boolean isOn(){\r
+ return get() == ON;\r
+ }\r
+\r
+ public boolean isOff(){\r
+ return !isOn();\r
+ }\r
+}\r
--- /dev/null
+package com.td.utility;\r
+\r
+import android.content.Context;\r
+\r
+public class StatusFlagTest {\r
+ public static void main(Context context) {\r
+ int i;\r
+ try {\r
+ for (i = 0; i < 3; i++) {\r
+ long term = -1;\r
+ long slp = 0;\r
+ int flag = StatusFlag.OFF;\r
+ int eFlag = -1;\r
+ int ret;\r
+\r
+ StatusFlag sf;\r
+ switch (i) {\r
+ case 0:\r
+ term = -1;\r
+ slp = 1;\r
+ flag = StatusFlag.ON;\r
+ eFlag = StatusFlag.ON;\r
+ break;\r
+ case 1:\r
+ term = 2;\r
+ slp = 1;\r
+ flag = StatusFlag.ON;\r
+ eFlag = StatusFlag.ON;\r
+ break;\r
+ case 2:\r
+ term = 1;\r
+ slp = 2;\r
+ flag = StatusFlag.ON;\r
+ eFlag = StatusFlag.OFF;\r
+ break;\r
+ }\r
+ sf = new StatusFlag(context, term);\r
+ sf.set(flag);\r
+ Thread.sleep(slp * 60 * 1000);\r
+ ret = sf.get();\r
+ if (eFlag != ret){\r
+ throw new TdException("" + i);\r
+ }\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+}\r
public TdException(Throwable throwable) {\r
super(throwable);\r
}\r
+\r
+ public TdException(String string) {\r
+ super(string);\r
+ }\r
}\r