From f821ef8cb890ec00ebb7b231057b1828b017d90d Mon Sep 17 00:00:00 2001 From: Yuji Konishi Date: Tue, 20 Mar 2012 15:41:55 +0900 Subject: [PATCH] T27820 --- .../EverMemo/src/com/yuji/em/EverMemoActivity.java | 8 +--- .../EverMemo/src/com/yuji/em/HeaderActivity.java | 5 +-- workspace/EverMemo/src/com/yuji/em/Initialize.java | 26 +++++++++++ .../EverMemo/src/com/yuji/em/NoteListActivity.java | 8 +++- .../src/com/yuji/em/SelectNoteListActivity.java | 4 +- .../EverMemo/src/com/yuji/em/SettingActivity.java | 10 ++--- .../src/com/yuji/em/UserPasswordActivity.java | 4 +- .../src/com/yuji/em/task/NoteListTask.java | 9 +++- .../src/com/yuji/em/task/UpdateNoteTask.java | 52 ++++++++++++++-------- .../src/com/yuji/em/utility/AsyncTaskCommand.java | 8 +++- .../src/com/yuji/em/utility/AsyncTaskIF.java | 1 + .../src/com/yuji/em/utility/BaseActivity.java | 19 ++++---- 12 files changed, 102 insertions(+), 52 deletions(-) create mode 100644 workspace/EverMemo/src/com/yuji/em/Initialize.java diff --git a/workspace/EverMemo/src/com/yuji/em/EverMemoActivity.java b/workspace/EverMemo/src/com/yuji/em/EverMemoActivity.java index 26d0b53..efdcd14 100644 --- a/workspace/EverMemo/src/com/yuji/em/EverMemoActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/EverMemoActivity.java @@ -29,11 +29,9 @@ import com.yuji.em.utility.AsyncTaskCommand; import com.yuji.em.utility.BaseActivity; import com.yuji.em.utility.Debug; import com.yuji.em.utility.EditPrefUtil; -import com.yuji.em.utility.EvernoteUtil; public class EverMemoActivity extends BaseActivity { private EditPrefUtil pref = new EditPrefUtil(this); - private EvernoteUtil util = EvernoteUtil.getInstance(); private TextView titleText = null; private Button sendButton = null; private EditText editText = null; @@ -97,10 +95,6 @@ public class EverMemoActivity extends BaseActivity { }); } - String username = CommonUtil.getUsername(this); - String password = CommonUtil.getPassword(this); - util.setConfig(username, password); - updateList(); setStatus(); } @@ -256,7 +250,7 @@ public class EverMemoActivity extends BaseActivity { // XV // util.updateNoteContext(guid, title, text); - UpdateNoteTask task = new UpdateNoteTask(guid, title, text); + UpdateNoteTask task = new UpdateNoteTask(this, guid, title, text); AsyncTaskCommand command = new AsyncTaskCommand(this, task); command.setDialog(false); command.execute(""); diff --git a/workspace/EverMemo/src/com/yuji/em/HeaderActivity.java b/workspace/EverMemo/src/com/yuji/em/HeaderActivity.java index b1db3be..5439710 100644 --- a/workspace/EverMemo/src/com/yuji/em/HeaderActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/HeaderActivity.java @@ -1,6 +1,5 @@ package com.yuji.em; -import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; @@ -8,10 +7,10 @@ import android.widget.Button; import android.widget.EditText; import com.yuji.em.common.Constant; +import com.yuji.em.utility.BaseActivity; import com.yuji.em.utility.EditPrefUtil; -import com.yuji.em.utility.EvernoteUtil; -public class HeaderActivity extends Activity { +public class HeaderActivity extends BaseActivity { private EditPrefUtil pref = new EditPrefUtil(this); private EditText editText = null; private Button okButton = null; diff --git a/workspace/EverMemo/src/com/yuji/em/Initialize.java b/workspace/EverMemo/src/com/yuji/em/Initialize.java new file mode 100644 index 0000000..1eb3276 --- /dev/null +++ b/workspace/EverMemo/src/com/yuji/em/Initialize.java @@ -0,0 +1,26 @@ +package com.yuji.em; + +import com.yuji.em.common.CommonUtil; +import com.yuji.em.utility.EvernoteUtil; + +import android.content.Context; + +public class Initialize { + private static boolean isInit = true; // TODO false‚É‚È‚Á‚Ä‚¢‚½B‚È‚¼B + + public static void initialize(Context context){ + if (!isInit){ + return; + } + isInit = false; + + EvernoteUtil util = EvernoteUtil.getInstance(); + String username = CommonUtil.getUsername(context); + String password = CommonUtil.getPassword(context); + util.setConfig(username, password); + } + + public static void setInitialize() { + isInit = true; + } +} diff --git a/workspace/EverMemo/src/com/yuji/em/NoteListActivity.java b/workspace/EverMemo/src/com/yuji/em/NoteListActivity.java index 1bdf273..9379ffa 100644 --- a/workspace/EverMemo/src/com/yuji/em/NoteListActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/NoteListActivity.java @@ -3,7 +3,6 @@ package com.yuji.em; import java.util.ArrayList; import java.util.List; -import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.format.DateUtils; @@ -20,8 +19,9 @@ import com.yuji.em.data.Note; import com.yuji.em.data.NoteDao; import com.yuji.em.task.NoteListTask; import com.yuji.em.utility.AsyncTaskCommand; +import com.yuji.em.utility.BaseActivity; -public class NoteListActivity extends Activity { +public class NoteListActivity extends BaseActivity { private ListView listView = null; private Button closeButton = null; private int index = -1; @@ -101,6 +101,10 @@ public class NoteListActivity extends Activity { // TODO List notes = noteList.getNotes(); + if (notes == null){ + return; + } + String oldTitle = ""; NoteListItem item; for (com.evernote.edam.type.Note note : notes) { diff --git a/workspace/EverMemo/src/com/yuji/em/SelectNoteListActivity.java b/workspace/EverMemo/src/com/yuji/em/SelectNoteListActivity.java index c7df436..40390b0 100644 --- a/workspace/EverMemo/src/com/yuji/em/SelectNoteListActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/SelectNoteListActivity.java @@ -2,7 +2,6 @@ package com.yuji.em; import java.util.List; -import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; @@ -20,8 +19,9 @@ import com.yuji.em.common.CommonUtil; import com.yuji.em.common.Constant; import com.yuji.em.data.Note; import com.yuji.em.data.NoteDao; +import com.yuji.em.utility.BaseActivity; -public class SelectNoteListActivity extends Activity { +public class SelectNoteListActivity extends BaseActivity { private LinearLayout messageLayout = null; private TextView titleView = null; private TextView messageView = null; diff --git a/workspace/EverMemo/src/com/yuji/em/SettingActivity.java b/workspace/EverMemo/src/com/yuji/em/SettingActivity.java index ab82260..b6e03c1 100644 --- a/workspace/EverMemo/src/com/yuji/em/SettingActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/SettingActivity.java @@ -1,9 +1,5 @@ package com.yuji.em; -import com.yuji.em.common.CommonUtil; -import com.yuji.em.data.NoteDao; - -import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; @@ -12,7 +8,11 @@ import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; -public class SettingActivity extends Activity { +import com.yuji.em.common.CommonUtil; +import com.yuji.em.data.NoteDao; +import com.yuji.em.utility.BaseActivity; + +public class SettingActivity extends BaseActivity { private LinearLayout messageLayout = null; private TextView messageView = null; private Button userButton = null; diff --git a/workspace/EverMemo/src/com/yuji/em/UserPasswordActivity.java b/workspace/EverMemo/src/com/yuji/em/UserPasswordActivity.java index 3c66dde..4c02ec7 100644 --- a/workspace/EverMemo/src/com/yuji/em/UserPasswordActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/UserPasswordActivity.java @@ -1,6 +1,5 @@ package com.yuji.em; -import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; @@ -8,10 +7,11 @@ import android.widget.Button; import android.widget.EditText; import com.yuji.em.common.Constant; +import com.yuji.em.utility.BaseActivity; import com.yuji.em.utility.EditPrefUtil; import com.yuji.em.utility.EvernoteUtil; -public class UserPasswordActivity extends Activity { +public class UserPasswordActivity extends BaseActivity { private EditPrefUtil pref = new EditPrefUtil(this); private EditText userEditText = null; private EditText passwordEditText = null; diff --git a/workspace/EverMemo/src/com/yuji/em/task/NoteListTask.java b/workspace/EverMemo/src/com/yuji/em/task/NoteListTask.java index 4a861da..a5bc7ef 100644 --- a/workspace/EverMemo/src/com/yuji/em/task/NoteListTask.java +++ b/workspace/EverMemo/src/com/yuji/em/task/NoteListTask.java @@ -19,11 +19,12 @@ public class NoteListTask implements AsyncTaskIF { @Override public void doExecute() { noteList = util.getNoteList(); + //noteList = new NoteList(); } @Override public void cancel() { - + activityRef = null; } @Override @@ -31,9 +32,15 @@ public class NoteListTask implements AsyncTaskIF { NoteListActivity activity = activityRef.get(); if (activity != null){ activity.done((!isCancel? noteList : null)); + activityRef = null; } } + @Override + public int getStatus(){ + return 0; + } + public NoteList getNoteList() { return noteList; } diff --git a/workspace/EverMemo/src/com/yuji/em/task/UpdateNoteTask.java b/workspace/EverMemo/src/com/yuji/em/task/UpdateNoteTask.java index a259bbf..d1dc623 100644 --- a/workspace/EverMemo/src/com/yuji/em/task/UpdateNoteTask.java +++ b/workspace/EverMemo/src/com/yuji/em/task/UpdateNoteTask.java @@ -1,5 +1,8 @@ package com.yuji.em.task; +import android.content.Context; +import android.widget.Toast; + import com.evernote.edam.type.Note; import com.yuji.em.utility.AsyncTaskIF; import com.yuji.em.utility.Debug; @@ -7,38 +10,45 @@ import com.yuji.em.utility.EvernoteUtil; public class UpdateNoteTask implements AsyncTaskIF { private static int RETRY_COUNT = 3; - private EvernoteUtil util = EvernoteUtil.getInstance(); + + private Context context = null; private String guid; private String title; private String text; - public UpdateNoteTask(String guid, String title, String text) { + private EvernoteUtil util = EvernoteUtil.getInstance(); + private int status = -1; + + public UpdateNoteTask(Context context, String guid, String title, String text) { + this.context = context; this.guid = guid; this.title = title; this.text = text; } - + @Override public void doExecute() { -// try { -// util.updateNoteContext(guid, title, text); -// } -// catch (Exception e){ -// e.printStackTrace(); -// } int i = 0; - for (i = 0; i < RETRY_COUNT; i++){ - Note note = util.updateNoteContext(guid, title, text); - if (note != null){ - break; - } - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - ; + synchronized (context) { + for (i = 0; i < RETRY_COUNT; i++) { + Note note = util.updateNoteContext(guid, title, text); + if (note != null) { + break; + } + Debug.d(this, "retry updateNoteContext()"); // TODO + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + ; + } } } - if (i >= RETRY_COUNT){ + if (i < RETRY_COUNT) { + status = 0; + } + else { + status = 1; + Toast.makeText(context, "‘‚«ž‚Ý‚ÉŽ¸”s‚µ‚Ü‚µ‚½" + text, Toast.LENGTH_LONG); // TODO Debug.d(this, "doExecute"); // TODO } } @@ -55,4 +65,8 @@ public class UpdateNoteTask implements AsyncTaskIF { } + @Override + public int getStatus(){ + return status; + } } diff --git a/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskCommand.java b/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskCommand.java index d3b3e35..7f4bceb 100644 --- a/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskCommand.java +++ b/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskCommand.java @@ -17,7 +17,8 @@ public class AsyncTaskCommand extends AsyncTask { private ProgressDialog dialog; private boolean isCancel = false; private boolean isDialog = true; - + private int status = -1; + @SuppressWarnings({ "rawtypes", "unchecked" }) public AsyncTaskCommand(Activity activity, AsyncTaskIF command) { this.activityRef = new WeakReference(activity); @@ -69,6 +70,7 @@ public class AsyncTaskCommand extends AsyncTask { try { Debug.d(this, "doInBackground start"); command.doExecute(); + status = command.getStatus(); Debug.d(this, "doInBackground end"); } catch (RuntimeException e) { Debug.d(this, null, e); @@ -132,4 +134,8 @@ public class AsyncTaskCommand extends AsyncTask { public void setDialog(boolean b) { isDialog = b; } + + public int getResultStatus(){ + return status; + } } diff --git a/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskIF.java b/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskIF.java index d369bb9..e4496f5 100644 --- a/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskIF.java +++ b/workspace/EverMemo/src/com/yuji/em/utility/AsyncTaskIF.java @@ -4,4 +4,5 @@ public interface AsyncTaskIF { void doExecute(); void cancel(); void done(boolean isCancel); + int getStatus(); } diff --git a/workspace/EverMemo/src/com/yuji/em/utility/BaseActivity.java b/workspace/EverMemo/src/com/yuji/em/utility/BaseActivity.java index e4ac874..91f255e 100755 --- a/workspace/EverMemo/src/com/yuji/em/utility/BaseActivity.java +++ b/workspace/EverMemo/src/com/yuji/em/utility/BaseActivity.java @@ -2,6 +2,7 @@ package com.yuji.em.utility; import android.app.Activity; import android.app.AlertDialog; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; @@ -9,21 +10,19 @@ import android.view.KeyEvent; import android.view.Window; import android.view.WindowManager; +import com.yuji.em.Initialize; + public class BaseActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Debug.d(this, Debug.ON_CREATE); -// -// Context context = getApplicationContext(); -// try { -// Thread.setDefaultUncaughtExceptionHandler(new TrainDelayedUncaughtExceptionHandler( -// context)); -// DatabaseHelper.init(context); -// Initialize.initialize(context); -// } catch (TdException e) { -// terminate(e); -// } + + Context context = getApplicationContext(); + //Thread.setDefaultUncaughtExceptionHandler(new TrainDelayedUncaughtExceptionHandler( + // context)); + //DatabaseHelper.init(context); + Initialize.initialize(context); } @Override -- 2.11.0