From 899ef5834e72aa84e5438bd485433f400cba4065 Mon Sep 17 00:00:00 2001 From: Yuji Konishi Date: Thu, 19 Apr 2012 20:09:20 +0900 Subject: [PATCH] T28116 --- workspace/EverClip/gen/com/yuji/ec/R.java | 27 ++--- workspace/EverClip/res/values-ja/strings.xml | 2 + workspace/EverClip/res/values/strings.xml | 2 + .../EverClip/src/com/yuji/ec/EverClipActivity.java | 110 +++++++++++++-------- .../EverClip/src/com/yuji/ec/common/Constant.java | 2 + .../com/yuji/ec/service/NoteUpdatorService.java | 3 + 6 files changed, 93 insertions(+), 53 deletions(-) diff --git a/workspace/EverClip/gen/com/yuji/ec/R.java b/workspace/EverClip/gen/com/yuji/ec/R.java index 5f8a5e7..81dd084 100644 --- a/workspace/EverClip/gen/com/yuji/ec/R.java +++ b/workspace/EverClip/gen/com/yuji/ec/R.java @@ -80,16 +80,16 @@ public final class R { public static final int cancelButton=0x7f050006; public static final int closeButton=0x7f050007; public static final int deleteButton=0x7f050005; - public static final int dialogErrorTitle=0x7f05002a; - public static final int dialogSystemError=0x7f05002b; + public static final int dialogErrorTitle=0x7f05002b; + public static final int dialogSystemError=0x7f05002c; public static final int mainConfirmTitle=0x7f05000a; public static final int mainMenuSetting=0x7f050008; public static final int mainTitle=0x7f050009; public static final int noButton=0x7f050003; - public static final int noteTypeConfirmTitle=0x7f05002d; + public static final int noteTypeConfirmTitle=0x7f05002e; public static final int noteTypeDialogTitle=0x7f050020; public static final int noteTypeTitle=0x7f05001f; - public static final int selectTitle=0x7f05002c; + public static final int selectTitle=0x7f05002d; public static final int sendButton=0x7f050001; public static final int settingConfirmNoteMsg=0x7f05000d; public static final int settingConfirmTitle=0x7f05000b; @@ -101,25 +101,26 @@ public final class R { public static final int settingSortTitle=0x7f050012; public static final int settingTimeButton=0x7f050019; public static final int settingTimeCheck=0x7f050018; - public static final int settingTimeText=0x7f05002f; + public static final int settingTimeText=0x7f050030; public static final int settingTimeTitle=0x7f050017; public static final int settingUpdateButton=0x7f050016; public static final int settingUpdateTitle=0x7f050015; public static final int settingUserButton=0x7f05000f; public static final int settingUserTitle=0x7f05000e; - public static final int toastConnect=0x7f050024; - public static final int toastEvernoteSystem=0x7f050028; - public static final int toastFailedToGetList=0x7f050026; - public static final int toastFailedToWrite=0x7f050023; - public static final int toastInvalidAuth=0x7f050027; - public static final int toastNoteDoesNotExist=0x7f050025; - public static final int toastSystem=0x7f050029; + public static final int toastConnect=0x7f050025; + public static final int toastEvernoteSystem=0x7f050029; + public static final int toastFailedToGetList=0x7f050027; + public static final int toastFailedToWrite=0x7f050024; + public static final int toastInvalidAuth=0x7f050028; + public static final int toastNoteDoesNotExist=0x7f050026; + public static final int toastSystem=0x7f05002a; + public static final int toastUpdateList=0x7f050023; public static final int updateButton=0x7f050004; public static final int updatorConfirmTitle=0x7f05001a; public static final int updatorMessage=0x7f05001b; public static final int updatorNoteButton=0x7f05001d; public static final int updatorNoteDialogTitle=0x7f05001e; - public static final int updatorNoteText=0x7f05002e; + public static final int updatorNoteText=0x7f05002f; public static final int updatorNoteTitle=0x7f05001c; public static final int userPasswordTitle=0x7f050022; public static final int userUserTitle=0x7f050021; diff --git a/workspace/EverClip/res/values-ja/strings.xml b/workspace/EverClip/res/values-ja/strings.xml index 93da54c..02ff2cd 100644 --- a/workspace/EverClip/res/values-ja/strings.xml +++ b/workspace/EverClip/res/values-ja/strings.xml @@ -43,6 +43,8 @@ ユーザ パスワード + リストを更新しました + 書き込みに失敗しました Evernoteとの接続に失敗しました ノートがありません diff --git a/workspace/EverClip/res/values/strings.xml b/workspace/EverClip/res/values/strings.xml index c118cbe..6d487c8 100644 --- a/workspace/EverClip/res/values/strings.xml +++ b/workspace/EverClip/res/values/strings.xml @@ -43,6 +43,8 @@ User Password + List was updated + Failed to write. Failed to connect Evernote. Note does not exist. diff --git a/workspace/EverClip/src/com/yuji/ec/EverClipActivity.java b/workspace/EverClip/src/com/yuji/ec/EverClipActivity.java index 6e58d7c..0529e35 100644 --- a/workspace/EverClip/src/com/yuji/ec/EverClipActivity.java +++ b/workspace/EverClip/src/com/yuji/ec/EverClipActivity.java @@ -4,7 +4,10 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import android.content.BroadcastReceiver; +import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.os.Bundle; import android.text.format.DateUtils; import android.view.Menu; @@ -17,6 +20,7 @@ import android.widget.Button; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; +import android.widget.Toast; import com.yuji.ec.common.CommonUtil; import com.yuji.ec.common.Constant; @@ -39,56 +43,74 @@ public class EverClipActivity extends BaseActivity { private ListView listView = null; private Button closeButton = null; - private boolean isEmpty = true; private static boolean isInit = true; + private boolean isEmpty = true; + private boolean isVisible = false; + + private BroadcastReceiver receiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + + if (action.compareTo(Constant.ACTION_UPDATE) == 0) { + updateList(); + listView.invalidate(); + + setStatus(); + + if (isVisible) { + Toast toast = Toast.makeText(EverClipActivity.this, + getString(R.string.toastUpdateList), + Toast.LENGTH_SHORT); + toast.show(); + } + } + } + }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(Constant.ACTION_UPDATE); + registerReceiver(receiver, intentFilter); + layoutView = (LinearLayout) this.findViewById(R.id.mainLayout); messageText = (TextView) this.findViewById(R.id.mainConfirmDeleteMsg); listView = (ListView) this.findViewById(R.id.mainView); closeButton = (Button) this.findViewById(R.id.mainCloseButton); - + listView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id) { listViewOnItemClickListener(parent, view, position, id); } }); - closeButton.setOnClickListener(new OnClickListener(){ + closeButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { closeButtonOnClick(); - }}); - + } + }); + updateList(); - + setStatus(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { updateList(); - + setStatus(); } -// @Override -// public boolean onKeyDown(int keyCode, KeyEvent event) { -// if (keyCode != KeyEvent.KEYCODE_BACK) { -// return super.onKeyDown(keyCode, event); -// } else { -// finish(); -// return false; -// } -// } - @Override protected void onStart() { super.onStart(); + isVisible = true; if (isEmpty) { if (isInit) { Intent intent = new Intent(this, @@ -96,14 +118,20 @@ public class EverClipActivity extends BaseActivity { startActivityForResult(intent, 0); isInit = false; - } - else { + } else { finish(); isInit = true; } } } - + + @Override + protected void onPause() { + isVisible = false; + + super.onPause(); + } + @Override public boolean onCreateOptionsMenu(Menu menu) { boolean ret = super.onCreateOptionsMenu(menu); @@ -142,11 +170,11 @@ public class EverClipActivity extends BaseActivity { finish(); } - private void closeButtonOnClick(){ + private void closeButtonOnClick() { finish(); } - - private void updateList(){ + + private void updateList() { Intent it = getIntent(); String action = it.getAction(); if (action != null && ACTION_INTERCEPT.equals(action)) { @@ -161,16 +189,16 @@ public class EverClipActivity extends BaseActivity { } else { Intent intent = new Intent(this, (Class) SettingActivity.class); startActivityForResult(intent, 0); - } + } } - + private void updateList(String str) { List list = getNoteList(str); - if (list == null){ + if (list == null) { terminate(null); return; } - + NoteListViewArrayAdapter adapter = new NoteListViewArrayAdapter(this, R.layout.simple_list_item_1, list); listView.setAdapter(adapter); @@ -183,10 +211,10 @@ public class EverClipActivity extends BaseActivity { NoteDao dao = (NoteDao) NoteDao.getInstance(); List list = dao.search(); - if (list == null){ + if (list == null) { return null; } - isEmpty = (list.size() <= 0)? true : false; + isEmpty = (list.size() <= 0) ? true : false; sortList(list); List listItem = new ArrayList(); @@ -208,23 +236,25 @@ public class EverClipActivity extends BaseActivity { String title = " "; String s; long l; - switch (noteOrder){ + switch (noteOrder) { case Constant.NOTE_ORDER_CREATE: l = note.getCreated(); - title = DateUtils.formatDateTime(this, l, - DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE); + title = DateUtils + .formatDateTime(this, l, DateUtils.FORMAT_SHOW_YEAR + | DateUtils.FORMAT_SHOW_DATE); break; case Constant.NOTE_ORDER_UPDATE: l = note.getUpdated(); - title = DateUtils.formatDateTime(this, l, - DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE); + title = DateUtils + .formatDateTime(this, l, DateUtils.FORMAT_SHOW_YEAR + | DateUtils.FORMAT_SHOW_DATE); break; case Constant.NOTE_ORDER_TEXT: s = note.getText(); - if (s.length() > 0){ + if (s.length() > 0) { title = s.substring(0, 1); } - break; + break; } if (!title.equals(oldTitle)) { item = new NoteListItem(title, null); @@ -253,11 +283,11 @@ public class EverClipActivity extends BaseActivity { NoteComparator comp = new NoteComparator(noteOrder, orderBy); Collections.sort(list, comp); } - - private void setStatus(){ - + + private void setStatus() { + } - + public static void init(boolean flag) { isInit = flag; } diff --git a/workspace/EverClip/src/com/yuji/ec/common/Constant.java b/workspace/EverClip/src/com/yuji/ec/common/Constant.java index 313cd38..4d50f8f 100644 --- a/workspace/EverClip/src/com/yuji/ec/common/Constant.java +++ b/workspace/EverClip/src/com/yuji/ec/common/Constant.java @@ -34,4 +34,6 @@ public class Constant { public static final int OFF = 0; public static final int ON = 1; + + public static final String ACTION_UPDATE = "com.yuji.ec.UPDATE"; } diff --git a/workspace/EverClip/src/com/yuji/ec/service/NoteUpdatorService.java b/workspace/EverClip/src/com/yuji/ec/service/NoteUpdatorService.java index aaa50ea..202200d 100644 --- a/workspace/EverClip/src/com/yuji/ec/service/NoteUpdatorService.java +++ b/workspace/EverClip/src/com/yuji/ec/service/NoteUpdatorService.java @@ -73,6 +73,9 @@ public class NoteUpdatorService extends Service { NoteUpdator updator = NoteUpdator.getInstance(); updator.update(NoteUpdatorService.this, noteItemType, guid); + + Intent intent = new Intent(Constant.ACTION_UPDATE); + sendBroadcast(intent); } private void setNextTime() { -- 2.11.0