From f8e56378961f7f36a0eb170ae0766ba0c707d309 Mon Sep 17 00:00:00 2001 From: huige <2231639463@qq.com> Date: Wed, 20 Dec 2023 23:55:15 +0800 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 587fd4fe848e9b47f7608fa8875817f56954cb5a Author: huige <2231639463@qq.com> Date: Wed Dec 20 23:23:25 2023 +0800 更新 commit c18d19e360aecb41f0fc7830e1fe5f508978c2fa Author: huige <2231639463@qq.com> Date: Mon Dec 18 23:32:20 2023 +0800 辉哥把一半ui包也标了 commit 469349bc8b02f15d29b61d85c7a708a657ef506e Author: huige <2231639463@qq.com> Date: Mon Dec 18 20:49:33 2023 +0800 辉哥标记了tool包和model包,不影响使用 commit 50808f3830108b9ea0eb334a7f9892bd3715836f Author: huige <2231639463@qq.com> Date: Tue Dec 12 20:52:54 2023 +0800 更一下 commit ac1e4bf13cfd3607342d7e3f83b9645ab3bb656c Merge: fb0589e 6c9e3c2 Author: huige <2231639463@qq.com> Date: Tue Dec 12 20:42:04 2023 +0800 dasdas # Conflicts: # src/.gradle/8.0/executionHistory/executionHistory.bin # src/.gradle/8.0/executionHistory/executionHistory.lock # src/.gradle/8.0/fileHashes/fileHashes.bin # src/.gradle/8.0/fileHashes/fileHashes.lock # src/.gradle/8.0/fileHashes/resourceHashesCache.bin # src/.gradle/buildOutputCleanup/buildOutputCleanup.lock # src/.gradle/file-system.probe # src/app/build/intermediates/apk/debug/app-debug.apk # src/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex # src/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService$1.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex # src/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex # src/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin # src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java # src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java --- .../compile_app_classes_jar/debug/classes.jar | Bin 389498 -> 389461 bytes .../gtask/remote/GTaskSyncService$1.class | Bin 1062 -> 1062 bytes .../notes/gtask/remote/GTaskSyncService.class | Bin 4166 -> 4166 bytes .../micode/notes/model/Note$NoteData.class | Bin 6048 -> 6048 bytes .../classes/net/micode/notes/model/Note.class | Bin 4471 -> 4504 bytes .../net/micode/notes/model/WorkingNote.class | Bin 9147 -> 9147 bytes .../notes/tool/BackupUtils$TextExport.class | Bin 6493 -> 6493 bytes .../net/micode/notes/tool/BackupUtils.class | Bin 3397 -> 3389 bytes .../net/micode/notes/tool/DataUtils.class | Bin 9650 -> 9642 bytes .../micode/notes/ui/NoteEditActivity$1.class | Bin 969 -> 969 bytes .../micode/notes/ui/NoteEditActivity$2.class | Bin 1076 -> 1076 bytes .../micode/notes/ui/NoteEditActivity$3.class | Bin 1262 -> 1262 bytes .../micode/notes/ui/NoteEditActivity.class | Bin 28347 -> 28331 bytes .../net/micode/notes/ui/NoteEditText$1.class | Bin 1051 -> 1051 bytes .../net/micode/notes/ui/NoteEditText.class | Bin 6344 -> 6342 bytes .../micode/notes/ui/NotesListActivity$1.class | Bin 2410 -> 2410 bytes .../micode/notes/ui/NotesListActivity$2.class | Bin 3408 -> 3392 bytes .../micode/notes/ui/NotesListActivity$3.class | Bin 1110 -> 1110 bytes .../micode/notes/ui/NotesListActivity$4.class | Bin 3297 -> 3297 bytes .../micode/notes/ui/NotesListActivity$5.class | Bin 1571 -> 1571 bytes .../micode/notes/ui/NotesListActivity$6.class | Bin 1687 -> 1687 bytes .../micode/notes/ui/NotesListActivity$7.class | Bin 1165 -> 1165 bytes .../micode/notes/ui/NotesListActivity$8.class | Bin 2941 -> 2941 bytes .../micode/notes/ui/NotesListActivity$9.class | Bin 903 -> 903 bytes ...sListActivity$BackgroundQueryHandler.class | Bin 1588 -> 1588 bytes .../ui/NotesListActivity$ModeCallback$1.class | Bin 1439 -> 1439 bytes .../ui/NotesListActivity$ModeCallback$2.class | Bin 1179 -> 1179 bytes .../ui/NotesListActivity$ModeCallback.class | Bin 7422 -> 7422 bytes ...sListActivity$NewNoteOnTouchListener.class | Bin 3435 -> 3435 bytes ...ListActivity$OnListItemClickListener.class | Bin 3354 -> 3354 bytes .../micode/notes/ui/NotesListActivity.class | Bin 24940 -> 24940 bytes .../micode/notes/ui/NotesListAdapter.class | Bin 5959 -> 5959 bytes .../net/micode/notes/ui/NotesListItem.class | Bin 4440 -> 4436 bytes .../notes/ui/NotesPreferenceActivity$1.class | Bin 1627 -> 1627 bytes .../notes/ui/NotesPreferenceActivity$2.class | Bin 944 -> 944 bytes .../notes/ui/NotesPreferenceActivity$3.class | Bin 940 -> 940 bytes .../notes/ui/NotesPreferenceActivity$4.class | Bin 1340 -> 1340 bytes .../notes/ui/NotesPreferenceActivity$5.class | Bin 1502 -> 1502 bytes .../notes/ui/NotesPreferenceActivity$6.class | Bin 1080 -> 1080 bytes .../notes/ui/NotesPreferenceActivity$7.class | Bin 1451 -> 1451 bytes .../notes/ui/NotesPreferenceActivity$8.class | Bin 1430 -> 1430 bytes ...otesPreferenceActivity$GTaskReceiver.class | Bin 1772 -> 1764 bytes .../notes/ui/NotesPreferenceActivity.class | Bin 13206 -> 13198 bytes ...60 => AlarmAlertActivity.class.uniqueId27} | Bin .../AlarmAlertActivity.class.uniqueId44 | Bin 0 -> 6231 bytes .../AlarmInitReceiver.class.uniqueId14 | Bin 2564 -> 0 bytes ...=> BackupUtils$TextExport.class.uniqueId5} | Bin ...niqueId47 => BackupUtils.class.uniqueId11} | Bin .../stash-dir/Contact.class.uniqueId42 | Bin 2970 -> 0 bytes ....uniqueId51 => DataUtils.class.uniqueId14} | Bin .../stash-dir/DataUtils.class.uniqueId39 | Bin 0 -> 9642 bytes ...istAdapter$FolderListItem.class.uniqueId24 | Bin 1298 -> 0 bytes .../FoldersListAdapter.class.uniqueId29 | Bin 2171 -> 0 bytes ...ncTask$OnCompleteListener.class.uniqueId6} | Bin ...ueId19 => GTaskASyncTask.class.uniqueId17} | Bin .../stash-dir/GTaskClient.class.uniqueId29 | Bin 0 -> 17115 bytes ...iqueId63 => GTaskManager.class.uniqueId30} | Bin .../stash-dir/GTaskManager.class.uniqueId47 | Bin 0 -> 18982 bytes ...queId15 => Note$NoteData.class.uniqueId10} | Bin ...class.uniqueId53 => Note.class.uniqueId16} | Bin ...41 => NoteEditActivity$1.class.uniqueId36} | Bin .../NoteEditActivity$1.class.uniqueId6 | Bin 0 -> 969 bytes ...Id6 => NoteEditActivity$2.class.uniqueId3} | Bin 1076 -> 1076 bytes .../NoteEditActivity$2.class.uniqueId8 | Bin 0 -> 1076 bytes ...25 => NoteEditActivity$3.class.uniqueId21} | Bin 1262 -> 1262 bytes .../NoteEditActivity$3.class.uniqueId22 | Bin 0 -> 1262 bytes ...tActivity$HeadViewHolder.class.uniqueId32} | Bin ...itActivity$HeadViewHolder.class.uniqueId49 | Bin 0 -> 976 bytes ...ueId3 => NoteEditActivity.class.uniqueId0} | Bin 28347 -> 28347 bytes .../NoteEditActivity.class.uniqueId5 | Bin 0 -> 28347 bytes .../stash-dir/NoteEditText$1.class.uniqueId13 | Bin 0 -> 1051 bytes ...$OnTextViewChangeListener.class.uniqueId50 | Bin 0 -> 355 bytes .../stash-dir/NoteEditText.class.uniqueId27 | Bin 0 -> 6344 bytes ...iqueId27 => NoteItemData.class.uniqueId23} | Bin .../stash-dir/NoteItemData.class.uniqueId24 | Bin 0 -> 5763 bytes ...18 => NoteWidgetProvider.class.uniqueId16} | Bin .../NoteWidgetProvider_2x.class.uniqueId55 | Bin 1250 -> 0 bytes .../NoteWidgetProvider_4x.class.uniqueId52 | Bin 1250 -> 0 bytes .../stash-dir/Notes$CallNote.class.uniqueId39 | Bin 935 -> 0 bytes .../Notes$DataColumns.class.uniqueId7 | Bin 666 -> 0 bytes .../Notes$DataConstants.class.uniqueId49 | Bin 680 -> 0 bytes .../Notes$NoteColumns.class.uniqueId11 | Bin 998 -> 0 bytes .../stash-dir/Notes$TextNote.class.uniqueId50 | Bin 931 -> 0 bytes .../stash-dir/Notes.class.uniqueId36 | Bin 1887 -> 0 bytes ...NotesDatabaseHelper$TABLE.class.uniqueId32 | Bin 336 -> 0 bytes .../NotesDatabaseHelper.class.uniqueId43 | Bin 8801 -> 0 bytes ...9 => NotesListActivity$1.class.uniqueId10} | Bin .../NotesListActivity$1.class.uniqueId7 | Bin 0 -> 2410 bytes ...6 => NotesListActivity$2.class.uniqueId20} | Bin .../NotesListActivity$2.class.uniqueId41 | Bin 0 -> 3408 bytes ...35 => NotesListActivity$3.class.uniqueId1} | Bin 1110 -> 1110 bytes .../NotesListActivity$3.class.uniqueId31 | Bin 0 -> 1110 bytes ...0 => NotesListActivity$4.class.uniqueId15} | Bin 3297 -> 3297 bytes .../NotesListActivity$4.class.uniqueId18 | Bin 0 -> 3297 bytes ...1 => NotesListActivity$5.class.uniqueId28} | Bin 1571 -> 1571 bytes .../NotesListActivity$5.class.uniqueId45 | Bin 0 -> 1571 bytes ...4 => NotesListActivity$6.class.uniqueId37} | Bin 1687 -> 1687 bytes .../NotesListActivity$6.class.uniqueId9 | Bin 0 -> 1687 bytes ...8 => NotesListActivity$7.class.uniqueId35} | Bin 1165 -> 1165 bytes .../NotesListActivity$7.class.uniqueId4 | Bin 0 -> 1165 bytes ...4 => NotesListActivity$8.class.uniqueId31} | Bin 2941 -> 2941 bytes .../NotesListActivity$8.class.uniqueId48 | Bin 0 -> 2941 bytes ...6 => NotesListActivity$9.class.uniqueId13} | Bin 903 -> 903 bytes .../NotesListActivity$9.class.uniqueId14 | Bin 0 -> 903 bytes ...y$BackgroundQueryHandler.class.uniqueId25} | Bin ...ty$BackgroundQueryHandler.class.uniqueId26 | Bin 0 -> 1588 bytes ...stActivity$ListEditState.class.uniqueId24} | Bin ...istActivity$ListEditState.class.uniqueId25 | Bin 0 -> 1346 bytes ...tActivity$ModeCallback$1.class.uniqueId29} | Bin ...stActivity$ModeCallback$1.class.uniqueId46 | Bin 0 -> 1439 bytes ...tActivity$ModeCallback$2.class.uniqueId17} | Bin ...stActivity$ModeCallback$2.class.uniqueId19 | Bin 0 -> 1179 bytes ...ListActivity$ModeCallback.class.uniqueId2} | Bin ...sListActivity$ModeCallback.class.uniqueId7 | Bin 0 -> 7422 bytes ...y$NewNoteOnTouchListener.class.uniqueId18} | Bin ...ty$NewNoteOnTouchListener.class.uniqueId20 | Bin 0 -> 3435 bytes ...$OnListItemClickListener.class.uniqueId19} | Bin 3354 -> 3354 bytes ...y$OnListItemClickListener.class.uniqueId40 | Bin 0 -> 3354 bytes ...d10 => NotesListActivity.class.uniqueId11} | Bin 24940 -> 24940 bytes .../NotesListActivity.class.uniqueId8 | Bin 0 -> 24940 bytes ...apter$AppWidgetAttribute.class.uniqueId51} | Bin ...Id13 => NotesListAdapter.class.uniqueId12} | Bin ...queId26 => NotesListItem.class.uniqueId22} | Bin .../stash-dir/NotesListItem.class.uniqueId23 | Bin 0 -> 4440 bytes ...otesPreferenceActivity$1.class.uniqueId42} | Bin ...otesPreferenceActivity$2.class.uniqueId30} | Bin ...otesPreferenceActivity$3.class.uniqueId15} | Bin ...otesPreferenceActivity$4.class.uniqueId43} | Bin ...otesPreferenceActivity$5.class.uniqueId33} | Bin ...otesPreferenceActivity$6.class.uniqueId21} | Bin ...otesPreferenceActivity$8.class.uniqueId38} | Bin ...nceActivity$GTaskReceiver.class.uniqueId3} | Bin ...> NotesPreferenceActivity.class.uniqueId9} | Bin .../stash-dir/NotesProvider.class.uniqueId65 | Bin 9502 -> 0 bytes ...rceParser$NoteBgResources.class.uniqueId34 | Bin 0 -> 1226 bytes ...Parser$NoteItemBgResources.class.uniqueId2 | Bin 0 -> 1886 bytes ...r$TextAppearanceResources.class.uniqueId32 | Bin 0 -> 1004 bytes ...ceParser$WidgetBgResources.class.uniqueId4 | Bin 0 -> 1183 bytes .../stash-dir/ResourceParser.class.uniqueId28 | Bin 0 -> 1644 bytes .../stash-dir/SqlData.class.uniqueId31 | Bin 6016 -> 0 bytes .../stash-dir/SqlNote.class.uniqueId34 | Bin 12623 -> 0 bytes .../stash-dir/Task.class.uniqueId45 | Bin 7723 -> 0 bytes .../stash-dir/TaskList.class.uniqueId12 | Bin 8180 -> 0 bytes ...teSettingChangedListener.class.uniqueId26} | Bin ...niqueId48 => WorkingNote.class.uniqueId12} | Bin 9147 -> 9147 bytes .../java/net/micode/notes/model/Note.java | 96 ++- .../net/micode/notes/model/WorkingNote.java | 147 ++-- .../net/micode/notes/tool/BackupUtils.java | 206 ++++-- .../java/net/micode/notes/tool/DataUtils.java | 535 ++++++++------ .../net/micode/notes/ui/NoteEditActivity.java | 118 +--- .../net/micode/notes/ui/NoteEditText.java | 118 ++-- .../micode/notes/ui/NotesListActivity.java | 668 ++++++++++-------- .../net/micode/notes/ui/NotesListAdapter.java | 29 +- .../net/micode/notes/ui/NotesListItem.java | 28 +- .../notes/ui/NotesPreferenceActivity.java | 463 ++++++------ 155 files changed, 1396 insertions(+), 1012 deletions(-) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{AlarmAlertActivity.class.uniqueId60 => AlarmAlertActivity.class.uniqueId27} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmAlertActivity.class.uniqueId44 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmInitReceiver.class.uniqueId14 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{BackupUtils$TextExport.class.uniqueId40 => BackupUtils$TextExport.class.uniqueId5} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{BackupUtils.class.uniqueId47 => BackupUtils.class.uniqueId11} (100%) delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Contact.class.uniqueId42 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{DataUtils.class.uniqueId51 => DataUtils.class.uniqueId14} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId39 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/FoldersListAdapter$FolderListItem.class.uniqueId24 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/FoldersListAdapter.class.uniqueId29 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{GTaskASyncTask$OnCompleteListener.class.uniqueId4 => GTaskASyncTask$OnCompleteListener.class.uniqueId6} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{GTaskASyncTask.class.uniqueId19 => GTaskASyncTask.class.uniqueId17} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskClient.class.uniqueId29 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{GTaskManager.class.uniqueId63 => GTaskManager.class.uniqueId30} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId47 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{Note$NoteData.class.uniqueId15 => Note$NoteData.class.uniqueId10} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{Note.class.uniqueId53 => Note.class.uniqueId16} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteEditActivity$1.class.uniqueId41 => NoteEditActivity$1.class.uniqueId36} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId6 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteEditActivity$2.class.uniqueId6 => NoteEditActivity$2.class.uniqueId3} (87%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId8 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteEditActivity$3.class.uniqueId25 => NoteEditActivity$3.class.uniqueId21} (83%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId22 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteEditActivity$HeadViewHolder.class.uniqueId66 => NoteEditActivity$HeadViewHolder.class.uniqueId32} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$HeadViewHolder.class.uniqueId49 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteEditActivity.class.uniqueId3 => NoteEditActivity.class.uniqueId0} (91%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId5 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText$1.class.uniqueId13 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText$OnTextViewChangeListener.class.uniqueId50 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText.class.uniqueId27 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteItemData.class.uniqueId27 => NoteItemData.class.uniqueId23} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId24 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NoteWidgetProvider.class.uniqueId18 => NoteWidgetProvider.class.uniqueId16} (100%) delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider_2x.class.uniqueId55 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider_4x.class.uniqueId52 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$CallNote.class.uniqueId39 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$DataColumns.class.uniqueId7 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$DataConstants.class.uniqueId49 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$NoteColumns.class.uniqueId11 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$TextNote.class.uniqueId50 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes.class.uniqueId36 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesDatabaseHelper$TABLE.class.uniqueId32 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesDatabaseHelper.class.uniqueId43 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$1.class.uniqueId9 => NotesListActivity$1.class.uniqueId10} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId7 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$2.class.uniqueId56 => NotesListActivity$2.class.uniqueId20} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId41 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$3.class.uniqueId35 => NotesListActivity$3.class.uniqueId1} (85%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId31 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$4.class.uniqueId20 => NotesListActivity$4.class.uniqueId15} (92%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$4.class.uniqueId18 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$5.class.uniqueId61 => NotesListActivity$5.class.uniqueId28} (83%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId45 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$6.class.uniqueId44 => NotesListActivity$6.class.uniqueId37} (90%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId9 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$7.class.uniqueId38 => NotesListActivity$7.class.uniqueId35} (88%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId4 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$8.class.uniqueId64 => NotesListActivity$8.class.uniqueId31} (82%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$8.class.uniqueId48 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$9.class.uniqueId16 => NotesListActivity$9.class.uniqueId13} (88%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$9.class.uniqueId14 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$BackgroundQueryHandler.class.uniqueId30 => NotesListActivity$BackgroundQueryHandler.class.uniqueId25} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$BackgroundQueryHandler.class.uniqueId26 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$ListEditState.class.uniqueId28 => NotesListActivity$ListEditState.class.uniqueId24} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId25 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$ModeCallback$1.class.uniqueId62 => NotesListActivity$ModeCallback$1.class.uniqueId29} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId46 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$ModeCallback$2.class.uniqueId21 => NotesListActivity$ModeCallback$2.class.uniqueId17} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId19 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$ModeCallback.class.uniqueId5 => NotesListActivity$ModeCallback.class.uniqueId2} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback.class.uniqueId7 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$NewNoteOnTouchListener.class.uniqueId22 => NotesListActivity$NewNoteOnTouchListener.class.uniqueId18} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId20 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity$OnListItemClickListener.class.uniqueId54 => NotesListActivity$OnListItemClickListener.class.uniqueId19} (92%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId40 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListActivity.class.uniqueId10 => NotesListActivity.class.uniqueId11} (92%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId8 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListAdapter$AppWidgetAttribute.class.uniqueId67 => NotesListAdapter$AppWidgetAttribute.class.uniqueId51} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListAdapter.class.uniqueId13 => NotesListAdapter.class.uniqueId12} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesListItem.class.uniqueId26 => NotesListItem.class.uniqueId22} (100%) create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListItem.class.uniqueId23 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$1.class.uniqueId57 => NotesPreferenceActivity$1.class.uniqueId42} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$2.class.uniqueId33 => NotesPreferenceActivity$2.class.uniqueId30} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$3.class.uniqueId17 => NotesPreferenceActivity$3.class.uniqueId15} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$4.class.uniqueId58 => NotesPreferenceActivity$4.class.uniqueId43} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$5.class.uniqueId37 => NotesPreferenceActivity$5.class.uniqueId33} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$6.class.uniqueId23 => NotesPreferenceActivity$6.class.uniqueId21} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$8.class.uniqueId46 => NotesPreferenceActivity$8.class.uniqueId38} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity$GTaskReceiver.class.uniqueId2 => NotesPreferenceActivity$GTaskReceiver.class.uniqueId3} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{NotesPreferenceActivity.class.uniqueId8 => NotesPreferenceActivity.class.uniqueId9} (100%) delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesProvider.class.uniqueId65 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$NoteBgResources.class.uniqueId34 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$NoteItemBgResources.class.uniqueId2 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$TextAppearanceResources.class.uniqueId32 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$WidgetBgResources.class.uniqueId4 create mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser.class.uniqueId28 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/SqlData.class.uniqueId31 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/SqlNote.class.uniqueId34 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Task.class.uniqueId45 delete mode 100644 src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/TaskList.class.uniqueId12 rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{WorkingNote$NoteSettingChangedListener.class.uniqueId59 => WorkingNote$NoteSettingChangedListener.class.uniqueId26} (100%) rename src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{WorkingNote.class.uniqueId48 => WorkingNote.class.uniqueId12} (73%) diff --git a/src/app/build/intermediates/compile_app_classes_jar/debug/classes.jar b/src/app/build/intermediates/compile_app_classes_jar/debug/classes.jar index 2455c6bd869c975a922de449cd04c2fdb27d4ce6..0d7021003059ec3bf7eb5d4c14b04b168b0b2251 100644 GIT binary patch delta 13287 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 OeyNwUDRUh9ME?f>R7>js diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService$1.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService$1.class index f246eb87a59e759cdf6afd3dfb146afddeb9c829..e3981f2ac0f83ea07140f2d51e2f651ffec7c0d0 100644 GIT binary patch delta 31 mcmZ3+v5aFwGc%*(|US|eY1{VfC23H1A2DiyCnC$?7atBEO delta 31 mcmZ3+v5aFwGc%+9|UPA^}1|tSO24e=QgCv6ogFJ&LgBFALc8kr#P?q3+y}z~_PzdCFW-m9-wEYHGd1pe}7QCnvoaZxZ8PJY!R6 zDfWoV6BVAR5m2W?lP(YRXz?Qd#wyiUuYocQm7$@%%GM0sH|2Q8;scKnmwa-~m$=s6 m`6kJjG$C0gicaNd_01o2W@MPFzJ>U9pe3x*xhBLd&D_z-JsmvI$0Nf$Gr_<6xSQ*oh*-lfI zr}8Xo%~LT?ky`SwO}T8p)A!S>&*$rR``zKVVV$6iNy_nILs82V4yIMo=#UvzXYMi0 zQpy|#3s~{1adWR}QAtMu_EgS^WSA2LivynKp}FInMRHuMei dBN2WjK~|FFBt>4b{7IhwsI8(w#H(5>yNd9cWElVe diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class index d2041ccfbb5521b74a5e341da3e355f31fb4d1ce..3a687440af876db26df13f1b9592632f23423820 100644 GIT binary patch delta 1195 zcma)+SxgjJ6o$X5?uP27aREgHgYA%Up+ht}kvJRRiq2@pCzmG`*N#gx(F7CaLC49= zm_etNr8N;Xic2%tf(4?2;(|JZ3+}rQ8k{Ge%)CuJ_ckdzzUWKcQ|F%hpa1{wsrv7W z>RjLT|6ALDuXqvj)w;6=zxkv2bw%Z?w)UR-w!rksf!DvZ{=2K@?b%4U&HXN8pu}$) z8hRpIoeJ4%?C=ztE{ntAm?u5+AZ0#GYJD8zcrsBx_55X!y>rc=@K~!j>4cvcC&Ojd zQllyS(h6qUewy(ccuH3;S-8%}W={KQ=jwbU+VHEA0m&}E5cS=`z zhvcWyU!LD#@ja;&l1UM{6qC`I~PgJ)2Vgkz6ue;jdFi z7#G5eQuD_tnrTu8bL2Ufz9J=?`MRZFKw$_sxGAf_Eg`1lb)*(d`*5yQ=qx6KC44Ep z6xD!GfZ@I8RCHTgrJ`<$OhMV+i&fMoyHH`Ni-8q_6-vPHIT$_%!{=aButW2S^vTk8 z$1zrk5vw&uhQ{F#?$7(iUfW+E@M-I zjI3T6U0S4TfUC%m6Zg2U&yDGqQ+~*1LBM9c&GKgI+VgCVMDVzyL7Q? zD&#hH@D1e^V(XvsEmX`-dhpxt+v%C{{&@B|kfBS*CEM0 zB4nx7sd4-&XGri3{3f`FifrM&eAx_nn{%gF1Kz>hX%&M4C{!FQ(Ycg7kuIgml#B@! z#_@n*-4+i;ENJgd?%b+Dc~W^RMQ0VGS{DkQ9=>CFk5c( Y(uDoVU%CsGP^7*7I}#Nqn^)NX0Wzc5<^TWy diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class index df71afc5c932a2f38a5440e736137eaf81207012..a23580d2f47cc90cd4cc07f6b2817cc0904a7f8f 100644 GIT binary patch delta 536 zcmW-cOGs2<7>1v3(RDbJMb0=K=bV|7I@1&sxTwG`+GUCsp-GD}CftM*MWzx3B{D&y zmW4mL5E;nQN@_4g7tJQfZnSIBrW+KAM7tJkH2OHZ=Y78a|Ni$crAz6_#n7%CL9P=f zhs_OK@+9e{mOggV&tY!T%q=nukmU{?400R8Q||JNq3NCB9dclV2n8HQ@VG|}qip2? z+Zkgo;~e23$9cpV9&>>SdU(PxMeZ}HG{sw{nPdB)}Z&ctr)TwagoHG}0*_ z%v@xq`V%YotYyEjk+1CG8})prksrEwUN; z^LBct#PtIjB1indWGB`AMC$utrX)&EUytYNgdIM6*_#PO^IEtiEv0WSlmuLrtfeE;X0b zgw1cK$+}8Fu2Cl4YI}U!>b6*U?bb^~`bbK@dGDT(0sUE8294{Ln_Mg*Lq5Gw8un=^ smXd-=#_MF%&sX9p88>5^C;a?3o{*waolN<;-Al-e|tQzxEmjP2+~c2 zeZ<&LmIKstkVbk~$syV}Ob18kZ5~_L7`JpV)Kl3{Id_@L03img%spKb-Yx|l z2@j<1Q^JsyeZUNcS;9k>@rV|lS@LsBe!*5=YG3tQd9CTVtNuuf^TwLJWhU>a}`XSosRM?3hM=Eh;ns&IGoPd#_k&uyUBSHP* zwmMPD#lO@kxrXq{&J~pT^cn&R&+6SsF`L>E3uo=6Y(#)I3j3#B;Jp qvxx?2^!%ZoMwm^!z6f4 ziWg+eUf>mdjBuOR+~W-o8FM~o3(!iI|Qmx~e!9VKnptf7kXFd#4Y)x@BDRMbpW7S9YlV$O{! z#I(YERD@YYSydaq)NbC0va7Qk>Ky-cULIYLPqwThiaU>kE~S$AbQw!m2A#quw^sW_&b-%4vsB!^!?us9SYi^p&mpJDxUOULJ)b#`%cj|9B11|8843Eg# z-_B!tctRgfxyo|}8TL}nZRK7N<)tB`hK%7dZrE!s^M*Di=w^~$rWj&|Tg-CDZk`1b zE#mQxd6rn_J)bG?gOBX+iQjyYpKm(MS5>j12&*~-3=lBybyZV|&+JzeR*iQl{8qVj z{A>`UM2PRyut^Jv@CK`1?!30?tt!e6l7@`Y92oMqqmLgCi#!*u+!*?oU$Be$#CiMP&2c~BD&`3b&AF;mu9SUMP!xR?EX-$} zl5dt2%f5-sm2&p+&tM_YlS0@4ns`YoulUc~9`7`8&Ewq$-t%~$)Un(0Tg25}R_C2~ ztlc={awZV_&QP7+Q$|mjOxJl_XK>;Nb|zkD?u2J|jRw#MR&r#ROCT;GDR4oSh)S85 zRET@ETUP0lHAdwHQ?kXZ?0CnhQIyv#%Nxq_ma4pGT@KikcWld{zOCYI{w`4CgEw^( nA#cx*d?G*}_jOfu7`BP6KdUwCJZSR8d*ZdoRWr#~zR~&@ez<5{ delta 468 zcmYk2-%C?r7{@=4JL}AyS4b#u%OE6j3S$VP!pc%Bvo?Qh>O7i1W?Ob<9(5ZbSx{zm z)7{%eb=ggI6QM8#@v;m5E8pRTyL$M1`SS35o}=jh=)VrD$0jYPQvOvw;jJYedM}G% zZZfJE#A3ssEbbNwGp$I9J^CD%DCoT2=V5rz@H3%#@#D5AB&WA(&@N z85v?m9OOl| zVn45yenW`w9Ee7e&0=aNmJXHg#7P&~Dzc5Rv23jsPjrLLA)$Tx2>t5jl)4#EH>a^M zsD6gj#TgnnOEbf?F`^=4^fIoe3*2IYJ6z%}le+yfuP|65uh)q7GouK!1_~(UrPK|VpWMhO8iyg zpAu6xSwoVn#VqTwNgOVT$1RCuOOlc7T=k0+ySQ*_&5%qy;?bwg6iXHrl0%K;(j<8t zlziHxkWMM!hiAWs4zJWxE073>>S(8qwUQ;>7i1N>gX{J$#L4H&scP=xQCP+R>MQ2$*5*I quZG7cka4!k1Uuv+ewj3$XN;Pz5hK&Y$_xo|9h2N3MQ$3+?$Cc(|Bkl+ delta 714 zcmWNPSx8g?7=^#z#5Al#9Y<%}$4N{o%MvZj(o)G*!vt-y$ShlYh-{%UL#qcN>=qFb zvnQI|oEYjJ&mP&Y;(-T)>nSrsM z1gowhM%)UyTp^d0a#@9&YWZ2Izpm1~)grFZn;JH-mQAc@JGHdx*E#CApf{JOm#fV@ zW*fco{*0{*&=6?$?y>wv9oUVJMg`uhI`*lC{gOYRXf2A;swmBra!|r85^5E>g&lhC z;)s)*(3#RkBu8bcjd+f!I)^lltH={f<)lhG<%~`|9e0KZ&Jrb4Zq=16V?G(npu@S7 z*dBLPXs6IFq1{5S2@MFn;nXIzd$>(BcV+aRHoGtA0e&8;t{x{M`FEj0d3i2YuP(n( zj+cU7X}Z^%=#3_LtMcEesP`)6qYC+;GWwMG6HR%XHZm;!kZK;5#xJKU_3H#iMExV$h)n-g_g1(jt0 diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class index 5416cd3821b561368d33ba683e68c205785c0464..d8407fc71dabc28538f043b8f0c1e80abdecd0bb 100644 GIT binary patch delta 27 icmX@fev*BIEHh)(WI5&l&RPa`raA^bruxa{%s~KY$Oh{G delta 27 icmX@fev*BIEHfkfWI5&lPEH1PCN2g(Chp1Q%s~KE0|gua diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class index bb9f78625bceb1ca26f49f936746b69bc1769b92..1372673eb6c09bf6049d665d1822434f0c6954cc 100644 GIT binary patch delta 23 fcmdnOv4vwpA2Z{+$^FcJtQ#13m^My+#2f?wWF!b0 delta 23 ecmdnOv4vwpA2XxMM3;>=52)h6P delta 33 pcmaFI`HpjgI13Zg<;jvP*?de_8CaOEF-S1oU{GSZHF*+C3;?ai3E}_% diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class index 7d0a456f2217aaf3ff5cca0e2fe722d218e4b2df..7f5e3510fbb9b421efc64219f89ec0dba7e9543c 100644 GIT binary patch delta 1904 zcmWNQdwkE=8OPtxd5%az61gI1q@;_;QooRpi--_GNSF|DeMORmw5}bYbo8Q>F#1(f z)b^q?tqJp^Wun+xV_mgVt?H|-wS=Ik+cajn^Vf5}=ec|?&-otuT6TUddzzz@I$u2U zM&qsxmv(Jy+`Qv*!}_N8)?VKD(&ay`YpUNfWZ=z)je+79Vs19n`P;@^@x||?1-pn~ zHyznSH}>LVA8G6-op;IMpg(@_U0HnCmAyweM`_P7;&`7#J|LCjWOI_id`JoZWE>w+ z&MB(+m}*Wli%+TL3~Ts|b$rfx&hb0GqMmPfhw~iaTTXDnbzXEG7hL6Kmu;evE8OBL z&0G`Vy4XB!NLy}6Jhvs0JCes;8N@vqOtX~oUzx)Hq>7*9SEBNq1jrHzl;sj6brLMA zB}CRssQ3BMZ-XMS5=Edydq)f7B;WgY;n{vUgn_gtOga)PkCEt5a-<6*(XO?JjQXMHVlNpFta$ zNsP=QPG-C8TzoQ*-cn1h%y%e@T;+y@WlrC6g5(v)Wd)J4%2luCN%;+#vW6kDmO@$Q ze|ki{ly7ptTWBZ0r<-hb={H?!I}>Dwqqvi~vWq3Mhn2FI-Qwqf?BlTP=cpXuL-`9g z<&d+#fd_KfS$|Yo$X_K!PDp1tDGBnC^psQH!e7*fpLT@KIHb==kuT^e=e*2O+kEHU z&38o01t;Vp$?dC|>ynYm^eubJg+ zHY<7C)Un&e{bm&nW(~*8T0Swaa@MTl8}k~CW&_`w*STXh^U!Rudx0b@3FO#w_Dj5y zadjcPXl?3gXZ#L+pLcy+Mfh=AnZG+BC)~|R;>|z2^6@XVKSc}kFDLV~%X~@)bB1ol z?bw|69*y7U`_9>Rfe3SvSkve{xz7WriKu#p@eBT9W;_ejUr29$k%p^)L2GqN6NGl6&lCW8qZAa!hG$@VtvA^n6xZF zohI$>{V*v`hInlzZyAtB8_*{SR39OlN~osOUVD@3Vjs;SSF;(QITUC=CTf32X8;Q{ z-whnZQZ1lP2YdG>-%rsZT4^y+I?C}Xp{tIjhmIj#OUc%;4A(NsbsUxMT%!}b*z)F7 zEvKcre_AUE*D8{<+M!N$h|?Tm6+?77r80hq{XYHmxOcYd zZ;z?lyM989o~DzYVUV6>f}W#Fzht_8qqm*Ycie=#Jg)ah*8h;9_Zg@^ zy7e_PTOTk_AM&cpZ?Le<3fryWU28o%bz6iDq=gM4#0C>?BZ#q4-odHY#@J+n?av9b zJ?LP4bg`+V*q)@>UJS5l472Hsw!Ine;$+*0YMVigi!*E{wKj{zHk+4iUsl>2R@;I6 z*5z!%LuaL{OM0E)&B$L CO3z6E delta 1918 zcmXAqd329w7RNvLK1m3PNJt`~l2lD&X(}QrBoRSui6D`XNSs6>5^EJH!vv-65KfO* znbSoVZAW!T>Q_`_9W_U3htlDg8C$1XYb~XQE;Dz|oZlb!`9073-0ybZ^L}tvn$Ak& zgYb?Kd1dn|V{2#5o?1PlDt5-qIhC>16@6oyi%)19>+2M8B{6O@{(L|ff1(3h=)zVK zX&{+Kdb5pmKJq;=^sdx3*<-s2We-v8C5D5<^C>+!L@I|F%4g(rgd&bo#^+S>1yvkl z7RRaOOJ3pxYdOg}PVok34CEi|;GgW{oZY@)H!j-K7x;>AZ1}B#!STo|}@%Ey?1x4CSsA@}rdVZ>i*g%;6VVB*%mvs{0eLehQ zU`zZYh~^UPeLf;aa=hy!P7ld4Sx9RFC6pkmAreNkv>{%?NtXylOFL#u6e}c}RnneU zr33FvN4850O;!)c;~bKBPje0@cB6%KrBQmtl65;@X~agt22^rlLl z;u%Tte#$8gOv7K&X(|1^@{zv}A87xE8H?exm2Bc9haoa@P41ewF|?LEA|#&}8EXgQ zNR;tBB}HUNu>q8<$&K`mMke#5RMA(aFiff$Aya*`Ms1a{ znFc$HcJee`WVRhYV@GqCAajl2JmyL*i{)8X%6uAR0Uyh6*&_?tFTdlc)L9UVxhG3_ zC`--w=gjD35+N%jR#r-9StUub+N&G0HFS*;@(gJ$39^nPS?{IiZA^T{c3vf1UNbGP z(_J>uN8V(Byk%P6Ay?id&uXD;GCuE9E}Olu{1mz1%g)c0!UDoAwJqk=R!gnHylONn zwvi=1qrTl}@1S0GT3R2oOLlQgKCwY+l4i17!eoy`%3hcz93lsN~j$3rWH($mJ^olN%Qk7BmFn?^pwrWX-oNxce`LwD>+N7oHvCR zEbxoo!om~1<&rh}){?kvNnA0GS9w&f(L-*~Pi`95TQ&=Km@apzm3uZ}_jyGg_?C^! zkvjR+?*4~X3gIerP^Ggv64j3s^=GgKFjj*p)mBW>5T*R^de4^y^`W(Q7QOqDuJ42C+W1;{&dj{5_Ev~u=u0ILA21p zglQJhI)qpqN_QPjvSyR2HrzUrJRMD$j-f^in5~80`3cXd7I_sV2l{Hc-JV23I`&!5}WOP`_rW{)-j* zjSbFsyseknq*vIXSG^xA_C@RWCi13*jqp>ON(gkNzTZq;?*0q- z`e{c=(dK}rkUwb-?i^jV&-wLUFYmr}pOuWN!DLte#yY*G%4Kp+(#RAoOw+~;UCiQP zjy~q;XMsT?3=<{DBI7Kn33ECH zA;l!>_alYB&hjV_(@u$aZenSP?%0^!R delta 269 zcmWNL-77b}IRJkvpem!MH@gcX^+w8N42{1wpqtr7- z6XUcpK?jpWn4*hmdYGY~Sz^qoSVi8Lr9jaE3*WHe5nnxQ(W%bzV}+6@ISK sxuJ?%YPqAGd%`?OY=JnBB7c&gXOg_K!n@>ru+Asve39qdbtnz`(@Dz|F+YAj-tapwGm^V8tZB5W*zH z5W^%oIg5Lb6q76i3zIy943h$bHj@%iT7|)uNu9x+Nn^4DPd&)IgFN;iiiy_`0LR7< A`2YX_ delta 117 zcmX>gbwO&w0xl-T>ysC8X)->We122sX449bjm8PtHZKI44` zE5;`b9*j>J{D5=_<1>aB#+Q?$xc5jgzGGlve9s`m_<=#2@e@$l7Y19#Zw&5?-zOXJ Q)Pv05$YT$pKJoYg05p;$JOBUy diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class index 0fd69770051e1db64e894f1cb28f6d565d6e9b22..4902bcb907e81dcded0c1834454a36e4cbb156bf 100644 GIT binary patch delta 23 fcmcb{agAfcN@m72lUFf^vaVy`W?Da)g(V08YPAQq delta 23 fcmcb{agAfcN@m93$*Y({Swk7PnZhQsumk}BV4w!9 diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class index 0468652111dee9e6cb38870d22479b92d3e1298a..a588f4201ed6526b3186e60453925009cd94c5b5 100644 GIT binary patch delta 112 zcmWN?s}4Z{0D$5D{PB=&y5u2j-hf6hQIlm!mt?^vG3Gvw%Z!7$G>tdmE8jQ$O%I-7 zFdn_aY*3kya7xM<8Rz6&katPJ6-C#S+)y>5=9aoU8t!R&pyQG5|DGrMo*5c5_d?{A O*c)%}e0;Ra$<`0vYb9L( delta 112 zcmWN?s}4Z{0D$5D{PB=&y5u2j-hjr8<1&uR+znaMC0VdZOwweHrtv0x<@=_;>GLxT zD%V$-4XRZV)<_wVu};ngd7Bh$QM66T4v{gjT}Jj;+h^l|y+aQFkB&Jx;o_8=Gw#lL OxZv%QkE>ldx%~kUtQ@QW diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class index 54fa572344e07ade3266de9557b0022924e1f7ff..e5ccbce81d51c31652cca5660aaace1c8b2cd337 100644 GIT binary patch delta 43 zcmV+`0M!4Z45JLNp9BHclb{4j0oar41b_|O01X1%02l(^03ZV3lXwMc0ppY71wdgX B56b`m delta 43 zcmZ3?vzTYYd=|!r$qQJ#7+WU4W@+GUXW(V(V31(yVo+e}nOwn|#W->DV^#+MGxZIB diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class index 062ecb51681419402476e610f05faf8eb2ad3aa7..e86fb561023580c9253df4bd0eb5e0d35583308c 100644 GIT binary patch delta 41 wcmbQvJDqn!D=QPT%;a{~W-(?t1}?B(3>keP|uVe(_=$$<{1E0AZpAmjD0& delta 25 hcmeC>?B(3>keP|;@#M$ML2OJ<83dW0O}1tU0swTI2z>wm diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class index d3dbb603be88ac7e15e81101a63c974977c243ae..422f8e22295ea3704e3105863dce406b8f82fc36 100644 GIT binary patch delta 164 zcmWO0tq%cl9LMp`?GyZVqU{P}6K#S`QB1X|A`=8bQB=V-@rv#bU=wVD#&*HO;XK?p z&*q=F&9}T?^&J?2G3qL9Zkej2*<(k=w9X14t`Xq|Q96i=Np6wi4rwvNJ#uuB=K)0? zQRWF1o>3F)^w8!7rr6^Z7Jc-2!+>`T`M`uvOvM>rSnv&7T=D~#UwHhX0U&EN^_C3z JdO?~9SN}%oH#GnN delta 164 zcmew>_E&5}GY6yAv=Xy9gBG&|gD#LZ zWVU3mWVT|kW431SWVT@lWwvFAWwv8T0MaSU_6%jrjtnh8x|`XFVKTEb!whB@hQ-XT z4C|TQ7`8LJGwcG=`OoCMNmnY|dUGJ7-JV)kXoU|?V{nViE_2z1arE(ahf H&m9K0n7k50nPwI0nh+S R0nz|X0n`9a0oIe<1y}4f5eWbQ delta 59 zcmV-B0L1^a473ceBLxYg00jZ0015%6lPm?0A*lcy0jmHf0jvNj0j>Zy0j~f;0kHr| R0kZ&20kr^50k@Og1y{xT51;@5 diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class index 3981f1690da0f62cfd2504fb7505a32e0e7c4ef6..7978c30063b82df21a4f9617a4772544775a6b5d 100644 GIT binary patch delta 27 jcmbQwJ)e8S9u`Ka$$MFHIAs`=7-bnW8RaG$vE~8*Yt;sX delta 27 jcmbQwJ)e8S9u`K{$$MFHIN2GL7&#a;8965#vE~8*Xb%Q3 diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class index 99e161f84223637ded8dfb826dc823dfaf333bd3..a0469f27a7e3023b5bdd994a312fa6c2d6804f03 100644 GIT binary patch delta 23 fcmbQuIh%9CduGOr$sd?~ShE?p7;`2&vP1y@VcrKn delta 23 fcmbQuIh%9CduB$j$sd?~SbZ6|82u(YvP1y@UU&xO diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class index f249e33372b4493d7df79f0f5f7af64c1564db42..720b285267768266f1810a9e4ae88ba7c74b572d 100644 GIT binary patch delta 284 zcmWNLT`R+J0EN$UF*EbWq`g@*apAR@vPLbX*k7jQrFjV%Yqiph5*NF1kam2M=0w41X*KP!0DLx+a&YLZSZ;gd_33UsT8qjP$7 zNuTNjbWgt?8PF?1y%W+GVSN+TFL84h`WYXSpK*;cp(&=7Vn&N3lqIP=b2?;RB~q%g zVCvxt8S@v;v1}PPg~+aTRCHG$O7iCodbO6>)u=a@bOU?Pfme;O^SGr(yOr z!ht@20zAkvN8$US5J7b^pe}~hO2CPh)9{kTP|z$C5ka*IDAq z(x*9paDk*2Nok3!mdX343R-1HIrjZLluK0}$6Du98=PyCYZbUr(OgE$YM4;W^I3|W F{R24jKra9Q diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class index 81f06d33cdd86f80ddeb0ff469ba55cd23ff68bd..57091a78aa9920fa64c59a9fdc1b3a9f820b9f34 100644 GIT binary patch delta 152 zcmWN?s}4Z{0LS6~FFIp_L=p)UohC?vU`7*p05fB*0UM6%1efAaj&Xt)(7k{xoCi?( z%IAjM&^2PvxJQi}&6dKn6{DjBU8U$LO8(! delta 152 zcmWN?sS*JJ0LS6~FEVQci6jyzI!%xS!B~tdV2F;juHYz+G3y~T2EhyHUO*Q10aU*7 zxgj@niFh$@QSX&mSz#)QQB{JPQq+~Ep)5_6XsJV6Ha#8a>%>6k|96IZV(G<5Z)|-S s>&pZ&#bAz~1wod?S&?K-h7CEkG}zH)kHt}INkw^dcM8S>(+T+UKNlq=W&i*H diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class index 3d4e8b10a50b9157299902bd4fd8d014c2da3c23..54153aa365c42f37672dd411139436b77cd57253 100644 GIT binary patch delta 110 zcmbOwHA`wk1sCIw&6QjNjG@07*qQ$_2r&O+kY!JSoj$hu?R4%V-aH5#v;P7lSP8zAd4i!Sr%!At1Pk%H&~P= O-{Zc__+#=Wo(us0K^SfT delta 110 zcmbOwHA`wk1s7w?=1MLB#?W{McIE^I0p>&oS>_}LRpw*{BjywaN9I(903aRAoX!x! zoW)SXoWs!0oXgP1oX0SWIiFz>a{qVrW|zu diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class index 83dc6c8841862d4c0bc0f7e476f030e0606733de..bc253a69967f39f193f61f119471de7049f992f5 100644 GIT binary patch delta 1135 zcmWNMdra146vscmbAF1b+*Gszou+BLUP^o^Qv~KK(2H+?ir@tm#T-skr<=0>LcU@Vjl9H{yuvY-n!e2RTGQ8XvVN)gv6k*!ve1HV+ARWCU1iYgRv>Nn|xgFt`lP?hK{X~-YGb!FL=3eIs?}p1Ls7`94z1K`9 z?+)F)7W#Pi-4_L;+6uInG!iA?x{W+HM6zft*>sm2dPs;g89}<_k}3IwButS+m?(u* zND^fFy2*3`GJ}Cq zW!#yBWfmp!0_C#Aoq4W2wuZK{jCfh$G72l=R?$vYlOStImO8hi@cG!armVBhMH7os zyixBEE1Rs{Y=O7%m~6Gs+jvsmHTZT$%1(p7$5{D*Nm9>D`Iz~#n;QAV!bjO82iPNL zIU+xBT+VS?{&0(n|9$2Xz2vHqt{Le%LAk*&xk-*Rkt@waPLJ+G$%7v>hqhp6(h)KTRM*6M0HIlB>xSXlIJGi<>ukQM{%RqX8T5M8rJ*>ne-Cnuxy67=42Yx{j&pEW~=|>YFUo4OHt}ys8`B=+dfI`)H&4 z-HFn|xKp&!Mmyw^F)zDE%1XRzZf@C(xLcO&HmTY~Pi=M=%f5Nke;nUWqk|tHKYb F{{i%`9+3b5 delta 1135 zcmWNOYfKkZ7{-6+Js^VI1rbmLMHt|`5ZH8@=3h`Qfd~SkrOtA=oI2fHrj|CdY|TZd ziy{{RFQge7l4O8J*=1>hC1jWvGP6cs`cf>#-Y@5z_j%qu=l7m7&}jxb&8bw6$OV_? z=?vIU2$hVXiV4&-+xZRVm4in8$5;#UOjim7bb2v^WC&=PMiaE(@npndr z)^nCke99Ku*~&S#(Z)_rvrF|?Ro|=no2u_q-Rb!~n%U18s@1Pk|A=ah>K~t}4NbIY zarREixn~iT5UfM96tFCXs!>nt1 z>R~j!jO8a%xULiQk;ga2tMb1Dn?VKR9Ye&4AxVT(vCI;0JmN#X__0jckQuam2`Yk|myLlAyVXWJwZ5 zlEQMC*B+gv$(9pZA>aELCP}^+a=UezYlg5?`68 zrALA1Gf^@WI+LlgK*JZ3BiS0B!xG8kX~}1;EM}7wvRjrad>IF287JjMT4fs@vXd*~ z-1bF7Gu|g&4ro%PCLJVAs+cX+%#~U)XUt*uW||%(HToayiEHa>6wixMcZA z8Jm>)6wz{8-{NB?$r;k6h3V3&5p85kJBy^lZCt!HP%h&m-)no9K3%t~@I<)4!i)3d zn#w%{OD~~vT_O5(q#MkUn=F)D3UFKB?2caC&kJ&&UGfKefR6ST74o+WFSYp*lWF9;*xtAzW7)_0__M!S%1db0OD;R zDK>~y8%%}`A=i$i(2kUN_jxrDoL>VN4AQ&wpz(*DYbR1w)L#HN1D$rZSnaZ>opk) diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class index 5e432e900f59e92d525a4d61885d7ef6fd68a580..a6d885ca488d26c7d31c4b953d4963c59c2c2e64 100644 GIT binary patch delta 236 zcmX@EcU*6SkdSOVg9bw)gB3$EgF8biLm)#MLkvSEke35wN*fQ1?Uz zUWQ2w{0vhV#2BVBNH9!iP-K|FV8}3&!JJ{vr{s3YfQpsFnloD5qhdx|xx?f~+316A(@ns|UghT#x{GQ$xD X1BMd}77QmDEP-{9L4c(px`q|_|)^@ppZo1WHps7;uL{PMBpG=7K%ezmJ%vxlHp6>@OLnR z$b<~a5)`}yZ^C=<67)A7&gYz|Z|WQBx;u)O7zdnj$T`QviEzmUNfM+++xo_e{|Xz| z!qUQSgxwM%!zp(H@1@D|K#mf5Diml?@Z@VF@EU+Ow`;AF99^IHogD= diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class index 459683460b7c96fcfb081597e36ec2d21ba7a569..8777b108c5bee588a538275235225942d4941313 100644 GIT binary patch delta 223 zcmWNLJ4=EA7=@pAkcJY4mT(aSA;H!PNxYk7g^-kAUJ!>+!CP7of-Zp|E%8Ov)ZpMM zI{ORS!oi{4AJFRH%NZUHXE@K&wQx-gs|;s%){*o-a07>IbHpykIPtNMp96y0LYgpV zL`V~*LyQ;YfH?1*@=b!Vu2asLljMgBe!1k2D^{fV=bANX+2TfQ+=`csoG1erk|Zkz zxjiY8mnsE$q$oY^<(0C$Q87PlOHU08b#`drpsAuQygaCATSYp0@I;npN_5RHdr5lc H+Me40`BpD2 delta 227 zcmWNKJxhXN7)H-MghPr#n+SqXB-m7%;AiD$1&W&ZYC)QiT8W^7lP!Wv2=VID;?Uq4 zHunqM!oi`vAJF39&@-KL;DT%ESUEm4lZ-x#rgwRMV-GlD8#g<6u;XPP9|!oA1vnu{ zk`Ot^j=lpWXA1OAZ#Xv^PWW~jm9Fh~i@(_8s zpkNaXO>QYlgOYT)kv?U4;Z9zu>SOcDdCwL#jMTBxV3!A6JaWvFI&PAtMTs^Qy86UY Kk)FP`T>k@75iaNe diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class index 362fa0595f3c062958b763e81379f26b9dad72e3..046edf1b5a2fa308bae607c3fc24fa95819c69f2 100644 GIT binary patch delta 27 icmcc3bDL*FCM#q6+ diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class index 17e4d3bbe6ed20a432ae4215b4eb9c3c42704f5c..de07b650dd3bb687749b0b6c99cd917e76822eeb 100644 GIT binary patch delta 41 xcmcb|eUE#?4;Cgy-pRjMYQz}%88{gQ8H5>y7?c@B8FU!M7>pUkC-<-h0RY*>2tWV; delta 41 xcmcb|eUE#?4;ChdFOz?<)QB;BW8h@?&LGV2gF%_$H-iqt9|mKFzmt1dg8)Y;4ut>! diff --git a/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class b/src/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class index 7b8003609f260591fc1b7fdca9171b07fc987548..55f86ace102f679adfa26bc9228f8f2b65b64f03 100644 GIT binary patch delta 39 ucmdnNv4dknGBcy@s=M$^f6m}3B_?gx|r delta 39 ucmdnNv4dknGBcy#nD%W5qy#=y$Jz&M|QopB+9AmbtidB!CSnvBaPo3o_= J)y-iG006SK4!!^Y delta 61 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 Y2|C~b%?;s8d__;0R>$aX(br!8zo8kbCjbBd diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils$TextExport.class.uniqueId40 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils$TextExport.class.uniqueId5 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils$TextExport.class.uniqueId40 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils$TextExport.class.uniqueId5 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils.class.uniqueId47 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils.class.uniqueId11 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils.class.uniqueId47 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/BackupUtils.class.uniqueId11 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Contact.class.uniqueId42 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Contact.class.uniqueId42 deleted file mode 100644 index a7948fd1fe25d5e678d6abc66c58e8199795e068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2970 zcma)8S#ujz7XEH5yJe*ViINZu26xC}D~>H3)>zqWSs@~_lvrLSVG(WVVs|2Si|&>a zL)d44S>GurUZ5()6CqSNK#JvwshTPN(#(9fTaG)nnc#Bi+g_iW$2|N77OKLU6X z|In~S;2G1dxsFv!H(h7Rs!2DUb!^|P`ktaL7yGkLqv6;Srf;6L?3%a#+@fPk4Kaa( z_f}SF33Nfz5ZBR-guwPo=8~DNoAyGwG=E7}eSxlHmTmbb1Ud#%v)$0KO~ZXU?#Fh4 zM{Mb*8&=h+$+YeG(o5H9bM=@4+k%twpjorJCG^&EHD@?|64RAs3w9qA9`UGqvM2&U>+teTN88Uy8AA(x#t)_pNfPn9N(P`U0n zms?F^?o4hfM~`-;VfxiYvieoCnha>QW;&BwJ;Z%R3vL{Rsy|9={STz0nL@ox>;qBC!#6O zE}CvxzSfdPylU z*f)?WY^t#)l<7tXp3pgLPqDYMrQ&q1I9-{U%Ci~o=&JUfaji@o&j{!>%VUVk729mc z1dd`i-J06kk9E-b#QF*&2ua;VV>D6(kMf}TMt;(iv zId&XVY)RD@1Ro94jCf5e3}C!v)rqMIl%d5jC(vVrxiT1|;ROI-NY`~-L&;pwaS<;N z4$Wp$+BJcpXjtvCMT5A@OD2I5UefV0Dgtre2|o(#Vxz7<7-h?NDS>%ZHPm!Syh?0Z zZLk143(f-PowL@z$sslxOy%R?RQDAfqm4U8fF81DT(SH`!wvvpRJpvQm)aRa2 zB<4#+fmoIojKKW`%a$Q{O`G#|a*_q7YSw2>*HZg7Gv+T^1h&4y|Gk`eu0$I;*dhWa z*XB~?D1tH3X8p}N(_Bp9g1~`DoWI$h6xRYb3c`BsAi{dj9LE6t!=PCak4Ros4bDak zFPNzMx?!f1ZDkI?WnQyEZZy2l6tDH$^rGur2{V}}J1w^=Pg^RjI;)}vXIP1Ho40N0 zX6vTsNl(K^0wb&4_`6>w8vY`%_nvAj^13GtM?bi4xG!8i_%nKMBp*#0gWuw@6%0%s zTEXF)I1>8-y%#!?PnQpetHH8Z!L!AoUob!P9r)P#7#D^*zQe>8jK-9yp4bY`%=N@Z zJNdo9qIcdHjU~_DMwy;xlCvxLgA#d>bOo<`3v*6HMZ4NsT|ceqEKrt*4dtylaRV{D z2oKi?Rf=9`fYyD*TaR eTkt1*K>85XKE$8#SM;#XAL4JM9o+vNJ^us8fj1if diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId51 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId14 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId51 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId14 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId39 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/DataUtils.class.uniqueId39 new file mode 100644 index 0000000000000000000000000000000000000000..5a5386f1029356af8d51c92959705ee5ade51c3d GIT binary patch literal 9642 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 literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/FoldersListAdapter$FolderListItem.class.uniqueId24 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/FoldersListAdapter$FolderListItem.class.uniqueId24 deleted file mode 100644 index fad3442960f24a245f38d8851b168762dee655de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1298 zcma)6?^Dx25PcU4u{A;k0Sl;5E0%%;e;{fR#VXjD$OmBXBNLh{oReNKxq|#zGJ=jD z96$RV>iEi|mNL#pyUWQBy zlGU8w2$-(MHEsG-!KR2yVC59`;+lni3^15NR()4-hUNdKEH}aI3BGS{kXa6c`fhQe zb)%TXb!1EoSs2#n`rDur9z(a<+iZZ7ZjEb9H!R%5Ee5M9q^Fa-Iw;f0fqc1L9us2> zgC|{Tv~!(0q;G1vZ(GRW4nt>cg%VJonqbczCXPmN*Fqi>)R2fP9fhdMJ0ILV*Y;hx zZI^c3aE*Vgb6Md;0mJJHPe3zmE0YX~5{)23kDh~-dTon`>+Y6Mo?a)Yxc-J43jN)1 zCiM6*%w2H!&W&%8s*5q`>Q1|H9u|SxA_9oIvkh2Np^)2g=?P7kMtItu#x6r@EvSbT zz9e)FgRP31)^~{FvXne5`EC^P$iy>-@s>Ght4JE0e>G|1IYDW;yh>s^5rH8*BG@1y zf~=vZ0!XLzpCI-yl4b!6lk`JV27-_ZBIP&mZkF-Cr3^a$C{ z@!cu10~85(Lv{%%ETa!^F@`ek#d`+XET&=8s^4aCpD-{yz{5t)#TXTkEPO$B@)+Z% yp|vakhoHYZ6E4{dm!yB&EQK-fn9doP!xLJEs00H~Q6$@qc`P79qMXMIWc~oA%2Gf8 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/FoldersListAdapter.class.uniqueId29 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/FoldersListAdapter.class.uniqueId29 deleted file mode 100644 index 023f716fcceac704b055b0fc0b936961cf7cdab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2171 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 Ha)QmkA zcy1$ROX2=>7x$NBV7!xNr;}j-8sqB*S!}P8vI-(@buuhgBJTHLga?ecB=<&p5wh=k zUWz*lY57M>E2pGFsRl`rp{P@Wxz(bSQ)lK?i~3HRDam?S9#Z4-G7G<>%JRyryQ#Fg zEKm9&Kei-4_UcH?EBP^sU8M@(?{@ zGG~g2u;DQ%wcLjAORkRtPUQMpT4FIgBPu0JDH^KKTUj(&;V-&XKFv@zGECIAR3R-^ zMaV#l=~Ok8PE#cmQKfW&Dx)jaa8#v6&{j1P#^9&#sZsQ}8cn;@7YJ!%s)XXMRm(GWAECuu=A67KS&3$uFQ8T%(2Y(1{a^GB3?H23YH;+!G zlXUKjzY3<=Iz;o*l~kkyE~&hkV2x4fle_OCN_jm4<=@Xh`I$QSLcLBWnmTFCl7=E7 z_4W(O`WfI;&~ua2Ert0>Kz2hm15BZ;1YCl$$Ge!9fwE`_LcAIZ)vTPPnzLFf*+Bz1 zRBcPuTv4Fx);eFSf&^;a_*37Mu`Z&a5d9<+PAd>dRic1dh0tm$Rj6ZVrkVx@Pp2hn z23+E?5Xx7;#uHGK4$>xkh1jfS(Zy;uU9RS6ahhOlL)vK9xkfvdnl&1Fs1pSP3EOhz zBay~MLB1Q(hJ1s1TFMdH@q*JI(yl^n45VTP9}6v$!FdC|`N)5Af>bRk9gFpr423+Gf>%A8rcj~B6AdZxCe^~nsgdz5 YNBlS|DM4#OSgRKq1*_-qMycoj2M`|QR{#J2 literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId63 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId30 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId63 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId30 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId47 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskManager.class.uniqueId47 new file mode 100644 index 0000000000000000000000000000000000000000..ac1834cc53e22f7f391b838bdc641fbd3723d4df GIT binary patch literal 18982 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 Z;PLdWdN3)OtJOp5VLYF~`=+Gi{{hjPvY`L~ literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId15 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId10 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId15 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId10 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId53 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId16 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId53 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId16 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId41 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId36 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId41 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId36 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId6 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId6 new file mode 100644 index 0000000000000000000000000000000000000000..5416cd3821b561368d33ba683e68c205785c0464 GIT binary patch literal 969 zcma)5TW=CU6#izRY=N~| z6B(S6a2!eVnj1Nl=Cj{q$eEE${X@FZUFJ%wfK}vO6g(8+F_bUDX&A(z8V0?=h2VxF zzLH9sBZf?^-Y;McB^PB6>!>jJ%j94vgq({s^_z!8tX^A=**w`D4;z+P?wnYpBNulW zf>1??mQld9GD4Z)jSOQw?2wY2hg|qQ)s7|q*p(@{MZ%D6Q{xy)U8%(BWIPbbyKoSb zrP9?rjQe3Ct$t<9+8#12$J1}N7+gKi$go%IE@0Q{)caIVG~>*$vk=d)aygQG#K1b# z%QHPmxOgiq{f(O|@WRfI3O!al)~Qs(6JbU=^6(Tjf@{_LWTaMU$B6Nnh-ttgV%WSU zJ(c1zI1y@M5v}?M2Ct*2hwV5_Q<1tjVAxtvA?3d@0c_JcuY#cpRxaC>rY(2qEuuo! zdn6r^ZY_nz!8fqR54c}unEUk25eANnO_Hl~6dvFqX@s9equ$^V9$&?JPiKaFrN&pV zpSWd@@3?&(aLu}%JY0ts+9}QgZ_ls%4_v|)(Wb;GVFynrZ3erfIqH literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId6 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId3 similarity index 87% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId6 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId3 index bb9f78625bceb1ca26f49f936746b69bc1769b92..6efe55fe0e49930346066752b1f5cd460b65e58f 100644 GIT binary patch delta 23 ecmdnOv4vwpA2Xx=TO{StkC9 zAN&LSqm1tr(BNXyYuetudG5LAdEa|~{`&p{zzcLL&`>g^v zXYN$E`!v}Jh1?9JI1}=N-DN1tBazu1+Tj)1(larSiUHF?6&6GN*gx~#$dAYFV06p_ zNsKQ=EM%Xd)N+Ozo-1a4Bm}~96cZLS;F!X1(QTL_<&1KWRk}`WpIjm8#3ryZw=EZ;S;)c3NH*U#G5X<0;J=6jP$rSjIEB<;ripR1wes literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId25 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId21 similarity index 83% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId25 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId21 index 961f2f41ce3887350c9886744a510adeade7ce37..f8758f37a691d303a11650e304bee6fb2aa4690f 100644 GIT binary patch delta 33 ocmaFI`HpjgI13Xq!(>U8Y(8ct1{P*!1_@?X1|??p$&*-O0Cofg$N&HU delta 33 pcmaFI`HpjgI13Zg<;jvP*?de_8CaOEF-S1oU{GSZHF*+C3;?ai3E}_% diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId22 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId22 new file mode 100644 index 0000000000000000000000000000000000000000..f8758f37a691d303a11650e304bee6fb2aa4690f GIT binary patch literal 1262 zcma)6T~8B16g{&oU0N1ds(h#*l~!yEvMAt3YD~0&q_KcWNgsHd?oQf)c9-l3OJGIqdVr7%vx%X!7Idjjwv)_Mw{RUtQ&yp|@GZD8ih6KZkFO<`f zZr};W50r?Uu5|Xv*zu%#=_=Wi>RoP=A)#6_%56|a^(rYP%`^Ts+59-NfXyBOu=Tbk9m(fZSFUngT}FN2_*4c`cl1Mh~*3Q6w(X2?%l(v6({HqCI$!fh;2Zge>}p05<@ zChjn750lTNM+8ne=$r;!-+R?nD)4g$ez_&w6XBIxREns|NC{tr46pMeB^mahG;&v8 zxI&#FUZzemOjV^X_Pd>i2oHIqO_6jpaCy7VL#h2iFs_@*aJ3WUHcJf2nr!-9bwh%* zgUdB}4B32jqzt7aeaKX!uSs2sGlr%AWDuu}2HG*OBkDm-arb18pAM=>)q-y5ie0Je zocVir*Y*66B0Ij@4kGC{_k?N%o{5JHxlzM1RNlfSwiqU;sk&_lpdAl==w-9tKw6m%WWP-A~NxWVR58J40Hb&7G&sBSs(xywyp0LKr3Bjy4wc5 zQ&^%kLspsAn2r=z&%ugo=P-+3F!6~(2JX@~K`?s9GTF0(2kOt5HZQZNS6_vy}9hiqq(-DxR5iw8pD zgFnC@WxTVk4>msRZZb3X=G-&)}7N$x#%f*ab!{F(-@L)nRe^axtHS`t zct~qloCB<5gSgy%k7f*q#87eQ=FSb+|D!jjh-q}e{Fria>@_^W(;|mwWO-E2bJ|x6 M&kIDfzapEyKLZK%dH?_b literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId3 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId0 similarity index 91% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId3 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId0 index 7d0a456f2217aaf3ff5cca0e2fe722d218e4b2df..c7af5e52164aaf6b0b604c0db427042aaa44ef05 100644 GIT binary patch delta 794 zcmWNOc}xy)7{|Zw_whPP@>-%22`hA(8goob(%~v^_v!6?m1}d(X6T|^{g8Ws8etkUKGnyAZ?On8ya# zxd-Xo3kUb3j0drpO<2XFSjT4L$f>a&M-QGb-*VcbPNO%^z>R0okLTgVR)q2b#%Vu+ zmoSZ&5zQ;gauwOUt_(M^nzvNvHY#}sb!;3WfnI#6{I6hRJI3&}dcIM=4)tqC9N!|9?@-E4^?Z*t{9s}h zbOwLaZGBS8&${6+7|XA^%Wq2h9aH%OiTsHa?bF$%$$zz`ISMUNfAmy;^;F#$#eWDF zV4AofUR*I(`XXE0uuS@4t+-=@^v7ng;edFcQ3j$#JaJJ5neKuc-r@sS83GUS#XuPb zFY!Z&_#;Y2n&*XghDrde5(rNj178`784`jl2}PlVpk>Mo5j4Z9;@>Mzqu-QR-BC3o^Cl%2pK1HaN8|lI>V2JFrgbQ6&bo zvJ+cn9~xvo4#`3DyL7$nuqq$X%#8?;CIm{OsdL(`$Iw$+Os6x!dJ=u)RBPnIO8E~R CbHRuJ delta 794 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 literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText$OnTextViewChangeListener.class.uniqueId50 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText$OnTextViewChangeListener.class.uniqueId50 new file mode 100644 index 0000000000000000000000000000000000000000..9874f47b1f972fc8aa48bd52755f3d366bec25f2 GIT binary patch literal 355 zcmah_u}%U(5Pbu32PXgqV7&XGJa4@encXKx40(-NvW~|9@Zo?yggv*IkFthwVc*$hJ zBkKbTmobhA-DUQcnL_Jk^1S3cXvxW+_MQt4OgQVOqaAS?N-K-Is~MrQ;|?WoNoc$6 zx}Q~qMn8S3h{@Eg%A6l;q2qf0@4K!Bt1cD2X;5U|vyX8~xH#mDaK6u5L?G1lO+Z~; cHV~n58~^eOKmY&$ literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText.class.uniqueId27 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditText.class.uniqueId27 new file mode 100644 index 0000000000000000000000000000000000000000..3a19d3b05b0453b267363a27dfd2a6e82f4e5643 GIT binary patch literal 6344 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 GT>k@Haw**a literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId27 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId23 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId27 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId23 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId24 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId24 new file mode 100644 index 0000000000000000000000000000000000000000..771aa91232642c9a840f45f4327590db516947ea GIT binary patch literal 5763 zcma)9YhWBz75*mKWH*~B30ofaK?yHOH-RV!RZ|}6X47s-vLU-o2_RvzJ2cbo&W7Dd zX?R!#0YOAWM2HFq6%+xX(3XOLqJpBLqJp9#Dn9XzPeAZHcP7bXGgbG;+o`Ir z8j1r(nVM30ak@jtoA73?(&>y-w&d{p((m5c$h*s(qT^_tmvoGVNHJquWc7Z?u znD#VWHpdG_&eYJ|>hmKpW|TAL*%PLnGduUR9(cqR=+==GuNR0r>-s&1WW?&2ktS4NK-l zNK#YfaHZ~b_s6HP9;bvctm9Oi=F8$-$#!_19SIq?$c@kwMcB@uSt%7Zn`I4$v@Y+R z&igqMvrL^)yaQ*1F{0y47#a?o=ao|`6*`!p#yZC;RG27Y$tV=uqpX@#kB-me*w+7P zYi&UIqsSp2hN$rT8@4LR;<)6@l0Dw~@>8R*urZ8HItnOiIAGps zRE#B1hTuxni<%-%*uw#~IR13<9!9`PBn?VB#^t)}iv32>jB=%{qXL@Jb7N+1(?F@> zSS4G-(ph8Tk`IwOmk-Gs-K^srY$32%m0qJl1%y5Y0_W;DPcWjfm{L0ecp`9tj(3Ux z1Jz@dE9&{bOUJu~S0}GpoMygA$9r%w-?RzaWTd>XRdI>OSLyhmIMGNa7#K?; zBkLd1agCg0uVQJlnJo>J&COP6q9R+@>iCFkMcu7_=0_OUGi_&)D^)0%8;nB6A*Lp` zHB9H zx=F*~!3n0~a;SWX{1ZjH62Z-k@Q9Um(Rq=by{;>`$dWdKGujO3(5D27i-vbc4@ zW4WEN7&9s(#!N+s;0`GRUKQ}z?xH4J;GfEPr4igslp0sKuM}@*a#UOhkKjI*Du<93 z!A^3Wqo7Q2-A^qZDf@Dr59oLhpQGOcgXy)&L^hS~*Rb%k`B9;!RQE_C-Mg-j91Hl) zDvn`0Lq=i3tYxtW#kzWvgV|*FNOxB@>9NX|MhsiUT9EEd501gtni8N-12mA+Vpn~3-(MS;(VOo6(-mK zX=v)TrfW;q7%gxm)?3OMg(0JC3GFS0oH2_CesJ%+tgULEI+-cT4=F8+W<02Njp*b) zDL+%So6G~g#oVSoW88BiGVVQgUXUgDP=yVw0+x#}^EL!3RPiCYQkwN`_ThUklb~i* zGK3=uLmm00?;?1v<+CC+)4lONMcHfvMo0O`{9RWQ8T_4=tHIaKDdh4RD~gj{y?oVv zF*8WJm?$ntpDA5|%QxF4xO^@xd{UEU8m)+UBw#_)Rz*%eXy!^~vWapr=BoT}4mz4CO_XzHk0s&RTQp2}%tuNnX(wgdW;szXDixE-(kLt*is2xFK@Fc|3!7dd z0%wcy5Dwt8mR7z7kC6VnkNyJbM}71cNq@;lf0^`SKKgOeU-8jjCH;ht{u=48`{-|w ze$q#Olk~TI^tVYr<)gnt`nx{*d-R!|zVe;jy&BoHtC1bL8rhJmk)5|1*=MVfeYG0d z8>^9Rq8iy8s*&xW8rcu1k!_$FS-jQA!mLIXTQ#y^s*x3z<08hi4o~y@46*SUgg_|N z>f^hh#oKFlqoD>n&=hYEdDDgQ_PX8JPgWPl+v~m6W%2f~TD<|`&}|6S?!ZCu_K3H8 zSiHTNoJy#bbFwP6ZJd+mNKtlFJboXJ+KyvmojY;db|lm&>+Q`Ao@@{2QE#5&ywRKY z#$%m3kfwsReUQCo3M=AmJ26DM>3*E=oFU4+qla4*bdm7*^i@945w$v2Bpi6 zx9`H)_b@)S_&&d9F-}05(HTG!8|}py#9_$r-%SFRC^t|pSEOj+54V}4-!4FZ_ZHUNt1vfsdVG0W##C5~5sa^QkBePeq3eEKSY(9oE z6SsmDJkLr@po{Hm8e4b)lMM8^4B~lQIUg6{0ydFbaTPA4GZ*0&TsjlpA@t#=d^Q3x z+ol7}nS@tU;a!VpzZXvlqQqAPb0BE(iD$hSe~pFzB*9&1^gmF*uJ~U?P~*t z`5z%bcx$!gsX*ah1`1zNEqp_u@UQUe8Ot@CxzTRAv&!w81BHJRD7>&*_|`z--v$aV zs}{aJQ252bGapoa=DPxge-~)^uxiWO1BHK&i)R8ho1TlSE$<8z{zIVUwra}{1PcE# z&~j_F<%a`>|MdS^el$?{&w-YEsx3bjDEyZ|;ofTDCjy0E3KULN3qKhs{MW!Ic~te2 zd@4}*Z!;Oz%}OQ@qlqxIu;H5Nsx3aa1@%6+=K9#3{Dxzn zl^+9!{GyE literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId18 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId16 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId18 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId16 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider_2x.class.uniqueId55 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider_2x.class.uniqueId55 deleted file mode 100644 index 043e4101282450ed01d954db5b78a016695e82bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 zcmb7EU2oD*7=8|v6<8-5x$k7i;0k&x92_Y$J6I|Pk;UX@e{yPJj)}6vzrDqa2Zx!TDIlCVn|nO16e4mA%{F2%%&#y1;bvo$8FPf zEK?sjwl8d7?@BxOJMjUZPNN>Lr_->-KDYT;xSeC8HpoH4nu;qL3Rq_-B>?s-6Mp8* ze1=?D=RGYKxT@lshD~fSJWnM0jx*8w!gFTsNE~w46K*B!zc>Et_82zl^+R`i zzBph|sz%LFah;)@C{1tA1Ij!V+YHS_K#24bRs--#m-uHW^ekH(%ua^FJ>tU&d5S$} z#3uvpT5=yb75}3}IQ8Ctb?Go<9s6A*lp4r0ClX7sFw2TDtdmwD6_G*=l{ow#Ix=W+ zrePA+)Um;^O2qa8=?pWNA@UW-w;);imEl;LwOECtvner=e;dg5#*(ybC#REmY<=RV zoLU>UE!^&ed!8UU9ubQPqWUzm;S{NOLNApFxMWrsHWJfo`v4O>y}3$hYL zru-cn%gNOsc`FQvVPy#DI;APtjUhB>FCnDT%Qc!80HmTCDKr9@O|-}sslG-WKPL8z JXw!Es_Xh$y9eV%( diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider_4x.class.uniqueId52 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider_4x.class.uniqueId52 deleted file mode 100644 index ee3fd40245c8ad1f44552efb4e09f7cdc37101ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 zcmb7E%Wl&^6g}fOb&|TY4YVQ+&k|^orZta%go2Q0BqU3rs!Aw}F3=<%1*6oqY^S9E z#0EA+EcgIE3US9aP8C;3B+^{Zo%=XG=Z=5<{_zt)8&6A6kkg>*$YX(_>4?xcv4^fD z495*cV0^Z%5&8CM^FDe!@ZD3}5wIWW8JJl@8CNx2)3JtihG&_?&~?Ygp$OcGKNJVt4}@Qf`|pkZx&wwadi~hl zp3V*!)VkR)HC$(?W=hlB^N6xQ!v@1nCLl(739Au!wM+anEca|j>`zVx!te9Jm^|g4 zJLKad?%Q&oIMwi@O*oC-e|70F6kO+BB9s=%GbIu$sW9`3F|3eQF%^kI47D`;A38GV zX{KorR^`}aSR`V5k#wdN%@FyP$u}ce`qjZmnx#~Q{+UNil-@?Ny|yJS8`XK zB47QE)%oPDD0w{&NMYp(=nAE&*iIp|XfGis>U@pX1prD?LqRKoxr1G@WvZ_e$B&5p KG9J@+t@sBZ%N>IN diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$CallNote.class.uniqueId39 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$CallNote.class.uniqueId39 deleted file mode 100644 index 42394b731b6ee38cf255afd37722669089e799b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935 zcma)5ZBNrs6n-vjYu6QlDJtR%(*YamD(WXkOt93rq;v$jC4O4&+8ZqCZcW?qzlFbZ8l%9Ad|}8a6^Y^Vlp9WF z*7wOYqi{TuiGl*d+BKIol%Ob3b(EnoES>T*ZiHN(7~SEi@KT1-ZXkp7EyH}H*;k=6 ztb376g-qWV6A6QJ2_6r_+|+Obiwc%>EThV>$fX}gfp26wdU3!|{LJG-Fl;pJ%Y?^i z9LSS))BfvvyNp{{QE*$w9o%K8UsF!qBn?>?7%FDhaV^Ik^o}|V%U4(#%I2PJ5BB$5 zi=lc|2*ZLI$t2}6?elOfR6HQ%S)X?p^urHb#~L`jgLl@EiuH--6?vw4-H(TsiYL^s zGwHV`MYX(foJ4WU4`Sn@UnFlD)N!qY!Fl8+L+u}tK`KVGp#_tcfSPOvQaIz$P{b}D zhICT3Bg)X{aggE3VIln#Bn+GO|1`19pzeC%Wd7Q5G>$#-KFG+meAQan^r+;Hlp;1m zo+N_ED>Dm74AYTdhvrxUqo;^fdhU_6MoT@1`-C3O;75dOGx#y#`V8J6OuLZB(j1`? z(-t8kX9tSg-%$LLyBqY*l7bb`BwNpH60nV@^i}cfBDj`&fO56+9SdJ^Gb3QQBv>J( Z&*^LqEy@H`$)eu^FG|^l&QpD>e*k5j*>nH^ diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$DataColumns.class.uniqueId7 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$DataColumns.class.uniqueId7 deleted file mode 100644 index 569dbdc1bf575ddaebe1d86342bc9599322412e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 666 zcmaLUT~FIE6b9he-DupeQP>#k*f-tS1~dZNt6fz|kRq+^G$N#3MPA~epv0LP7m2^d z1wVivg*d6A&R4r}{Jf5>k8jK`=mP&4TjTj*g8b&^G@fs>nt%k_@oC*-c-4f0dN&&baWZ!dY)Rzo}!=tW^D#OvV5w2+(KT(XpM$Fk#=}5rc5nJsI1FVY4A8{=|@SUp9KHb zNn+glWR!;DRvKD2KS$GOW~kmNB~m};Stc?YI}Dpsh#8#86)BvYiI(+iv1p(|mjh<7 zfmzIf#N}v#aP0?Pq8C~jT(T=v;pG@89>1dalDDjqEm0ac#Twaa9v87rROW+vZa1+- VzK#ODZey3;3gq|5SI9R|{sPZ1s>%QW diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$NoteColumns.class.uniqueId11 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes$NoteColumns.class.uniqueId11 deleted file mode 100644 index 36c8d495be7e4915106810f4d8a4d44789f96b19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 998 zcmaKqS#y*?5XXDg7}z6gjAx9u(Rc=rct(u~WJ9@uEx=fLq9!nIi0rThv$68keDDMK zp)4DAlbt7D27cW${qO6~-(SB0U=2PgP$RIyna~DFl*LTrnP7z$Q$aPS{9P_jBTGjE zUMMg_VE%v}QZ1#tueo~%ED{82wn<>2J9YRXPk4Wwz?_lsLQpPtXgXpl)CrsllbArg zr+bzYgtnA}GFN_j*>K!es(V!IR;TVIB2vw%M`9Ni8A%OyWKpC)J#| zg54hGbe%wR;uJ?iOsV;~6B=&U^{Rqyp<%BdMp>HWRY~nF-4FF3(2cEatXhR-0_}ZT zgj5I`?GLbYeB!u){y;} zyN(KPQT>qRMUruBv!9Lfh;1e*cBN5m&}z9CI7FLsmK!N83Wl5Xk-*Y_)~;;Fbn#{h z;NsxMo`pp?4YNoJQVmq(hQv+eIf>iI^AeZu&q;h9`J%*^kQXJsf^=2lYsfbwzKMKW z;ycK9CBBDzU*ZSIk0gGKyehGV{7mBK$ZHb6M1C#to2m=%s&gIQX6D>`?!!NReftjJ8J-$Q5cZVR*2r^%p|n(>Wn>M77FIhp z%SUY5fj=Ip$Uus)dCB7(GB6C71!R#UteuH-VfjLxTAjg}bTuJ!=qXRXAS5f*o{0is z+YOYKNejB4MOpv z2EvLRs7MQ?d%_<}6L(p3T;c;xC#Lo7R}K4hzt!wI1ZpO^H$*7RV><8NG)z3;TAiz5 zZI)2Y9fwg6)`nhaEo#Nm=A@?6IPOoGyM)p|n4XrSWopXi0boTfPs#RpG?1Yq20ot@ zTY)S5o(R1d&kj@iy%!O7TmMtQI>9`2{aNpG-C!KL@}(C$&rQax7I%(QZYm{1+ZRzJ z*?E3x_}Ig|9XQ|~X27LF8XNrGW^0p+mcSiG_pr6V+l)&~_xBl>m+%f_o`VUO;;Cik z9wUo);yu0p1?f+d>k6-NP~a!3ycVVpu#bm~OgvhUOOqQQTg-pO%4b}S9S{}{xVH&B Y=CcH990@40#lHleWa8;ea()}X0U4&*1ONa4 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes.class.uniqueId36 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Notes.class.uniqueId36 deleted file mode 100644 index 413745e578c4add2e4085732066dca92241f9c76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1887 zcmai#X>;3D6o%jHES4RoOGx(?C{1Y+s0Af#O=wYNB~hzd!Is^cWi*N{f{G$_WSQk> zF?@jG13!TOMB%-X)5=ZKCNnzsIp?0`o~tAO^X#v`0j%M>DoU6tW4eYJ%nF=(;{D{Q zp%?9`_U;qEp9;)w1W}OQ5tv$D>6W1gT#Ecu-4FWlz*nO<^@r-fOFgwImkO%f(2t|k zkJ8)fc$=GVlg}z@m@nf*4JUC*;G`D~k~kQsGG-?U1ZJLk$DKrL@p-UT+&(Y6#^ljFwc1168}%c8rHoRT4O1Hr$qNJ8r&_HBmwHj@Ht8W98I;{1Z4si>_Ig z+cI>!)hHOB<#C*r*4~zCCZxx|0_V)Up~hp{T#W|DWh)E?xANDZo}a9q-EZ9s{UmkS zL|)&;3DAmaqf80yrQ8aM-aTq6VFc3I95$2KE*fN|f z#Ai%#D8$dfV9!r8$MZ)y%9biv7r1@3~Xg}gn=L%E?8}>?9 znd^mXfy($sVCD5$^U-JC`8@BKag|?{5=VBCAC`-_#QDA~2N+k#Zx#4$@;kWp+`dG< zUf_4hHwwH=UMaBLzgpn;$nO{UCb?c$eAe;} z*oH|`aR0gU&CCLvUa0(ux!)j;TATg&=!GIwL>FzH?^u%#|7oCd>jKGz(=7vSzuu3 zV!vlwe)jwR`TPQKkINVxf^ibeTUk^aF|G>Y&4vS;MFXdb*6ih3?7P%AdGMP}Im0 z(p9yu3wbK7cCY@q;;z|G7`!+q^~AFG;$vJ8ZjXM1&}(0b2!s>$qJwMn5GjjWmMBmE U@YA+BY~vZuHK#hOHeej}56&)8g8%>k diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesDatabaseHelper.class.uniqueId43 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesDatabaseHelper.class.uniqueId43 deleted file mode 100644 index 0b075b48ce3b8805fee668f7a244a5d8d7cafa27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8801 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 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId9 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId10 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId9 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId10 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId7 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId7 new file mode 100644 index 0000000000000000000000000000000000000000..f1ba2200ff73ce3fa2794aa57e0bf11efe51740a GIT binary patch literal 2410 zcmb_d|8o;X9DUoSJ(?c2RH#;p6bz6Q?6tKB8bmQ|Ath}z=@$!Py1CmV*Iw@6ZqwqQ zr6Z-|jLfJbDu0yYXYZOekRbiR%p|+F+5LRpd-pz{eeuuF&j8FI=tCE}HNq!w94ck~!lbjvMTc)(PZTWp-ilJB5>>x2oM{-9xlUA9I>F7h8p?{k@ z32yO+QuqwXjuGZP#}a;&H`!yH#tj{MPc{5ORInMQF&!}~hUVvHeiltTN^868*gG1;<3$c)!;$(H0s+HxJA zX!uk|8aIf^p?S09m#QiRjmn}S@)d?*QYQi(+IxRTDEv(wpW_RLcv!Iu=zIhy^uo zN7Ytd$5;58n#+FuPF+*Q_2B<1u4eCBq~4g}j#K9576B<@S;LBsRfT1`%|ad9XKM)Z zONDw?P*cs-bJbrOzF{z$#G6{p+T8J~$_ajjn<9~SGmdR;slF^+<(|S(nI5&>rdCPa z3;|*o$l0z~YShcZU*=_pR)%t($(>d1+v<6LF{UmBhE&H4Z9OwFl_u{M?W)UV!>5>< z7jdFq-R_lF_>(sXUau9Z!f@`uD6i3rQuXZAY_mqqx9Bx|Q_S0n$8a0031xMnJm;E@ z7f|^x3R&|k9X2+Jx3XJQcS`z2;WijX58+zWtjatPMyBBho}X4I^{h*8DC6)T5P^m| zMQJlifygwwjoxYy4UecZzQGLy_Z2^2jP6?<3~T5b98}jXKqKAqbn$o5cL3`&-lJKD z#%{GTe)$R5_?0Kn#-F19hj8P4`t7AKV9)R^&4>37KfrhNq{66>3?-U(VUT7U;Pk5k zKc}=R@W%L0V0$oK)it+-->96Q#zhQ*NGwgS2?ay(W{fWEm59H~&!2ZGt`x_

?)|z7^7ZO!xqiX(_BfZJ`-@@(&b*He?3}V!$bJJ Geg6WT*{})# literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId56 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId20 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId56 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId20 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId41 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId41 new file mode 100644 index 0000000000000000000000000000000000000000..76c0c9deb3d80ccbb6aaceaa12b8f58cef660417 GIT binary patch literal 3408 zcmbtW-E$LF6#v~eblYSLCA3umAxJ4nTbfcpK3a>VEi{;fkCdY2LpI5!S=jEz-J8<- zg`fEGAHa)`yy^_r>Vw1h;DawdIyySOC^NpO<2X9wsCe#f8q!GyBDB-)-E+^Ldw#$B zJLldn{{7@r06X!nf;xsRCKu5eJ!55g)U*V5q6Iygl!LhLh~bRTXLT{(1Rqu?Xi%Y` zkzs31A9eIIG>Dw;bo9|D@tVFF@WYRQ0#!vbRx-3|X4ba!Y}9h1!_K^!nb4ez6n0QI zbuq+HAC64=!O)^&HG&L&EtBDn)3K|M);tofanZ;<{IXhJaGP>#MVo?l6%XNIhK{=< z@;+i%JcN@>H-)8Qo9k0#|V!R20pYdDL>m*c{IgyHX9+ z3UpF|PC`0WRw|R!-zhyGE~+pv!>}@I#mobg^t5diOxlyqaD{)h{`r6U(1d7~af66M@ z8GcZgT5hj63VUV$CE1Ue8N+hu*h+Abv$86#$i5ILJBk_9m}zo*#LygvlX`=dU6g#v z+YCZf$9}qBvX&NkSESJj`fG+s-P5Ac5bEd`@OO28i2AON(DVVl)ge#+8^{OjD?CTz zcFzko9C{;vHyXnmvPICGjCG6Fs;B4Kt{bRd#Ht0XNqECYt|9D=9xcsnT13ZHG+akt zuq)WJh~AUev8BSP6^}1s&ouRit8i$c=zWR>|Vf7qUU3bGF(M34GuHhL^8SU2993ET6#>>y@#L# zD^2o!5ht(T{?dbgY5~v6UGPwDAf~~7hL8P17tvqoKJ^=+`)Yq~Agxt&JRlMeUzfL-nd@#I;w`jDs$Tkh>a?pym MY3Xw``wr^<14SXlmjD0& literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId35 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId1 similarity index 85% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId35 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId1 index 0fd69770051e1db64e894f1cb28f6d565d6e9b22..ae5d23bcb15ac28040d83cc7bfed553dbe337186 100644 GIT binary patch delta 23 fcmcb{agAfcN@m82$*Y({S*sYhnW`tVumk}BWYGs3 delta 23 fcmcb{agAfcN@m93$*Y({Swk7PnZhQsumk}BV4w!9 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId31 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId31 new file mode 100644 index 0000000000000000000000000000000000000000..ae5d23bcb15ac28040d83cc7bfed553dbe337186 GIT binary patch literal 1110 zcmb7DT~8B16g{()u5DLaQ9=Ab&_&vUY$Lu^O-zNPNhuGIKKM4>9ooTVCfS{~pufrl zqVd5W;EyuiDIX>nL)~QO-uXKBoO|#5{Pq0@fLEyH;9$x{#=|tS3@b{Q;82D-5`of2 zq`^Q2ZR@mTYTkuL4y8HvHyE;}FH^rpS6UO@soO|5JmipP$Pan!3)AL@f?>YJRg`EM z1tS^tDE?+7&7L?i^*lV>baBf=5haGw0Uz=p=BgL$bPq&mh{bEEqRL*ehJMl8dRHl;#|grV`@L9eE&(qYInsB8?ymQM@?|RiA-LYO^s>=74Gc@yo@baI^<~&+ zU`^_lT|G!bu_djR*}uAR-L?hE-c(_%Q>l8}!t{0Ip^8<8g|x3njYM!Gc9Lx!$^GLk z9Y-QLD+*<;{K2yGnuT3+9qv>tX=ZGLxT zD%V$-4XRZV)<_wVu};ngd7Bh$QM66T4v{gjT}Jj;+h^l|y+aQFkB&Jx;o_8=Gw#lL OxZv%QkE>ldx%~kUtQ@QW diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$4.class.uniqueId18 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$4.class.uniqueId18 new file mode 100644 index 0000000000000000000000000000000000000000..62b7e4317c97026826c3a7664614264b7180c88b GIT binary patch literal 3297 zcmb7G`F9gl6#m{cblP;-3KT(Ejgpp@RIF=Q#85QYrqHGZ>Qbl4BYku-6El+nDvAiG zD2oUxhzp{kxWa)@^yu+t{R{j}{|-GK@0&~(2-Vtin)mYZ?)Kg9-gkfb`}>~&bl_4w z6x68jX_$gqhGiyqLTQn(l00Nu4!1)&5sJx8m$0362}g_xXLq23q1G7@cA%X^x+WzP zmX_)?)Wgr)GtBGK&1BXR$R@gx0&KVLxVLj*2D?b8!p9j2-%z9x`+@73vw@!4nRJ zvr3r4S;J5hY##7qK5kWUn}!8g$Z*G`0%T~=6A5nHftBs;gv;vSB!MY8JSO_PmB%-TTnO~EF;OY1@7D%EQLIgvFZ?;i9H>-N5#Dw?!*0r zT$Ka80owyf+wPhh;=8B-hB;b}t4 z*`47khAE6Hwv?^=kp$h^t|0{ia%Q=_qErego+W>%_vLucc7iNOX{x$GIf`S4baa#< z`0p-yN~vGeA!QNKY)@8H*3adg7f!{k@d#nI%@q zfcmo{TnDPPDMKQ;daa7wb$zk`hUETE4ZA?uEH;O`Wpj9J^39){gOhCF~ zx1zepWhle+>})L;ViB?uhBu{bWqo?qD|!N~J2N$mkWE97_Y&?jdQhUUq+ z6X*z2$LJgH+QA6lO|Dx{^#NZttV+0qjd_c^IMi* z0c&Z!0<~qq6*RQW^IgI8maCX`(Up0dK5NMWl)ZR|_D!yy`FIzn=o`t)p_YC>O?w5m z(C$5)p--~G&XPwyI{%~PGMTsxbsY2LlE z_T}+_Zyam$h)AiLg6M`kHeRG{!)f%BXzVoh{DAnjs~Cv2HEwIoJ3OfS3l$t;A zAwHs1G~rjA#mAJMbL63hn!m7Fh4Ux2t{~Y@=uE+<_>5K`rSm*4&~7R1C1K=W2foDD Un1?O&)_qf3Ph|TR7i;VP0ZE6eaR2}S literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId61 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId28 similarity index 83% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId61 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId28 index 54fa572344e07ade3266de9557b0022924e1f7ff..0c3614ba6f0b601cb1e67ab35d626db27e412b17 100644 GIT binary patch delta 43 zcmV+`0M!4Z45JLNp9BG=lb{4j0jZPg1b_{!01X1I02l(V03ZUflXwMc0k)Il1wco_ B4uSvx delta 43 zcmZ3?vzTYYd=|!r$qQJ#7+WU4W@+GUXW(V(V31(yVo+e}nOwn|#W->DV^#+MGxZIB diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId45 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId45 new file mode 100644 index 0000000000000000000000000000000000000000..0c3614ba6f0b601cb1e67ab35d626db27e412b17 GIT binary patch literal 1571 zcma)6?QYXZ6g}g(H4QEeZ7Bhk(m;SD&<5Cc`3TEbNJXTy{0J1O|EBgd8F0tNo|Nq) z@CZD>3L$|I678<`2M@3hwc0ywYG_fVS{l#w%-nmf1cI=C!C42BF3w?!VPZE}a>_VA*D{DHmW&%~>w1&nOsVyqV7<$u zws_qW$`iHnau(-t!9mf*MOwH}ItxN~L*Kz8hKq;lOBat#c}>RM@J&4uT#KjCLg>rY z&G|6!Mf6zmAnZ{8HI))kJ>YRHVoXsp=RnPmOfF}78lagPHJRyGLVp*V#u&sxde#eH?lIx+D)=-+PjqkyrnY+piub= zXB#K}#+i3GMjuBr+bF!JJjk@kGz2n9E~6%2>m!D(Psm%JF=c)EflMJKQ%K1aQZfbH z?vp7bv~1j=xHhc3L$qqROK+3+91Ww=PkC?uAR$YkOy0kfYX{s(XWZtMU6 literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId44 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId37 similarity index 90% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId44 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId37 index 062ecb51681419402476e610f05faf8eb2ad3aa7..708e26c4e0836bc8f08f82fdba7b91f4b5397666 100644 GIT binary patch delta 39 vcmbQvJDqn!8!O|}$?dEyqR$z)m|ieQGreTcV0y)1%JiDSiRtZR1-5bk2P_Pl delta 39 vcmbQvJDqn!8!O|1$?dEyqK6o`m<}^YGaX^jU^>cR%5;puiRr{-1-5bk^`Hxv diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId9 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId9 new file mode 100644 index 0000000000000000000000000000000000000000..708e26c4e0836bc8f08f82fdba7b91f4b5397666 GIT binary patch literal 1687 zcma)6TTc@~6#iy=Sy~rFP!JGBt+FlZq99%tuj{Q^B(Vk)U&yc>VYQvb?iBSe`KIxP z4?g|34`H)6w0XtepnKY43&tS zTHxH&LLrFM1z!bgfqIfc90?Oi3nsc4#y91ZnPEt(l_1JYl1pJzK5iOmY%yV3=td7i z?|r_;oidlp&ivAS;VTL`8^}PNWr*3?g*3>$t3~m!CZsRiY@t&a zH-$0mHL=gaeqzRDq0{knR)3|1y`bp zB|WP`iYh~H(|uoHhy570Z9QtLI@2WQ<-O3&>Y6m048tA02o_r-XsrhIOblJxTgM_M zTMe3WwdG~#E-LOnnB%J(T&0U)t?G*_fo5}{ZJ!*`?}3QFEd6pA(R-K^Y9*whvhtGJ z=#_aCiO9rdYDN2`(hg|Ms)=h1+uA0CVdOtEV&Vpa-Qx70+6ZLRt!9QMH%?26!2#>- z)eDiYVM(SDJW{UokWCPrxoP>6;Du#aS2gZ{>F30E*g>|I4ZnZk7fQ%I(M0rG&%8UO$Q literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId38 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId35 similarity index 88% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId38 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId35 index c217873122d0e403dfeb10e3c9801c9dc00b18f8..3adfefed3cbbccf67abdb5e91151e11cfce3230c 100644 GIT binary patch delta 25 gcmeC>?B(3>keP{@WAbC>AU0+$20>=-$<{1E09z6T?*IS* delta 25 hcmeC>?B(3>keP|;@#M$ML2OJ<83dW0O}1tU0swTI2z>wm diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId4 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId4 new file mode 100644 index 0000000000000000000000000000000000000000..3adfefed3cbbccf67abdb5e91151e11cfce3230c GIT binary patch literal 1165 zcma)5TW=CU6#j;#EG(;~Xi@8>RH@~n-QJ83m?oyxgqF4sZFul)SVow-%qHwW^=FxQ zX?*Yp_@j(x0Bur3Ae-4e=j=J(`Oam2{r>S2zz$xd5QAkS?qUuJhBYO$*Oh+Q5}pdR zh`he^j*U>4k$&xKIgt8O;Uz;tcVtx9ppg1ZF;xdiq-;1Y(r_6v=X}7ufUCB5(mWTw zCdgM(NxjQp6-x~VH!*J`<6;3>hSiypFgV=zMHCgbH;CF{aYk;XiGDRLy8B#nqJJBU zHgYcR;4VXc5}&^T40COvYpr252d0`O7x(diAw8zJwP`q3X61NLYS?(h;BnRJg|g-O zq0&NWZ(s5tY}ZKXz309toT$A(`X9`|gc3c5@~kOJ4Tkt0&7NVtE|oa$cblSj#+w0I zvh~pCL4)_C(Z|NP*#d^i{kyg|RR%j8@uQg*>r-l})(oXYYgi$}%2a>q`b9_j9R^mT zWjGD{Jzu<)hJWtAHC{I>NTt3}eh@}dwU31Ege?~yXfTV!({%WwHX}V10qv-uaV}l4 z9!PQF9SPMp9@Wx22DhfD<$D2-A`#ixW>}t5BIUm}Fy!e@Cc*F!ER!+!lCEluP8!Q( z&6BiCy0JLr%2%-Rci5jvi(!S{3G#uJ#AA|kBQHEbfi&_TqEU0Oil<|&Gg$Nh+42{H zqH~EG-*D>^_pUG_E&5}GY4bOy{&Pi0_dp2i@|Je@(Bc?N?VkXB-z$)LqNi$NDi z8#2#kuw79ictyo6yg^HPQx%*z-S zGcRXY&%AD^&_VaO K9Dt-ecN_r1B`<0K delta 164 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 Hm_+P1`i!#T literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId28 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId24 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId28 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId24 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId25 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId25 new file mode 100644 index 0000000000000000000000000000000000000000..2edab7b36dbabc0ff6b54d2d25bbc35eee562564 GIT binary patch literal 1346 zcmbVMZBNrs6n-x2)~yzp6G0~Uf+!m(1$hx2A;1`BreO(%CB%fKl!}*hU9xo~{wp1c z5RHb<{wU+QcQcgC4`yA`+jH)7-kx*Le*OOT6Tl+gsOV!@@ZG?ua;J9e8h$Ns8%C2G zJL1FSjbOtG_!$pAO$woK%mXX112+K%MMo4dhQv;3uTU|I)*i!>*@Ls3@D|sR5Z*Lv zf3vb(GPer5LVZhzF4U>~hG|xI3;ELSR_J;_#~_jn>STGt+%H%R%kO(iK|>06R3vo_ z;Vwhe@oK)yFqFxfr}mj`c(#9Hl#WhaC&+0S!95kDI?}k$FmMeh_{}OMb7p%@xAcMN z$b_u(p518VLJBLWbN?h4jvyRJ|KmCy;2}e7mHRwcV;By*>R1-D?lh}MZhg-_@<>zsM_$>UT0l)UYmV)e z?K&5}I{_5mu2P&-H*qwA!ADL7CM(c37zz^uHd`6QHxIFAVZ0Cjq1>;hw7ed>nNMnBSUZUr zP)G}m#D0JsL|TYg2TBX7br5Y4`Q25-@seVU8ss*S}GKW-4JG}+^j}%NSVVO>`Tnw-9dOiIIa#K2) literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId62 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId29 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId62 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId29 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId46 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId46 new file mode 100644 index 0000000000000000000000000000000000000000..3981f1690da0f62cfd2504fb7505a32e0e7c4ef6 GIT binary patch literal 1439 zcmb7E+fEZv6kVqsIQ7+aSYQavcOu=%|B1#%fNLnz#^nnMH>C6cn7-pKz6ym#I z;Sc!YiwPp}!4L4G)P06l?oyI=&OZCB*?a9Zd!JvwfBXbcz^gbSh^kODbRou2aCu;C z3(K>);d%l0jixY`rBN1suxJHhM+6_z6*@1Oj#D$Ot@I>AEZ7jfGz#Ub2Ph`cjkt=0 zh8}1P$xU;|G#t}iH&$w!+zKfEyl_RZz!1&o)j0aluOg}88U`4quAZ??IM48?Gs492 z1_o6OX&A-`!&pa284{*taon%aHy*r^A;R zdWFB}IIG+tWw{+nx+WuyYPgRF3~@g^A`F9)S<|Zt(mSnT4C6=j%*lFYJFMqKyA<`R ziVQ>EbnS*GY-3m0>(q2_y?V1=;chd%;>u+y;M*lfSX;93xXT;FrbKPW&|elVUv6&K zc;lT}bI3DL_AJw>nhhcMEvF)Tl40f&EzfW1BBk+8@?c11%5Bm+g6|q_nnit$$O$6M zFnj@obYBf8=kG< z8J?3Eo?B{gGvIPssfJK9;}rFyv*KC8VLjTCOQM$?)Au>as2v}96*P(?ZSto-Ac=6n zC&Vb-Hr=4914}05jYF4Eg#JAkC$CP{0_~+Ik7jk3|9is3U zPiRN@Fd8Go1dLX!kF8j_>>k)2dJk~@$lAxvPf(T5P@?;|C;bO_sC=PNQOIO{w1TNL z5#7*P{8-Z5zoa?jF-gg$2tSO-dljiaWJXl^dnz9(nlDUCA7(I1t3rY2P$VlwCw+9Q P%(qyQi*$K`m$CR?>o0rU literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId21 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId17 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId21 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId17 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId19 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId19 new file mode 100644 index 0000000000000000000000000000000000000000..99e161f84223637ded8dfb826dc823dfaf333bd3 GIT binary patch literal 1179 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 literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId22 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId18 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId22 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId18 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId20 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId20 new file mode 100644 index 0000000000000000000000000000000000000000..81f06d33cdd86f80ddeb0ff469ba55cd23ff68bd GIT binary patch literal 3435 zcmbtX>sM4&6#wmExEF?Nf-)ecgo?>S8D3(EA@Z0d#zO_cK#|ML6)q0<(#)L!M9s=a zrT8c-EweIvtd(oEYS~DA&`-5ieew^eFMa8Qe?T8vE8Axt#2~iDx@$4_oU`}--F^1{ zoxKk~|MmSH0M+=^0UJ_e*cGHgB5W}<%QdQdOt0oLOiK&6g1W0+3|jSowasJcA>EoR zY}dxcVu#UX20g<sMOgl5RYDe{H)#jepwDX317kjQlJ_(pJ|?MkU=0dotX1%|*n4&Y z@T|Gm_jXMm8n(oaixd>2gy2v;9xV_k+*HmfsZTnkv-=#^y^QN>2wIkDuqW$<)|Ro+3tl%3f#h>Duubak&qE{sG>r6)StXZN#(6j5V_f_Tb-6_X|?It zglA+tt6(!~3040AgG1Q4r{RFRqqV7dH(_IPte)qG2*7g+>acZA04hZQ8j=sdyoh&c z6IM5~pOdmpB&C6n`v?`0mL>(w@wDuf?%tW%b^m1kj8xxqoT~^RJbYe3E870yOwIpu zP^2Q}UOC2%DuWahqJP`~opBEALUT z7tAt8+;SUNfSjV1c?UJ-Mj!Uc*sq{pKxV~*6%r*xXhdsAgUM7Mb)XLe3RIyfF?g3b zCPL&<;Dt6PiB;v5gwkY_*isxRM?(sR6HuzlD+T(9ff zpjoY^M-`=!kXqz+iz=E6zk&cbO0x%X<6~{1x42g%CZu2-6NDvRE?=tU8IH7(SP5QP zG+RF+!JSi|YlV3(4l9_#kpw3mYo`&AV+vkM2v=2kxd4Az!7GX3t*Df7g0SkLlovkK z|Ll$2I0=hebwg_pjt*-6E_KkyD@#N$ech^G7xUPnU35D_U6NH{;ik)#Nj9T>m{2}1 zb`k3STR6GWiXihDNz{rMGO|ceq`%}O%H!RIpaeXAO*5j+gFr2OIE?7^K!C*8Qv;Uj zXW~ejXtaFjD8#&qOt{-6g3rx3pKGqhoE9c zov7|+(C^XQy2x?PL-(XIaUJ0hwHSOmYV@grfX4aGSvZlr(}e!RG@8dR88`T5lw2FC z;CqCPFGqw|L7AE2dc}o0h1d9=$EzoKR?Rb;DBmTe-$E|Ajf}5(X2U7|6*{0koaV7W z5k>wryv}dJ8#oh1uw7%lbY7ZTA4cYvEab79e*~&{R`4H>DWl{Tvw z*u~Ne)`d}8lj^iPQ@u5kQ(~O5GXphpR9N{9YCgj%XKcD9jCya4?3AL?=rm$7&328` z*>E4q#&*x;tGFLk*%5n%(Qfz7jyt_!bZ<_}OZySsd1+zvI;9(E6{7=ADYJjzI<^Yk zh%Yl3>=6?u`+Bfvz4%TPM?V$Ds2JL3@M1(|20K_By!m-_eFl?P;F$%AS{?Py;P`?t zaqFlan-(qfv6T5AOS#D*PKl)KF!DLn{V1RTzGSJWqCvhgc;F^4cG58Rlg9jyD1w4hcn9w?i7xX#U62YMpciQ}Y%=;}WXV`V`~ZLA!UNXge`R74 zU~^d}_)}M+Tt$-*Gl*1DdK+aW~k#_n7yB{Sw~CRYtJk1D@G%4IlD*HE+ts aP2(f}-Nf&Y>zDI+>%(;^9iOnApT7YGSgzdw literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId54 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId19 similarity index 92% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId54 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId19 index 3d4e8b10a50b9157299902bd4fd8d014c2da3c23..c8bc735d1cfcc21622926a38fdbc211961d97b60 100644 GIT binary patch delta 110 zcmV-!0FnQi8k!ogcnSf&vv~>-0ad{O2Lr+Y5Cg*i9RtJwB?H9(G6Ti{K?BDCPy@yQ zQv=BWR0GTad;`t^hXc<5jswsDngh`Qq65+Zt^?Enwgc7xxdYh%!2{X=%>)dSuD Q*aPE}-V4(KzLT;HXiXL+r2qf` delta 110 zcmbOwHA`wk1s7w?=1MLB#?W{McIE^I0p>&oS>_}LRpw*{BjywaN9I(903aRAoX!x! zoW)SXoWs!0oXgP1oX0SWIiFz>a{qVrW|zu diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId40 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId40 new file mode 100644 index 0000000000000000000000000000000000000000..c8bc735d1cfcc21622926a38fdbc211961d97b60 GIT binary patch literal 3354 zcmb_f+jA3D82_DY$hPSMq17UVN`PRK0!>qH(mhBM(0N93CWjGi%8oCvn;F_7#gNAA8*5wmO2pv&NpNOQnHZDGNL(ed{c5{PUJq+#sSWT+JfuVYG!L6VH3Z1vcc-Gg+&{pGd zHsloU2HBW`SfPsTbGdMF@I3E=; z2Nbkp(?ZNUM9lkZk6AU68Ivc2(>zJKgCd)TxIRr`Zb65Ppn^`}+sZ0(3{7M|Xa`(`G| z4K*zz&ak>dMUuKep~Z^qyHCMUBo@N#>JnkbY7Mh$E0`}uYMsK&F$F_qX0~>A*5Q7J z6%~BcVT57LaK#KTG;+L+&Nj0MzbcwAgsawPp=@f-deXt~D z7rt$jp>ER5a?t{ayeJhRC&bwRLvuM+lnO<>)|S*%8r$98LqII0g4V{V57;MUJj&2g zokJOCDI4eaORh20CwR(Gtz3qf+j%QAh1HT%B?Z*Z1fYrkTv6rxhp4a!rZZHmjx!;; z-l{Tn^EtW#6J{=>=?Az-#^#Cw>=0$cphOLNEk)95Hmg%&uB?)ABzWW1La^V|j+z!J z4jHf1+|xt!esIzQia`VOc*GNo9*`0o;xS08y8WDV&^O?2-}D~p+b?11Mf!5!VfybP z8Aw-TOt<7z|ipKM}w)sOe=5brMtNmTnU&bAItT~VF zRjxeNUqGm}urm{;k~gqi99!kOj3cw?EgCPa4bEaq<8b2xmvMY}7V8(;UPjw$VOtV_ zIBh^i=Q>K0~kcIgZenkiNvA^fk^(-{PF~9bS{Z#|7yJ zyea*Nx20>yOF!d%X%1JVU-6Cf8-9|0$1lJ~UiM94;A788b2-V>E6MAKgos^Eye~yhXnl z#1?a)ZAC+qyXh|?{&A9X;0X_i>?cXHNS;1g5j42kH(i2_Q)S|K3lgPBTzIPJqYF>t y8Peduv$pQ%@H~xO6uFc1zd-BVG@hezAFabvM^`+JUnXR}5C literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId10 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId11 similarity index 92% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId10 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId11 index 83dc6c8841862d4c0bc0f7e476f030e0606733de..8dc90586883c03fbb543f695f5a3c487e4986296 100644 GIT binary patch delta 738 zcmWNNSx6LM6ot>6J33m;xRe^Xq^a3dlxvF^8G}(ej@#(Cr!A&wDH$n|ZA1`75Pxq4 zMiBH8R3cf4nw1p^3T+hh&`O0*wn3V9pMK8$@BR2V6T_B?Vats)m*sO$x@#yPlXm#i zfmjA1j-haJK2o^=Sqz7Z3sJyGR52QLj6oL{;~e8~iSg)WqFLo03R#AEbYcOQD`5qa zxYEqJuQ^vEfXVukf(WJ}hG|&N45V+D7!FJpjLF~&Y~xNv5DKN2{gq(LPOA)WWJfy2n=L*(!g z+#FHrVI`XwUyN~?H{m3)H?zQr28Q^I@X@&gL_ z(Xii&)_mKU9l98pVcA zvE#Tna7u!3T0(G6LUCRqOqlo6Dv5%>L?c*Y5Gk=pkT|62nhFwfLcjJizMl( z(RM0}`}3e-!bN>rg$s&PtkJIn0n%v(%RKfo@RPF$m7B`EWfu9omR{59Yp~x@v%83rdx)2Q^T9V7_Z3$8 zrkmg4k_q@^65Heln&c+^$laav` zWHZ(L^I!0!BZ_0Rl7S>0hwKJ_*sxgOmBDAh5zw zfZ;4eET+Ax*vn86N|uoFI> zf}dSV?N;JxtmGN2<~cO*Jl6A~>0Nl#b6FLysB{lfc~wtw4HJ1C1-yYm-crJCl=BWM zdDk>mH9H=|#wXg{uZMePTD(cd8G1PTxn^I$#g~ZZD>Znn`@F#{zC{_|>Gbz{un#(Q z09*MPyZ8lr`4tB^sC#`w3%{Gh>W{hnfk^&T%r8~>txNsE6n%^N7o{9h%s(s>V1p0` zWSGfb^vP$3O`_qH;TS0~ND~L#;zW+bB41qaNgVt#0wEcRIvItPl8gpPL8GK%i;Tt& zNyBa#W2zQ6M7R+pS?1p2fWw0bnSgi+Dznn0gsZKPX$-G*gyE7JjFwuAlR7gHew4Wv z!(^X!?uSmRnm=( La<=zo?G4+1lF_1n diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId8 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId8 new file mode 100644 index 0000000000000000000000000000000000000000..8dc90586883c03fbb543f695f5a3c487e4986296 GIT binary patch literal 24940 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 literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId57 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId42 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId57 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId42 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId33 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId30 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId33 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId30 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$3.class.uniqueId17 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$3.class.uniqueId15 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$3.class.uniqueId17 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$3.class.uniqueId15 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId58 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId43 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId58 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId43 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId37 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId33 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId37 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId33 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$6.class.uniqueId23 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$6.class.uniqueId21 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$6.class.uniqueId23 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$6.class.uniqueId21 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$8.class.uniqueId46 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$8.class.uniqueId38 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$8.class.uniqueId46 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$8.class.uniqueId38 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$GTaskReceiver.class.uniqueId2 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$GTaskReceiver.class.uniqueId3 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$GTaskReceiver.class.uniqueId2 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$GTaskReceiver.class.uniqueId3 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity.class.uniqueId8 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity.class.uniqueId9 similarity index 100% rename from src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity.class.uniqueId8 rename to src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity.class.uniqueId9 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesProvider.class.uniqueId65 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesProvider.class.uniqueId65 deleted file mode 100644 index 1d3de0ea9ee55dc24f8d61b4c4f94d58a1dead60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9502 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 YiSJInZ}zDx)LZ0MgqT$ykk26WH~ZwXj{pDw diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$NoteBgResources.class.uniqueId34 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$NoteBgResources.class.uniqueId34 new file mode 100644 index 0000000000000000000000000000000000000000..84e57a4fd1e9b062d67264312d64e89d1df92ca4 GIT binary patch literal 1226 zcma)5T~8B16g^W)zZjq`0#fk1Dg|Y$AbwC0DaCBku%=X!h6l3UPRf#HH`!ez{wE)_ zKA0He5Aa7B?+h&z>jN({ch9|N?wLDhfB*UM3&0AtlZap_jwr`4Vhk&;2(@F|@>)W3 zy-);N=y{G-6M=W)TjIUx2g1+qP-e5;0|SQ4=DUN+mR>)oRd$UJwQ^;bA+oQhkU%ny z6vqfSL;A@4Xljn>wl$-9B&?7jR?(Fgu{PmT&pyso8V{!-#0v;lU^2INm7((obQ~33>kz}i$WjcGNZ_Dp47!40? zdd1c1z%;M$`fGIMwg@kKf)vc_1)W@AlbWe+zAlGyVH_H_X;~r&^2K6NG79^|NR%w6 zYl_saa^1EqA9JGTw=)wiNi#8U-F1aucFZ6UK^$)x@>jV8jpnjo;%+fy2e>s7)H4)4 zdW0MeT66Mup(rQaO8YR#ZQ!&%p)ZYgCeelOh<~LZf~T~`6u5w8ie;&!t>78$Nvz^I zA(C9AYMG05z;a8UDe7mJ`q(kNz@%co{2zOCki9X;PABjRYu(;+sxuI!-e2fsc1d>v zrSmHaL@5vGiJz&)PzPzFL8K|8G2Fq7(ID}2MkC(AE#n(lx8|;@xvy&GRn4NRS)!Uz lIi|CADY`JQNPp8ZMXxE2U>$F0&r%e@1~zG68I)1M%wJZv1b6@d literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$NoteItemBgResources.class.uniqueId2 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$NoteItemBgResources.class.uniqueId2 new file mode 100644 index 0000000000000000000000000000000000000000..8805a0630e258d306edd4a9af44950be886468c7 GIT binary patch literal 1886 zcma)+-*VeT6vjX0pPY1)CJt?AQvMVIByEWc6ew+INzynN9ILg{fLmH4TN_6~mKaIF z!*Ibf@E+V?hGB;3@Blm%!#OJ{E5^R4FSM)uec$TrS)cRIzkmG=;3k3@jA7iwguo=G z49uU{KiDPD_PZskeIh%tfvHW`cjLPT#@E&lr%}MPi5Y=&5C(4fGA{MpPTM{yW!;XAlhmj0dYeXus>}_{55E&?L@3qR6dgGu~-)&fr>N~p)17lAr{DnDz z^Su26X{uX!3DX6EBGW~pjY@5=x~sQf{*u6jjMuFC{#G^5m+-QQO9IPSF|aZee|^;n z?Y`aiq=9pu8^x`oz;k41z@X5U@QT2z?3`2VN9lP%zjgXOqt^wlFcJ#2y;GTjHw9K1 z%qq}7cH@k^E%1&e-B3zD^{fkAWs<}YN+(^vF7Pg|7xUlmxsKyWj-e!QgYmqMLBsb2 zK47?zi$l{71wPU=iAB>}0-rEFue=d%i0%s9W0)jNWhFyf0^54e zBrh4eFR-gw5>3YT1U_e$OG+1VGUG0tU2!v_Kn8RoO2X+z*Z z(pt4G)vMf-W116~Isc+G2nOlS!snMvBS_+LO3~q$<{F>fMG#WHcUi}ls zZ!{T0lb(!$eLSY8NCbF-Z|H3rPw|Xa*nET3teYCZT;BMVW_fpzb5Eg#73KbRlzVpA z9gTF`quleu?*2%3dz5=|*!|N;cLz>-?#t@bl!uiF?axnggs^zr##5*OX>MY2H(sn@aOBX%ZKe5CX+Be$ z9i=IgW;WGSl%}dQmeSOf<`HS;`Kpt!iz>t#_3uOKInUtXh_3O7_!zo4rm;w~0$hAY Lm%l{Z$EE)O^mU=` literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$TextAppearanceResources.class.uniqueId32 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ResourceParser$TextAppearanceResources.class.uniqueId32 new file mode 100644 index 0000000000000000000000000000000000000000..7f2eb75ffea57da81a6c839dcf13394c10bf9a18 GIT binary patch literal 1004 zcma)4U2hUW6g>kATX5SVpl#7wKTx46tBHvZk|u;;LZm3OJ6qa-)WnyWJ9o}K_uP+PzkeJ7c!&ooLJV13`1;T^oW9U)#}}UN zJC3Edgy)Q1Lo~VT2{#S}5fxDlDpnX0hx`rKEp89=M(XE9tI}>fYn3Z)hR};@ z3<;c9k<^evn!roBT3OG3X9VjQ{p{BwPliO#Nk8ubH-}kB2?sc6d*UO4b~MTL;`V<$LB-{8uIwzE@i+ z=8W0=t8tI183W;y+~uy4pjwJO`jpQV%ny^$}loJw-JYmxPk=732=r*Tlm_J*>qY$vmIY}n(sK4Ru!JJ z>o&zp!}Wxl-85Tm;TPNCw8t<}d|uDLsaMz5_1D$X+B!qzZCNfp&M_fZmW09pA&w+c z3Z^(tBF!)}v~e}ta*dABumqi=6YN;e@73Q6%W^slj8;$LG{+e!AMXbjj^q3xtnCV6OWj3|OA;IF>s-;2$Q6#PL_#-((2WGIaa@;R=!C$~$sEW0 z;BEvRIJwDj>kxL}MB`YHSm=awJNG z>Tj8ppry*t4IeAD%M58s_GXZP{9ZrlxHUQ@cbpnr$5&$%3Mt_GahfO8|@EkzT}Sik2ykUU(e*j|Np%Qu!ypbA%=u2q_OYVUQ-yZ zCq-aL&ubf15qKTn7HixOgdar&!#YM{&@swz_62{*jW%~%MrHejuqDIDvg0~(g+WWE zHlm1PTt_U1Gnk+d+->@v(=-lzu_Jup+QL}-yex5-w}j7dxg}&??C?%o)^@osn*B2Y z!%EWX(b%3Vg)5Dmvae)1HLx>qKds{|!|j1uJC0FSMfXExZ0Wpoqsyx4pjG*NhVae*;a47)YvGu zZ4m^Cg@px%NHX=jNMZgmEvvH0zzCe7J_nM!a)Y-!LL=>f4rZ-&Q>_`p@aD5(y$eWB z!-cA8mer0%Sys)wT1H4S*+L_4u4dM)dLvh{DpiVHH~*|RYNd>2F^qRX$;=nmOT8^C zQ!SW1P+MO!>C*WS&uXPi_lsL}CXyooGfY~JE6SbyZQKRF|E z*P+sHTBm7Qn&!}#X0}yqGR%HQjnp!|E74cTidXK$e#5wbg9UWBI zgHv&DI!&eZu*%L2_;k?Jmrli}sw_&e{{`dpSG<^0(j>u+BaR!mN$3`#AtVW>LU^9= z?GV00_~#J5OV|kE1;W3Cu;Tmm1ilx-ihnVL761JZR{Re_c%E`3*e>hkRT5yqy@Y5!tc!&^)oA%27_ z?_ck|d8fUjeGQ6pf-GQS5(WD6DTcUbv4SVG_mqAb*d@v_L(3s#kt2JJ!d#_5c?xcl QEs%Xi_II*>kS$^CBZ!5Sp8x;= literal 0 HcmV?d00001 diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/SqlData.class.uniqueId31 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/SqlData.class.uniqueId31 deleted file mode 100644 index 099f3bac4ef7d8fc66d04b7907aacea2cf59481c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6016 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ΠYgP;spM-mpj#MVMF&Q7+jEm2cjJ4)2V z*6JwL0z4-Pj-DYnIdK!Xz9cUNoKupQ0M0`aFp9)N=`Jle zfZm9nU{gbHCZ+UdQi9z{&>PU3o1_;#LsW9ECTLr+D=DhnVpjszg&YO2`AJyx1lBUY zFa_IDT$qH-FD^{L79zC)?4%?tdWM{e3|J9zXGu{?PLoQC5^^d+N~Fv$DK4pwbKz}t zW_58%oTt=I=GrNxlTD4UH+r8hCoR6 zjeMkZTJ4mPeXo{Id5R87xVtf~uAL$%N~egwE5#0RKK#NG9@%&P2o<-%^5@2R{&ueI zL0hkEv2KCaAgj%aV!4sd@Y#AE`FFC>Kad5y3m@_x&7lwIaQYC@|DW*sAK{NY{!J&- zClsbn;rTy9&h|O|5ZUFmv>W-t9y}ud7xeChd;F4KqkVX9W4vftXfG?Ai+7%Bc-oo8 zcAm=)J`N8!?VQ7>;L8B#bBGI2V4TF4<5}iLl%8+r5>$I8^MgEvpXO42g{SgsT*mM6 zbpC>8SR7n#nZmOy(|NX~f)BAA#fMs!@*K+wuC$!URh9vsYgxrzf}1fze|&q%{0jG;p-ITB07)X2Sf?orJTYa@Q1+i zn9{7LDOTF6{~L2T{Dmc-KgOI2nLf{-pqB?p zUaM180QsG)Q#A=vo5i03!llflcla~(3YC-TZvGq)MP#!Q{|EG0tT{A^7xEVp+N{$P znE`sc@s;(^_8c|tr7|1sn%ZEaGxw4UzmAecycdwUyUD(nX4<%@(TXqD+|osQn^(G2 z|DIQB%;%LF>(j=@y2%F4BH(mRHgP7`CSXjQdm)m2_zSXPJ^kJVimJje8QdMbwot;%HrJA1OLP5&ouiA`tCR{mH906=b7_1^cR@(5`1dSd5Ie@ z^h{TkRhkv&w%Y8{>?g@tU78)|!pT-znkiH&enm% zJ*oXNNpG`BuP7)mc8?>~Kzaw|;Y}h{56Dj<&F8P+m4wWFiF*j@3yKJoOr$3$M%>?@ z(mR3lE*+^96tLVx%JNEXa$EzR6ym!ByAD9r>g3E_d7it8k0E-WhT8CBg_$`<)Y{(#gdm55lgM3~0vdEIN zNF;id1#*-+lcE?mdwvM`;Nl(=X&{$J+9KJ>NyvJ5C2kst{>kXb^TIdE5lMjV&7+H_mf(J{Rie3<|u@Lv(JmFx^OVjm{=I zSUN>~4br_Spr??pGxnB!Hktc?kLz!upu6`0>UR225L4=>Zl*&3nP4Y(7lW`4O7KkJEhAVcSq^ z?cgWqc+_CS{3QPDbQfKKdh6x<3|)h|>Nb9s9zi|zanw+s;OFTL)K1^$7wB_-5o+@i z^1qi^MP63`rJBQk<|?#DBF9_CZ}JIfPvW=n{{Idh-{0f4{5~A)2fT?t7zJou( zli{a${`;KcaFRQb6N=r7dp#b1cfQaf4sILe>h9GFjy77da0$0C{@U1*jaapfM$HKz8^ zEEm}=_N0rs9)3&yo#V2{dE|b&tYDIUvaU}%d##AHO+(JG9O&+c*X!7B8(G(Q&*3SEB rSX>(G9!d9;C|%m=FtS)2n73G*mK?M$xUk>SQj41H;HhYHvmO5jKoF^U diff --git a/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Task.class.uniqueId45 b/src/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Task.class.uniqueId45 deleted file mode 100644 index 5aaf1d4ef04531e6a92678dbedcbb0f68fbb58ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7723 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 qvxx?2^!% 0 || mNoteData.isLocalModified(); } + + + public boolean syncNote(Context context, long noteId) { + // 检查传入的noteId是否合法,如果不合法则抛出异常 if (noteId <= 0) { throw new IllegalArgumentException("Wrong note id:" + noteId); } - + + // 检查当前笔记是否有本地修改的内容,如果没有则直接返回true if (!isLocalModified()) { return true; } - - /** - * In theory, once data changed, the note should be updated on {@link NoteColumns#LOCAL_MODIFIED} and - * {@link NoteColumns#MODIFIED_DATE}. For data safety, though update note fails, we also update the - * note data info - */ + + // 使用ContentResolver的update方法更新指定noteId的笔记数据,如果返回值为0,则表示更新失败 if (context.getContentResolver().update( ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), mNoteDiffValues, null, null) == 0) { Log.e(TAG, "Update note error, should not happen"); - // Do not return, fall through + // 如果更新笔记失败,记录错误日志,但不立即返回,而是继续执行后面的逻辑 } + + // 清空mNoteDiffValues,表示已经将本地修改的内容同步到了设备数据库 mNoteDiffValues.clear(); - + + // 检查NoteData对象是否有本地修改的内容,如果有则将修改的内容推送到设备数据库中,如果返回值为null表示推送失败,则返回false if (mNoteData.isLocalModified() && (mNoteData.pushIntoContentResolver(context, noteId) == null)) { return false; } - + + // 如果同步操作成功,则返回true return true; } + + + private class NoteData { private long mTextDataId; @@ -179,22 +212,29 @@ public class Note { } Uri pushIntoContentResolver(Context context, long noteId) { - /** - * Check for safety - */ + // 检查传入的noteId是否合法,如果不合法则抛出异常 if (noteId <= 0) { throw new IllegalArgumentException("Wrong note id:" + noteId); } - + + // 创建一个操作列表,用于存储要执行的ContentProvider操作 ArrayList operationList = new ArrayList(); ContentProviderOperation.Builder builder = null; - + + // 如果mTextDataValues中有内容,则进行处理 if(mTextDataValues.size() > 0) { + // 设置mTextDataValues中的NOTE_ID字段为传入的noteId mTextDataValues.put(DataColumns.NOTE_ID, noteId); + + // 判断mTextDataId是否为0,如果为0说明是新创建的文本数据,需要执行插入操作 if (mTextDataId == 0) { + // 设置mTextDataValues中的MIME_TYPE字段为TextNote的内容类型 mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE); - Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, - mTextDataValues); + + // 使用ContentResolver的insert方法将mTextDataValues插入到设备数据库中,并获取插入的记录的Uri + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, mTextDataValues); + + // 解析uri中的pathSegments获取插入的记录的ID,并将其设置为mTextDataId try { setTextDataId(Long.valueOf(uri.getPathSegments().get(1))); } catch (NumberFormatException e) { @@ -203,14 +243,18 @@ public class Note { return null; } } else { + // 如果mTextDataId不为0,说明是已存在的文本数据,需要执行更新操作 builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( Notes.CONTENT_DATA_URI, mTextDataId)); builder.withValues(mTextDataValues); operationList.add(builder.build()); } + + // 清空mTextDataValues,表示mTextDataValues的内容已经处理完成 mTextDataValues.clear(); } - + + // 如果mCallDataValues中有内容,则进行处理(处理逻辑与上述的文本数据类似) if(mCallDataValues.size() > 0) { mCallDataValues.put(DataColumns.NOTE_ID, noteId); if (mCallDataId == 0) { @@ -232,11 +276,17 @@ public class Note { } mCallDataValues.clear(); } - + + // 如果操作列表中有操作,则执行applyBatch方法将操作应用到设备数据库中 if (operationList.size() > 0) { try { + // 使用ContentResolver的applyBatch方法将操作应用到设备数据库中,并获取操作结果 ContentProviderResult[] results = context.getContentResolver().applyBatch( Notes.AUTHORITY, operationList); + + // 根据操作结果确定返回值 + // 如果结果为null、长度为0或第一个结果为null,则返回null + // 否则返回指定noteId的笔记的Uri return (results == null || results.length == 0 || results[0] == null) ? null : ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId); } catch (RemoteException e) { @@ -247,6 +297,8 @@ public class Note { return null; } } + + // 如果操作列表为空,则直接返回null return null; } } diff --git a/src/app/src/main/java/net/micode/notes/model/WorkingNote.java b/src/app/src/main/java/net/micode/notes/model/WorkingNote.java index 76d2c129..06119892 100644 --- a/src/app/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/app/src/main/java/net/micode/notes/model/WorkingNote.java @@ -124,46 +124,52 @@ public class WorkingNote { loadNote(); } + /** + * 加载笔记数据 + */ private void loadNote() { Cursor cursor = mContext.getContentResolver().query( ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mNoteId), NOTE_PROJECTION, null, null, null); - + if (cursor != null) { if (cursor.moveToFirst()) { - mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN); - mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN); - mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN); - mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN); - mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN); - mModifiedDate = cursor.getLong(NOTE_MODIFIED_DATE_COLUMN); + mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN); // 获取笔记所属文件夹 ID + mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN); // 获取笔记背景颜色 ID + mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN); // 获取笔记小部件 ID + mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN); // 获取笔记小部件类型 + mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN); // 获取笔记提醒日期 + mModifiedDate = cursor.getLong(NOTE_MODIFIED_DATE_COLUMN); // 获取笔记修改日期 } cursor.close(); } else { Log.e(TAG, "No note with id:" + mNoteId); throw new IllegalArgumentException("Unable to find note with id " + mNoteId); } - loadNoteData(); + loadNoteData(); // 加载笔记数据 } - + + /** + * 加载笔记的具体数据 + */ private void loadNoteData() { Cursor cursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION, DataColumns.NOTE_ID + "=?", new String[] { String.valueOf(mNoteId) }, null); - + if (cursor != null) { if (cursor.moveToFirst()) { do { - String type = cursor.getString(DATA_MIME_TYPE_COLUMN); + String type = cursor.getString(DATA_MIME_TYPE_COLUMN); // 获取数据类型 if (DataConstants.NOTE.equals(type)) { - mContent = cursor.getString(DATA_CONTENT_COLUMN); - mMode = cursor.getInt(DATA_MODE_COLUMN); - mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN)); + mContent = cursor.getString(DATA_CONTENT_COLUMN); // 获取笔记文本内容 + mMode = cursor.getInt(DATA_MODE_COLUMN); // 获取笔记模式 + mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN)); // 设置笔记文本数据 ID } else if (DataConstants.CALL_NOTE.equals(type)) { - mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN)); + mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN)); // 设置通话数据 ID } else { - Log.d(TAG, "Wrong note type with type:" + type); + Log.d(TAG, "Wrong note type with type:" + type); // 记录错误的数据类型 } } while (cursor.moveToNext()); } @@ -174,59 +180,90 @@ public class WorkingNote { } } + /** + * 创建一个空的笔记对象 + * + * @param context 上下文对象 + * @param folderId 笔记所属文件夹 ID + * @param widgetId 笔记小部件 ID + * @param widgetType 笔记小部件类型 + * @param defaultBgColorId 默认背景颜色 ID + * @return 创建的空白笔记对象 + */ public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, int widgetType, int defaultBgColorId) { - WorkingNote note = new WorkingNote(context, folderId); - note.setBgColorId(defaultBgColorId); - note.setWidgetId(widgetId); - note.setWidgetType(widgetType); + WorkingNote note = new WorkingNote(context, folderId); // 创建一个工作笔记对象 + note.setBgColorId(defaultBgColorId); // 设置默认背景颜色 ID + note.setWidgetId(widgetId); // 设置小部件 ID + note.setWidgetType(widgetType); // 设置小部件类型 return note; } - + + /** + * 根据 ID 从数据库加载笔记对象 + * + * @param context 上下文对象 + * @param id 笔记 ID + * @return 加载的笔记对象 + */ public static WorkingNote load(Context context, long id) { - return new WorkingNote(context, id, 0); + return new WorkingNote(context, id, 0); // 根据 ID 创建工作笔记对象 } - + + /** + * 保存笔记对象到数据库 + * + * @return 保存是否成功 + */ public synchronized boolean saveNote() { if (isWorthSaving()) { - if (!existInDatabase()) { + if (!existInDatabase()) { // 如果笔记不存在于数据库中 if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { Log.e(TAG, "Create new note fail with id:" + mNoteId); - return false; + return false; // 创建新笔记失败 } } - - mNote.syncNote(mContext, mNoteId); - - /** - * Update widget content if there exist any widget of this note - */ + mNote.syncNote(mContext, mNoteId); // 同步笔记到数据库 if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID && mWidgetType != Notes.TYPE_WIDGET_INVALIDE && mNoteSettingStatusListener != null) { - mNoteSettingStatusListener.onWidgetChanged(); + mNoteSettingStatusListener.onWidgetChanged(); // 更新小部件状态 } - return true; + return true; // 保存成功 } else { - return false; + return false; // 未值得保存,保存失败 } } + /** + * 检查笔记是否存在于数据库中 + * @return 笔记是否存在于数据库中 + */ public boolean existInDatabase() { return mNoteId > 0; } - + + /** + * 检查笔记是否值得保存 + * 笔记不值得保存的情况包括:已被标记删除、(不存在于数据库且内容为空)、(存在于数据库且没有本地修改) + * @return 笔记是否值得保存 + */ private boolean isWorthSaving() { if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent)) || (existInDatabase() && !mNote.isLocalModified())) { - return false; + return false; // 不值得保存 } else { - return true; + return true; // 值得保存 } } - + + /** + * 设置笔记设置状态改变监听器 + * + * @param l 笔记设置状态改变监听器 + */ public void setOnSettingStatusChangedListener(NoteSettingChangedListener l) { - mNoteSettingStatusListener = l; + mNoteSettingStatusListener = l; // 设置笔记设置状态改变监听器 } public void setAlertDate(long date, boolean set) { @@ -316,31 +353,45 @@ public class WorkingNote { } } + /** + * 设置小部件类型 + * @param type 小部件类型 + */ public void setWidgetType(int type) { if (type != mWidgetType) { mWidgetType = type; - mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType)); + mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType)); // 设置笔记值中的小部件类型 } } - + /** + * 设置小部件 ID + * @param id 小部件 ID + */ public void setWidgetId(int id) { if (id != mWidgetId) { mWidgetId = id; - mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId)); + mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId)); // 设置笔记值中的小部件 ID } } - + /** + * 设置工作文本 + * @param text 文本内容 + */ public void setWorkingText(String text) { if (!TextUtils.equals(mContent, text)) { mContent = text; - mNote.setTextData(DataColumns.CONTENT, mContent); + mNote.setTextData(DataColumns.CONTENT, mContent); // 设置笔记的文本数据 } } - + /** + * 转换为通话记录类型的笔记 + * @param phoneNumber 电话号码 + * @param callDate 通话日期 + */ public void convertToCallNote(String phoneNumber, long callDate) { - mNote.setCallData(CallNote.CALL_DATE, String.valueOf(callDate)); - mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber); - mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); + mNote.setCallData(CallNote.CALL_DATE, String.valueOf(callDate)); // 设置通话数据中的通话日期 + mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber); // 设置通话数据中的电话号码 + mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); // 设置笔记值中的父文件夹 ID } public boolean hasClockAlert() { diff --git a/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java b/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java index 39f6ec47..0267be12 100644 --- a/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java +++ b/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java @@ -140,24 +140,28 @@ public class BackupUtils { * Export the folder identified by folder id to text */ private void exportFolderToText(String folderId, PrintStream ps) { - // Query notes belong to this folder + // 查询属于该文件夹的笔记 Cursor notesCursor = mContext.getContentResolver().query(Notes.CONTENT_NOTE_URI, NOTE_PROJECTION, NoteColumns.PARENT_ID + "=?", new String[] { - folderId + folderId }, null); - + + // 如果notesCursor不为null,则进行处理 if (notesCursor != null) { + // 如果notesCursor中有数据,则继续循环处理每个笔记 if (notesCursor.moveToFirst()) { do { - // Print note's last modified date + // 打印笔记的最后修改日期 ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format( mContext.getString(R.string.format_datetime_mdhm), notesCursor.getLong(NOTE_COLUMN_MODIFIED_DATE)))); - // Query data belong to this note + // 查询属于该笔记的数据 String noteId = notesCursor.getString(NOTE_COLUMN_ID); exportNoteToText(noteId, ps); } while (notesCursor.moveToNext()); } + + // 关闭notesCursor notesCursor.close(); } } @@ -166,46 +170,55 @@ public class BackupUtils { * Export note identified by id to a print stream */ private void exportNoteToText(String noteId, PrintStream ps) { + // 查询属于该笔记的数据 Cursor dataCursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION, DataColumns.NOTE_ID + "=?", new String[] { - noteId + noteId }, null); - + + // 如果dataCursor不为null,则进行处理 if (dataCursor != null) { + // 如果dataCursor中有数据,则继续循环处理每个数据项 if (dataCursor.moveToFirst()) { do { + // 获取数据的mimeType String mimeType = dataCursor.getString(DATA_COLUMN_MIME_TYPE); if (DataConstants.CALL_NOTE.equals(mimeType)) { - // Print phone number + // 如果是电话笔记,则打印电话号码、通话日期和通话位置 String phoneNumber = dataCursor.getString(DATA_COLUMN_PHONE_NUMBER); long callDate = dataCursor.getLong(DATA_COLUMN_CALL_DATE); String location = dataCursor.getString(DATA_COLUMN_CONTENT); - + + // 如果电话号码不为空,则打印电话号码 if (!TextUtils.isEmpty(phoneNumber)) { ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), phoneNumber)); } - // Print call date + // 打印通话日期 ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), DateFormat .format(mContext.getString(R.string.format_datetime_mdhm), callDate))); - // Print call attachment location + // 如果通话位置不为空,则打印通话位置 if (!TextUtils.isEmpty(location)) { ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), location)); } } else if (DataConstants.NOTE.equals(mimeType)) { + // 如果是普通笔记,则打印内容 String content = dataCursor.getString(DATA_COLUMN_CONTENT); if (!TextUtils.isEmpty(content)) { ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), content)); } } - } while (dataCursor.moveToNext()); + } while (dataCursor.moveToNext()); // 移动到下一行继续处理 } + + // 关闭dataCursor dataCursor.close(); } - // print a line separator between note + + // 打印一个行分隔符来分割每个笔记的内容 try { ps.write(new byte[] { Character.LINE_SEPARATOR, Character.LETTER_NUMBER @@ -219,126 +232,175 @@ public class BackupUtils { * Note will be exported as text which is user readable */ public int exportToText() { + // 检查外部存储是否可用 if (!externalStorageAvailable()) { Log.d(TAG, "Media was not mounted"); return STATE_SD_CARD_UNMOUONTED; } - + + // 获取导出到文本的PrintStream对象 PrintStream ps = getExportToTextPrintStream(); if (ps == null) { Log.e(TAG, "get print stream error"); return STATE_SYSTEM_ERROR; } - // First export folder and its notes + + // 首先导出文件夹及其内部的笔记 Cursor folderCursor = mContext.getContentResolver().query( Notes.CONTENT_NOTE_URI, NOTE_PROJECTION, "(" + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + ") OR " + NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER, null, null); - + + // 如果folderCursor不为null,则进行处理 if (folderCursor != null) { + // 如果folderCursor中有数据,则继续循环处理每个文件夹 if (folderCursor.moveToFirst()) { do { - // Print folder's name + // 打印文件夹的名称 String folderName = ""; if(folderCursor.getLong(NOTE_COLUMN_ID) == Notes.ID_CALL_RECORD_FOLDER) { folderName = mContext.getString(R.string.call_record_folder_name); } else { folderName = folderCursor.getString(NOTE_COLUMN_SNIPPET); } + // 如果文件夹名称不为空,则打印文件夹名称 if (!TextUtils.isEmpty(folderName)) { ps.println(String.format(getFormat(FORMAT_FOLDER_NAME), folderName)); } String folderId = folderCursor.getString(NOTE_COLUMN_ID); + // 导出文件夹及其内部的笔记 exportFolderToText(folderId, ps); - } while (folderCursor.moveToNext()); + } while (folderCursor.moveToNext()); // 移动到下一行继续处理 } + // 关闭folderCursor folderCursor.close(); } - - // Export notes in root's folder + + // 导出根文件夹下的笔记 Cursor noteCursor = mContext.getContentResolver().query( Notes.CONTENT_NOTE_URI, NOTE_PROJECTION, NoteColumns.TYPE + "=" + +Notes.TYPE_NOTE + " AND " + NoteColumns.PARENT_ID + "=0", null, null); - + + // 如果noteCursor不为null,则进行处理 if (noteCursor != null) { + // 如果noteCursor中有数据,则继续循环处理每个笔记 if (noteCursor.moveToFirst()) { do { + // 打印笔记的修改日期 ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format( mContext.getString(R.string.format_datetime_mdhm), noteCursor.getLong(NOTE_COLUMN_MODIFIED_DATE)))); - // Query data belong to this note + // 查询属于该笔记的数据,并导出为文本 String noteId = noteCursor.getString(NOTE_COLUMN_ID); exportNoteToText(noteId, ps); - } while (noteCursor.moveToNext()); + } while (noteCursor.moveToNext()); // 移动到下一行继续处理 } + // 关闭noteCursor noteCursor.close(); } + // 关闭PrintStream ps.close(); - + return STATE_SUCCESS; - } + } /** * Get a print stream pointed to the file {@generateExportedTextFile} */ - private PrintStream getExportToTextPrintStream() { - File file = generateFileMountedOnSDcard(mContext, R.string.file_path, - R.string.file_name_txt_format); - if (file == null) { - Log.e(TAG, "create file to exported failed"); - return null; - } - mFileName = file.getName(); - mFileDirectory = mContext.getString(R.string.file_path); - PrintStream ps = null; - try { - FileOutputStream fos = new FileOutputStream(file); - ps = new PrintStream(fos); - } catch (FileNotFoundException e) { - e.printStackTrace(); - return null; - } catch (NullPointerException e) { - e.printStackTrace(); - return null; - } - return ps; - } +/** + * 获取用于导出文本的PrintStream对象 + * @return 如果成功获取PrintStream对象,则返回该对象;如果获取过程中出现错误,则返回null + */ +private PrintStream getExportToTextPrintStream() { + // 调用generateFileMountedOnSDcard方法生成一个文件对象 + File file = generateFileMountedOnSDcard(mContext, R.string.file_path, R.string.file_name_txt_format); + // 如果生成的文件对象为空,记录错误并返回null + if (file == null) { + Log.e(TAG, "create file to exported failed"); + return null; + } + + // 保存生成的文件名和文件路径到成员变量 + mFileName = file.getName(); + mFileDirectory = mContext.getString(R.string.file_path); + + PrintStream ps = null; + try { + // 创建文件输出流,并将其封装为PrintStream对象 + FileOutputStream fos = new FileOutputStream(file); + ps = new PrintStream(fos); + } catch (FileNotFoundException e) { + // 捕获FileNotFoundException,记录错误并返回null + e.printStackTrace(); + return null; + } catch (NullPointerException e) { + // 捕获NullPointerException,记录错误并返回null + e.printStackTrace(); + return null; + } + // 返回创建的PrintStream对象,如果在过程中出现其他问题则返回null + return ps; +} } /** * Generate the text file to store imported data */ - private static File generateFileMountedOnSDcard(Context context, int filePathResId, int fileNameFormatResId) { - StringBuilder sb = new StringBuilder(); - sb.append(Environment.getExternalStorageDirectory()); - sb.append(context.getString(filePathResId)); - File filedir = new File(sb.toString()); - sb.append(context.getString( - fileNameFormatResId, - DateFormat.format(context.getString(R.string.format_date_ymd), - System.currentTimeMillis()))); - File file = new File(sb.toString()); - - try { - if (!filedir.exists()) { - filedir.mkdir(); - } - if (!file.exists()) { - file.createNewFile(); - } - return file; - } catch (SecurityException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); +/** + * 在SD卡上生成一个文件对象 + * @param context 上下文对象 + * @param filePathResId 文件路径的资源ID + * @param fileNameFormatResId 文件名格式的资源ID + * @return 如果成功生成文件对象,则返回该对象;如果生成过程中出现错误,则返回null + */ +private static File generateFileMountedOnSDcard(Context context, int filePathResId, int fileNameFormatResId) { + // 创建一个StringBuilder对象,用于拼接文件路径和文件名 + StringBuilder sb = new StringBuilder(); + + // 获取SD卡的根目录,并将其添加到StringBuilder中 + sb.append(Environment.getExternalStorageDirectory()); + + // 从资源中获取文件路径,并将其添加到StringBuilder中 + sb.append(context.getString(filePathResId)); + + // 根据文件名格式资源ID和当前时间生成文件名,并将其添加到StringBuilder中 + sb.append(context.getString(fileNameFormatResId, DateFormat.format(context.getString(R.string.format_date_ymd), + System.currentTimeMillis()))); + + // 根据StringBuilder中的路径创建一个文件夹对象 + File filedir = new File(sb.toString()); + + // 根据StringBuilder中的完整路径创建一个文件对象 + File file = new File(sb.toString()); + + try { + // 如果文件夹不存在,则创建文件夹 + if (!filedir.exists()) { + filedir.mkdir(); } - - return null; + + // 如果文件不存在,则创建文件 + if (!file.exists()) { + file.createNewFile(); + } + + // 返回生成的文件对象 + return file; + } catch (SecurityException e) { + // 捕获SecurityException异常,打印异常信息 + e.printStackTrace(); + } catch (IOException e) { + // 捕获IOException异常,打印异常信息 + e.printStackTrace(); } + + // 返回null表示生成文件过程中出现了错误 + return null; +} } diff --git a/src/app/src/main/java/net/micode/notes/tool/DataUtils.java b/src/app/src/main/java/net/micode/notes/tool/DataUtils.java index 2a14982e..86d6c254 100644 --- a/src/app/src/main/java/net/micode/notes/tool/DataUtils.java +++ b/src/app/src/main/java/net/micode/notes/tool/DataUtils.java @@ -37,259 +37,382 @@ import java.util.HashSet; public class DataUtils { public static final String TAG = "DataUtils"; - public static boolean batchDeleteNotes(ContentResolver resolver, HashSet ids) { - if (ids == null) { - Log.d(TAG, "the ids is null"); - return true; - } - if (ids.size() == 0) { - Log.d(TAG, "no id is in the hashset"); - return true; - } - - ArrayList operationList = new ArrayList(); - for (long id : ids) { - if(id == Notes.ID_ROOT_FOLDER) { - Log.e(TAG, "Don't delete system folder root"); - continue; - } - ContentProviderOperation.Builder builder = ContentProviderOperation - .newDelete(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); - operationList.add(builder.build()); - } - try { - ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); - if (results == null || results.length == 0 || results[0] == null) { - Log.d(TAG, "delete notes failed, ids:" + ids.toString()); - return false; - } - return true; - } catch (RemoteException e) { - Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); - } catch (OperationApplicationException e) { - Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); - } - return false; +/** + * 批量删除便签 + * @param resolver 内容解析器 + * @param ids 待删除便签的ID集合 + * @return 如果删除成功删除所有指定的便签,则返回true;否则返回false + */ +public static boolean batchDeleteNotes(ContentResolver resolver, HashSet ids) { + if (ids == null) { + // 如果ids为null,记录调试信息并返回true + Log.d(TAG, "the ids is null"); + return true; } - - public static void moveNoteToFoler(ContentResolver resolver, long id, long srcFolderId, long desFolderId) { - ContentValues values = new ContentValues(); - values.put(NoteColumns.PARENT_ID, desFolderId); - values.put(NoteColumns.ORIGIN_PARENT_ID, srcFolderId); - values.put(NoteColumns.LOCAL_MODIFIED, 1); - resolver.update(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id), values, null, null); + if (ids.size() == 0) { + // 如果ids集合为空,记录调试信息并返回true + Log.d(TAG, "no id is in the hashset"); + return true; } - public static boolean batchMoveToFolder(ContentResolver resolver, HashSet ids, - long folderId) { - if (ids == null) { - Log.d(TAG, "the ids is null"); - return true; - } + ArrayList operationList = new ArrayList(); - ArrayList operationList = new ArrayList(); - for (long id : ids) { - ContentProviderOperation.Builder builder = ContentProviderOperation - .newUpdate(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); - builder.withValue(NoteColumns.PARENT_ID, folderId); - builder.withValue(NoteColumns.LOCAL_MODIFIED, 1); - operationList.add(builder.build()); + // 遍历待删除的便签ID集合 + for (long id : ids) { + if(id == Notes.ID_ROOT_FOLDER) { + // 如果当前ID为系统文件夹根目录的ID,记录错误信息并跳过 + Log.e(TAG, "Don't delete system folder root"); + continue; } - - try { - ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); - if (results == null || results.length == 0 || results[0] == null) { - Log.d(TAG, "delete notes failed, ids:" + ids.toString()); - return false; - } - return true; - } catch (RemoteException e) { - Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); - } catch (OperationApplicationException e) { - Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + // 创建一个ContentProviderOperation.Builder用于构建删除指定ID的操作 + ContentProviderOperation.Builder builder = ContentProviderOperation.newDelete(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); + // 将操作添加到操作列表中 + operationList.add(builder.build()); + } + try { + // 应用操作列表中的所有操作来批量删除便签 + ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); + if (results == null || results.length == 0 || results[0] == null) { + // 如果删除操作失败,记录错误信息并返回false + Log.d(TAG, "delete notes failed, ids:" + ids.toString()); + return false; } - return false; + // 删除操作成功完成,返回true + return true; + } catch (RemoteException e) { + // 捕获RemoteException异常,记录错误信息 + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } catch (OperationApplicationException e) { + // 捕获OperationApplicationException异常,记录错误信息 + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); } + // 出现异常情况,返回false + return false; +} - /** - * Get the all folder count except system folders {@link Notes#TYPE_SYSTEM}} - */ - public static int getUserFolderCount(ContentResolver resolver) { - Cursor cursor =resolver.query(Notes.CONTENT_NOTE_URI, - new String[] { "COUNT(*)" }, - NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>?", - new String[] { String.valueOf(Notes.TYPE_FOLDER), String.valueOf(Notes.ID_TRASH_FOLER)}, - null); +/** + * 将指定 id 的笔记移动到指定文件夹中 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param id 要移动的笔记的 ID + * @param srcFolderId 源文件夹的 ID + * @param desFolderId 目标文件夹的 ID + */ +public static void moveNoteToFoler(ContentResolver resolver, long id, long srcFolderId, long desFolderId) { + // 创建包含要更新的内容的 ContentValues 对象 + ContentValues values = new ContentValues(); + values.put(NoteColumns.PARENT_ID, desFolderId); // 将笔记的父文件夹 ID 设置为目标文件夹的 ID + values.put(NoteColumns.ORIGIN_PARENT_ID, srcFolderId); // 设置笔记的原始父文件夹 ID 为源文件夹的 ID + values.put(NoteColumns.LOCAL_MODIFIED, 1); // 标记笔记已在本地修改 + // 使用 ContentResolver 执行更新操作 + resolver.update(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id), values, null, null); +} - int count = 0; - if(cursor != null) { - if(cursor.moveToFirst()) { - try { - count = cursor.getInt(0); - } catch (IndexOutOfBoundsException e) { - Log.e(TAG, "get folder count failed:" + e.toString()); - } finally { - cursor.close(); - } - } - } - return count; +/** + * 批量将笔记移动到指定文件夹 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param ids 要移动的笔记的 ID 集合 + * @param folderId 目标文件夹的 ID + * @return 操作是否成功的布尔值,true 表示成功,false 表示失败 + */ +public static boolean batchMoveToFolder(ContentResolver resolver, HashSet ids, long folderId) { + if (ids == null) { + Log.d(TAG, "the ids is null"); + return true; } - public static boolean visibleInNoteDatabase(ContentResolver resolver, long noteId, int type) { - Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), - null, - NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER, - new String [] {String.valueOf(type)}, - null); + // 创建存储 ContentProviderOperation 的列表 + ArrayList operationList = new ArrayList(); + for (long id : ids) { + // 创建一个更新操作的 Builder + ContentProviderOperation.Builder builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); + builder.withValue(NoteColumns.PARENT_ID, folderId); // 设置笔记的父文件夹 ID 为目标文件夹的 ID + builder.withValue(NoteColumns.LOCAL_MODIFIED, 1); // 标记笔记已在本地修改 + operationList.add(builder.build()); // 将操作加入列表 + } - boolean exist = false; - if (cursor != null) { - if (cursor.getCount() > 0) { - exist = true; - } - cursor.close(); + try { + // 应用批量操作并获取结果 + ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); + if (results == null || results.length == 0 || results[0] == null) { + Log.d(TAG, "delete notes failed, ids:" + ids.toString()); + return false; } - return exist; + return true; + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); } + return false; +} +/** + * 获取所有用户文件夹的数量,不包括系统文件夹 {@link Notes#TYPE_SYSTEM} + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @return 用户文件夹的数量 + */ +public static int getUserFolderCount(ContentResolver resolver) { + // 查询数据库获取用户文件夹的数量 + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, + new String[] { "COUNT(*)" }, + NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>?", + new String[] { String.valueOf(Notes.TYPE_FOLDER), String.valueOf(Notes.ID_TRASH_FOLER)}, + null); - public static boolean existInNoteDatabase(ContentResolver resolver, long noteId) { - Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), - null, null, null, null); - - boolean exist = false; - if (cursor != null) { - if (cursor.getCount() > 0) { - exist = true; + int count = 0; + if (cursor != null) { + if (cursor.moveToFirst()) { + try { + count = cursor.getInt(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "get folder count failed:" + e.toString()); + } finally { + cursor.close(); } - cursor.close(); } - return exist; } + return count; +} - public static boolean existInDataDatabase(ContentResolver resolver, long dataId) { - Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), - null, null, null, null); +/** + * 判断笔记是否在笔记数据库中可见 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param noteId 笔记的 ID + * @param type 笔记的类型 + * @return 笔记是否可见的布尔值,true 表示可见,false 表示不可见 + */ +public static boolean visibleInNoteDatabase(ContentResolver resolver, long noteId, int type) { + // 查询数据库判断笔记是否可见 + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), + null, + NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER, + new String[] { String.valueOf(type) }, + null); - boolean exist = false; - if (cursor != null) { - if (cursor.getCount() > 0) { - exist = true; - } - cursor.close(); + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; } - return exist; + cursor.close(); } + return exist; +} - public static boolean checkVisibleFolderName(ContentResolver resolver, String name) { - Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, null, - NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + - " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + - " AND " + NoteColumns.SNIPPET + "=?", - new String[] { name }, null); - boolean exist = false; - if(cursor != null) { - if(cursor.getCount() > 0) { - exist = true; - } - cursor.close(); +/** + * 检查给定笔记 ID 对应的笔记是否存在于笔记数据库中 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param noteId 待查询的笔记 ID + * @return 笔记是否存在于数据库中的布尔值,true 表示存在,false 表示不存在 + */ +public static boolean existInNoteDatabase(ContentResolver resolver, long noteId) { + // 使用ContentResolver对象进行查询 + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), + null, null, null, null); + + boolean exist = false; + // 检查结果集是否为空 + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; } - return exist; + // 关闭数据库查询结果游标 + cursor.close(); } + return exist; +} - public static HashSet getFolderNoteWidget(ContentResolver resolver, long folderId) { - Cursor c = resolver.query(Notes.CONTENT_NOTE_URI, - new String[] { NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE }, - NoteColumns.PARENT_ID + "=?", - new String[] { String.valueOf(folderId) }, - null); +/** + * 检查给定数据 ID 对应的数据是否存在于数据数据库中 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param dataId 待查询的数据 ID + * @return 数据是否存在于数据库中的布尔值,true 表示存在,false 表示不存在 + */ +public static boolean existInDataDatabase(ContentResolver resolver, long dataId) { + // 使用ContentResolver对象进行查询 + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), + null, null, null, null); - HashSet set = null; - if (c != null) { - if (c.moveToFirst()) { - set = new HashSet(); - do { - try { - AppWidgetAttribute widget = new AppWidgetAttribute(); - widget.widgetId = c.getInt(0); - widget.widgetType = c.getInt(1); - set.add(widget); - } catch (IndexOutOfBoundsException e) { - Log.e(TAG, e.toString()); - } - } while (c.moveToNext()); - } - c.close(); + boolean exist = false; + // 检查结果集是否为空 + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; } - return set; + // 关闭数据库查询结果游标 + cursor.close(); } + return exist; +} - public static String getCallNumberByNoteId(ContentResolver resolver, long noteId) { - Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, - new String [] { CallNote.PHONE_NUMBER }, - CallNote.NOTE_ID + "=? AND " + CallNote.MIME_TYPE + "=?", - new String [] { String.valueOf(noteId), CallNote.CONTENT_ITEM_TYPE }, - null); - - if (cursor != null && cursor.moveToFirst()) { - try { - return cursor.getString(0); - } catch (IndexOutOfBoundsException e) { - Log.e(TAG, "Get call number fails " + e.toString()); - } finally { - cursor.close(); - } +/** + * 检查给定文件夹名称是否存在于笔记数据库中 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param name 待查询的文件夹名称 + * @return 文件夹名称是否存在于数据库中的布尔值,true 表示存在,false 表示不存在 + */ +public static boolean checkVisibleFolderName(ContentResolver resolver, String name) { + // 使用ContentResolver对象进行查询 + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, null, + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + + " AND " + NoteColumns.SNIPPET + "=?", + new String[] { name }, null); + boolean exist = false; + // 检查结果集是否为空 + if(cursor != null) { + if(cursor.getCount() > 0) { + exist = true; } - return ""; + // 关闭数据库查询结果游标 + cursor.close(); } + return exist; +} - public static long getNoteIdByPhoneNumberAndCallDate(ContentResolver resolver, String phoneNumber, long callDate) { - Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, - new String [] { CallNote.NOTE_ID }, - CallNote.CALL_DATE + "=? AND " + CallNote.MIME_TYPE + "=? AND PHONE_NUMBERS_EQUAL(" - + CallNote.PHONE_NUMBER + ",?)", - new String [] { String.valueOf(callDate), CallNote.CONTENT_ITEM_TYPE, phoneNumber }, - null); +/** + * 获取指定文件夹下的小部件属性集合 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param folderId 待查询的文件夹 ID + * @return 包含小部件属性的 HashSet,如果查询结果为空则返回 null + */ +public static HashSet getFolderNoteWidget(ContentResolver resolver, long folderId) { + // 使用ContentResolver对象进行查询 + Cursor c = resolver.query(Notes.CONTENT_NOTE_URI, + new String[] {NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE}, + NoteColumns.PARENT_ID + "=?", + new String[] {String.valueOf(folderId)}, + null); - if (cursor != null) { - if (cursor.moveToFirst()) { + HashSet set = null; + if (c != null) { + if (c.moveToFirst()) { + set = new HashSet<>(); + do { try { - return cursor.getLong(0); + AppWidgetAttribute widget = new AppWidgetAttribute(); + widget.widgetId = c.getInt(0); + widget.widgetType = c.getInt(1); + set.add(widget); } catch (IndexOutOfBoundsException e) { - Log.e(TAG, "Get call note id fails " + e.toString()); + Log.e(TAG, e.toString()); } - } - cursor.close(); + } while (c.moveToNext()); } - return 0; + c.close(); } + return set; +} - public static String getSnippetById(ContentResolver resolver, long noteId) { - Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, - new String [] { NoteColumns.SNIPPET }, - NoteColumns.ID + "=?", - new String [] { String.valueOf(noteId)}, - null); +/** + * 根据笔记 ID 获取对应的通话号码 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param noteId 待查询的笔记 ID + * @return 笔记对应的通话号码,如果查询失败则返回空字符串 + */ +public static String getCallNumberByNoteId(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, + new String[] {CallNote.PHONE_NUMBER}, + CallNote.NOTE_ID + "=? AND " + CallNote.MIME_TYPE + "=?", + new String[] {String.valueOf(noteId), CallNote.CONTENT_ITEM_TYPE}, + null); - if (cursor != null) { - String snippet = ""; - if (cursor.moveToFirst()) { - snippet = cursor.getString(0); - } + if (cursor != null && cursor.moveToFirst()) { + try { + return cursor.getString(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "Get call number fails " + e.toString()); + } finally { cursor.close(); - return snippet; } - throw new IllegalArgumentException("Note is not found with id: " + noteId); } + return ""; +} + +/** + * 根据通话号码和通话日期获取对应的笔记 ID + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param phoneNumber 待查询的通话号码 + * @param callDate 通话日期 + * @return 笔记 ID,如果查询失败则返回 0 + */ +/** + * 根据通话号码和通话日期获取对应的笔记 ID + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param phoneNumber 待查询的通话号码 + * @param callDate 通话日期 + * @return 笔记 ID,如果查询失败则返回 0 + */ +public static long getNoteIdByPhoneNumberAndCallDate(ContentResolver resolver, String phoneNumber, long callDate) { + Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, + new String[] {CallNote.NOTE_ID}, + CallNote.CALL_DATE + "=? AND " + CallNote.MIME_TYPE + "=? AND PHONE_NUMBERS_EQUAL(" + + CallNote.PHONE_NUMBER + ",?)", + new String[] {String.valueOf(callDate), CallNote.CONTENT_ITEM_TYPE, phoneNumber}, + null); - public static String getFormattedSnippet(String snippet) { - if (snippet != null) { - snippet = snippet.trim(); - int index = snippet.indexOf('\n'); - if (index != -1) { - snippet = snippet.substring(0, index); + if (cursor != null) { + if (cursor.moveToFirst()) { + try { + return cursor.getLong(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "Get call note id fails " + e.toString()); } } + cursor.close(); + } + return 0; +} + +/** + * 根据笔记 ID获取对应的摘要信息 + * + * @param resolver ContentResolver 对象,用于访问应用程序数据 + * @param noteId 待查询的笔记 ID + * @return 笔记对应的摘要信息,如果查询失败则抛出 IllegalArgumentException + */ +public static String getSnippetById(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, + new String [] { NoteColumns.SNIPPET }, + NoteColumns.ID + "=?", + new String [] { String.valueOf(noteId)}, + null); + + if (cursor != null) { + String snippet = ""; + if (cursor.moveToFirst()) { + snippet = cursor.getString(0); + } + cursor.close(); return snippet; } + throw new IllegalArgumentException("Note is not found with id: " + noteId); +} + +/** + * 格式化摘要信息,只保留第一行内容并去除前后空格 + * + * @param snippet 待格式化的摘要信息 + * @return 格式化后的摘要信息 + */ +public static String getFormattedSnippet(String snippet) { + if (snippet != null) { + snippet = snippet.trim(); + int index = snippet.indexOf('\n'); + if (index != -1) { + snippet = snippet.substring(0, index); + } + } + return snippet; +} } diff --git a/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 556b2f75..ca810866 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -71,7 +71,7 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; - +//便签编辑有关的活动,实现了 OnClickListener(处理点击事件)、NoteSettingChangedListener(监测便签设置的变动) 和 OnTextViewChangeListener(监测便签编辑的变动) 接口, public class NoteEditActivity extends Activity implements OnClickListener, NoteSettingChangedListener, OnTextViewChangeListener { private class HeadViewHolder { @@ -132,7 +132,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, private View mNoteEditorPanel; - private WorkingNote mWorkingNote; + private WorkingNote mWorkingNote; //记录当前正在工作的便签 private SharedPreferences mSharedPrefs; private int mFontSizeId; @@ -179,6 +179,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, } } + //依据intent参数传递的Action采取动作 private boolean initActivityState(Intent intent) { /** * If the user specified the {@link Intent#ACTION_VIEW} but not provided with id, @@ -430,7 +431,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, 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); @@ -504,18 +505,18 @@ public class NoteEditActivity extends Activity implements OnClickListener, } return true; } - + //实现便签的各种功能 @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if (itemId == R.id.menu_new_note) { - createNewNote(); - } else if (itemId == R.id.menu_delete) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); + createNewNote(); //新建便签 + } else if (itemId == R.id.menu_delete) { //删除便签 + AlertDialog.Builder builder = new AlertDialog.Builder(this); //创建一个 AlertDialog.Builder 对象,用于构建对话框 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, + builder.setPositiveButton(android.R.string.ok, //点击ok则删除该便签 new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { deleteCurrentNote(); @@ -524,18 +525,18 @@ public class NoteEditActivity extends Activity implements OnClickListener, }); builder.setNegativeButton(android.R.string.cancel, null); builder.show(); - } else if (itemId == R.id.menu_font_size) { + } else if (itemId == R.id.menu_font_size) { //设置字体大小 mFontSizeSelector.setVisibility(View.VISIBLE); findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE); } else if (itemId == R.id.menu_list_mode) { mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ? TextNote.MODE_CHECK_LIST : 0); - } else if (itemId == R.id.menu_share) { + } else if (itemId == R.id.menu_share) { //分享 getWorkingText(); sendTo(this, mWorkingNote.getContent()); - } else if (itemId == R.id.menu_send_to_desktop) { + } else if (itemId == R.id.menu_send_to_desktop) { //发送到桌面 sendToDesktop(); - } else if (itemId == R.id.menu_alert) { + } else if (itemId == R.id.menu_alert) { //设置提醒 setReminder(); } else if (itemId == R.id.menu_delete_remind) { mWorkingNote.setAlertDate(0, false); @@ -544,17 +545,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, } private void setReminder() { -/* - * 这段 Java 代码实现了一个名为 `setReminder()` 的方法,用于设置笔记的提醒功能。以下是对该方法的解释: -1. 首先,创建一个 `DateTimePickerDialog` 对象 `d`,用于显示日期时间选择对话框。 -2. 通过传递 System.currentTimeMillis() 方法的返回值,设置初始日期时间选择为当前时间。 -3. 将一个匿名的 `OnDateTimeSetListener` 实例设置给 `d`,用于在用户选择日期时间后响应事件。 -4. 在 `OnDateTimeSet` 方法中,获取用户选择的日期时间, -并通过调用 `mWorkingNote` 对象的 `setAlertDate()` 方法设置笔记的提醒日期时间。 -5. 最后,通过调用 `d` 对象的 `show()` 方法,显示日期时间选择对话框。 -综上,该方法实现了通过日期时间选择对话框设置笔记提醒功能的功能,用户能够通过该对话框选择想要提醒的日期时间点。 -在用户选择日期时间后,将所选日期时间点保存到 `mWorkingNote` 对象中,以实现笔记的提醒功能。 - */ DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis()); d.setOnDateTimeSetListener(new OnDateTimeSetListener() { public void OnDateTimeSet(AlertDialog dialog, long date) { @@ -569,23 +559,13 @@ public class NoteEditActivity extends Activity implements OnClickListener, * and {@text/plain} type */ private void sendTo(Context context, String info) { - /* -这是一个名为 `sendTo()` 的私有方法,用于发送信息。 -该方法接受两个参数,一个是上下文(`context`),一个是要发送的信息(`info`)。 -方法的具体步骤如下: -1. 创建一个 `Intent` 对象,使用 `Intent.ACTION_SEND` 动作。这表示我们要发送数据。 -2. 使用 `intent.putExtra()` 方法将要发送的文本数据添加到 `Intent` 中。 -键为 `Intent.EXTRA_TEXT`,值为 `info`,即要发送的信息内容。 -3. 使用 `intent.setType()` 方法指定发送的数据类型为纯文本("text/plain")。 -4. 调用 `context.startActivity(intent)` 启动该意图,从而触发系统选择合适的应用程序来处理发送操作。 - */ - Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_TEXT, info); intent.setType("text/plain"); context.startActivity(intent); } + //创建新的便签函数 private void createNewNote() { // Firstly, save current editing notes saveNote(); @@ -595,18 +575,9 @@ public class NoteEditActivity extends Activity implements OnClickListener, Intent intent = new Intent(this, NoteEditActivity.class); intent.setAction(Intent.ACTION_INSERT_OR_EDIT); intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); - startActivity(intent);/* - 这段代码是一个方法 `createNewNote()` 的实现。下面是对代码的解释: -1. 首先,调用 `saveNote()` 方法保存当前正在编辑的笔记。 -2. 为了安全起见,在开始新的笔记之前,调用 `finish()` 方法关闭当前的 Activity。 -3. 创建一个新的 `Intent` 对象,将目标 Activity 设置为 `NoteEditActivity`(笔记编辑界面)。 -4. 使用 `Intent.ACTION_INSERT_OR_EDIT` 设置操作,表示是插入或编辑操作。 -5. 使用 `intent.putExtra()` 将当前笔记所属的文件夹的 ID 作为附加数据传递给 `NoteEditActivity`。 -6. 最后,调用 `startActivity(intent)` 启动 `NoteEditActivity`。 -这将打开一个新的笔记编辑界面,并根据传递的附加数据进行相应的操作。 - */ + startActivity(intent); } - + //删除当前工作的便签 private void deleteCurrentNote() { if (mWorkingNote.existInDatabase()) { HashSet ids = new HashSet(); @@ -626,21 +597,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, } } } - mWorkingNote.markDeleted(true); -/* - * 这段代码是一个方法 `deleteCurrentNote()` 的实现。下面是对代码的解释: -1. 首先,检查 `mWorkingNote` 是否存在于数据库中,即当前的笔记是否已经保存在数据库中。 -2. 如果存在于数据库中,创建一个 `HashSet` 集合 `ids`,用于存储需要删除的笔记的 ID。 -3. 获取当前笔记的 ID,并将其添加到 `ids` 集合中。 -4. 检查当前笔记的 ID 是否等于 `Notes.ID_ROOT_FOLDER`,如果不是,将其添加到 `ids` 集合中。 -5. 如果不是处于同步模式下(`isSyncMode()` 返回 `false`), -则调用 `DataUtils.batchDeleteNotes()` 方法批量删除数据库中的笔记。如果删除失败,打印错误日志信息。 -6. 如果处于同步模式下,调用 `DataUtils.batchMoveToFolder()` 方法 -将笔记批量移动到垃圾箱。如果移动失败,打印错误日志信息。 -7. 调用 `mWorkingNote.markDeleted(true)` 方法,将当前笔记标记为已删除。 -这段代码的作用是将当前的笔记标记为已删除,并根据不同的条件执行相应的操作: -如果不是同步模式,则删除数据库中的笔记;如果是同步模式,则将笔记移动到垃圾箱。 - */ + mWorkingNote.markDeleted(true); //标记删除 } private boolean isSyncMode() { @@ -818,24 +775,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, } private boolean getWorkingText() { -/* -这是一个名为 `getWorkingText()` 的私有方法,返回一个布尔值。 -该方法的作用是获取工作文本,具体步骤如下: -1. 首先,检查 `mWorkingNote` 对象的 `CheckListMode` -是否为 `TextNote.MODE_CHECK_LIST`。如果是,则进入列表模式的处理逻辑。 -2. 创建一个 `StringBuilder` 对象 `sb`,用于拼接文本。 -3. 遍历 `mEditTextList` 中的子视图(可能是多个文本编辑框): - - 获取子视图中的 `NoteEditText` 对象,用于获取文本内容。 - - 如果 `edit.getText()` 不为空,表示该文本框有输入内容。 - - 如果相应的复选框 `CheckBox` 被选中(`isChecked()` 返回 `true`), - 将文本设为已选中状态,并向 `sb` 添加标记 `TAG_CHECKED`,文本内容,以及换行符。 - 同时将 `hasChecked` 设为 `true`。 - - 否则,将文本设为未选中状态,并向 `sb` 添加标记 `TAG_UNCHECKED`,文本内容,以及换行符。 -4. 将拼接好的文本 `sb.toString()` 设为 `mWorkingNote` 的工作文本。 -5. 如果 `mWorkingNote` 的 `CheckListMode` 不是 `TextNote.MODE_CHECK_LIST`, -即非列表模式,则将 `mNoteEditor` 的文本内容设为 `mWorkingNote` 的工作文本。 -6. 返回 `hasChecked`,该布尔值表示是否存在已选中的文本项。 - */ boolean hasChecked = false; if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { StringBuilder sb = new StringBuilder(); @@ -857,7 +796,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, } return hasChecked; } - + //保存便签 private boolean saveNote() { getWorkingText(); boolean saved = mWorkingNote.saveNote(); @@ -876,24 +815,9 @@ public class NoteEditActivity extends Activity implements OnClickListener, private void sendToDesktop() { /** -这段代码实现了一个名为 `sendToDesktop()` 的方法,用于将当前编辑的笔记发送到桌面上。 -以下是对该方法的解释: -1. 首先,检查当前编辑的笔记 `mWorkingNote` 是否存在于数据库中。 -如果笔记在数据库中不存在(即为新笔记),则调用 `saveNote()` 方法保存笔记。 -2. 如果当前编辑的笔记已经存在于数据库中(即为已有的笔记),执行以下操作: - - 创建一个 `Intent` 对象 `sender`。 - - 创建一个 `Intent` 对象 `shortcutIntent`,指定其启动目标为 `NoteEditActivity` 类。 - - 为 `shortcutIntent` 指定动作 `Intent.ACTION_VIEW`,表示要进行查看操作。 - - 通过 `putExtra()` 方法向 `shortcutIntent` 传递附加信息,包括笔记的唯一标识符(`NoteId`)。 - - 通过 `sender.putExtra()` 方法向 `sender` 传递附加信息,包括快捷方式的意图(`shortcutIntent`)、 - 快捷方式的名称、快捷方式的图标资源和重复安装的标志等。 - - 通过设置 `sender` 的动作为 `"com.android.launcher.action.INSTALL_SHORTCUT"`,表示要安装快捷方式。 - - 调用 `showToast()` 方法显示一个消息提示框,提示用户笔记已进入桌面。 - - 调用 `sendBroadcast()` 方法发送广播,通知系统安装快捷方式。 -3. 如果当前编辑的笔记不存在(即为没有输入内容的空笔记), -则记录一个错误日志并调用 `showToast()` 方法显示一个错误提示框,提醒用户输入内容。 -4. 方法执行结束。 -综上,该方法的功能是将当前编辑的笔记发送到桌面上,并根据笔记的状态进行相应的处理,如保存新笔记、创建快捷方式等。 + * Before send message to home, we should make sure that current + * editing note is exists in databases. So, for new note, firstly + * save it */ if (!mWorkingNote.existInDatabase()) { saveNote(); diff --git a/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java b/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java index 2afe2a89..54244dcb 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java +++ b/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -101,117 +101,143 @@ public class NoteEditText extends EditText { @Override public boolean onTouchEvent(MotionEvent event) { + // 当用户触摸屏幕时执行以下操作 switch (event.getAction()) { case MotionEvent.ACTION_DOWN: - + // 获取触摸点的坐标 int x = (int) event.getX(); int y = (int) event.getY(); + // 调整坐标,考虑到文本框的内边距和滚动偏移 x -= getTotalPaddingLeft(); y -= getTotalPaddingTop(); x += getScrollX(); y += getScrollY(); - + // 获取布局信息,并确定触摸点所在的行和水平偏移位置 Layout layout = getLayout(); int line = layout.getLineForVertical(y); int off = layout.getOffsetForHorizontal(line, x); + // 选中文本中特定偏移位置的字符 Selection.setSelection(getText(), off); break; } - + // 继续处理触摸事件 return super.onTouchEvent(event); } - + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { + // 按键按下时执行以下操作 switch (keyCode) { case KeyEvent.KEYCODE_ENTER: + // 如果存在文本变化监听器,则返回false,否则执行默认操作 if (mOnTextViewChangeListener != null) { return false; } break; case KeyEvent.KEYCODE_DEL: + // 记录删除操作前的光标位置 mSelectionStartBeforeDelete = getSelectionStart(); break; default: break; } + // 继续处理按键事件 return super.onKeyDown(keyCode, event); } - + @Override public boolean onKeyUp(int keyCode, KeyEvent event) { + // 按键释放时执行以下操作 switch(keyCode) { case KeyEvent.KEYCODE_DEL: if (mOnTextViewChangeListener != null) { + // 如果存在文本变化监听器,并且删除操作前光标位置为0,则调用相应的方法,并返回true if (0 == mSelectionStartBeforeDelete && mIndex != 0) { mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString()); return true; } } else { - Log.d(TAG, "OnTextViewChangeListener was not seted"); + // 如果不存在文本变化监听器,则记录日志 + Log.d(TAG, "OnTextViewChangeListener was not set"); } break; case KeyEvent.KEYCODE_ENTER: if (mOnTextViewChangeListener != null) { + // 如果存在文本变化监听器,则获取光标位置和文本内容,并调用相应的方法 int selectionStart = getSelectionStart(); String text = getText().subSequence(selectionStart, length()).toString(); setText(getText().subSequence(0, selectionStart)); mOnTextViewChangeListener.onEditTextEnter(mIndex + 1, text); } else { - Log.d(TAG, "OnTextViewChangeListener was not seted"); + // 如果不存在文本变化监听器,则记录日志 + Log.d(TAG, "OnTextViewChangeListener was not set"); } break; default: break; } + // 继续处理按键事件 return super.onKeyUp(keyCode, event); } - @Override - protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { - if (mOnTextViewChangeListener != null) { - if (!focused && TextUtils.isEmpty(getText())) { - mOnTextViewChangeListener.onTextChange(mIndex, false); - } else { - mOnTextViewChangeListener.onTextChange(mIndex, true); - } + + + + + +@Override +protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { + if (mOnTextViewChangeListener != null) { + // 检查文本内容是否为空 + if (!focused && TextUtils.isEmpty(getText())) { + // 当焦点失去且文本为空时,调用回调函数通知文本发生变化 + mOnTextViewChangeListener.onTextChange(mIndex, false); + } else { + // 当焦点改变或文本不为空时,调用回调函数通知文本发生变化 + mOnTextViewChangeListener.onTextChange(mIndex, true); } - super.onFocusChanged(focused, direction, previouslyFocusedRect); } + // 调用父类的方法,处理焦点改变事件 + super.onFocusChanged(focused, direction, previouslyFocusedRect); +} - @Override - protected void onCreateContextMenu(ContextMenu menu) { - if (getText() instanceof Spanned) { - int selStart = getSelectionStart(); - int selEnd = getSelectionEnd(); - - int min = Math.min(selStart, selEnd); - int max = Math.max(selStart, selEnd); - - final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class); - if (urls.length == 1) { - int defaultResId = 0; - for(String schema: sSchemaActionResMap.keySet()) { - if(urls[0].getURL().indexOf(schema) >= 0) { - defaultResId = sSchemaActionResMap.get(schema); - break; - } - } - - if (defaultResId == 0) { - defaultResId = R.string.note_link_other; +@Override +protected void onCreateContextMenu(ContextMenu menu) { + if (getText() instanceof Spanned) { + int selStart = getSelectionStart(); + int selEnd = getSelectionEnd(); + + int min = Math.min(selStart, selEnd); + int max = Math.max(selStart, selEnd); + + // 获取选中文本中的 URLSpan 对象 + final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class); + if (urls.length == 1) { + int defaultResId = 0; + // 根据 URL 的 schema 查找对应的默认资源 ID + for(String schema: sSchemaActionResMap.keySet()) { + if(urls[0].getURL().indexOf(schema) >= 0) { + defaultResId = sSchemaActionResMap.get(schema); + break; } + } - menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener( - new OnMenuItemClickListener() { - public boolean onMenuItemClick(MenuItem item) { - // goto a new intent - urls[0].onClick(NoteEditText.this); - return true; - } - }); + if (defaultResId == 0) { + defaultResId = R.string.note_link_other; } + + // 向上下文菜单添加选项,并设置点击监听器 + menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener( + new OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + // 执行跳转到新 Intent 的操作 + urls[0].onClick(NoteEditText.this); + return true; + } + }); } - super.onCreateContextMenu(menu); } + // 调用父类的方法,创建右键菜单 + super.onCreateContextMenu(menu); +} } diff --git a/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java index 58bf94d1..1b416558 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -149,30 +149,41 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { + // 检查返回结果是否为成功,并且请求码是打开或新建节点的请求码 if (resultCode == RESULT_OK && (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) { + // 清空列表适配器的游标 mNotesListAdapter.changeCursor(null); } else { + // 调用父类的方法,处理返回结果 super.onActivityResult(requestCode, resultCode, data); } } - + private void setAppInfoFromRawRes() { + // 获取默认的 SharedPreference 对象 SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) { + // 创建一个 StringBuilder 对象来存储从文件中读取的内容 StringBuilder sb = new StringBuilder(); InputStream in = null; try { - in = getResources().openRawResource(R.raw.introduction); + // 打开 raw 文件夹下的 introduction 资源文件 + in = getResources().openRawResource(R.raw.introduction); if (in != null) { + // 创建 InputStreamReader 对象读取输入流 InputStreamReader isr = new InputStreamReader(in); + // 创建 BufferedReader 对象读取字符流 BufferedReader br = new BufferedReader(isr); - char [] buf = new char[1024]; + // 创建字符数组缓冲区 + char[] buf = new char[1024]; int len = 0; + // 读取字符流内容并追加到 StringBuilder 中 while ((len = br.read(buf)) > 0) { sb.append(buf, 0, len); } } else { + // 发生错误时打印错误信息 Log.e(TAG, "Read introduction file error"); return; } @@ -180,111 +191,127 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt e.printStackTrace(); return; } finally { - if(in != null) { + if (in != null) { try { in.close(); } catch (IOException e) { - // TODO Auto-generated catch block e.printStackTrace(); } } } - + + // 创建一个空的 WorkingNote 对象 WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER, AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE, ResourceParser.RED); + // 设置 WorkingNote 对象的文本内容为从文件中读取的内容 note.setWorkingText(sb.toString()); + // 保存 WorkingNote,并将其设置为已加入介绍的标志位 if (note.saveNote()) { sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit(); } else { + // 发生错误时打印错误信息 Log.e(TAG, "Save introduction note error"); return; } } } - @Override - protected void onStart() { - super.onStart(); - startAsyncNotesListQuery(); - } - private void initResources() { - mContentResolver = this.getContentResolver(); - mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver()); - mCurrentFolderId = Notes.ID_ROOT_FOLDER; - mNotesListView = (ListView) findViewById(R.id.notes_list); - mNotesListView.addFooterView(LayoutInflater.from(this).inflate(R.layout.note_list_footer, null), - null, false); - mNotesListView.setOnItemClickListener(new OnListItemClickListener()); - mNotesListView.setOnItemLongClickListener(this); - mNotesListAdapter = new NotesListAdapter(this); - mNotesListView.setAdapter(mNotesListAdapter); - mAddNewNote = (Button) findViewById(R.id.btn_new_note); - mAddNewNote.setOnClickListener(this); - mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener()); - mDispatch = false; - mDispatchY = 0; - mOriginY = 0; - mTitleBar = (TextView) findViewById(R.id.tv_title_bar); - mState = ListEditState.NOTE_LIST; - mModeCallBack = new ModeCallback(); - } - private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener { - private DropdownMenu mDropDownMenu; - private ActionMode mActionMode; - private MenuItem mMoveMenu; - - public boolean onCreateActionMode(ActionMode mode, Menu menu) { - getMenuInflater().inflate(R.menu.note_list_options, menu); - menu.findItem(R.id.delete).setOnMenuItemClickListener(this); - mMoveMenu = menu.findItem(R.id.move); - if (mFocusNoteDataItem.getParentId() == Notes.ID_CALL_RECORD_FOLDER - || DataUtils.getUserFolderCount(mContentResolver) == 0) { - mMoveMenu.setVisible(false); - } else { - mMoveMenu.setVisible(true); - mMoveMenu.setOnMenuItemClickListener(this); - } - mActionMode = mode; - mNotesListAdapter.setChoiceMode(true); - mNotesListView.setLongClickable(false); - mAddNewNote.setVisibility(View.GONE); +@Override +protected void onStart() { + super.onStart(); + startAsyncNotesListQuery(); // 在活动启动时开始异步笔记列表查询 +} - View customView = LayoutInflater.from(NotesListActivity.this).inflate( - R.layout.note_list_dropdown_menu, null); - mode.setCustomView(customView); - mDropDownMenu = new DropdownMenu(NotesListActivity.this, - (Button) customView.findViewById(R.id.selection_menu), - R.menu.note_list_dropdown); - mDropDownMenu.setOnDropdownMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){ - public boolean onMenuItemClick(MenuItem item) { - mNotesListAdapter.selectAll(!mNotesListAdapter.isAllSelected()); - updateMenu(); - return true; - } +/** + * 初始化资源 + */ +private void initResources() { + mContentResolver = this.getContentResolver(); // 获取内容解析器 + mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver()); // 初始化后台查询处理器 + mCurrentFolderId = Notes.ID_ROOT_FOLDER; // 设置当前文件夹 ID 为根文件夹 ID + mNotesListView = (ListView) findViewById(R.id.notes_list); // 获取笔记列表视图 + mNotesListView.addFooterView(LayoutInflater.from(this).inflate(R.layout.note_list_footer, null), null, false); // 为笔记列表添加底部视图 + mNotesListView.setOnItemClickListener(new OnListItemClickListener()); // 设置笔记列表项点击监听器 + mNotesListView.setOnItemLongClickListener(this); // 设置笔记列表项长按监听器 + mNotesListAdapter = new NotesListAdapter(this); // 初始化笔记列表适配器 + mNotesListView.setAdapter(mNotesListAdapter); // 设置笔记列表适配器 + mAddNewNote = (Button) findViewById(R.id.btn_new_note); // 获取新建笔记按钮 + mAddNewNote.setOnClickListener(this); // 设置新建笔记按钮点击监听器 + mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener()); // 设置新建笔记按钮触摸监听器 + mDispatch = false; + mDispatchY = 0; + mOriginY = 0; + mTitleBar = (TextView) findViewById(R.id.tv_title_bar); // 获取标题栏文本视图 + mState = ListEditState.NOTE_LIST; // 设置列表编辑状态为笔记列表状态 + mModeCallBack = new ModeCallback(); // 初始化模式回调 +} - }); - return true; +/** + * 模式回调类,实现列表多选模式监听器和菜单项点击监听器 + */ +private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener { + private DropdownMenu mDropDownMenu; // 下拉菜单 + private ActionMode mActionMode; // 操作模式 + private MenuItem mMoveMenu; // 移动菜单项 + + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + getMenuInflater().inflate(R.menu.note_list_options, menu); // 填充菜单项 + menu.findItem(R.id.delete).setOnMenuItemClickListener(this); // 设置删除菜单项点击监听器 + mMoveMenu = menu.findItem(R.id.move); // 查找移动菜单项 + if (mFocusNoteDataItem.getParentId() == Notes.ID_CALL_RECORD_FOLDER + || DataUtils.getUserFolderCount(mContentResolver) == 0) { + mMoveMenu.setVisible(false); // 如果当前笔记所属文件夹为通话记录文件夹或用户文件夹数量为 0,则隐藏移动菜单项 + } else { + mMoveMenu.setVisible(true); // 否则显示移动菜单项,并设置点击监听器 + mMoveMenu.setOnMenuItemClickListener(this); } + mActionMode = mode; // 保存操作模式对象 + mNotesListAdapter.setChoiceMode(true); // 设置笔记列表适配器选择模式为多选 + mNotesListView.setLongClickable(false); // 设置笔记列表不可长按 + mAddNewNote.setVisibility(View.GONE); // 隐藏新建笔记按钮 + + View customView = LayoutInflater.from(NotesListActivity.this).inflate( + R.layout.note_list_dropdown_menu, null); // 创建自定义视图 + mode.setCustomView(customView); // 设置操作模式的自定义视图 + mDropDownMenu = new DropdownMenu(NotesListActivity.this, + (Button) customView.findViewById(R.id.selection_menu), + R.menu.note_list_dropdown); // 初始化下拉菜单 + mDropDownMenu.setOnDropdownMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){ + public boolean onMenuItemClick(MenuItem item) { + mNotesListAdapter.selectAll(!mNotesListAdapter.isAllSelected()); // 选择或取消选择所有笔记并更新菜单 + updateMenu(); // 更新菜单 + return true; + } + }); + return true; + } - private void updateMenu() { - int selectedCount = mNotesListAdapter.getSelectedCount(); - // Update dropdown menu - String format = getResources().getString(R.string.menu_select_title, selectedCount); - mDropDownMenu.setTitle(format); - MenuItem item = mDropDownMenu.findItem(R.id.action_select_all); - if (item != null) { - if (mNotesListAdapter.isAllSelected()) { - item.setChecked(true); - item.setTitle(R.string.menu_deselect_all); - } else { - item.setChecked(false); - item.setTitle(R.string.menu_select_all); - } + private void updateMenu() { + int selectedCount = mNotesListAdapter.getSelectedCount(); + // 获取选择的数量 + + // 更新下拉菜单的标题 + String format = getResources().getString(R.string.menu_select_title, selectedCount); + mDropDownMenu.setTitle(format); + + // 找到菜单项 action_select_all + MenuItem item = mDropDownMenu.findItem(R.id.action_select_all); + if (item != null) { + // 如果所有的项目都被选择 + if (mNotesListAdapter.isAllSelected()) { + // 设置菜单项为选中状态,并更新标题为 "取消全选" + item.setChecked(true); + item.setTitle(R.string.menu_deselect_all); + } else { + // 设置菜单项为非选中状态,并更新标题为 "全选" + item.setChecked(false); + item.setTitle(R.string.menu_select_all); } } + } public boolean onPrepareActionMode(ActionMode mode, Menu menu) { // TODO Auto-generated method stub @@ -313,33 +340,40 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } public boolean onMenuItemClick(MenuItem item) { + // 如果没有选择任何项,则显示一个提示消息,并返回true表示处理了菜单项的点击事件 if (mNotesListAdapter.getSelectedCount() == 0) { Toast.makeText(NotesListActivity.this, getString(R.string.menu_select_none), Toast.LENGTH_SHORT).show(); return true; } - + int itemId = item.getItemId(); if (itemId == R.id.delete) { + // 创建一个警告对话框以确认删除操作 AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.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_notes, mNotesListAdapter.getSelectedCount())); + // 设置对话框的“确定”按钮点击事件 builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { + public void onClick(DialogInterface dialog, int which) { + // 执行批量删除操作 batchDelete(); } }); + // 设置对话框的“取消”按钮点击事件 builder.setNegativeButton(android.R.string.cancel, null); builder.show(); } else if (itemId == R.id.move) { + // 启动查询目标文件夹的操作 startQueryDestinationFolders(); } else { + // 对于其他菜单项的点击事件,直接返回false表示未处理 return false; } + // 返回true表示已处理菜单项的点击事件 return true; } } @@ -356,20 +390,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt int eventY = start + (int) event.getY(); /** * Minus TitleBar's height + * 减去标题栏的高度,适应子文件夹状态 */ if (mState == ListEditState.SUB_FOLDER) { eventY -= mTitleBar.getHeight(); start -= mTitleBar.getHeight(); } - /** - * HACKME:When click the transparent part of "New Note" button, dispatch - * the event to the list view behind this button. The transparent part of - * "New Note" button could be expressed by formula y=-0.12x+94(Unit:pixel) - * and the line top of the button. The coordinate based on left of the "New - * Note" button. The 94 represents maximum height of the transparent part. - * Notice that, if the background of the button changes, the formula should - * also change. This is very bad, just for the UI designer's strong requirement. - */ + // 计算是否在可触摸区域内 if (event.getY() < (event.getX() * (-0.12) + 94)) { View view = mNotesListView.getChildAt(mNotesListView.getChildCount() - 1 - mNotesListView.getFooterViewsCount()); @@ -403,31 +430,35 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } return false; } - }; 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"); } - + + // 后台异步查询处理器 private final class BackgroundQueryHandler extends AsyncQueryHandler { public BackgroundQueryHandler(ContentResolver contentResolver) { super(contentResolver); } - + @Override protected void onQueryComplete(int token, Object cookie, Cursor cursor) { switch (token) { case FOLDER_NOTE_LIST_QUERY_TOKEN: + // 查询完成后更新数据适配器 mNotesListAdapter.changeCursor(cursor); break; case FOLDER_LIST_QUERY_TOKEN: if (cursor != null && cursor.getCount() > 0) { + // 查询到文件夹数据后显示文件夹列表菜单 showFolderListMenu(cursor); } else { Log.e(TAG, "Query folder failed"); @@ -438,14 +469,17 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } } } - + + // 显示文件夹列表菜单 private void showFolderListMenu(Cursor cursor) { AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); builder.setTitle(R.string.menu_title_select_folder); + final FoldersListAdapter adapter = new FoldersListAdapter(this, cursor); builder.setAdapter(adapter, new DialogInterface.OnClickListener() { - + public void onClick(DialogInterface dialog, int which) { + // 将选中的笔记移动到所选的文件夹 DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter.getSelectedItemIds(), adapter.getItemId(which)); Toast.makeText( @@ -457,52 +491,67 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt mModeCallBack.finishActionMode(); } }); + builder.show(); } - + + // 创建新的笔记 private void createNewNote() { Intent intent = new Intent(this, NoteEditActivity.class); intent.setAction(Intent.ACTION_INSERT_OR_EDIT); intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mCurrentFolderId); + + // 启动NoteEditActivity以创建新的笔记 this.startActivityForResult(intent, REQUEST_CODE_NEW_NODE); } - private void batchDelete() { - new AsyncTask>() { - protected HashSet doInBackground(Void... unused) { - HashSet widgets = mNotesListAdapter.getSelectedWidget(); - if (!isSyncMode()) { - // if not synced, delete notes directly - if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter - .getSelectedItemIds())) { - } else { - Log.e(TAG, "Delete notes error, should not happens"); - } +/** + * 批量删除笔记操作 + */ +private void batchDelete() { + new AsyncTask>() { + /** + * 在后台执行操作 + */ + protected HashSet doInBackground(Void... unused) { + // 获取选中的小部件 + HashSet widgets = mNotesListAdapter.getSelectedWidget(); + if (!isSyncMode()) { + // 如果未同步,则直接删除笔记 + if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter.getSelectedItemIds())) { + // 删除成功 } else { - // in sync mode, we'll move the deleted note into the trash - // folder - if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter - .getSelectedItemIds(), Notes.ID_TRASH_FOLER)) { - Log.e(TAG, "Move notes to trash folder error, should not happens"); - } + Log.e(TAG, "Delete notes error, should not happens"); + } + } else { + // 在同步模式下,将已删除的笔记移动到回收站文件夹 + if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter.getSelectedItemIds(), + Notes.ID_TRASH_FOLER)) { + Log.e(TAG, "Move notes to trash folder error, should not happens"); } - return widgets; } + return widgets; + } - @Override - protected void onPostExecute(HashSet widgets) { - if (widgets != null) { - for (AppWidgetAttribute widget : widgets) { - if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID - && widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) { - updateWidget(widget.widgetId, widget.widgetType); - } + /** + * 在操作完成后更新小部件 + */ + @Override + protected void onPostExecute(HashSet widgets) { + if (widgets != null) { + // 更新与这些小部件相关联的小部件 + for (AppWidgetAttribute widget : widgets) { + if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) { + updateWidget(widget.widgetId, widget.widgetType); } } - mModeCallBack.finishActionMode(); } - }.execute(); - } + // 完成操作模式 + mModeCallBack.finishActionMode(); + } + }.execute(); +} private void deleteFolder(long folderId) { /* @@ -624,130 +673,137 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt return; } } else { - etName.setText(""); - builder.setTitle(this.getString(R.string.menu_create_folder)); + Log.e(TAG, "The long click data item is null"); // 如果长按的数据项为空,则记录错误日志并返回 + return; } + } else { + etName.setText(""); // 清空文件夹名 + builder.setTitle(this.getString(R.string.menu_create_folder)); // 设置对话框标题为创建文件夹 + } - builder.setPositiveButton(android.R.string.ok, null); - builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - hideSoftInput(etName); + builder.setPositiveButton(android.R.string.ok, null); // 设置确认按钮 + builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + hideSoftInput(etName); // 隐藏软键盘 + } + }); + + final Dialog dialog = builder.setView(view).show(); // 显示对话框 + final Button positive = (Button)dialog.findViewById(android.R.id.button1); // 获取确认按钮 + positive.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + hideSoftInput(etName); // 隐藏软键盘 + String name = etName.getText().toString(); // 获取输入的文件夹名 + if (DataUtils.checkVisibleFolderName(mContentResolver, name)) { + Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), + Toast.LENGTH_LONG).show(); // 如果文件夹名已存在,显示提示信息 + etName.setSelection(0, etName.length()); // 选择输入的文件夹名 + return; // 结束操作 } - }); - - final Dialog dialog = builder.setView(view).show(); - final Button positive = (Button)dialog.findViewById(android.R.id.button1); - positive.setOnClickListener(new OnClickListener() { - public void onClick(View v) { - hideSoftInput(etName); - String name = etName.getText().toString(); - if (DataUtils.checkVisibleFolderName(mContentResolver, name)) { - Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), - Toast.LENGTH_LONG).show(); - etName.setSelection(0, etName.length()); - return; - } - if (!create) { - if (!TextUtils.isEmpty(name)) { - ContentValues values = new ContentValues(); - values.put(NoteColumns.SNIPPET, name); - values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); - values.put(NoteColumns.LOCAL_MODIFIED, 1); - mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID - + "=?", new String[] { - String.valueOf(mFocusNoteDataItem.getId()) - }); - } - } else if (!TextUtils.isEmpty(name)) { + if (!create) { + if (!TextUtils.isEmpty(name)) { // 如果文件夹名不为空 ContentValues values = new ContentValues(); - values.put(NoteColumns.SNIPPET, name); - values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); - mContentResolver.insert(Notes.CONTENT_NOTE_URI, values); + values.put(NoteColumns.SNIPPET, name); // 设置文件夹名 + values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); // 设置类型为文件夹 + values.put(NoteColumns.LOCAL_MODIFIED, 1); // 设置本地修改标志为1 + mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID + + "=?", new String[] { + String.valueOf(mFocusNoteDataItem.getId()) // 根据文件夹id更新数据库中的文件夹名 + }); } - dialog.dismiss(); + } else if (!TextUtils.isEmpty(name)) { // 如果文件夹名不为空 + ContentValues values = new ContentValues(); + values.put(NoteColumns.SNIPPET, name); // 设置文件夹名 + values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); // 设置类型为文件夹 + mContentResolver.insert(Notes.CONTENT_NOTE_URI, values); // 插入数据库创建新的文件夹 } - }); - - if (TextUtils.isEmpty(etName.getText())) { - positive.setEnabled(false); + dialog.dismiss(); // 关闭对话框 } - /** - * When the name edit text is null, disable the positive button - */ - etName.addTextChangedListener(new TextWatcher() { - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - // TODO Auto-generated method stub + }); - } + if (TextUtils.isEmpty(etName.getText())) { + positive.setEnabled(false); // 如果文件夹名为空,禁用确认按钮 + } + etName.addTextChangedListener(new TextWatcher() { + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } - public void onTextChanged(CharSequence s, int start, int before, int count) { - if (TextUtils.isEmpty(etName.getText())) { - positive.setEnabled(false); - } else { - positive.setEnabled(true); - } + public void onTextChanged(CharSequence s, int start, int before, int count) { + if (TextUtils.isEmpty(etName.getText())) { + positive.setEnabled(false); // 如果文件夹名为空,禁用确认按钮 + } else { + positive.setEnabled(true); // 如果文件夹名不为空,启用确认按钮 } + } - public void afterTextChanged(Editable s) { - // TODO Auto-generated method stub + public void afterTextChanged(Editable s) { + } + }); +} - } - }); +@Override +public void onBackPressed() { + // 处理返回键事件 + switch (mState) { + case SUB_FOLDER: + // 如果当前状态为子文件夹列表状态 + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + startAsyncNotesListQuery(); + mTitleBar.setVisibility(View.GONE); + break; + case CALL_RECORD_FOLDER: + // 如果当前状态为通话记录文件夹状态 + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + mAddNewNote.setVisibility(View.VISIBLE); + mTitleBar.setVisibility(View.GONE); + startAsyncNotesListQuery(); + break; + case NOTE_LIST: + // 如果当前状态为笔记列表状态,则调用父类的返回键处理方法 + super.onBackPressed(); + break; + default: + break; } +} - @Override - public void onBackPressed() { - switch (mState) { - case SUB_FOLDER: - mCurrentFolderId = Notes.ID_ROOT_FOLDER; - mState = ListEditState.NOTE_LIST; - startAsyncNotesListQuery(); - mTitleBar.setVisibility(View.GONE); - break; - case CALL_RECORD_FOLDER: - mCurrentFolderId = Notes.ID_ROOT_FOLDER; - mState = ListEditState.NOTE_LIST; - mAddNewNote.setVisibility(View.VISIBLE); - mTitleBar.setVisibility(View.GONE); - startAsyncNotesListQuery(); - break; - case NOTE_LIST: - super.onBackPressed(); - break; - default: - break; - } +/** + * 更新小部件 + * @param appWidgetId 小部件id + * @param appWidgetType 小部件类型 + */ +private void updateWidget(int appWidgetId, int appWidgetType) { + Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); + if (appWidgetType == Notes.TYPE_WIDGET_2X) { + intent.setClass(this, NoteWidgetProvider_2x.class); // 设置小部件Provider为2x类型 + } else if (appWidgetType == Notes.TYPE_WIDGET_4X) { + intent.setClass(this, NoteWidgetProvider_4x.class); // 设置小部件Provider为4x类型 + } else { + Log.e(TAG, "Unspported widget type"); // 记录错误日志并返回 + return; } - private void updateWidget(int appWidgetId, int appWidgetType) { - Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); - if (appWidgetType == Notes.TYPE_WIDGET_2X) { - intent.setClass(this, NoteWidgetProvider_2x.class); - } else if (appWidgetType == Notes.TYPE_WIDGET_4X) { - intent.setClass(this, NoteWidgetProvider_4x.class); - } else { - Log.e(TAG, "Unspported widget type"); - return; - } - - intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] { - appWidgetId - }); + intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {appWidgetId}); // 设置小部件id - sendBroadcast(intent); - setResult(RESULT_OK, intent); - } + sendBroadcast(intent); // 发送广播通知小部件更新 + setResult(RESULT_OK, intent); +} - private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() { - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { - if (mFocusNoteDataItem != null) { - menu.setHeaderTitle(mFocusNoteDataItem.getSnippet()); - menu.add(0, MENU_FOLDER_VIEW, 0, R.string.menu_folder_view); - menu.add(0, MENU_FOLDER_DELETE, 0, R.string.menu_folder_delete); - menu.add(0, MENU_FOLDER_CHANGE_NAME, 0, R.string.menu_folder_change_name); - } +/** + * 文件夹长按菜单创建监听器 + */ +private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() { + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { + if (mFocusNoteDataItem != null) { + menu.setHeaderTitle(mFocusNoteDataItem.getSnippet()); // 设置菜单标题为文件夹名 + menu.add(0, MENU_FOLDER_VIEW, 0, R.string.menu_folder_view); // 添加查看文件夹菜单项 + menu.add(0, MENU_FOLDER_DELETE, 0, R.string.menu_folder_delete); // 添加删除文件夹菜单项 + menu.add(0, MENU_FOLDER_CHANGE_NAME, 0, R.string.menu_folder_change_name); // 添加修改文件夹名菜单项 } - }; + } +}; @Override public void onContextMenuClosed(Menu menu) { @@ -768,6 +824,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt openFolder(mFocusNoteDataItem); break; 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); @@ -782,21 +839,22 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt builder.show(); break; case MENU_FOLDER_CHANGE_NAME: + // 显示创建或修改文件夹的对话框 showCreateOrModifyFolderDialog(false); break; default: break; } - + return true; } - + @Override public boolean onPrepareOptionsMenu(Menu menu) { menu.clear(); if (mState == ListEditState.NOTE_LIST) { getMenuInflater().inflate(R.menu.note_list, menu); - // set sync or sync_cancel + // 设置同步或取消同步菜单项的标题 menu.findItem(R.id.menu_sync).setTitle( GTaskSyncService.isSyncing() ? R.string.menu_sync_cancel : R.string.menu_sync); } else if (mState == ListEditState.SUB_FOLDER) { @@ -955,79 +1013,91 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt from.startActivityIfNeeded(intent, -1); } - private class OnListItemClickListener implements OnItemClickListener { +// 创建一个内部类 OnListItemClickListener,实现了 OnItemClickListener 接口,用于处理列表项的单击事件 +private class OnListItemClickListener implements OnItemClickListener { - public void onItemClick(AdapterView parent, View view, int position, long id) { - if (view instanceof NotesListItem) { - NoteItemData item = ((NotesListItem) view).getItemData(); - if (mNotesListAdapter.isInChoiceMode()) { - if (item.getType() == Notes.TYPE_NOTE) { - position = position - mNotesListView.getHeaderViewsCount(); - mModeCallBack.onItemCheckedStateChanged(null, position, id, - !mNotesListAdapter.isSelectedItem(position)); - } - return; + public void onItemClick(AdapterView parent, View view, int position, long id) { + if (view instanceof NotesListItem) { + // 获取被点击的列表项的数据 + NoteItemData item = ((NotesListItem) view).getItemData(); + if (mNotesListAdapter.isInChoiceMode()) { + // 如果列表处于多选模式,则改变选中状态 + if (item.getType() == Notes.TYPE_NOTE) { + position = position - mNotesListView.getHeaderViewsCount(); + mModeCallBack.onItemCheckedStateChanged(null, position, id, + !mNotesListAdapter.isSelectedItem(position)); } + return; + } - switch (mState) { - case NOTE_LIST: - if (item.getType() == Notes.TYPE_FOLDER - || item.getType() == Notes.TYPE_SYSTEM) { - openFolder(item); - } else if (item.getType() == Notes.TYPE_NOTE) { - openNode(item); - } else { - Log.e(TAG, "Wrong note type in NOTE_LIST"); - } - break; - case SUB_FOLDER: - case CALL_RECORD_FOLDER: - if (item.getType() == Notes.TYPE_NOTE) { - openNode(item); - } else { - Log.e(TAG, "Wrong note type in SUB_FOLDER"); - } - break; - default: - break; - } + // 根据当前的状态和被点击的列表项的类型执行相应的操作 + switch (mState) { + case NOTE_LIST: + // 在笔记列表状态下,如果被点击的列表项是文件夹或系统项,则打开文件夹;如果是笔记项,则打开笔记 + if (item.getType() == Notes.TYPE_FOLDER + || item.getType() == Notes.TYPE_SYSTEM) { + openFolder(item); + } else if (item.getType() == Notes.TYPE_NOTE) { + openNode(item); + } else { + Log.e(TAG, "Wrong note type in NOTE_LIST"); + } + break; + case SUB_FOLDER: + case CALL_RECORD_FOLDER: + // 在子文件夹列表状态或通话记录文件夹状态下,如果被点击的列表项是笔记项,则打开笔记 + if (item.getType() == Notes.TYPE_NOTE) { + openNode(item); + } else { + Log.e(TAG, "Wrong note type in SUB_FOLDER"); + } + break; + default: + break; } } - } - private void startQueryDestinationFolders() { - String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?"; - selection = (mState == ListEditState.NOTE_LIST) ? selection: - "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")"; - - mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN, - null, - Notes.CONTENT_NOTE_URI, - FoldersListAdapter.PROJECTION, - selection, - new String[] { - String.valueOf(Notes.TYPE_FOLDER), - String.valueOf(Notes.ID_TRASH_FOLER), - String.valueOf(mCurrentFolderId) - }, - NoteColumns.MODIFIED_DATE + " DESC"); - } +} - public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { - if (view instanceof NotesListItem) { - mFocusNoteDataItem = ((NotesListItem) view).getItemData(); - if (mFocusNoteDataItem.getType() == Notes.TYPE_NOTE && !mNotesListAdapter.isInChoiceMode()) { - if (mNotesListView.startActionMode(mModeCallBack) != null) { - mModeCallBack.onItemCheckedStateChanged(null, position, id, true); - mNotesListView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); - } else { - Log.e(TAG, "startActionMode fails"); - } - } else if (mFocusNoteDataItem.getType() == Notes.TYPE_FOLDER) { - mNotesListView.setOnCreateContextMenuListener(mFolderOnCreateContextMenuListener); +// 开始查询目标文件夹 +private void startQueryDestinationFolders() { + String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?"; + selection = (mState == ListEditState.NOTE_LIST) ? selection: + "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")"; + + // 使用 BackgroundQueryHandler 发起查询 + mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN, + null, + Notes.CONTENT_NOTE_URI, + FoldersListAdapter.PROJECTION, + selection, + new String[] { + String.valueOf(Notes.TYPE_FOLDER), + String.valueOf(Notes.ID_TRASH_FOLER), + String.valueOf(mCurrentFolderId) + }, + NoteColumns.MODIFIED_DATE + " DESC"); +} + +public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { + if (view instanceof NotesListItem) { + // 获取长按的列表项的数据 + mFocusNoteDataItem = ((NotesListItem) view).getItemData(); + if (mFocusNoteDataItem.getType() == Notes.TYPE_NOTE && !mNotesListAdapter.isInChoiceMode()) { + // 如果长按的列表项是笔记项,并且当前不是多选模式,则启动 ActionMode 多选模式 + if (mNotesListView.startActionMode(mModeCallBack) != null) { + // 改变选中状态,并触发长按振动反馈 + mModeCallBack.onItemCheckedStateChanged(null, position, id, true); + mNotesListView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); + } else { + Log.e(TAG, "startActionMode fails"); } + } else if (mFocusNoteDataItem.getType() == Notes.TYPE_FOLDER) { + // 如果长按的列表项是文件夹,则设置菜单创建监听器为文件夹菜单监听器 + mNotesListView.setOnCreateContextMenuListener(mFolderOnCreateContextMenuListener); } - return false; } + return false; +} } diff --git a/src/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java b/src/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java index 51c9cb98..72a73d9a 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java +++ b/src/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java @@ -91,33 +91,44 @@ public class NotesListAdapter extends CursorAdapter { public HashSet getSelectedItemIds() { HashSet itemSet = new HashSet(); + // 遍历选中项的位置集合 for (Integer position : mSelectedIndex.keySet()) { + // 如果选中状态为 true if (mSelectedIndex.get(position) == true) { + // 获取该位置对应的项的 ID Long id = getItemId(position); + // 如果 ID 为根文件夹的 ID,则输出错误日志 if (id == Notes.ID_ROOT_FOLDER) { Log.d(TAG, "Wrong item id, should not happen"); } else { + // 将 ID 添加到集合中 itemSet.add(id); } } } - + return itemSet; } - + public HashSet getSelectedWidget() { HashSet itemSet = new HashSet(); + // 遍历选中项的位置集合 for (Integer position : mSelectedIndex.keySet()) { + // 如果选中状态为 true if (mSelectedIndex.get(position) == true) { + // 获取该位置对应的项的 Cursor Cursor c = (Cursor) getItem(position); + // 如果 Cursor 不为空 if (c != null) { AppWidgetAttribute widget = new AppWidgetAttribute(); NoteItemData item = new NoteItemData(mContext, c); + // 从项的数据中获取 Widget 的 ID 和类型 widget.widgetId = item.getWidgetId(); widget.widgetType = item.getWidgetType(); + // 将 Widget 添加到集合中 itemSet.add(widget); /** - * Don't close cursor here, only the adapter could close it + * 不要在这里关闭 Cursor,只有适配器可以关闭它 */ } else { Log.e(TAG, "Invalid cursor"); @@ -127,14 +138,16 @@ public class NotesListAdapter extends CursorAdapter { } return itemSet; } - + public int getSelectedCount() { Collection values = mSelectedIndex.values(); + // 如果选中项集合为 null,则返回 0 if (null == values) { return 0; } Iterator iter = values.iterator(); int count = 0; + // 遍历选中项的值集合,统计选中项的数量并返回 while (iter.hasNext()) { if (true == iter.next()) { count++; @@ -169,13 +182,21 @@ public class NotesListAdapter extends CursorAdapter { private void calcNotesCount() { mNotesCount = 0; + + // 循环遍历每一个项目 for (int i = 0; i < getCount(); i++) { + // 获取当前项对应的Cursor对象 Cursor c = (Cursor) getItem(i); + + // 检查当前Cursor对象是否有效 if (c != null) { + // 检查当前笔记的类型是否为普通笔记 if (NoteItemData.getNoteType(c) == Notes.TYPE_NOTE) { + // 增加笔记计数 mNotesCount++; } } else { + // 打印错误日志并返回 Log.e(TAG, "Invalid cursor"); return; } diff --git a/src/app/src/main/java/net/micode/notes/ui/NotesListItem.java b/src/app/src/main/java/net/micode/notes/ui/NotesListItem.java index 1221e808..369c9880 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NotesListItem.java +++ b/src/app/src/main/java/net/micode/notes/ui/NotesListItem.java @@ -47,27 +47,31 @@ public class NotesListItem extends LinearLayout { mCallName = (TextView) findViewById(R.id.tv_name); mCheckBox = (CheckBox) findViewById(android.R.id.checkbox); } - + + // 绑定数据到列表项 public void bind(Context context, NoteItemData data, boolean choiceMode, boolean checked) { + // 根据选择模式和数据类型设定复选框的可见性和选中状态 if (choiceMode && data.getType() == Notes.TYPE_NOTE) { mCheckBox.setVisibility(View.VISIBLE); mCheckBox.setChecked(checked); } else { mCheckBox.setVisibility(View.GONE); } - - mItemData = data; + + mItemData = data; // 将数据保存在类成员变量中 + + // 根据不同的数据类型和属性设置视图的可见性,文本内容和图像资源 if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { mCallName.setVisibility(View.GONE); mAlert.setVisibility(View.VISIBLE); mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); mTitle.setText(context.getString(R.string.call_record_folder_name) - + context.getString(R.string.format_folder_files_count, data.getNotesCount())); + + context.getString(R.string.format_folder_files_count, data.getNotesCount())); mAlert.setImageResource(R.drawable.call_record); } else if (data.getParentId() == Notes.ID_CALL_RECORD_FOLDER) { mCallName.setVisibility(View.VISIBLE); mCallName.setText(data.getCallName()); - mTitle.setTextAppearance(context,R.style.TextAppearanceSecondaryItem); + mTitle.setTextAppearance(context, R.style.TextAppearanceSecondaryItem); mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); if (data.hasAlert()) { mAlert.setImageResource(R.drawable.clock); @@ -78,11 +82,10 @@ public class NotesListItem extends LinearLayout { } else { mCallName.setVisibility(View.GONE); mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); - + if (data.getType() == Notes.TYPE_FOLDER) { mTitle.setText(data.getSnippet() - + context.getString(R.string.format_folder_files_count, - data.getNotesCount())); + + context.getString(R.string.format_folder_files_count, data.getNotesCount())); mAlert.setVisibility(View.GONE); } else { mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); @@ -94,11 +97,14 @@ public class NotesListItem extends LinearLayout { } } } + + // 设置时间文本为相对时间格式 mTime.setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate())); - - setBackground(data); + + setBackground(data); // 设置背景 } - + + // 根据数据类型和属性设置背景 private void setBackground(NoteItemData data) { int id = data.getBgColorId(); if (data.getType() == Notes.TYPE_NOTE) { diff --git a/src/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java b/src/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java index 07c5f7ec..ef66eadc 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java +++ b/src/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java @@ -72,28 +72,28 @@ public class NotesPreferenceActivity extends PreferenceActivity { @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); - - /* using the app icon for navigation */ + + /* 设置显示返回箭头 */ getActionBar().setDisplayHomeAsUpEnabled(true); - + + /* 从 XML 文件加载偏好设置 */ addPreferencesFromResource(R.xml.preferences); mAccountCategory = (PreferenceCategory) findPreference(PREFERENCE_SYNC_ACCOUNT_KEY); mReceiver = new GTaskReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(GTaskSyncService.GTASK_SERVICE_BROADCAST_NAME); registerReceiver(mReceiver, filter); - + mOriAccounts = null; View header = LayoutInflater.from(this).inflate(R.layout.settings_header, null); getListView().addHeaderView(header, null, true); } - + @Override protected void onResume() { super.onResume(); - - // need to set sync account automatically if user has added a new - // account + + // 需要在用户添加新帐户后自动设置同步帐户 if (mHasAddedAccount) { Account[] accounts = getGoogleAccounts(); if (mOriAccounts != null && accounts.length > mOriAccounts.length) { @@ -112,10 +112,10 @@ public class NotesPreferenceActivity extends PreferenceActivity { } } } - + refreshUI(); } - + @Override protected void onDestroy() { if (mReceiver != null) { @@ -123,10 +123,11 @@ public class NotesPreferenceActivity extends PreferenceActivity { } super.onDestroy(); } - + + /* 加载帐户偏好设置 */ private void loadAccountPreference() { mAccountCategory.removeAll(); - + Preference accountPref = new Preference(this); final String defaultAccount = getSyncAccountName(this); accountPref.setTitle(getString(R.string.preferences_account_title)); @@ -135,11 +136,10 @@ public class NotesPreferenceActivity extends PreferenceActivity { public boolean onPreferenceClick(Preference preference) { if (!GTaskSyncService.isSyncing()) { if (TextUtils.isEmpty(defaultAccount)) { - // the first time to set account + // 第一次设置帐户 showSelectAccountAlertDialog(); } else { - // if the account has already been set, we need to promp - // user about the risk + // 如果帐户已经设置,需要提示用户风险 showChangeAccountConfirmAlertDialog(); } } else { @@ -150,186 +150,194 @@ public class NotesPreferenceActivity extends PreferenceActivity { return true; } }); - + mAccountCategory.addPreference(accountPref); } - private void loadSyncButton() { - Button syncButton = (Button) findViewById(R.id.preference_sync_button); - TextView lastSyncTimeView = (TextView) findViewById(R.id.prefenerece_sync_status_textview); - - // set button state - if (GTaskSyncService.isSyncing()) { - syncButton.setText(getString(R.string.preferences_button_sync_cancel)); - syncButton.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - GTaskSyncService.cancelSync(NotesPreferenceActivity.this); - } - }); - } else { - syncButton.setText(getString(R.string.preferences_button_sync_immediately)); - syncButton.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - GTaskSyncService.startSync(NotesPreferenceActivity.this); - } - }); - } - syncButton.setEnabled(!TextUtils.isEmpty(getSyncAccountName(this))); - - // set last sync time - if (GTaskSyncService.isSyncing()) { - lastSyncTimeView.setText(GTaskSyncService.getProgressString()); +// 加载同步按钮 +private void loadSyncButton() { + // 获取同步按钮和上次同步时间视图 + Button syncButton = (Button) findViewById(R.id.preference_sync_button); + TextView lastSyncTimeView = (TextView) findViewById(R.id.prefenerece_sync_status_textview); + + // 设置按钮状态 + if (GTaskSyncService.isSyncing()) { + // 如果正在同步,则显示取消同步按钮,并设置点击监听器取消同步 + syncButton.setText(getString(R.string.preferences_button_sync_cancel)); + syncButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + GTaskSyncService.cancelSync(NotesPreferenceActivity.this); + } + }); + } else { + // 如果未在同步,则显示立即同步按钮,并设置点击监听器开始同步 + syncButton.setText(getString(R.string.preferences_button_sync_immediately)); + syncButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + GTaskSyncService.startSync(NotesPreferenceActivity.this); + } + }); + } + // 根据是否存在同步帐户来设置按钮是否可用 + syncButton.setEnabled(!TextUtils.isEmpty(getSyncAccountName(this))); + + // 设置上次同步时间 + if (GTaskSyncService.isSyncing()) { + // 如果正在同步,则显示同步进度,并设置视图可见 + lastSyncTimeView.setText(GTaskSyncService.getProgressString()); + lastSyncTimeView.setVisibility(View.VISIBLE); + } else { + // 如果未在同步,则获取上次同步时间并显示在视图中 + long lastSyncTime = getLastSyncTime(this); + if (lastSyncTime != 0) { + lastSyncTimeView.setText(getString(R.string.preferences_last_sync_time, + DateFormat.format(getString(R.string.preferences_last_sync_time_format), + lastSyncTime))); lastSyncTimeView.setVisibility(View.VISIBLE); } else { - long lastSyncTime = getLastSyncTime(this); - if (lastSyncTime != 0) { - lastSyncTimeView.setText(getString(R.string.preferences_last_sync_time, - DateFormat.format(getString(R.string.preferences_last_sync_time_format), - lastSyncTime))); - lastSyncTimeView.setVisibility(View.VISIBLE); - } else { - lastSyncTimeView.setVisibility(View.GONE); - } + // 如果没有上次同步时间,则隐藏视图 + lastSyncTimeView.setVisibility(View.GONE); } } +} - private void refreshUI() { - loadAccountPreference(); - loadSyncButton(); - } - - private void showSelectAccountAlertDialog() { - AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); - - View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); - TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); - titleTextView.setText(getString(R.string.preferences_dialog_select_account_title)); - TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); - subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips)); - - dialogBuilder.setCustomTitle(titleView); - dialogBuilder.setPositiveButton(null, null); - - Account[] accounts = getGoogleAccounts(); - String defAccount = getSyncAccountName(this); - - mOriAccounts = accounts; - mHasAddedAccount = false; +// 刷新用户界面 +private void refreshUI() { + // 加载帐户偏好设置 + loadAccountPreference(); + // 加载同步按钮 + loadSyncButton(); +} - if (accounts.length > 0) { - CharSequence[] items = new CharSequence[accounts.length]; - final CharSequence[] itemMapping = items; - int checkedItem = -1; - int index = 0; - for (Account account : accounts) { - if (TextUtils.equals(account.name, defAccount)) { - checkedItem = index; - } - items[index++] = account.name; +private void showSelectAccountAlertDialog() { + // 创建一个AlertDialog.Builder对象 + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + + // 填充自定义布局,用作对话框标题 + View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); + + // 设置对话框标题和副标题文本 + TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); + titleTextView.setText(getString(R.string.preferences_dialog_select_account_title)); + TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); + subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips)); + + // 设置自定义标题视图 + dialogBuilder.setCustomTitle(titleView); + + // 禁用对话框的确认按钮 + dialogBuilder.setPositiveButton(null, null); + + // 获取Google帐户数组和默认帐户 + Account[] accounts = getGoogleAccounts(); + String defAccount = getSyncAccountName(this); + + // 保存原始帐户数组并设置添加账户的标志 + mOriAccounts = accounts; + mHasAddedAccount = false; + + if (accounts.length > 0) { + // 创建一个字符序列数组来存储帐户名,并找到选中项的索引 + CharSequence[] items = new CharSequence[accounts.length]; + final CharSequence[] itemMapping = items; + int checkedItem = -1; + int index = 0; + for (Account account : accounts) { + if (TextUtils.equals(account.name, defAccount)) { + checkedItem = index; } - dialogBuilder.setSingleChoiceItems(items, checkedItem, - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - setSyncAccount(itemMapping[which].toString()); - dialog.dismiss(); - refreshUI(); - } - }); + items[index++] = account.name; } - - View addAccountView = LayoutInflater.from(this).inflate(R.layout.add_account_text, null); - dialogBuilder.setView(addAccountView); - - final AlertDialog dialog = dialogBuilder.show(); - addAccountView.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - mHasAddedAccount = true; - Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); - intent.putExtra(AUTHORITIES_FILTER_KEY, new String[] { - "gmail-ls" + // 设置单选项列表,其中帐户名为选项文本,checkedItem为默认选中项 + dialogBuilder.setSingleChoiceItems(items, checkedItem, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + setSyncAccount(itemMapping[which].toString()); + dialog.dismiss(); + refreshUI(); + } }); - startActivityForResult(intent, -1); - dialog.dismiss(); - } - }); - } - - private void showChangeAccountConfirmAlertDialog() { - AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); - - View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); - TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); - titleTextView.setText(getString(R.string.preferences_dialog_change_account_title, - getSyncAccountName(this))); - TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); - subtitleTextView.setText(getString(R.string.preferences_dialog_change_account_warn_msg)); - dialogBuilder.setCustomTitle(titleView); - - CharSequence[] menuItemArray = new CharSequence[] { - getString(R.string.preferences_menu_change_account), - getString(R.string.preferences_menu_remove_account), - getString(R.string.preferences_menu_cancel) - }; - dialogBuilder.setItems(menuItemArray, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - if (which == 0) { - showSelectAccountAlertDialog(); - } else if (which == 1) { - removeSyncAccount(); - refreshUI(); - } - } - }); - dialogBuilder.show(); } - private Account[] getGoogleAccounts() { - AccountManager accountManager = AccountManager.get(this); - return accountManager.getAccountsByType("com.google"); - } + // 填充自定义布局,用作添加账户的视图 + View addAccountView = LayoutInflater.from(this).inflate(R.layout.add_account_text, null); + dialogBuilder.setView(addAccountView); + + // 显示对话框 + final AlertDialog dialog = dialogBuilder.show(); + // 单击添加账户视图时触发 + addAccountView.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + mHasAddedAccount = true; + // 打开系统添加账户设置界面 + Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); + intent.putExtra(AUTHORITIES_FILTER_KEY, new String[] { + "gmail-ls" + }); + startActivityForResult(intent, -1); + dialog.dismiss(); + } + }); +} - private void setSyncAccount(String account) { - if (!getSyncAccountName(this).equals(account)) { - SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - if (account != null) { - editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, account); - } else { - editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); +private void showChangeAccountConfirmAlertDialog() { + // 创建一个AlertDialog.Builder对象 + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + + // 填充自定义布局,用作对话框标题 + View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); + TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); + titleTextView.setText(getString(R.string.preferences_dialog_change_account_title, getSyncAccountName(this))); + TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); + subtitleTextView.setText(getString(R.string.preferences_dialog_change_account_warn_msg)); + dialogBuilder.setCustomTitle(titleView); + + // 设置对话框的选项菜单 + CharSequence[] menuItemArray = new CharSequence[] { + getString(R.string.preferences_menu_change_account), + getString(R.string.preferences_menu_remove_account), + getString(R.string.preferences_menu_cancel) + }; + dialogBuilder.setItems(menuItemArray, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + if (which == 0) { + showSelectAccountAlertDialog(); + } else if (which == 1) { + removeSyncAccount(); + refreshUI(); } - editor.commit(); - - // clean up last sync time - setLastSyncTime(this, 0); - - // clean up local gtask related info - new Thread(new Runnable() { - public void run() { - ContentValues values = new ContentValues(); - values.put(NoteColumns.GTASK_ID, ""); - values.put(NoteColumns.SYNC_ID, 0); - getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); - } - }).start(); - - Toast.makeText(NotesPreferenceActivity.this, - getString(R.string.preferences_toast_success_set_accout, account), - Toast.LENGTH_SHORT).show(); } - } + }); + dialogBuilder.show(); +} - private void removeSyncAccount() { +private Account[] getGoogleAccounts() { + // 获取账户管理器实例 + AccountManager accountManager = AccountManager.get(this); + // 返回所有com.google类型的账户 + return accountManager.getAccountsByType("com.google"); +} + +private void setSyncAccount(String account) { + // 如果当前同步账户与设置的账户不同 + if (!getSyncAccountName(this).equals(account)) { + // 获取SharedPreferences实例 SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + // 获取SharedPreferences编辑器 SharedPreferences.Editor editor = settings.edit(); - if (settings.contains(PREFERENCE_SYNC_ACCOUNT_NAME)) { - editor.remove(PREFERENCE_SYNC_ACCOUNT_NAME); - } - if (settings.contains(PREFERENCE_LAST_SYNC_TIME)) { - editor.remove(PREFERENCE_LAST_SYNC_TIME); + // 如果账户不为null,设置同步账户名称 + if (account != null) { + editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, account); + } else { + // 否则清空同步账户名称 + editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); } editor.commit(); - // clean up local gtask related info + // 清空上次同步时间 + setLastSyncTime(this, 0); + + // 清空本地gtask相关信息 new Thread(new Runnable() { public void run() { ContentValues values = new ContentValues(); @@ -338,51 +346,92 @@ public class NotesPreferenceActivity extends PreferenceActivity { getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); } }).start(); - } - public static String getSyncAccountName(Context context) { - SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, - Context.MODE_PRIVATE); - return settings.getString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); + // 显示Toast提示设置成功 + Toast.makeText(NotesPreferenceActivity.this, + getString(R.string.preferences_toast_success_set_accout, account), + Toast.LENGTH_SHORT).show(); } +} - public static void setLastSyncTime(Context context, long time) { - SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, - Context.MODE_PRIVATE); - SharedPreferences.Editor editor = settings.edit(); - editor.putLong(PREFERENCE_LAST_SYNC_TIME, time); - editor.commit(); +private void removeSyncAccount() { + // 获取SharedPreferences实例 + SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + // 获取SharedPreferences编辑器 + SharedPreferences.Editor editor = settings.edit(); + // 如果包含同步账户名称信息,移除 + if (settings.contains(PREFERENCE_SYNC_ACCOUNT_NAME)) { + editor.remove(PREFERENCE_SYNC_ACCOUNT_NAME); } - - public static long getLastSyncTime(Context context) { - SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, - Context.MODE_PRIVATE); - return settings.getLong(PREFERENCE_LAST_SYNC_TIME, 0); + // 如果包含上次同步时间信息,移除 + if (settings.contains(PREFERENCE_LAST_SYNC_TIME)) { + editor.remove(PREFERENCE_LAST_SYNC_TIME); } + editor.commit(); + + // 清空本地gtask相关信息 + new Thread(new Runnable() { + public void run() { + ContentValues values = new ContentValues(); + values.put(NoteColumns.GTASK_ID, ""); + values.put(NoteColumns.SYNC_ID, 0); + getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); + } + }).start(); +} - private class GTaskReceiver extends BroadcastReceiver { +public static String getSyncAccountName(Context context) { + // 获取SharedPreferences实例 + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + // 返回同步账户名称 + return settings.getString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); +} - @Override - public void onReceive(Context context, Intent intent) { - refreshUI(); - if (intent.getBooleanExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_IS_SYNCING, false)) { - TextView syncStatus = (TextView) findViewById(R.id.prefenerece_sync_status_textview); - syncStatus.setText(intent - .getStringExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_PROGRESS_MSG)); - } +public static void setLastSyncTime(Context context, long time) { + // 获取SharedPreferences实例 + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + // 获取SharedPreferences编辑器 + SharedPreferences.Editor editor = settings.edit(); + // 设置上次同步时间 + editor.putLong(PREFERENCE_LAST_SYNC_TIME, time); + editor.commit(); +} +public static long getLastSyncTime(Context context) { + // 获取SharedPreferences实例 + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + // 返回上次同步时间 + return settings.getLong(PREFERENCE_LAST_SYNC_TIME, 0); +} + +private class GTaskReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + // 刷新UI界面 + refreshUI(); + // 如果正在同步任务 + if (intent.getBooleanExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_IS_SYNCING, false)) { + TextView syncStatus = (TextView) findViewById(R.id.prefenerece_sync_status_textview); + // 设置同步状态文本信息 + syncStatus.setText(intent.getStringExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_PROGRESS_MSG)); } } +} - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - Intent intent = new Intent(this, NotesListActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - startActivity(intent); - return true; - default: - return false; - } +public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + Intent intent = new Intent(this, NotesListActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + // 返回到主页面 + startActivity(intent); + return true; + default: + return false; } } +}