|
|
|
|
@ -201,7 +201,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
* Insert an introduction when user firstly use this application
|
|
|
|
|
*/
|
|
|
|
|
setAppInfoFromRawRes();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 注册Android 13+的返回键回调
|
|
|
|
|
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
|
|
|
|
|
getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
|
|
|
|
|
@ -1002,7 +1002,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
hideSoftInput(etName);
|
|
|
|
|
String name = etName.getText().toString();
|
|
|
|
|
if (DataUtils.checkVisibleFolderName(mContentResolver, name)) {
|
|
|
|
|
if (DataUtils.checkVisibleFolderName(mContentResolver, name, mCurrentFolderId)) {
|
|
|
|
|
Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name),
|
|
|
|
|
Toast.LENGTH_LONG).show();
|
|
|
|
|
etName.setSelection(0, etName.length());
|
|
|
|
|
@ -1023,6 +1023,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
ContentValues values = new ContentValues();
|
|
|
|
|
values.put(NoteColumns.SNIPPET, name);
|
|
|
|
|
values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER);
|
|
|
|
|
values.put(NoteColumns.PARENT_ID, mCurrentFolderId);
|
|
|
|
|
mContentResolver.insert(Notes.CONTENT_NOTE_URI, values);
|
|
|
|
|
}
|
|
|
|
|
dialog.dismiss();
|
|
|
|
|
@ -1068,10 +1069,32 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
private void handleBackPress() {
|
|
|
|
|
switch (mState) {
|
|
|
|
|
case SUB_FOLDER:
|
|
|
|
|
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
|
|
|
|
|
mState = ListEditState.NOTE_LIST;
|
|
|
|
|
startAsyncNotesListQuery();
|
|
|
|
|
mTitleBar.setVisibility(View.GONE);
|
|
|
|
|
// 查询当前文件夹的父文件夹ID
|
|
|
|
|
Cursor cursor = mContentResolver.query(Notes.CONTENT_NOTE_URI,
|
|
|
|
|
new String[]{NoteColumns.PARENT_ID, NoteColumns.SNIPPET},
|
|
|
|
|
NoteColumns.ID + "=?",
|
|
|
|
|
new String[]{String.valueOf(mCurrentFolderId)},
|
|
|
|
|
null);
|
|
|
|
|
|
|
|
|
|
if (cursor != null && cursor.moveToFirst()) {
|
|
|
|
|
long parentId = cursor.getLong(0);
|
|
|
|
|
String parentName = cursor.getString(1);
|
|
|
|
|
cursor.close();
|
|
|
|
|
|
|
|
|
|
if (parentId == Notes.ID_ROOT_FOLDER) {
|
|
|
|
|
// 如果父文件夹是根文件夹,返回根目录
|
|
|
|
|
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
|
|
|
|
|
mState = ListEditState.NOTE_LIST;
|
|
|
|
|
mTitleBar.setVisibility(View.GONE);
|
|
|
|
|
} else {
|
|
|
|
|
// 否则返回上一级文件夹
|
|
|
|
|
mCurrentFolderId = parentId;
|
|
|
|
|
mState = ListEditState.SUB_FOLDER;
|
|
|
|
|
mTitleBar.setText(parentName);
|
|
|
|
|
mTitleBar.setVisibility(View.VISIBLE);
|
|
|
|
|
}
|
|
|
|
|
startAsyncNotesListQuery();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case CALL_RECORD_FOLDER:
|
|
|
|
|
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
|
|
|
|
|
@ -1402,13 +1425,21 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SUB_FOLDER:
|
|
|
|
|
case CALL_RECORD_FOLDER:
|
|
|
|
|
if (item.getType() == Notes.TYPE_NOTE) {
|
|
|
|
|
openNode(item);
|
|
|
|
|
} else if (item.getType() == Notes.TYPE_FOLDER) {
|
|
|
|
|
openFolder(item);
|
|
|
|
|
} else {
|
|
|
|
|
Log.e(TAG, "Wrong note type in SUB_FOLDER");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case CALL_RECORD_FOLDER:
|
|
|
|
|
if (item.getType() == Notes.TYPE_NOTE) {
|
|
|
|
|
openNode(item);
|
|
|
|
|
} else {
|
|
|
|
|
Log.e(TAG, "Wrong note type in CALL_RECORD_FOLDER");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|