From ea4ebf9efcb29185013f26f6a9928aec1d534b51 Mon Sep 17 00:00:00 2001 From: tb202302116011 <1271741232@qq.com> Date: Wed, 21 Jan 2026 14:41:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=A9=BA=E7=99=BD=E4=BE=BF=E7=AD=BE=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/micode/notes/model/WorkingNote.java | 16 ++++++++++++++-- .../micode/notes/ui/NotesPreferenceActivity.java | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index e3b2398..d303c30 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -29,7 +29,9 @@ import net.micode.notes.data.Notes.DataColumns; import net.micode.notes.data.Notes.DataConstants; import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.TextNote; +import net.micode.notes.tool.DataUtils; import net.micode.notes.tool.ResourceParser.NoteBgResources; +import java.util.HashSet; /** @@ -331,6 +333,7 @@ public class WorkingNote { *

* 将当前工作笔记保存到数据库中。如果笔记不存在,则创建新笔记; * 如果笔记已存在,则更新现有笔记。 + * 如果笔记内容为空且已存在于数据库,则删除该笔记。 *

* * @return 保存成功返回true,否则返回false @@ -356,6 +359,15 @@ public class WorkingNote { } return true; } else { + // 添加删除逻辑:如果笔记内容为空且已存在于数据库,则删除该笔记 + if (existInDatabase() && TextUtils.isEmpty(mContent)) { + HashSet ids = new HashSet(); + ids.add(mNoteId); + if (!DataUtils.batchDeleteNotes(mContext.getContentResolver(), ids)) { + Log.e(TAG, "Delete empty note error"); + } + mIsDeleted = true; + } return false; } } @@ -376,13 +388,13 @@ public class WorkingNote { * 检查笔记是否值得保存 *

* 检查当前工作笔记是否值得保存到数据库中。如果笔记已删除、 - * 内容为空且不存在于数据库中,或者存在于数据库但未修改,则不值得保存。 + * 内容为空,或者存在于数据库但未修改,则不值得保存。 *

* * @return 值得保存返回true,否则返回false */ private boolean isWorthSaving() { - if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent)) + if (mIsDeleted || TextUtils.isEmpty(mContent) || (existInDatabase() && !mNote.isLocalModified())) { return false; } else { diff --git a/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java b/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java index 69984ff..5cca48d 100644 --- a/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java @@ -110,7 +110,7 @@ public class NotesPreferenceActivity extends PreferenceActivity { mReceiver = new GTaskReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(GTaskSyncService.GTASK_SERVICE_BROADCAST_NAME); - registerReceiver(mReceiver, filter); + registerReceiver(mReceiver, filter, Context.RECEIVER_EXPORTED); mOriAccounts = null; View header = LayoutInflater.from(this).inflate(R.layout.settings_header, null); -- 2.34.1