diff --git a/doc/小米便签维护方案及成果报告.docx b/doc/小米便签维护方案及成果报告.docx
new file mode 100644
index 0000000..f8215a0
Binary files /dev/null and b/doc/小米便签维护方案及成果报告.docx differ
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
index bd2b8e0..8fcd915 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -115,7 +115,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction";
private enum ListEditState {
- NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER, PRIVATE_FOLDER
+ NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER, PRIVATE_FOLDER, TRASH_FOLDER
};
private ListEditState mState;
@@ -581,7 +581,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
folderId);
if (!isSyncMode()) {
// if not synced, delete folder directly
- DataUtils.batchDeleteNotes(mContentResolver, ids);
+ DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER);
+ if (mState == ListEditState.TRASH_FOLDER){
+ DataUtils.batchDeleteNotes(mContentResolver, ids);
+ }
} else {
// in sync mode, we'll move the deleted folder into the trash folder
DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER);
@@ -756,6 +759,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
startAsyncNotesListQuery();
mTitleBar.setVisibility(View.GONE);
break;
+ case TRASH_FOLDER:
+ mCurrentFolderId = Notes.ID_ROOT_FOLDER;
+ mState = ListEditState.NOTE_LIST;
+ startAsyncNotesListQuery();
+ mTitleBar.setVisibility(View.GONE);
+ break;
default:
break;
}
@@ -851,6 +860,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
getMenuInflater().inflate(R.menu.call_record_folder, menu);
}else if (mState == ListEditState.PRIVATE_FOLDER){
getMenuInflater().inflate(R.menu.private_folder, menu);
+ }else if (mState == ListEditState.TRASH_FOLDER){
+ getMenuInflater().inflate(R.menu.trash_folder, menu);
} else {
Log.e(TAG, "Wrong state:" + mState);
}
@@ -933,7 +944,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
private void restoreDeletedNodes(){
- mState = ListEditState.SUB_FOLDER;
+ mState = ListEditState.TRASH_FOLDER;
mCurrentFolderId = Notes.ID_TRASH_FOLER;
startAsyncNotesListQuery();
mTitleBar.setText("回收站");
@@ -1150,6 +1161,16 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
Log.e(TAG, "Wrong note type in SUB_FOLDER");
}
break;
+ case TRASH_FOLDER:
+ if (item.getType() == Notes.TYPE_NOTE) {
+ openNode(item);
+ } else if (item.getType() == Notes.TYPE_FOLDER
+ || item.getType() == Notes.TYPE_SYSTEM) {
+ openFolder(item);
+ } else {
+ Log.e(TAG, "Wrong note type in PRIVATE_FOLDER");
+ }
+ break;
case PRIVATE_FOLDER:
if (item.getType() == Notes.TYPE_NOTE) {
openNode(item);
diff --git a/src/Notes1/app/src/main/res/menu/note_list.xml b/src/Notes1/app/src/main/res/menu/note_list.xml
index 289b960..f7a6074 100644
--- a/src/Notes1/app/src/main/res/menu/note_list.xml
+++ b/src/Notes1/app/src/main/res/menu/note_list.xml
@@ -42,8 +42,8 @@
android:title="Private Folder"/>