优化了回收站代码

ChiYanZhen_branch
CYZ 3 years ago
parent 6cdee41c8f
commit e40966c54d

@ -115,7 +115,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction";
private enum ListEditState { 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; private ListEditState mState;
@ -581,7 +581,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
folderId); folderId);
if (!isSyncMode()) { if (!isSyncMode()) {
// if not synced, delete folder directly // if not synced, delete folder directly
DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER);
if (mState == ListEditState.TRASH_FOLDER){
DataUtils.batchDeleteNotes(mContentResolver, ids); DataUtils.batchDeleteNotes(mContentResolver, ids);
}
} else { } else {
// in sync mode, we'll move the deleted folder into the trash folder // in sync mode, we'll move the deleted folder into the trash folder
DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER); DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER);
@ -756,6 +759,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
startAsyncNotesListQuery(); startAsyncNotesListQuery();
mTitleBar.setVisibility(View.GONE); mTitleBar.setVisibility(View.GONE);
break; break;
case TRASH_FOLDER:
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
mState = ListEditState.NOTE_LIST;
startAsyncNotesListQuery();
mTitleBar.setVisibility(View.GONE);
break;
default: default:
break; break;
} }
@ -851,6 +860,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
getMenuInflater().inflate(R.menu.call_record_folder, menu); getMenuInflater().inflate(R.menu.call_record_folder, menu);
}else if (mState == ListEditState.PRIVATE_FOLDER){ }else if (mState == ListEditState.PRIVATE_FOLDER){
getMenuInflater().inflate(R.menu.private_folder, menu); getMenuInflater().inflate(R.menu.private_folder, menu);
}else if (mState == ListEditState.TRASH_FOLDER){
getMenuInflater().inflate(R.menu.trash_folder, menu);
} else { } else {
Log.e(TAG, "Wrong state:" + mState); Log.e(TAG, "Wrong state:" + mState);
} }
@ -933,7 +944,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
} }
private void restoreDeletedNodes(){ private void restoreDeletedNodes(){
mState = ListEditState.SUB_FOLDER; mState = ListEditState.TRASH_FOLDER;
mCurrentFolderId = Notes.ID_TRASH_FOLER; mCurrentFolderId = Notes.ID_TRASH_FOLER;
startAsyncNotesListQuery(); startAsyncNotesListQuery();
mTitleBar.setText("回收站"); mTitleBar.setText("回收站");
@ -1150,6 +1161,16 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
Log.e(TAG, "Wrong note type in SUB_FOLDER"); Log.e(TAG, "Wrong note type in SUB_FOLDER");
} }
break; 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: case PRIVATE_FOLDER:
if (item.getType() == Notes.TYPE_NOTE) { if (item.getType() == Notes.TYPE_NOTE) {
openNode(item); openNode(item);

@ -42,8 +42,8 @@
android:title="Private Folder"/> android:title="Private Folder"/>
<item <item
android:id="@+id/menu_bg_change" android:id="@+id/menu_bg_change"
android:title="更换背景"/> android:title="Change Background"/>
<item <item
android:id="@+id/menu_trash_folder" android:id="@+id/menu_trash_folder"
android:title="回收站"/> android:title="Trash Bin"/>
</menu> </menu>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>
Loading…
Cancel
Save