diff --git a/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/app/src/main/java/net/micode/notes/ui/NotesListActivity.java index f12e799..293e1ad 100644 --- a/app/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/app/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -84,7 +84,11 @@ import java.util.HashSet; * 笔记列表主界面 * 负责显示笔记和文件夹列表,处理用户交互和数据操作 */ + public class NotesListActivity extends AppCompatActivity implements OnClickListener, OnItemLongClickListener { + + public static int secret_mode = 0; + // 背景模式:-1表示默认背景,0表示另一种背景 private int mode=-1; // 查询令牌:用于标识不同的数据库查询操作 @@ -241,7 +245,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe @Override protected void onStart() { super.onStart(); - startAsyncNotesListQuery(); + } /** @@ -497,17 +501,38 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe * 根据当前文件夹ID执行不同的查询条件 */ private void startAsyncNotesListQuery() { - // 根据当前是否为根文件夹选择不同的查询条件 String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION : NORMAL_SELECTION; + if(secret_mode == 0) { + mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, + Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[]{ + String.valueOf(mCurrentFolderId) + }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); + } + else{ + String str1 = "520"; + String [] PROJECTION = new String [] { //定义一个新的PROJECTION数组,只换掉SNIPPET + NoteColumns.ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.CREATED_DATE, + NoteColumns.HAS_ATTACHMENT, + NoteColumns.MODIFIED_DATE, + NoteColumns.NOTES_COUNT, + NoteColumns.PARENT_ID, +// NoteColumns.SNIPPET, + str1, + NoteColumns.TYPE, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + }; + mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, + Notes.CONTENT_NOTE_URI, PROJECTION, selection, new String[]{ + String.valueOf(mCurrentFolderId) + }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); - // 执行异步查询:按类型降序和修改日期降序排列 - mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, - Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] { - String.valueOf(mCurrentFolderId) - }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); + } } - /** * 后台查询处理器 * 处理异步数据库查询完成后的回调 @@ -971,6 +996,8 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe menu.findItem(R.id.menu_beijing).setVisible(false); else if(mode==0) menu.findItem(R.id.menu_bb).setVisible(false); + + return true; } @@ -1030,6 +1057,48 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe // Trigger search functionality onSearchRequested(); break; + case R.id.menu_secret: { //进入私密模式 + secret_mode = 1; + AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this); + dialog.setTitle("重要提醒"); + dialog.setMessage("您确认进入私密模式吗?"); + dialog.setCancelable(false); + dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + startAsyncNotesListQuery(); + Toast.makeText(NotesListActivity.this,"您已进入私密模式",Toast.LENGTH_SHORT).show(); + } + }); + dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which){} + }); + dialog.show(); + startAsyncNotesListQuery(); + Toast.makeText(this,"您已进入私密模式",Toast.LENGTH_SHORT).show(); + break; + } + case R.id.menu_quit_secret:{ //退出私密模式 + secret_mode = 0; + AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this); + dialog.setTitle("重要提醒"); + dialog.setMessage("您确认退出私密模式吗?"); + dialog.setCancelable(false); + dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + startAsyncNotesListQuery(); + Toast.makeText(NotesListActivity.this,"您已退出私密模式",Toast.LENGTH_SHORT).show(); + } + }); + dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which){} + }); + dialog.show(); + break; + } default: break; } diff --git a/app/src/main/res/menu/note_list.xml b/app/src/main/res/menu/note_list.xml index 6d8b14b..022a6b1 100644 --- a/app/src/main/res/menu/note_list.xml +++ b/app/src/main/res/menu/note_list.xml @@ -17,6 +17,7 @@
diff --git a/app/src/main/res/menu/sub_folder.xml b/app/src/main/res/menu/sub_folder.xml index b00de26..41fe907 100644 --- a/app/src/main/res/menu/sub_folder.xml +++ b/app/src/main/res/menu/sub_folder.xml @@ -21,4 +21,11 @@