|
|
|
@ -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;
|
|
|
|
|
}
|
|
|
|
|