• R/O
  • SSH
  • HTTPS

kumagusu: コミット


コミットメタ情報

リビジョン196 (tree)
日時2016-11-27 23:39:08
作者tarshi

ログメッセージ

タイムアウトしない不具合を修正した。

変更サマリ

差分

--- trunk/AndroidManifest.xml (revision 195)
+++ trunk/AndroidManifest.xml (revision 196)
@@ -3,8 +3,8 @@
33 xmlns:android="http://schemas.android.com/apk/res/android"
44 package="jp.gr.java_conf.kumagusu"
55 android:installLocation="auto"
6- android:versionCode="0116"
7- android:versionName="1.16">
6+ android:versionCode="0117"
7+ android:versionName="1.17">
88
99 <uses-sdk
1010 android:minSdkVersion="5"
--- trunk/src/jp/gr/java_conf/kumagusu/EditorActivity.java (revision 195)
+++ trunk/src/jp/gr/java_conf/kumagusu/EditorActivity.java (revision 196)
@@ -28,6 +28,7 @@
2828 import android.content.DialogInterface;
2929 import android.content.Intent;
3030 import android.database.Cursor;
31+import android.graphics.drawable.Drawable;
3132 import android.net.Uri;
3233 import android.os.Build;
3334 import android.os.Bundle;
@@ -640,6 +641,9 @@
640641 // テンポラリ使用中
641642 outState.putBoolean("useTemporaryFile", this.useTemporaryFile);
642643
644+ // タイマー開始値を保存
645+ MainApplication.getInstance(this).getPasswordTimer().SaveInstanceState(outState);
646+
643647 super.onSaveInstanceState(outState);
644648 }
645649
@@ -707,6 +711,11 @@
707711 {
708712 this.useTemporaryFile = savedInstanceState.getBoolean("useTemporaryFile");
709713 }
714+
715+ // タイマー開始値
716+ MainApplication.getInstance(this).getPasswordTimer().RestoreInstanceState(savedInstanceState);
717+
718+ super.onRestoreInstanceState(savedInstanceState);
710719 }
711720
712721 /**
@@ -861,6 +870,8 @@
861870 return true;
862871 }
863872
873+ MainApplication.getInstance(this).getPasswordTimer().resetTimeout();
874+
864875 return false;
865876 }
866877
@@ -1287,6 +1298,7 @@
12871298 * @param edtbl 編集中のときtrue
12881299 * @param forceWrite 強制書き込み時
12891300 */
1301+ @SuppressWarnings("deprecation")
12901302 private void setEditable(boolean edtbl, boolean forceWrite)
12911303 {
12921304 Log.d("EditorActivity", "*** START setEditable()");
@@ -1311,14 +1323,24 @@
13111323 if (!forceWrite)
13121324 {
13131325 // 編集中はエディタの枠線を赤に設定
1326+ Drawable editorFrameDrawable;
13141327 if (this.editable)
13151328 {
1316- this.memoEditText.setBackgroundDrawable(getResources().getDrawable(R.drawable.editable_border_true));
1329+ editorFrameDrawable = getResources().getDrawable(R.drawable.editable_border_true);
13171330 }
13181331 else
13191332 {
1320- this.memoEditText.setBackgroundDrawable(getResources().getDrawable(R.drawable.editable_border_false));
1333+ editorFrameDrawable = getResources().getDrawable(R.drawable.editable_border_false);
13211334 }
1335+
1336+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
1337+ {
1338+ this.memoEditText.setBackground(editorFrameDrawable);
1339+ }
1340+ else
1341+ {
1342+ this.memoEditText.setBackgroundDrawable(editorFrameDrawable);
1343+ }
13221344 }
13231345 }
13241346
--- trunk/src/jp/gr/java_conf/kumagusu/Kumagusu.java (revision 195)
+++ trunk/src/jp/gr/java_conf/kumagusu/Kumagusu.java (revision 196)
@@ -217,17 +217,59 @@
217217 /**
218218 * モードなし.
219219 */
220- NONE,
220+ NONE(10),
221221
222222 /**
223223 * フォルダ表示.
224224 */
225- FOLDER_VIEW,
225+ FOLDER_VIEW(20),
226226
227227 /**
228228 * 検索表示.
229229 */
230- SEARCH_VIEW,
230+ SEARCH_VIEW(30), ;
231+
232+ /** int値 */
233+ private final int id;
234+
235+ /**
236+ * int値からenumを生成する。。
237+ *
238+ * @param id int値
239+ */
240+ private MemoListViewMode(final int id)
241+ {
242+ this.id = id;
243+ }
244+
245+ /**
246+ * enumのint値を返す。
247+ *
248+ * @return enumのint値
249+ */
250+ public int getModeId()
251+ {
252+ return this.id;
253+ }
254+
255+ /**
256+ * intをenumに変換する。
257+ *
258+ * @param id int値
259+ * @return enum値
260+ */
261+ public static MemoListViewMode getMemoListViewMode(int id)
262+ {
263+ for (MemoListViewMode mode : MemoListViewMode.values())
264+ {
265+ if (mode.getModeId() == id)
266+ {
267+ return mode;
268+ }
269+ }
270+
271+ return FOLDER_VIEW;
272+ }
231273 }
232274
233275 /**
@@ -754,6 +796,12 @@
754796 // Kumagusuから起動
755797 outState.putBoolean("executeByKumagusu", this.executeByKumagusu);
756798
799+ // リスト表示モード
800+ outState.putInt("memoListViewMode", this.memoListViewMode.getModeId());
801+
802+ // タイマー開始値を保存
803+ MainApplication.getInstance(this).getPasswordTimer().SaveInstanceState(outState);
804+
757805 super.onSaveInstanceState(outState);
758806 }
759807
@@ -816,6 +864,15 @@
816864 this.executeByKumagusu = savedInstanceState.getBoolean("executeByKumagusu");
817865 }
818866
867+ // リスト表示モード
868+ if (savedInstanceState.containsKey("memoListViewMode"))
869+ {
870+ this.memoListViewMode = MemoListViewMode.getMemoListViewMode(savedInstanceState.getInt("memoListViewMode"));
871+ }
872+
873+ // タイマー開始値
874+ MainApplication.getInstance(this).getPasswordTimer().RestoreInstanceState(savedInstanceState);
875+
819876 super.onRestoreInstanceState(savedInstanceState);
820877 }
821878
--- trunk/src/jp/gr/java_conf/kumagusu/commons/Timer.java (revision 195)
+++ trunk/src/jp/gr/java_conf/kumagusu/commons/Timer.java (revision 196)
@@ -2,11 +2,9 @@
22
33 import java.util.Date;
44
5-import jp.gr.java_conf.kumagusu.MainApplication;
65 import jp.gr.java_conf.kumagusu.preference.MainPreferenceActivity;
7-
8-import android.app.Activity;
96 import android.content.Context;
7+import android.os.Bundle;
108 import android.util.Log;
119
1210 /**
@@ -40,6 +38,7 @@
4038 {
4139 this.context = con;
4240
41+ this.startDateTime = 0;
4342 this.timeout = false;
4443 }
4544
@@ -92,28 +91,6 @@
9291 }
9392
9493 /**
95- * 自動クローズ処理.
96- *
97- * @author tarshi
98- */
99- class AutoClosure implements Runnable
100- {
101- @Override
102- public void run()
103- {
104- // 一応タイマを破棄
105- stop();
106-
107- // パスワードをクリア
108- MainApplication.getInstance((Activity) context).clearPasswordList();
109-
110- // アプリケーションを終了する
111- Activity act = (Activity) context;
112- act.moveTaskToBack(true);
113- }
114- }
115-
116- /**
11794 * タイムアウト発生?を返す.
11895 *
11996 * @return タイムアウト発生のときtrue
@@ -130,4 +107,35 @@
130107 {
131108 this.timeout = false;
132109 }
110+
111+ /**
112+ * タイマー開始時刻を保存する。
113+ * @param outState バンドル
114+ */
115+ public void SaveInstanceState(Bundle outState)
116+ {
117+ Log.d("Timer", "*** START SaveInstanceState()");
118+
119+ outState.putLong("kumagusuTimerStartDateTime", this.startDateTime);
120+ outState.putBoolean("kumagusuTimerTimeout", this.timeout);
121+ }
122+
123+ /**
124+ * タイマー開始時刻を再現する。
125+ * @param savedInstanceState バンドル
126+ */
127+ public void RestoreInstanceState(Bundle savedInstanceState)
128+ {
129+ Log.d("Timer", "*** START RestoreInstanceState()");
130+
131+ if (savedInstanceState.containsKey("kumagusuTimerStartDateTime"))
132+ {
133+ this.startDateTime = savedInstanceState.getLong("kumagusuTimerStartDateTime");
134+ }
135+
136+ if (savedInstanceState.containsKey("kumagusuTimerTimeout"))
137+ {
138+ this.timeout = savedInstanceState.getBoolean("kumagusuTimerTimeout");
139+ }
140+ }
133141 }
旧リポジトリブラウザで表示