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