From 7f090aff9304e4a183eda3746f2016ac2f5657c3 Mon Sep 17 00:00:00 2001 From: "langcaijinjiangyan@outlook.com" Date: Sun, 10 Dec 2023 22:30:24 +0800 Subject: [PATCH 1/9] daily update --- ...泛读、标注和维护报告文档.docx | Bin 27353 -> 94260 bytes src/main/AndroidManifest.xml | 5 ++--- src/main/res/values/styles.xml | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/实践模板-开源软件泛读、标注和维护报告文档.docx b/doc/实践模板-开源软件泛读、标注和维护报告文档.docx index f307642a8e6c60e95886438d5ba42c8f0ed05a9c..41612d971f94a5d17b67d253d92976006081e6c5 100644 GIT binary patch literal 94260 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 L(3IdhkHP#u6COYh literal 27353 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 Nk^P|2$jp9x`afj~?Dzlx diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index c0f7dc1..de1ef09 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml index dc09a33..fb8bb04 100644 --- a/src/main/res/values/styles.xml +++ b/src/main/res/values/styles.xml @@ -64,6 +64,6 @@ \ No newline at end of file From 8d135f58f3621e1f7b790a7decd7faae62e17902 Mon Sep 17 00:00:00 2001 From: zkx Date: Sun, 17 Dec 2023 23:57:01 +0800 Subject: [PATCH 2/9] cmt: little work on NoteEditActivity --- .../java/net/micode/notes/ui/NoteEditActivity.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 420a690..0dd2bb0 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -72,8 +72,12 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -public class NoteEditActivity extends Activity implements OnClickListener, - NoteSettingChangedListener, OnTextViewChangeListener { +public class NoteEditActivity extends Activity //NOTE: extends--单继承,但可多重继承 @zhoukexing 2023/12/17 23:29 + implements OnClickListener, NoteSettingChangedListener, OnTextViewChangeListener { //NOTE: implements--实现接口 @zhoukexing 2023/12/17 23:24 + /** NOTE: + * + * @zhoukexing 2023/12/17 23:39 + */ private class HeadViewHolder { public TextView tvModified; @@ -149,6 +153,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, private String mUserQuery; private Pattern mPattern; + /*--- 以上是此类中的数据区,以下是方法区 ---*/ + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -595,7 +601,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, // For safety, start a new NoteEditActivity finish(); - Intent intent = new Intent(this, NoteEditActivity.class); + Intent intent = new Intent(this, NoteEditActivity.class); //Q: 在类的内部,还没有实现完全时,启动这个类自己?@zkx 2023/12/17 intent.setAction(Intent.ACTION_INSERT_OR_EDIT); intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); startActivity(intent); @@ -896,4 +902,4 @@ public class NoteEditActivity extends Activity implements OnClickListener, private void showToast(int resId, int duration) { Toast.makeText(this, resId, duration).show(); } -} +} //NOTE: 这一整个文件就是这一个类 @zhoukexing 2023/12/17 23:41 From 7fb8a607a548baa46a716ea28623fe049be0ee51 Mon Sep 17 00:00:00 2001 From: "langcaijinjiangyan@outlook.com" Date: Mon, 18 Dec 2023 12:59:03 +0800 Subject: [PATCH 3/9] cmt: NotesListActivity.showCreatOrModifyFolderDialog --- .../micode/notes/ui/NotesListActivity.java | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index 77ade5a..6e4a072 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -561,6 +561,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } } + /** + * @Method showSoftInput + * @Date 2023/12/17 23:46 + * @Author lenovo + * @Return void + * @Description 显示软键盘 + */ private void showSoftInput() { InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager != null) { @@ -573,14 +580,23 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); } + /** + * @Method showCreateOrModifyFolderDialog + * @Date 2023/12/17 22:32 + * @param create true为创建新文件夹, false为修改文件夹的名字 + * @Author lenovo + * @Return void + * @Description 新建或修改文件夹名字 + */ private void showCreateOrModifyFolderDialog(final boolean create) { + // final 关键字, 初始化之后无法修改 (const) final AlertDialog.Builder builder = new AlertDialog.Builder(this); View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null); final EditText etName = (EditText) view.findViewById(R.id.et_foler_name); showSoftInput(); if (!create) { if (mFocusNoteDataItem != null) { - etName.setText(mFocusNoteDataItem.getSnippet()); + etName.setText(mFocusNoteDataItem.getSnippet()); // 显示之前的名称 builder.setTitle(getString(R.string.menu_folder_change_name)); } else { Log.e(TAG, "The long click data item is null"); @@ -590,7 +606,11 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt etName.setText(""); builder.setTitle(this.getString(R.string.menu_create_folder)); } - + /** + * 正按钮 OK 无监听器 + * 负按钮 Cancel 隐藏软键盘 + * lenovo 2023/12/18 0:03 + */ builder.setPositiveButton(android.R.string.ok, null); builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { @@ -604,10 +624,12 @@ 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)) { + // 提示 exist, please rename Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), Toast.LENGTH_LONG).show(); - etName.setSelection(0, etName.length()); + etName.setSelection(0, etName.length()); //全选输入文件名(准备修改/删除) return; } if (!create) { @@ -720,6 +742,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt super.onContextMenuClosed(menu); } + /** + * @Method onContextItemSelected + * @Date 2023/12/17 23:51 + * @param item + * @Author lenovo + * @Return boolean + * @Description 长按文件夹之后显示的文件夹菜单对应的后台程序 + */ @Override public boolean onContextItemSelected(MenuItem item) { if (mFocusNoteDataItem == null) { @@ -772,6 +802,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt return true; } + /** + * @Method onOptionsItemSelected + * @Date 2023/12/17 23:49 + * @param item + * @Author lenovo + * @Return boolean + * @Description 主界面菜单对应的后台程序 + */ @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); From fd192ae055ab07ac47477ba222882cfdca1455b2 Mon Sep 17 00:00:00 2001 From: zkx Date: Mon, 18 Dec 2023 23:41:11 +0800 Subject: [PATCH 4/9] cmt: little work on NoteEditActivity --- .../net/micode/notes/ui/NoteEditActivity.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 0dd2bb0..619e70b 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -155,8 +155,19 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 /*--- 以上是此类中的数据区,以下是方法区 ---*/ + /** + * @zkx 2023/12/18 复写了Activity类中的onCreate函数,当用户点击创建时,会进入这个函数 + */ @Override protected void onCreate(Bundle savedInstanceState) { + /** + * @method: onCreate + * @description: 描述一下方法的作用 + * @date: 2023/12/18 23:22 + * @author: zhoukexing + * @param: [savedInstanceState] + * @return: void + */ super.onCreate(savedInstanceState); this.setContentView(R.layout.note_edit); @@ -186,6 +197,14 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 } private boolean initActivityState(Intent intent) { + /** + * @method: initActivityState + * @description: 根据intent(Key-Value)内容,初始化一个便签编辑活动 + * @date: 2023/12/18 23:31 + * @author: zhoukexing + * @param: [intent] + * @return: boolean 为真则初始化成功,为假则失败。失败原因:不存在、(call)load失败、intent内容错误 + */ /** * If the user specified the {@link Intent#ACTION_VIEW} but not provided with id, * then jump to the NotesListActivity @@ -387,6 +406,14 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 } private void initResources() { + /** + * @method: initResources + * @description: 初始化资源。被onCreate唯一调用 + * @date: 2023/12/18 23:36 + * @author: zhoukexing + * @param: [] + * @return: void + */ mHeadViewPanel = findViewById(R.id.note_title); mNoteHeaderHolder = new HeadViewHolder(); mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date); @@ -453,7 +480,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 if (id == R.id.btn_set_bg_color) { mNoteBgColorSelector.setVisibility(View.VISIBLE); findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( - - View.VISIBLE); + View.VISIBLE); } else if (sBgSelectorBtnsMap.containsKey(id)) { findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( View.GONE); From f12bf26f96bbea8b4c68da667a034662a48110a7 Mon Sep 17 00:00:00 2001 From: "langcaijinjiangyan@outlook.com" Date: Tue, 19 Dec 2023 07:41:44 +0800 Subject: [PATCH 5/9] update --- src/main/java/net/micode/notes/ui/NotesListActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index 6e4a072..c488a0b 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -632,6 +632,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt etName.setSelection(0, etName.length()); //全选输入文件名(准备修改/删除) return; } + // 更新数据库中文件夹名称 插入/修改 if (!create) { if (!TextUtils.isEmpty(name)) { ContentValues values = new ContentValues(); @@ -649,6 +650,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); mContentResolver.insert(Notes.CONTENT_NOTE_URI, values); } + //关闭对话框 dialog.dismiss(); } }); @@ -763,7 +765,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt case MENU_FOLDER_DELETE: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.alert_title_delete)); - builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setIcon(android.R.drawable.divider_horizontal_dark); builder.setMessage(getString(R.string.alert_message_delete_folder)); builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { From 80966b2795ee608ec8e7eb4b14a5f83725ff5157 Mon Sep 17 00:00:00 2001 From: "langcaijinjiangyan@outlook.com" Date: Tue, 19 Dec 2023 09:17:58 +0800 Subject: [PATCH 6/9] finish my task --- .../micode/notes/ui/NotesListActivity.java | 68 ++++++++++++++++--- 1 file changed, 59 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index ab29bfa..49e2ad0 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -405,15 +405,20 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } }; - - //TODO add comments of this method + /** + * @Method startAsyncNotesListQuery + * @Date 2023/12/19 8:34 + * @Author lenovo + * @Return void + * @Description 开始异步查询便签列表 + */ private void startAsyncNotesListQuery() { String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION : NORMAL_SELECTION; 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"); + }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); // DESC 降序 } private final class BackgroundQueryHandler extends AsyncQueryHandler { @@ -505,7 +510,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt }.execute(); } - // TODO add comments of this method + /** + * @Method deleteFolder + * @Date 2023/12/19 8:37 + * @param folderId + * @Author lenovo + * @Return void + * @Description 删除文件夹 (sync mode 会删除进回收站) + */ private void deleteFolder(long folderId) { if (folderId == Notes.ID_ROOT_FOLDER) { Log.e(TAG, "Wrong folder id, should not happen " + folderId); @@ -514,6 +526,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt HashSet ids = new HashSet(); ids.add(folderId); + // 所有与要删除文件夹相关的 widgets HashSet widgets = DataUtils.getFolderNoteWidget(mContentResolver, folderId); if (!isSyncMode()) { @@ -523,6 +536,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt // in sync mode, we'll move the deleted folder into the trash folder DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER); } + // 更新 widgets if (widgets != null) { for (AppWidgetAttribute widget : widgets) { if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID @@ -540,19 +554,29 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt this.startActivityForResult(intent, REQUEST_CODE_OPEN_NODE); } - // TODO add comments of this method + /** + * @Method openFolder + * @Date 2023/12/19 7:55 + * @param data + * @Author lenovo + * @Return void + * @Description 打开文件夹 + */ private void openFolder(NoteItemData data) { mCurrentFolderId = data.getId(); startAsyncNotesListQuery(); if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + // TODO store all records 暂时没太搞明白这个代表什么 mState = ListEditState.CALL_RECORD_FOLDER; mAddNewNote.setVisibility(View.GONE); } else { + // 正常打开文件夹 mState = ListEditState.SUB_FOLDER; } if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { mTitleBar.setText(R.string.call_record_folder_name); } else { + // 将顶部栏设置为 data.getSnippet 文件夹名称 mTitleBar.setText(data.getSnippet()); } mTitleBar.setVisibility(View.VISIBLE); @@ -842,26 +866,46 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt return true; } - //TODO add comments of this method @Override + /** + * @Method onSearchRequested + * @Date 2023/12/19 8:53 + * @Author lenovo + * @Return boolean + * @Description 打开搜索小部件 + */ public boolean onSearchRequested() { startSearch(null, false, null /* appData */, false); return true; } - //TODO add comments of this method + /** + * @Method exportNoteToText + * @Date 2023/12/19 8:44 + * @Author lenovo + * @Return void + * @Description 将便签导出成文本 + */ private void exportNoteToText() { final BackupUtils backup = BackupUtils.getInstance(NotesListActivity.this); + /** + * 启用异步 UI 线程 + * Warning: deprecated in API level 30 + * would cause Context leaks, missed callbacks, or crashes on configuration changes. + * lenovo 2023/12/19 9:04 + */ new AsyncTask() { @Override + // 后台运行导出文本 protected Integer doInBackground(Void... unused) { return backup.exportToText(); } @Override + // 线程运行结束后的结果处理程序 protected void onPostExecute(Integer result) { - if (result == BackupUtils.STATE_SD_CARD_UNMOUONTED) { + if (result == BackupUtils.STATE_SD_CARD_UNMOUONTED) { // 没插 SD 卡 AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); builder.setTitle(NotesListActivity.this .getString(R.string.failed_sdcard_export)); @@ -943,7 +987,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } - // TODO add comments of this method + /** + * @Method startQueryDestinationFolders + * @Date 2023/12/19 8:59 + * @Author lenovo + * @Return void + * @Description 查询目标文件 + */ private void startQueryDestinationFolders() { String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?"; selection = (mState == ListEditState.NOTE_LIST) ? selection: From 7552054c2c699b32bf1f47b1b72bbd12987ce01f Mon Sep 17 00:00:00 2001 From: zkx Date: Tue, 19 Dec 2023 23:53:59 +0800 Subject: [PATCH 7/9] cmt: track onCreateNewNote 30% --- .../net/micode/notes/model/WorkingNote.java | 18 +++++++--- .../net/micode/notes/ui/NoteEditActivity.java | 36 ++++++++++++++++--- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index 4e5a4e7..caaed12 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -187,16 +187,24 @@ public class WorkingNote { return new WorkingNote(context, id, 0); } - public synchronized boolean saveNote() { - if (isWorthSaving()) { - if (!existInDatabase()) { + public synchronized boolean saveNote() {// TODO: 2023/12/19 要仔细溯源看看 + /** + * @method: saveNote + * @description: 保存工作便签,当保存成功时,返回true,保存失败() + * @date: 2023/12/19 23:44 + * @author: zhoukexing + * @param: [] + * @return: boolean + */ + if (isWorthSaving()) { // 判断是否有新内容-->是否值得注释 @zhoukexing 2023/12/19 23:45 + if (!existInDatabase()) { // 判断是否在数据库里存在==是新便签还是已有便签 @zhoukexing 2023/12/19 23:45 if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { Log.e(TAG, "Create new note fail with id:" + mNoteId); return false; } } - mNote.syncNote(mContext, mNoteId); + mNote.syncNote(mContext, mNoteId); // 和远程同步 @zhoukexing 2023/12/19 23:46 /** * Update widget content if there exist any widget of this note @@ -208,7 +216,7 @@ public class WorkingNote { } return true; } else { - return false; + return false; // 没有需要保存的,就返回false @zhoukexing 2023/12/19 23:46 } } diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 619e70b..03aef1b 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -557,8 +557,17 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 @Override public boolean onOptionsItemSelected(MenuItem item) { + /** + * @method: onOptionsItemSelected + * @description: 覆写了Activity.java里的onOptionsItemSelected,路线是menu-->item, + * 这里就是处理识别到的item + * @date: 2023/12/19 23:35 + * @author: zhoukexing + * @param: [item] + * @return: boolean + */ int itemId = item.getItemId(); - if (itemId == R.id.menu_new_note) { + if (itemId == R.id.menu_new_note) { // 从item到itemid,用itemid导向对应的不同的动作 @zhoukexing 2023/12/19 23:38 createNewNote(); } else if (itemId == R.id.menu_delete) { AlertDialog.Builder builder = new AlertDialog.Builder(this); @@ -623,13 +632,23 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 } private void createNewNote() { + /** + * @method: createNewNote + * @description: 从编辑页面,点击“add note”会进入这个创建便签的方法。 + * 此方法会保存并结束当前便签,用NoteEditActivity类实例化一个新的intent(活动意图), + * 设置行为和指定报错对象后,启动intent活动意图 + * @date: 2023/12/19 23:03 + * @author: zhoukexing + * @param: [] + * @return: void + */ // Firstly, save current editing notes saveNote(); // For safety, start a new NoteEditActivity finish(); Intent intent = new Intent(this, NoteEditActivity.class); //Q: 在类的内部,还没有实现完全时,启动这个类自己?@zkx 2023/12/17 - intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); // 创建便签后,要插入或者编辑。Q: 为什么要插入 @zhoukexing 2023/12/19 22:57 intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); startActivity(intent); } @@ -865,8 +884,16 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 } private boolean saveNote() { + /** + * @method: saveNote + * @description: 获取工作文本,调用真正的保存便签的方法,设置便签在list界面的位置 + * @date: 2023/12/19 23:50 + * @author: zhoukexing + * @param: [] + * @return: boolean + */ getWorkingText(); - boolean saved = mWorkingNote.saveNote(); + boolean saved = mWorkingNote.saveNote();// TODO: 2023/12/19 工作便签下的saveNote if (saved) { /** * There are two modes from List view to edit view, open one note, @@ -875,7 +902,8 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 * new node requires to the top of the list. This code * {@link #RESULT_OK} is used to identify the create/edit state */ - setResult(RESULT_OK); + setResult(RESULT_OK); // RESULT_OK指示将该便签保存到list界面的顶端(因为这是新建的便签) @zhoukexing 2023/12/19 23:41 + //Q: 这个setResult只在这里调用了,怎么实现的 @zkx 2023/12/19 } return saved; } From d88a65106d34951a19dffb3eeccdd55664105766 Mon Sep 17 00:00:00 2001 From: zkx Date: Wed, 20 Dec 2023 23:57:21 +0800 Subject: [PATCH 8/9] cmt: track onCreate 50% --- src/main/java/net/micode/notes/model/WorkingNote.java | 8 ++++++++ src/main/java/net/micode/notes/ui/NoteEditActivity.java | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index caaed12..87fbd8a 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -176,6 +176,14 @@ public class WorkingNote { public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, int widgetType, int defaultBgColorId) { + /** + * @method: createEmptyNote + * @description: 创建一个空的工作便签,根据传入参数,设置好背景色、是否为挂件等 + * @date: 2023/12/20 23:55 + * @author: zhoukexing + * @param: [context, folderId, widgetId, widgetType, defaultBgColorId] + * @return: net.micode.notes.model.WorkingNote 返回一个WorkingNote实例 + */ WorkingNote note = new WorkingNote(context, folderId); note.setBgColorId(defaultBgColorId); note.setWidgetId(widgetId); diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 03aef1b..94fd5f5 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -172,6 +172,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 this.setContentView(R.layout.note_edit); if (savedInstanceState == null && !initActivityState(getIntent())) { + // savedInstanceState? @zhoukexing 2023/12/20 23:45 finish(); return; } @@ -250,6 +251,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 ResourceParser.getDefaultBgId(this)); // Parse call-record note + // 解析文档,看是否有号码存在,以便展示的时候渲染 @zhoukexing 2023/12/20 23:49 String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0); if (callDate != 0 && phoneNumber != null) { @@ -259,6 +261,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 long noteId = 0; if ((noteId = DataUtils.getNoteIdByPhoneNumberAndCallDate(getContentResolver(), phoneNumber, callDate)) > 0) { + // TODO: 2023/12/20 mWorkingNote = WorkingNote.load(this, noteId); if (mWorkingNote == null) { Log.e(TAG, "load call note failed with note id" + noteId); @@ -270,7 +273,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 widgetType, bgResId); mWorkingNote.convertToCallNote(phoneNumber, callDate); } - } else { + } else { // 没有要显示的电话 mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType, bgResId); } From 2af601932e6f2ff579669b8773c121138d2eaf8b Mon Sep 17 00:00:00 2001 From: zkx Date: Thu, 21 Dec 2023 00:53:29 +0800 Subject: [PATCH 9/9] cmt: edit & delete note 80% --- .../net/micode/notes/model/WorkingNote.java | 20 ++++++++- .../net/micode/notes/ui/NoteEditActivity.java | 43 ++++++++++++------- .../net/micode/notes/ui/NoteEditText.java | 14 ++++-- 3 files changed, 56 insertions(+), 21 deletions(-) diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index 87fbd8a..427f1e5 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -178,7 +178,7 @@ public class WorkingNote { int widgetType, int defaultBgColorId) { /** * @method: createEmptyNote - * @description: 创建一个空的工作便签,根据传入参数,设置好背景色、是否为挂件等 + * @description: 创建一个空的工作便签,根据传入参数,设置好工作便签的背景色、挂件号、挂件类型 * @date: 2023/12/20 23:55 * @author: zhoukexing * @param: [context, folderId, widgetId, widgetType, defaultBgColorId] @@ -241,7 +241,16 @@ public class WorkingNote { } } + /** + * @method: setOnSettingStatusChangedListener + * @description: 将工作目录里的NoteEditActivity项设置为NoteSettingChangedListener + * @date: 2023/12/21 0:10 + * @author: zhoukexing + * @param: [l] NoteEditActivity + * @return: void + */ public void setOnSettingStatusChangedListener(NoteSettingChangedListener l) { + //Q: 这里的l是怎么获取的。l是NoteEditActivity @zkx 2023/12/21 mNoteSettingStatusListener = l; } @@ -265,7 +274,14 @@ public class WorkingNote { mNoteSettingStatusListener.onClockAlertChanged(date, set); } } - + /** + * @method: markDeleted + * @description: 描述一下方法的作用 + * @date: 2023/12/21 0:50 + * @author: zhoukexing + * @param: [mark] + * @return: void + */ public void markDeleted(boolean mark) { mIsDeleted = mark; if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 94fd5f5..3b86c9e 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -158,16 +158,17 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 /** * @zkx 2023/12/18 复写了Activity类中的onCreate函数,当用户点击创建时,会进入这个函数 */ + /** + * @method: onCreate + * @description: 进入场景:在list页面,点击“写便签”时进入;在挂件页面,生成挂件时不进入,点进挂件时才进入;…… + * allinall:在进入编辑页面前都会进入 + * @date: 2023/12/18 23:22 + * @author: zhoukexing + * @param: [savedInstanceState] + * @return: void + */ @Override protected void onCreate(Bundle savedInstanceState) { - /** - * @method: onCreate - * @description: 描述一下方法的作用 - * @date: 2023/12/18 23:22 - * @author: zhoukexing - * @param: [savedInstanceState] - * @return: void - */ super.onCreate(savedInstanceState); this.setContentView(R.layout.note_edit); @@ -212,6 +213,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 */ mWorkingNote = null; if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) { + // 进入场景:点进一个已有便签 @zhoukexing 2023/12/21 0:14 long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0); mUserQuery = ""; @@ -229,7 +231,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 showToast(R.string.error_note_not_exist); finish(); return false; - } else { + } else {// 如果在数据库里存在,就根据noteId从数据库中加载到工作便签里来 @zhoukexing 2023/12/21 0:16 mWorkingNote = WorkingNote.load(this, noteId); if (mWorkingNote == null) { Log.e(TAG, "load note failed with note id" + noteId); @@ -237,20 +239,20 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 return false; } } - getWindow().setSoftInputMode( + getWindow().setSoftInputMode(// 猜:平滑地展示便签内容 @zhoukexing 2023/12/21 0:18 WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); } else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) { - // New note + // 进入场景:一个New note long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0); int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); int widgetType = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, - Notes.TYPE_WIDGET_INVALIDE); + Notes.TYPE_WIDGET_INVALIDE); // widgetType=0: 新建的挂件,空的 @zhoukexing 2023/12/21 0:02 int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, - ResourceParser.getDefaultBgId(this)); + ResourceParser.getDefaultBgId(this));// TODO: 2023/12/21 背景色的设置 - // Parse call-record note + // Parse call-record note todo // 解析文档,看是否有号码存在,以便展示的时候渲染 @zhoukexing 2023/12/20 23:49 String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0); @@ -287,6 +289,7 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 return false; } mWorkingNote.setOnSettingStatusChangedListener(this); + // this是WorkingNote @zhoukexing 2023/12/21 0:08 return true; } @@ -573,12 +576,13 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 if (itemId == R.id.menu_new_note) { // 从item到itemid,用itemid导向对应的不同的动作 @zhoukexing 2023/12/19 23:38 createNewNote(); } else if (itemId == R.id.menu_delete) { + // 构建一个警告⚠对话框,让用户确认是否真的要删除便签 @zhoukexing 2023/12/21 0:41 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.alert_title_delete)); builder.setIcon(android.R.drawable.ic_dialog_alert); builder.setMessage(getString(R.string.alert_message_delete_note)); builder.setPositiveButton(android.R.string.ok, - new DialogInterface.OnClickListener() { + new DialogInterface.OnClickListener() {// TODO: 2023/12/21 传入了一个函数作为参数? public void onClick(DialogInterface dialog, int which) { deleteCurrentNote(); finish(); @@ -655,7 +659,14 @@ public class NoteEditActivity extends Activity //NOTE: extends--单继承,但 intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); startActivity(intent); } - + /** + * @method: deleteCurrentNote + * @description: 删除当前便签。如果在数据库里,还要进一步判断是否在根目录下,是否为同步模式 + * @date: 2023/12/21 0:48 + * @author: zhoukexing + * @param: [] + * @return: void + */ private void deleteCurrentNote() { if (mWorkingNote.existInDatabase()) { HashSet ids = new HashSet(); diff --git a/src/main/java/net/micode/notes/ui/NoteEditText.java b/src/main/java/net/micode/notes/ui/NoteEditText.java index c6b7a10..e6ca80f 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditText.java +++ b/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -137,11 +137,19 @@ public class NoteEditText extends EditText { } return super.onKeyDown(keyCode, event); } - + /** + * @method: onKeyUp + * @description: 处理键盘输入的键。对于delete键和enter键做了异常处理。 + * 编辑时会进入,按返回键退出时也会进入 + * @date: 2023/12/21 0:28 + * @author: zhoukexing + * @param: [keyCode, event] + * @return: boolean + */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch(keyCode) { - case KeyEvent.KEYCODE_DEL: + case KeyEvent.KEYCODE_DEL: // delete键的号为67 @zhoukexing 2023/12/21 0:31 if (mOnTextViewChangeListener != null) { if (0 == mSelectionStartBeforeDelete && mIndex != 0) { mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString()); @@ -151,7 +159,7 @@ public class NoteEditText extends EditText { Log.d(TAG, "OnTextViewChangeListener was not seted"); } break; - case KeyEvent.KEYCODE_ENTER: + case KeyEvent.KEYCODE_ENTER: // enter键的号为66 @zhoukexing 2023/12/21 0:31 if (mOnTextViewChangeListener != null) { int selectionStart = getSelectionStart(); String text = getText().subSequence(selectionStart, length()).toString();