diff --git a/src/Notes-master2/.gradle/7.5/checksums/checksums.lock b/src/Notes-master2/.gradle/7.5/checksums/checksums.lock
index 64700d2..6cd2317 100644
Binary files a/src/Notes-master2/.gradle/7.5/checksums/checksums.lock and b/src/Notes-master2/.gradle/7.5/checksums/checksums.lock differ
diff --git a/src/Notes-master2/.gradle/7.5/checksums/sha1-checksums.bin b/src/Notes-master2/.gradle/7.5/checksums/sha1-checksums.bin
index e80e254..a79f00e 100644
Binary files a/src/Notes-master2/.gradle/7.5/checksums/sha1-checksums.bin and b/src/Notes-master2/.gradle/7.5/checksums/sha1-checksums.bin differ
diff --git a/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.bin b/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.bin
index f33b577..51c7ea4 100644
Binary files a/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.bin and b/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.bin differ
diff --git a/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.lock b/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.lock
index c62a5d7..e0f0d8a 100644
Binary files a/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.lock and b/src/Notes-master2/.gradle/7.5/executionHistory/executionHistory.lock differ
diff --git a/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.bin b/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.bin
index 6d97dbe..84c1046 100644
Binary files a/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.bin and b/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.bin differ
diff --git a/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.lock b/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.lock
index c76608b..6c67e9a 100644
Binary files a/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.lock and b/src/Notes-master2/.gradle/7.5/fileHashes/fileHashes.lock differ
diff --git a/src/Notes-master2/.gradle/7.5/fileHashes/resourceHashesCache.bin b/src/Notes-master2/.gradle/7.5/fileHashes/resourceHashesCache.bin
index a8b946b..37b444b 100644
Binary files a/src/Notes-master2/.gradle/7.5/fileHashes/resourceHashesCache.bin and b/src/Notes-master2/.gradle/7.5/fileHashes/resourceHashesCache.bin differ
diff --git a/src/Notes-master2/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/src/Notes-master2/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 7260fc1..d7c34e5 100644
Binary files a/src/Notes-master2/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/src/Notes-master2/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/src/Notes-master2/.gradle/buildOutputCleanup/outputFiles.bin b/src/Notes-master2/.gradle/buildOutputCleanup/outputFiles.bin
index f475948..c2d8a93 100644
Binary files a/src/Notes-master2/.gradle/buildOutputCleanup/outputFiles.bin and b/src/Notes-master2/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/src/Notes-master2/app/build.gradle b/src/Notes-master2/app/build.gradle
index 08e3521..9388b29 100644
--- a/src/Notes-master2/app/build.gradle
+++ b/src/Notes-master2/app/build.gradle
@@ -8,7 +8,7 @@ android {
defaultConfig {
applicationId "net.micode.notes"
minSdkVersion 14
- targetSdkVersion 29
+ targetSdkVersion 30
}
buildTypes {
diff --git a/src/Notes-master2/app/build/intermediates/apk/debug/app-debug.apk b/src/Notes-master2/app/build/intermediates/apk/debug/app-debug.apk
index 3e9fc40..568d8d7 100644
Binary files a/src/Notes-master2/app/build/intermediates/apk/debug/app-debug.apk and b/src/Notes-master2/app/build/intermediates/apk/debug/app-debug.apk differ
diff --git a/src/Notes-master2/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar b/src/Notes-master2/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar
index a54964f..d077654 100644
Binary files a/src/Notes-master2/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar and b/src/Notes-master2/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar differ
diff --git a/src/Notes-master2/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex b/src/Notes-master2/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex
index 0ff513a..d06fce0 100644
Binary files a/src/Notes-master2/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex and b/src/Notes-master2/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/dex_archive_input_jar_hashes/debug/out b/src/Notes-master2/app/build/intermediates/dex_archive_input_jar_hashes/debug/out
index 0549f1b..cf454e5 100644
Binary files a/src/Notes-master2/app/build/intermediates/dex_archive_input_jar_hashes/debug/out and b/src/Notes-master2/app/build/intermediates/dex_archive_input_jar_hashes/debug/out differ
diff --git a/src/Notes-master2/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties b/src/Notes-master2/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties
index 96daf38..fe8fc1e 100644
--- a/src/Notes-master2/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties
+++ b/src/Notes-master2/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties
@@ -1,4 +1,4 @@
-#Fri Apr 14 09:10:42 CST 2023
+#Thu May 11 23:02:37 CST 2023
net.micode.notes.app-main-7\:/drawable-hdpi/call_record.png=D\:\\Notes-master2\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat
net.micode.notes.app-main-7\:/drawable-hdpi/font_super.png=D\:\\Notes-master2\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_super.png.flat
net.micode.notes.app-main-7\:/drawable-hdpi/new_note_normal.png=D\:\\Notes-master2\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat
diff --git a/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt b/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
index 6874b10..9b03dce 100644
--- a/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
+++ b/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
@@ -1,4 +1,4 @@
-#Thu May 11 22:45:40 CST 2023
+#Fri May 12 00:03:05 CST 2023
base.0=D\:\\Notes-master2\\Notes-master2\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
renamed.0=classes.dex
path.0=classes.dex
diff --git a/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources b/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources
index 7897013..e6d1a81 100644
Binary files a/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources and b/src/Notes-master2/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class
index 2081cb7..aee9ebc 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class
index 1616418..b094057 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class
index 124eb6a..fac5cc4 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class
index e8e0e45..1aebe8f 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class
index c3ee8d8..2e2cbcd 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class
index 4812c99..c138552 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class
index 0754ffc..05b845a 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class
index dc60fe0..832dc5e 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class
index ff95cab..1b56559 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class
index 75a9a17..599971f 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class
index 81d6513..2293897 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class
index 66c9e6f..e75b5b3 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class
index 86cabc1..fb66d04 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class
index 5012ef9..dfacfce 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class
index 354ae8e..8e33561 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class
index 4064ac0..9048745 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class
index 19383ea..81a87a4 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class
index 29d4cf9..76e4131 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class
index 432dd4e..e17a4cb 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class
index ad7cce4..b7b903e 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class
index 6e0f050..1a5510c 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class
index 93cd34b..720aeb9 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class
index fea6568..f9ff47c 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class
index e56515b..864ac3f 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class
index 8c75fa4..4121fa5 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class
index 2b3e9c3..53c8d55 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class
index baeaf42..fe615e5 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class
index b24d0b2..16e7cca 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class
index 649cc3c..6cb3e5c 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class
index c76e72a..7d0dfb1 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class
index 8b3a2cf..03e742a 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class
index 70a6c32..c71fabd 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class
index b1e1063..04bd75e 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class
index b979434..d5141ec 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class
index c611459..b6d967b 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class
index 249af2c..fb094fd 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class
index 4836f10..a0accd5 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class
index 80d68f0..3cd4c7a 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class
index 1213a32..00dcca6 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class
index 479eb99..85c7ced 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class
index 5d8717b..f362edb 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class
index b58eac3..8731936 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class
index 9ec847b..9200bf0 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class
index 7598ed0..3a8e374 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class
index 573ba34..ff3f7c7 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class
index a1c7178..5c575ba 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class
index c01fcae..700a064 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class
index d7027b9..b894bf5 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class
index eb4eff7..4fead9d 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class
index 245633b..41aabe3 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class
index bcc1f6d..3e75616 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class
index 5053337..1a1b9c3 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class
index f6e1ed8..7b49448 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class differ
diff --git a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class
index fabc84f..1ea9c16 100644
Binary files a/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class and b/src/Notes-master2/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class differ
diff --git a/src/Notes-master2/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt b/src/Notes-master2/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
index b91fc47..88bbed4 100644
--- a/src/Notes-master2/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
+++ b/src/Notes-master2/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
@@ -1,273 +1,271 @@
1
-2
-17
-21
-22 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
-23 android:minSdkVersion="14"
-23-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:15-41
-24 android:targetSdkVersion="29" />
-24-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
-25
-26
-26-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:5-81
-26-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:22-78
-27
-27-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:26:5-88
-27-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:26:22-85
-28
-28-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:27:5-67
-28-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:27:22-64
-29
-29-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:5-72
-29-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:22-69
-30
-30-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:29:5-74
-30-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:29:22-71
-31
-31-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:30:5-80
-31-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:30:22-77
-32
-32-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:5-71
-32-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:22-68
-33
-33-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:32:5-74
-33-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:32:22-71
-34
-34-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:33:5-81
-34-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:33:22-78
-35
-36 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:35:5-149:19
-37 android:debuggable="true"
-38 android:icon="@drawable/icon_app"
-38-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:36:9-42
-39 android:label="@string/app_name"
-39-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:37:9-41
-40 android:testOnly="true" >
-41 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:38:9-51:20
-42 android:name="net.micode.notes.ui.NotesListActivity"
-42-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:39:13-49
-43 android:configChanges="keyboardHidden|orientation|screenSize"
-43-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:40:13-74
-44 android:label="@string/app_name"
-44-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:41:13-45
-45 android:launchMode="singleTop"
-45-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:42:13-43
-46 android:theme="@style/NoteTheme"
-46-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:43:13-45
-47 android:uiOptions="splitActionBarWhenNarrow"
-47-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:44:13-57
-48 android:windowSoftInputMode="adjustPan" >
-48-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:13-52
-49
-49-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:47:13-50:29
-50
-50-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:17-69
-50-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:25-66
-51
-52
-52-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:49:17-77
-52-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:49:27-74
-53
-54
-55 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:53:9-81:20
-56 android:name="net.micode.notes.ui.NoteEditActivity"
-56-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:13-48
-57 android:configChanges="keyboardHidden|orientation|screenSize"
-57-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:55:13-74
-58 android:launchMode="singleTop"
-58-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:56:13-43
-59 android:theme="@style/NoteTheme" >
-59-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:57:13-45
-60
-60-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:59:13-64:29
-61
-61-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:60:17-69
-61-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:60:25-66
-62
-63
-63-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
-63-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
-64
-65
-65-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
-65-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
-66
-66-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
-66-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
-67
+2
+3
+7
+8 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
+9 android:minSdkVersion="14"
+9-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:15-41
+10 android:targetSdkVersion="30" />
+10-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
+11
+12
+12-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:9:5-80
+12-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:9:22-78
+13
+13-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:11:5-87
+13-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:11:22-85
+14
+14-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:13:5-66
+14-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:13:22-64
+15
+15-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:15:5-71
+15-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:15:22-69
+16
+16-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:17:5-73
+16-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:17:22-71
+17
+17-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:19:5-79
+17-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:19:22-77
+18
+18-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:21:5-70
+18-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:21:22-68
+19
+19-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-73
+19-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:22-71
+20
+20-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:5-80
+20-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:22-78
+21 -
+22 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:6-146:15
+23 android:debuggable="true"
+24 android:icon="@drawable/icon_app"
+24-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:52-85
+25 android:label="@string/app_name"
+25-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:19-51
+26 android:testOnly="true" >
+27 -
+28 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:6-42:12
+29 android:name="net.micode.notes.ui.NotesListActivity"
+29-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:16-52
+30 android:configChanges="keyboardHidden|orientation|screenSize"
+30-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:235-296
+31 android:label="@string/app_name"
+31-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:53-85
+32 android:launchMode="singleTop"
+32-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:204-234
+33 android:theme="@style/NoteTheme"
+33-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:171-203
+34 android:uiOptions="splitActionBarWhenNarrow"
+34-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:126-170
+35 android:windowSoftInputMode="adjustPan" >
+35-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:86-125
+36 -
+37
+37-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:34:6-40:17
+38
+38-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:36:5-56
+38-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:36:13-54
+39
+40
+40-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:38:5-64
+40-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:38:15-62
+41
+42
+43 -
+44 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:6-84:12
+45 android:name="net.micode.notes.ui.NoteEditActivity"
+45-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:16-51
+46 android:configChanges="keyboardHidden|orientation|screenSize"
+46-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:116-177
+47 android:launchMode="singleTop"
+47-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:85-115
+48 android:theme="@style/NoteTheme" >
+48-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:52-84
+49 -
+50
+50-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:6-58:17
+50-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:52-73
+51
+51-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:50:5-56
+51-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:50:13-54
+52
+53
+53-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:5-63
+53-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:15-61
+54
+55
+55-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:5-65
+55-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:11-63
+56
+56-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:5-65
+56-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:11-63
+57
+58 -
+59
+59-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:6-71:17
+60
+60-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:63:5-66
+60-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:63:13-64
+61
+62
+62-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:5-63
+62-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:15-61
+63
+64
+64-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:5-65
+64-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:11-63
+65
+65-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:5-65
+65-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:11-63
+66
+67 -
68
-68-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:66:13-71:29
-69
-69-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:67:17-79
-69-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:67:25-76
+68-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:74:6-80:17
+69
+69-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:76:5-58
+69-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:76:13-56
70
71
-71-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
-71-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
-72
-73
-73-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
-73-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
-74
-74-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
-74-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
-75
-76
-76-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:73:13-76:29
-77
-77-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:74:17-71
-77-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:74:25-68
+71-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:5-63
+71-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:15-61
+72
+73
+74 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:82:5-90
+75 android:name="android.app.searchable"
+75-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:82:16-53
+76 android:resource="@xml/searchable" />
+76-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:82:54-88
+77
78
-79
-79-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
-79-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
-80
-81
-82 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:78:13-80:54
-83 android:name="android.app.searchable"
-83-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:79:17-54
-84 android:resource="@xml/searchable" />
-84-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:80:17-51
-85
-86
-87 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:83:9-86:43
-88 android:name="net.micode.notes.data.NotesProvider"
-88-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:84:13-63
-89 android:authorities="micode_notes"
-89-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:85:13-47
-90 android:multiprocess="true" />
-90-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:13-40
-91
-92 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:88:9-100:20
-93 android:name="net.micode.notes.widget.NoteWidgetProvider_2x"
-93-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:13-57
-94 android:label="@string/app_widget2x2" >
-94-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:90:13-50
-95
-95-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:91:13-95:29
-96
-96-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:17-84
-96-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:25-81
-97
-97-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:93:17-85
-97-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:93:25-82
-98
-98-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:17-85
-98-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:25-82
-99
-100
-101 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:97:13-99:58
-102 android:name="android.appwidget.provider"
-102-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:17-58
-103 android:resource="@xml/widget_2x_info" />
-103-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:99:17-55
-104
-105 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:101:9-114:20
-106 android:name="net.micode.notes.widget.NoteWidgetProvider_4x"
-106-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:13-57
-107 android:label="@string/app_widget4x4" >
-107-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:103:13-50
-108
-108-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:91:13-95:29
-109
-109-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:17-84
-109-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:25-81
-110
-110-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:93:17-85
-110-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:93:25-82
-111
-111-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:17-85
-111-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:25-82
-112
-113
-114 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:97:13-99:58
-115 android:name="android.appwidget.provider"
-115-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:17-58
-116 android:resource="@xml/widget_4x_info" />
-116-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:99:17-55
-117
-118
-118-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:116:9-120:20
-118-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:116:19-55
-119
-119-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:117:13-119:29
-120
-120-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:118:17-79
-120-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:118:25-76
-121
-122
-123 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:122:9-125:20
-124 android:name="net.micode.notes.ui.AlarmReceiver"
-124-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:123:13-61
-125 android:process=":remote" >
-125-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:124:13-38
-126
-127
-128 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:127:9-132:20
-129 android:name="net.micode.notes.ui.AlarmAlertActivity"
-129-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:128:13-50
-130 android:label="@string/app_name"
-130-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:129:13-45
-131 android:launchMode="singleInstance"
-131-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:130:13-48
-132 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" >
-132-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:131:13-75
-133
-134 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:134:9-139:20
-135 android:name="net.micode.notes.ui.NotesPreferenceActivity"
-135-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:135:13-71
-136 android:label="@string/preferences_title"
-136-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:13-54
-137 android:launchMode="singleTop"
-137-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:137:13-43
-138 android:theme="@android:style/Theme.Holo.Light" >
-138-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:13-60
-139
-140
-141 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:141:9-144:19
-142 android:name="net.micode.notes.gtask.remote.GTaskSyncService"
-142-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:13-74
-143 android:exported="false" >
-143-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:143:13-37
-144
-145
-146 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:146:9-148:52
-147 android:name="android.app.default_searchable"
-147-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:147:13-58
-148 android:value=".ui.NoteEditActivity" />
-148-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:148:13-49
-149
-150
-151
+79 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:5-130
+80 android:name="net.micode.notes.data.NotesProvider"
+80-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:15-65
+81 android:authorities="micode_notes"
+81-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:94-128
+82 android:multiprocess="true" />
+82-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:66-93
+83 -
+84 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:6-104:12
+85 android:name="net.micode.notes.widget.NoteWidgetProvider_2x"
+85-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:16-60
+86 android:label="@string/app_widget2x2" >
+86-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:61-98
+87 -
+88
+88-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:6-100:17
+89
+89-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:5-71
+89-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:13-69
+90
+90-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:96:5-72
+90-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:96:13-70
+91
+91-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:5-72
+91-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:13-70
+92
+93
+94 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:5-98
+95 android:name="android.appwidget.provider"
+95-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:16-57
+96 android:resource="@xml/widget_2x_info" />
+96-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:58-96
+97
+98 -
+99 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:107:6-122:12
+100 android:name="net.micode.notes.widget.NoteWidgetProvider_4x"
+100-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:107:16-60
+101 android:label="@string/app_widget4x4" >
+101-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:107:61-98
+102 -
+103
+103-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:6-100:17
+104
+104-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:5-71
+104-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:13-69
+105
+105-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:96:5-72
+105-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:96:13-70
+106
+106-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:5-72
+106-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:13-70
+107
+108
+109 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:5-98
+110 android:name="android.appwidget.provider"
+110-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:16-57
+111 android:resource="@xml/widget_4x_info" />
+111-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:58-96
+112
+113 -
+114
+114-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:125:6-134:12
+114-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:125:16-52
+115 -
+116
+116-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:128:6-132:17
+117
+117-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:130:5-66
+117-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:130:13-64
+118
+119
+120 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:5-102
+121 android:name="net.micode.notes.ui.AlarmReceiver"
+121-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:15-63
+122 android:process=":remote" >
+122-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:64-89
+123
+124
+125 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:5-197
+126 android:name="net.micode.notes.ui.AlarmAlertActivity"
+126-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:15-52
+127 android:label="@string/app_name"
+127-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:53-85
+128 android:launchMode="singleInstance"
+128-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:149-184
+129 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" >
+129-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:86-148
+130
+131 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:5-207
+132 android:name="net.micode.notes.ui.NotesPreferenceActivity"
+132-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:15-73
+133 android:label="@string/preferences_title"
+133-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:74-115
+134 android:launchMode="singleTop"
+134-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:164-194
+135 android:theme="@android:style/Theme.Holo.Light" >
+135-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:116-163
+136
+137
+138 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:5-112
+139 android:name="net.micode.notes.gtask.remote.GTaskSyncService"
+139-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:14-75
+140 android:exported="false" >
+140-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:76-100
+141
+142
+143 D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:144:5-100
+144 android:name="android.app.default_searchable"
+144-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:144:16-61
+145 android:value=".ui.NoteEditActivity" />
+145-->D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:144:62-98
+146
+147
+148
diff --git a/src/Notes-master2/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml b/src/Notes-master2/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
index f17b551..207e8e6 100644
--- a/src/Notes-master2/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
+++ b/src/Notes-master2/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
@@ -1,19 +1,5 @@
-
+
+ android:targetSdkVersion="30" />
@@ -32,12 +18,13 @@
-
+ -
+ -
+ -
+ -
-
+ -
+
@@ -65,6 +55,7 @@
+ -
@@ -73,6 +64,7 @@
+ -
@@ -88,10 +80,11 @@
android:name="net.micode.notes.data.NotesProvider"
android:authorities="micode_notes"
android:multiprocess="true" />
-
+ -
+ -
@@ -102,9 +95,11 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_2x_info" />
+ -
+ -
@@ -115,7 +110,9 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_4x_info" />
+ -
+ -
diff --git a/src/Notes-master2/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml b/src/Notes-master2/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
index f17b551..207e8e6 100644
--- a/src/Notes-master2/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
+++ b/src/Notes-master2/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
@@ -1,19 +1,5 @@
-
+
+ android:targetSdkVersion="30" />
@@ -32,12 +18,13 @@
-
+ -
+ -
+ -
+ -
-
+ -
+
@@ -65,6 +55,7 @@
+ -
@@ -73,6 +64,7 @@
+ -
@@ -88,10 +80,11 @@
android:name="net.micode.notes.data.NotesProvider"
android:authorities="micode_notes"
android:multiprocess="true" />
-
+ -
+ -
@@ -102,9 +95,11 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_2x_info" />
+ -
+ -
@@ -115,7 +110,9 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_4x_info" />
+ -
+ -
diff --git a/src/Notes-master2/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat b/src/Notes-master2/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat
index 2f30080..8103615 100644
Binary files a/src/Notes-master2/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat and b/src/Notes-master2/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat differ
diff --git a/src/Notes-master2/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml b/src/Notes-master2/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml
index f17b551..207e8e6 100644
--- a/src/Notes-master2/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml
+++ b/src/Notes-master2/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml
@@ -1,19 +1,5 @@
-
+
+ android:targetSdkVersion="30" />
@@ -32,12 +18,13 @@
-
+ -
+ -
+ -
+ -
-
+ -
+
@@ -65,6 +55,7 @@
+ -
@@ -73,6 +64,7 @@
+ -
@@ -88,10 +80,11 @@
android:name="net.micode.notes.data.NotesProvider"
android:authorities="micode_notes"
android:multiprocess="true" />
-
+ -
+ -
@@ -102,9 +95,11 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_2x_info" />
+ -
+ -
@@ -115,7 +110,9 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_4x_info" />
+ -
+ -
diff --git a/src/Notes-master2/app/build/intermediates/processed_res/debug/out/resources-debug.ap_ b/src/Notes-master2/app/build/intermediates/processed_res/debug/out/resources-debug.ap_
index 84a0978..6c2b65d 100644
Binary files a/src/Notes-master2/app/build/intermediates/processed_res/debug/out/resources-debug.ap_ and b/src/Notes-master2/app/build/intermediates/processed_res/debug/out/resources-debug.ap_ differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/3b39a0f8c9a74077ddf9126288e67b5aee0b290a2f74293e2d6f45ae0690b824_5.jar b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/3b39a0f8c9a74077ddf9126288e67b5aee0b290a2f74293e2d6f45ae0690b824_5.jar
deleted file mode 100644
index bb4e200..0000000
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/3b39a0f8c9a74077ddf9126288e67b5aee0b290a2f74293e2d6f45ae0690b824_5.jar and /dev/null differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex
index 9e69b03..6a7b191 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex
index 7097508..878dc30 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex
index b8af584..596e717 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex
index c6e8fd8..8d23610 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex
index 559c7e5..a1deb8a 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex
index b7482d9..18f5d08 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex
index 2d3dad9..81c30d3 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex
index 288c6fd..4eb81b0 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex
index 6d2a0a4..288f99a 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex
index ac6117e..e0ab5bb 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex
index 1fb0182..d780600 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex
index 1cbdbb2..557d718 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex
index 6c5293d..fcc9602 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex
index f2219ba..191e2b0 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex
index c64b75d..a1566bc 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex
index d76f231..8990976 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex
index 0d3d400..bb19a55 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex
index 33ac2d5..46ec89a 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex
index 5c48404..2075180 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex
index f5b5de2..6bfdcc7 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex
index 6f0d01c..f010174 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex
index 5b91144..f8a35f2 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex
index feb5c80..895e716 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex
index 1a58301..4b4507f 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex
index a8f8b9a..a09839f 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex
index c45f129..3bba530 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex
index 325b71c..5165016 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex
index 407156e..34892e9 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex
index 70c2996..337fd1e 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex
index f6b2b2b..319da80 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex
index 0b3ba38..631b95b 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex
index 707a413..1a39656 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex
index c94c6ce..98f3f02 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex
index 600d8fb..fc82b1f 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex
index f421318..35b763d 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex
index 14d23a7..a25b844 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex
index 0f517c1..ff66589 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex
index 01847b7..143237c 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex
index 0343d3f..6c7821c 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex
index ef8fae8..7a2802f 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex
index dd72238..55d1a6a 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex
index ab39c99..c241e3d 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex
index f8c2de3..e617f19 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex
index 3884261..5f3ba31 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex
index b125b7f..c33c296 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex
index ea4d3bb..59fe51b 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex
index 303cd9e..40ee790 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex
index 55eeca3..40668e2 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex
index 4ff53c2..ee245a9 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex
index 2559347..30b4f7b 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex
index 1b88930..c3f8162 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex
index aae067f..6d5dfd0 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex
index b66222f..9a16e2e 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex
index 6c5e3be..c43219d 100644
Binary files a/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex and b/src/Notes-master2/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex differ
diff --git a/src/Notes-master2/app/build/intermediates/runtime_symbol_list/debug/R.txt b/src/Notes-master2/app/build/intermediates/runtime_symbol_list/debug/R.txt
index 00d6e91..2927cf5 100644
--- a/src/Notes-master2/app/build/intermediates/runtime_symbol_list/debug/R.txt
+++ b/src/Notes-master2/app/build/intermediates/runtime_symbol_list/debug/R.txt
@@ -77,70 +77,71 @@ int drawable widget_4x_yellow 0x7f040041
int id account_dialog_subtitle 0x7f050000
int id account_dialog_title 0x7f050001
int id action_select_all 0x7f050002
-int id amPm 0x7f050003
-int id btn_new_note 0x7f050004
-int id btn_set_bg_color 0x7f050005
-int id cb_edit_item 0x7f050006
-int id date 0x7f050007
-int id delete 0x7f050008
-int id et_edit_text 0x7f050009
-int id et_foler_name 0x7f05000a
-int id font_size_selector 0x7f05000b
-int id hour 0x7f05000c
-int id iv_alert_icon 0x7f05000d
-int id iv_bg_blue 0x7f05000e
-int id iv_bg_blue_select 0x7f05000f
-int id iv_bg_green 0x7f050010
-int id iv_bg_green_select 0x7f050011
-int id iv_bg_red 0x7f050012
-int id iv_bg_red_select 0x7f050013
-int id iv_bg_white 0x7f050014
-int id iv_bg_white_select 0x7f050015
-int id iv_bg_yellow 0x7f050016
-int id iv_bg_yellow_select 0x7f050017
-int id iv_large_select 0x7f050018
-int id iv_medium_select 0x7f050019
-int id iv_small_select 0x7f05001a
-int id iv_super_select 0x7f05001b
-int id ll_font_large 0x7f05001c
-int id ll_font_normal 0x7f05001d
-int id ll_font_small 0x7f05001e
-int id ll_font_super 0x7f05001f
-int id menu_alert 0x7f050020
-int id menu_delete 0x7f050021
-int id menu_delete_remind 0x7f050022
-int id menu_export_text 0x7f050023
-int id menu_font_size 0x7f050024
-int id menu_list_mode 0x7f050025
-int id menu_new_folder 0x7f050026
-int id menu_new_note 0x7f050027
-int id menu_search 0x7f050028
-int id menu_send_to_desktop 0x7f050029
-int id menu_setting 0x7f05002a
-int id menu_share 0x7f05002b
-int id menu_sync 0x7f05002c
-int id minute 0x7f05002d
-int id move 0x7f05002e
-int id navigation_bar 0x7f05002f
-int id note_bg_color_selector 0x7f050030
-int id note_edit_list 0x7f050031
-int id note_edit_view 0x7f050032
-int id note_item 0x7f050033
-int id note_title 0x7f050034
-int id notes_list 0x7f050035
-int id prefenerece_sync_status_textview 0x7f050036
-int id preference_sync_button 0x7f050037
-int id selection_menu 0x7f050038
-int id sv_note_edit 0x7f050039
-int id tv_alert_date 0x7f05003a
-int id tv_folder_name 0x7f05003b
-int id tv_modified_date 0x7f05003c
-int id tv_name 0x7f05003d
-int id tv_time 0x7f05003e
-int id tv_title 0x7f05003f
-int id tv_title_bar 0x7f050040
-int id widget_bg_image 0x7f050041
-int id widget_text 0x7f050042
+int id add_img_btn 0x7f050003
+int id amPm 0x7f050004
+int id btn_new_note 0x7f050005
+int id btn_set_bg_color 0x7f050006
+int id cb_edit_item 0x7f050007
+int id date 0x7f050008
+int id delete 0x7f050009
+int id et_edit_text 0x7f05000a
+int id et_foler_name 0x7f05000b
+int id font_size_selector 0x7f05000c
+int id hour 0x7f05000d
+int id iv_alert_icon 0x7f05000e
+int id iv_bg_blue 0x7f05000f
+int id iv_bg_blue_select 0x7f050010
+int id iv_bg_green 0x7f050011
+int id iv_bg_green_select 0x7f050012
+int id iv_bg_red 0x7f050013
+int id iv_bg_red_select 0x7f050014
+int id iv_bg_white 0x7f050015
+int id iv_bg_white_select 0x7f050016
+int id iv_bg_yellow 0x7f050017
+int id iv_bg_yellow_select 0x7f050018
+int id iv_large_select 0x7f050019
+int id iv_medium_select 0x7f05001a
+int id iv_small_select 0x7f05001b
+int id iv_super_select 0x7f05001c
+int id ll_font_large 0x7f05001d
+int id ll_font_normal 0x7f05001e
+int id ll_font_small 0x7f05001f
+int id ll_font_super 0x7f050020
+int id menu_alert 0x7f050021
+int id menu_delete 0x7f050022
+int id menu_delete_remind 0x7f050023
+int id menu_export_text 0x7f050024
+int id menu_font_size 0x7f050025
+int id menu_list_mode 0x7f050026
+int id menu_new_folder 0x7f050027
+int id menu_new_note 0x7f050028
+int id menu_search 0x7f050029
+int id menu_send_to_desktop 0x7f05002a
+int id menu_setting 0x7f05002b
+int id menu_share 0x7f05002c
+int id menu_sync 0x7f05002d
+int id minute 0x7f05002e
+int id move 0x7f05002f
+int id navigation_bar 0x7f050030
+int id note_bg_color_selector 0x7f050031
+int id note_edit_list 0x7f050032
+int id note_edit_view 0x7f050033
+int id note_item 0x7f050034
+int id note_title 0x7f050035
+int id notes_list 0x7f050036
+int id prefenerece_sync_status_textview 0x7f050037
+int id preference_sync_button 0x7f050038
+int id selection_menu 0x7f050039
+int id sv_note_edit 0x7f05003a
+int id tv_alert_date 0x7f05003b
+int id tv_folder_name 0x7f05003c
+int id tv_modified_date 0x7f05003d
+int id tv_name 0x7f05003e
+int id tv_time 0x7f05003f
+int id tv_title 0x7f050040
+int id tv_title_bar 0x7f050041
+int id widget_bg_image 0x7f050042
+int id widget_text 0x7f050043
int layout account_dialog_title 0x7f060000
int layout add_account_text 0x7f060001
int layout datetime_picker 0x7f060002
diff --git a/src/Notes-master2/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt b/src/Notes-master2/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt
index 0e6024d..46e1373 100644
--- a/src/Notes-master2/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt
+++ b/src/Notes-master2/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt
@@ -1,221 +1,220 @@
net.micode.notes:string/ticker_success = 0x7f0a0062
net.micode.notes:string/preferences_menu_remove_account = 0x7f0a0052
-net.micode.notes:xml/widget_4x_info = 0x7f0c0003
-net.micode.notes:id/menu_search = 0x7f050028
-net.micode.notes:string/file_path = 0x7f0a0016
+net.micode.notes:string/preferences_account_summary = 0x7f0a0044
net.micode.notes:string/menu_export_text = 0x7f0a0023
-net.micode.notes:string/menu_search = 0x7f0a0031
net.micode.notes:layout/note_list = 0x7f060008
-net.micode.notes:string/search_label = 0x7f0a0058
+net.micode.notes:string/file_path = 0x7f0a0016
+net.micode.notes:string/menu_folder_change_name = 0x7f0a0024
net.micode.notes:string/note_link_other = 0x7f0a003d
net.micode.notes:string/note_alert_expired = 0x7f0a003b
-net.micode.notes:string/menu_folder_change_name = 0x7f0a0024
-net.micode.notes:xml/preferences = 0x7f0c0000
+net.micode.notes:id/tv_title_bar = 0x7f050041
net.micode.notes:string/menu_font_small = 0x7f0a002a
-net.micode.notes:id/tv_title_bar = 0x7f050040
net.micode.notes:string/ticker_syncing = 0x7f0a0063
net.micode.notes:style/HighlightTextAppearancePrimary = 0x7f0b0000
-net.micode.notes:string/preferences_title = 0x7f0a0053
-net.micode.notes:style/TextAppearanceNormal = 0x7f0b0006
+net.micode.notes:xml/preferences = 0x7f0c0000
+net.micode.notes:id/iv_bg_white = 0x7f050015
net.micode.notes:string/sync_progress_syncing = 0x7f0a005f
-net.micode.notes:string/preferences_toast_cannot_change_account = 0x7f0a0054
-net.micode.notes:string/alert_message_delete_notes = 0x7f0a0002
-net.micode.notes:id/note_title = 0x7f050034
-net.micode.notes:drawable/title_alert = 0x7f040036
+net.micode.notes:menu/sub_folder = 0x7f070006
net.micode.notes:style/NoteActionBarStyle = 0x7f0b0002
net.micode.notes:string/preferences_menu_change_account = 0x7f0a0051
-net.micode.notes:id/selection_menu = 0x7f050038
-net.micode.notes:string/preferences_menu_cancel = 0x7f0a0050
-net.micode.notes:string/sync_progress_init_list = 0x7f0a005d
+net.micode.notes:string/preferences_toast_cannot_change_account = 0x7f0a0054
+net.micode.notes:string/alert_message_delete_notes = 0x7f0a0002
+net.micode.notes:string/search_label = 0x7f0a0058
net.micode.notes:string/menu_sync = 0x7f0a0038
-net.micode.notes:string/menu_sync_cancel = 0x7f0a0039
+net.micode.notes:string/sync_progress_init_list = 0x7f0a005d
+net.micode.notes:string/preferences_menu_cancel = 0x7f0a0050
net.micode.notes:string/menu_normal_mode = 0x7f0a002f
+net.micode.notes:string/menu_sync_cancel = 0x7f0a0039
+net.micode.notes:drawable/title_alert = 0x7f040036
+net.micode.notes:id/note_title = 0x7f050035
+net.micode.notes:string/menu_search = 0x7f0a0031
net.micode.notes:string/preferences_last_sync_time = 0x7f0a004e
net.micode.notes:string/datetime_dialog_cancel = 0x7f0a0009
net.micode.notes:string/preferences_dialog_select_account_title = 0x7f0a004d
+net.micode.notes:id/menu_search = 0x7f050029
+net.micode.notes:xml/widget_4x_info = 0x7f0c0003
net.micode.notes:string/preferences_dialog_change_account_warn_msg = 0x7f0a004b
-net.micode.notes:string/menu_select_none = 0x7f0a0033
-net.micode.notes:style/TextAppearanceMedium = 0x7f0b0005
-net.micode.notes:string/preferences_button_sync_immediately = 0x7f0a0049
-net.micode.notes:string/widget_havenot_content = 0x7f0a0064
+net.micode.notes:style/TextAppearanceNormal = 0x7f0b0006
+net.micode.notes:string/preferences_title = 0x7f0a0053
+net.micode.notes:string/datetime_dialog_ok = 0x7f0a000a
+net.micode.notes:id/notes_list = 0x7f050036
net.micode.notes:layout/note_edit = 0x7f060005
-net.micode.notes:id/notes_list = 0x7f050035
+net.micode.notes:string/widget_havenot_content = 0x7f0a0064
+net.micode.notes:string/preferences_button_sync_immediately = 0x7f0a0049
net.micode.notes:string/preferences_button_sync_cancel = 0x7f0a0048
-net.micode.notes:string/preferences_account_summary = 0x7f0a0044
-net.micode.notes:string/notelist_menu_new = 0x7f0a0042
net.micode.notes:style/TextAppearanceSecondaryItem = 0x7f0b0008
-net.micode.notes:string/notealert_ok = 0x7f0a0041
-net.micode.notes:menu/sub_folder = 0x7f070006
-net.micode.notes:string/menu_remove_remind = 0x7f0a0030
-net.micode.notes:string/call_record_folder_name = 0x7f0a0008
-net.micode.notes:drawable/list_green_up = 0x7f040020
+net.micode.notes:string/notelist_menu_new = 0x7f0a0042
net.micode.notes:string/menu_share = 0x7f0a0037
net.micode.notes:style/HighlightTextAppearanceSecondary = 0x7f0b0001
net.micode.notes:string/ticker_cancel = 0x7f0a0060
+net.micode.notes:string/notealert_ok = 0x7f0a0041
net.micode.notes:string/note_link_web = 0x7f0a003f
net.micode.notes:string/menu_title_select_folder = 0x7f0a003a
net.micode.notes:string/menu_select_all = 0x7f0a0032
net.micode.notes:string/note_link_email = 0x7f0a003c
net.micode.notes:string/menu_move_parent_folder = 0x7f0a002e
-net.micode.notes:string/success_sdcard_export = 0x7f0a005b
net.micode.notes:string/notelist_string_info = 0x7f0a0043
+net.micode.notes:string/success_sdcard_export = 0x7f0a005b
+net.micode.notes:string/call_record_folder_name = 0x7f0a0008
+net.micode.notes:drawable/list_green_up = 0x7f040020
net.micode.notes:string/menu_move = 0x7f0a002d
net.micode.notes:menu/note_edit = 0x7f070002
net.micode.notes:string/menu_list_mode = 0x7f0a002c
+net.micode.notes:id/iv_bg_blue_select = 0x7f050010
net.micode.notes:string/error_note_empty_for_clock = 0x7f0a000c
-net.micode.notes:id/iv_bg_blue_select = 0x7f05000f
net.micode.notes:string/menu_font_super = 0x7f0a002b
net.micode.notes:string/menu_deselect_all = 0x7f0a0022
net.micode.notes:string/menu_create_folder = 0x7f0a0020
-net.micode.notes:string/info_note_enter_desktop = 0x7f0a001e
-net.micode.notes:id/menu_share = 0x7f05002b
-net.micode.notes:string/preferences_toast_success_set_accout = 0x7f0a0055
-net.micode.notes:string/widget_under_visit_mode = 0x7f0a0065
-net.micode.notes:id/menu_send_to_desktop = 0x7f050029
+net.micode.notes:id/menu_share = 0x7f05002c
+net.micode.notes:style/TextAppearanceMedium = 0x7f0b0005
+net.micode.notes:string/menu_select_none = 0x7f0a0033
net.micode.notes:string/hint_foler_name = 0x7f0a001d
net.micode.notes:string/folder_exist = 0x7f0a0017
net.micode.notes:style/TextAppearancePrimaryItem = 0x7f0b0007
+net.micode.notes:string/preferences_toast_success_set_accout = 0x7f0a0055
+net.micode.notes:string/widget_under_visit_mode = 0x7f0a0065
+net.micode.notes:id/menu_send_to_desktop = 0x7f05002a
net.micode.notes:string/format_date_ymd = 0x7f0a0018
net.micode.notes:string/set_remind_time_message = 0x7f0a005a
net.micode.notes:string/error_sync_network = 0x7f0a0013
net.micode.notes:string/error_sdcard_unmounted = 0x7f0a0010
-net.micode.notes:string/datetime_dialog_ok = 0x7f0a000a
net.micode.notes:drawable/new_note_normal = 0x7f040030
net.micode.notes:string/button_delete = 0x7f0a0007
net.micode.notes:string/app_widget2x2 = 0x7f0a0005
net.micode.notes:string/menu_select_title = 0x7f0a0034
-net.micode.notes:string/menu_font_normal = 0x7f0a0028
net.micode.notes:raw/introduction = 0x7f090000
net.micode.notes:string/format_exported_file_location = 0x7f0a001a
+net.micode.notes:string/menu_font_normal = 0x7f0a0028
net.micode.notes:string/alert_message_delete_folder = 0x7f0a0000
-net.micode.notes:xml/widget_2x_info = 0x7f0c0002
net.micode.notes:layout/datetime_picker = 0x7f060002
+net.micode.notes:xml/widget_2x_info = 0x7f0c0002
net.micode.notes:string/notealert_enter = 0x7f0a0040
+net.micode.notes:id/sv_note_edit = 0x7f05003a
net.micode.notes:drawable/new_note = 0x7f04002f
-net.micode.notes:id/sv_note_edit = 0x7f050039
+net.micode.notes:string/menu_remove_remind = 0x7f0a0030
net.micode.notes:dimen/text_font_size_super = 0x7f030004
net.micode.notes:plurals/search_results_title = 0x7f080000
net.micode.notes:drawable/selected = 0x7f040035
net.micode.notes:string/delete_remind_time_message = 0x7f0a000b
net.micode.notes:layout/widget_4x = 0x7f06000d
-net.micode.notes:id/et_foler_name = 0x7f05000a
+net.micode.notes:id/et_foler_name = 0x7f05000b
net.micode.notes:drawable/edit_green = 0x7f040007
net.micode.notes:style/TextAppearanceLarge = 0x7f0b0004
-net.micode.notes:id/iv_bg_blue = 0x7f05000e
+net.micode.notes:id/iv_bg_blue = 0x7f05000f
net.micode.notes:layout/settings_header = 0x7f06000b
net.micode.notes:drawable/new_note_pressed = 0x7f040031
+net.micode.notes:id/iv_bg_yellow_select = 0x7f050018
+net.micode.notes:id/move = 0x7f05002f
net.micode.notes:menu/call_note_edit = 0x7f070000
net.micode.notes:color/secondary_text_dark = 0x7f020001
net.micode.notes:style/TextAppearanceSuper = 0x7f0b0009
-net.micode.notes:id/iv_bg_yellow_select = 0x7f050017
-net.micode.notes:id/move = 0x7f05002e
net.micode.notes:drawable/list_white_single = 0x7f040027
net.micode.notes:layout/note_item = 0x7f060007
-net.micode.notes:layout/note_list_footer = 0x7f06000a
-net.micode.notes:id/btn_new_note = 0x7f050004
net.micode.notes:string/note_link_tel = 0x7f0a003e
-net.micode.notes:id/widget_text = 0x7f050042
+net.micode.notes:id/widget_text = 0x7f050043
+net.micode.notes:id/btn_new_note = 0x7f050005
+net.micode.notes:layout/note_list_footer = 0x7f06000a
net.micode.notes:drawable/widget_2x_blue = 0x7f040038
-net.micode.notes:id/tv_time = 0x7f05003e
-net.micode.notes:id/tv_name = 0x7f05003d
+net.micode.notes:id/tv_time = 0x7f05003f
+net.micode.notes:id/tv_name = 0x7f05003e
net.micode.notes:string/error_sdcard_export = 0x7f0a000f
-net.micode.notes:id/preference_sync_button = 0x7f050037
-net.micode.notes:id/note_edit_view = 0x7f050032
+net.micode.notes:id/preference_sync_button = 0x7f050038
+net.micode.notes:id/note_edit_view = 0x7f050033
net.micode.notes:string/preferences_last_sync_time_format = 0x7f0a004f
-net.micode.notes:id/navigation_bar = 0x7f05002f
+net.micode.notes:id/navigation_bar = 0x7f050030
net.micode.notes:string/app_widget4x4 = 0x7f0a0006
-net.micode.notes:id/minute = 0x7f05002d
+net.micode.notes:id/minute = 0x7f05002e
net.micode.notes:drawable/font_normal = 0x7f040011
net.micode.notes:drawable/font_super = 0x7f040014
-net.micode.notes:id/menu_sync = 0x7f05002c
-net.micode.notes:id/menu_setting = 0x7f05002a
+net.micode.notes:id/menu_sync = 0x7f05002d
+net.micode.notes:id/menu_setting = 0x7f05002b
net.micode.notes:drawable/list_green_down = 0x7f04001d
-net.micode.notes:id/menu_new_note = 0x7f050027
+net.micode.notes:id/menu_new_note = 0x7f050028
net.micode.notes:string/error_note_not_exist = 0x7f0a000e
-net.micode.notes:id/menu_new_folder = 0x7f050026
-net.micode.notes:id/menu_list_mode = 0x7f050025
-net.micode.notes:id/iv_medium_select = 0x7f050019
-net.micode.notes:id/menu_export_text = 0x7f050023
+net.micode.notes:id/menu_new_folder = 0x7f050027
+net.micode.notes:id/menu_list_mode = 0x7f050026
+net.micode.notes:id/iv_medium_select = 0x7f05001a
+net.micode.notes:id/menu_export_text = 0x7f050024
net.micode.notes:string/menu_folder_view = 0x7f0a0026
-net.micode.notes:id/menu_delete = 0x7f050021
+net.micode.notes:id/menu_delete = 0x7f050022
net.micode.notes:string/file_name_txt_format = 0x7f0a0015
net.micode.notes:string/ticker_fail = 0x7f0a0061
-net.micode.notes:id/prefenerece_sync_status_textview = 0x7f050036
+net.micode.notes:id/prefenerece_sync_status_textview = 0x7f050037
net.micode.notes:drawable/edit_blue = 0x7f040006
-net.micode.notes:id/menu_alert = 0x7f050020
+net.micode.notes:id/menu_alert = 0x7f050021
net.micode.notes:string/menu_font_size = 0x7f0a0029
net.micode.notes:drawable/edit_title_yellow = 0x7f04000d
net.micode.notes:string/menu_alert = 0x7f0a001f
net.micode.notes:string/success_sync_account = 0x7f0a005c
-net.micode.notes:id/ll_font_super = 0x7f05001f
-net.micode.notes:id/ll_font_small = 0x7f05001e
+net.micode.notes:id/ll_font_super = 0x7f050020
+net.micode.notes:id/ll_font_small = 0x7f05001f
net.micode.notes:menu/call_record_folder = 0x7f070001
-net.micode.notes:id/ll_font_normal = 0x7f05001d
-net.micode.notes:id/ll_font_large = 0x7f05001c
-net.micode.notes:id/note_bg_color_selector = 0x7f050030
-net.micode.notes:id/iv_super_select = 0x7f05001b
+net.micode.notes:id/ll_font_normal = 0x7f05001e
+net.micode.notes:id/ll_font_large = 0x7f05001d
+net.micode.notes:id/note_bg_color_selector = 0x7f050031
+net.micode.notes:id/iv_super_select = 0x7f05001c
net.micode.notes:drawable/search_result = 0x7f040034
-net.micode.notes:id/iv_bg_yellow = 0x7f050016
+net.micode.notes:id/iv_bg_yellow = 0x7f050017
net.micode.notes:drawable/widget_2x_green = 0x7f040039
-net.micode.notes:id/iv_bg_white_select = 0x7f050015
net.micode.notes:string/error_sync_cancelled = 0x7f0a0011
+net.micode.notes:id/iv_bg_white_select = 0x7f050016
net.micode.notes:string/format_move_notes_to_folder = 0x7f0a001c
net.micode.notes:drawable/widget_2x_red = 0x7f04003a
+net.micode.notes:id/tv_alert_date = 0x7f05003b
net.micode.notes:dimen/text_font_size_large = 0x7f030000
-net.micode.notes:id/tv_alert_date = 0x7f05003a
net.micode.notes:drawable/notification = 0x7f040033
-net.micode.notes:id/iv_bg_red = 0x7f050012
-net.micode.notes:id/iv_large_select = 0x7f050018
+net.micode.notes:id/iv_bg_red = 0x7f050013
+net.micode.notes:id/iv_large_select = 0x7f050019
net.micode.notes:string/menu_font_large = 0x7f0a0027
net.micode.notes:drawable/widget_4x_blue = 0x7f04003d
-net.micode.notes:id/iv_bg_green_select = 0x7f050011
-net.micode.notes:id/widget_bg_image = 0x7f050041
+net.micode.notes:id/iv_bg_green_select = 0x7f050012
+net.micode.notes:id/widget_bg_image = 0x7f050042
net.micode.notes:string/preferences_dialog_change_account_title = 0x7f0a004a
net.micode.notes:drawable/menu_move = 0x7f04002e
net.micode.notes:drawable/widget_4x_white = 0x7f040040
-net.micode.notes:id/font_size_selector = 0x7f05000b
+net.micode.notes:id/font_size_selector = 0x7f05000c
net.micode.notes:string/preferences_dialog_select_account_tips = 0x7f0a004c
-net.micode.notes:id/et_edit_text = 0x7f050009
+net.micode.notes:id/et_edit_text = 0x7f05000a
net.micode.notes:string/search = 0x7f0a0056
-net.micode.notes:id/cb_edit_item = 0x7f050006
-net.micode.notes:id/btn_set_bg_color = 0x7f050005
+net.micode.notes:id/cb_edit_item = 0x7f050007
+net.micode.notes:id/btn_set_bg_color = 0x7f050006
net.micode.notes:id/account_dialog_subtitle = 0x7f050000
net.micode.notes:menu/note_list = 0x7f070003
net.micode.notes:id/account_dialog_title = 0x7f050001
-net.micode.notes:id/amPm = 0x7f050003
-net.micode.notes:id/iv_bg_green = 0x7f050010
+net.micode.notes:id/amPm = 0x7f050004
+net.micode.notes:id/iv_bg_green = 0x7f050011
net.micode.notes:drawable/widget_4x_green = 0x7f04003e
-net.micode.notes:id/hour = 0x7f05000c
+net.micode.notes:id/hour = 0x7f05000d
net.micode.notes:drawable/note_edit_color_selector_panel = 0x7f040032
net.micode.notes:style/NoteTheme = 0x7f0b0003
net.micode.notes:drawable/widget_2x_yellow = 0x7f04003c
net.micode.notes:style/TextAppearanceUnderMenuIcon = 0x7f0b000a
-net.micode.notes:id/delete = 0x7f050008
+net.micode.notes:id/delete = 0x7f050009
net.micode.notes:drawable/title_bar_bg = 0x7f040037
net.micode.notes:drawable/menu_delete = 0x7f04002d
net.micode.notes:string/error_sync_internal = 0x7f0a0012
net.micode.notes:drawable/list_green_single = 0x7f04001f
net.micode.notes:string/alert_message_delete_note = 0x7f0a0001
-net.micode.notes:id/tv_modified_date = 0x7f05003c
+net.micode.notes:id/tv_modified_date = 0x7f05003d
net.micode.notes:drawable/list_blue_middle = 0x7f040018
-net.micode.notes:id/iv_small_select = 0x7f05001a
+net.micode.notes:id/iv_small_select = 0x7f05001b
net.micode.notes:menu/note_list_options = 0x7f070005
net.micode.notes:xml/searchable = 0x7f0c0001
net.micode.notes:string/menu_folder_delete = 0x7f0a0025
net.micode.notes:drawable/dropdown_icon = 0x7f040005
-net.micode.notes:id/date = 0x7f050007
+net.micode.notes:id/date = 0x7f050008
net.micode.notes:drawable/list_yellow_single = 0x7f04002b
net.micode.notes:drawable/list_red_up = 0x7f040024
net.micode.notes:drawable/widget_4x_yellow = 0x7f040041
net.micode.notes:drawable/list_yellow_middle = 0x7f04002a
-net.micode.notes:id/tv_folder_name = 0x7f05003b
+net.micode.notes:id/tv_folder_name = 0x7f05003c
net.micode.notes:drawable/list_yellow_down = 0x7f040029
net.micode.notes:string/format_folder_files_count = 0x7f0a001b
net.micode.notes:drawable/clock = 0x7f040003
net.micode.notes:drawable/list_white_up = 0x7f040028
net.micode.notes:drawable/edit_title_blue = 0x7f040009
net.micode.notes:drawable/edit_red = 0x7f040008
-net.micode.notes:id/iv_alert_icon = 0x7f05000d
+net.micode.notes:id/iv_alert_icon = 0x7f05000e
net.micode.notes:layout/dialog_edit_text = 0x7f060003
net.micode.notes:string/preferences_account_title = 0x7f0a0045
net.micode.notes:drawable/edit_white = 0x7f04000e
@@ -234,11 +233,10 @@ net.micode.notes:string/menu_send_to_desktop = 0x7f0a0035
net.micode.notes:drawable/list_red_single = 0x7f040023
net.micode.notes:string/failed_sdcard_export = 0x7f0a0014
net.micode.notes:drawable/widget_4x_red = 0x7f04003f
-net.micode.notes:id/menu_delete_remind = 0x7f050022
+net.micode.notes:id/menu_delete_remind = 0x7f050023
net.micode.notes:drawable/list_red_down = 0x7f040021
net.micode.notes:drawable/list_red_middle = 0x7f040022
-net.micode.notes:id/iv_bg_white = 0x7f050014
-net.micode.notes:id/iv_bg_red_select = 0x7f050013
+net.micode.notes:id/iv_bg_red_select = 0x7f050014
net.micode.notes:string/error_note_empty_for_send_to_desktop = 0x7f0a000d
net.micode.notes:layout/note_list_dropdown_menu = 0x7f060009
net.micode.notes:drawable/list_blue_down = 0x7f040017
@@ -250,24 +248,27 @@ net.micode.notes:array/menu_share_ways = 0x7f010001
net.micode.notes:drawable/widget_2x_white = 0x7f04003b
net.micode.notes:layout/folder_list_item = 0x7f060004
net.micode.notes:layout/add_account_text = 0x7f060001
-net.micode.notes:id/tv_title = 0x7f05003f
+net.micode.notes:id/tv_title = 0x7f050040
net.micode.notes:color/primary_text_dark = 0x7f020000
net.micode.notes:drawable/font_size_selector_bg = 0x7f040012
net.micode.notes:drawable/list_blue_up = 0x7f04001a
net.micode.notes:string/search_setting_description = 0x7f0a0059
net.micode.notes:drawable/list_blue_single = 0x7f040019
net.micode.notes:drawable/font_large = 0x7f040010
+net.micode.notes:id/selection_menu = 0x7f050039
+net.micode.notes:string/info_note_enter_desktop = 0x7f0a001e
+net.micode.notes:id/add_img_btn = 0x7f050003
net.micode.notes:drawable/delete = 0x7f040004
net.micode.notes:drawable/edit_yellow = 0x7f04000f
-net.micode.notes:id/note_item = 0x7f050033
+net.micode.notes:id/note_item = 0x7f050034
net.micode.notes:drawable/edit_title_white = 0x7f04000c
-net.micode.notes:id/note_edit_list = 0x7f050031
+net.micode.notes:id/note_edit_list = 0x7f050032
net.micode.notes:drawable/edit_title_red = 0x7f04000b
net.micode.notes:string/menu_delete = 0x7f0a0021
net.micode.notes:drawable/list_folder = 0x7f04001b
net.micode.notes:drawable/call_record = 0x7f040002
net.micode.notes:string/search_hint = 0x7f0a0057
-net.micode.notes:id/menu_font_size = 0x7f050024
+net.micode.notes:id/menu_font_size = 0x7f050025
net.micode.notes:drawable/bg_color_btn_mask = 0x7f040001
net.micode.notes:drawable/list_yellow_up = 0x7f04002c
net.micode.notes:dimen/text_font_size_small = 0x7f030003
diff --git a/src/Notes-master2/app/build/outputs/logs/manifest-merger-debug-report.txt b/src/Notes-master2/app/build/outputs/logs/manifest-merger-debug-report.txt
index 057b0d3..8a06e16 100644
--- a/src/Notes-master2/app/build/outputs/logs/manifest-merger-debug-report.txt
+++ b/src/Notes-master2/app/build/outputs/logs/manifest-merger-debug-report.txt
@@ -1,235 +1,241 @@
-- Merging decision tree log ---
manifest
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:5-148:12
package
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:19:5-31
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:65-91
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
android:versionName
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:21:5-30
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:15-40
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
+ xmlns:tools
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:92-138
xmlns:android
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:18:11-69
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:139-197
android:versionCode
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:20:5-28
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:5:41-64
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
uses-sdk
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
-INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
+INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
android:targetSdkVersion
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:5-43
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
android:minSdkVersion
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:15-41
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:7:15-41
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
INJECTED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:5-81
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:9:5-80
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:22-78
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:9:22-78
uses-permission#com.android.launcher.permission.INSTALL_SHORTCUT
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:26:5-88
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:11:5-87
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:26:22-85
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:11:22-85
uses-permission#android.permission.INTERNET
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:27:5-67
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:13:5-66
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:27:22-64
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:13:22-64
uses-permission#android.permission.READ_CONTACTS
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:5-72
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:15:5-71
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:22-69
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:15:22-69
uses-permission#android.permission.MANAGE_ACCOUNTS
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:29:5-74
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:17:5-73
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:29:22-71
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:17:22-71
uses-permission#android.permission.AUTHENTICATE_ACCOUNTS
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:30:5-80
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:19:5-79
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:30:22-77
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:19:22-77
uses-permission#android.permission.GET_ACCOUNTS
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:5-71
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:21:5-70
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:22-68
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:21:22-68
uses-permission#android.permission.USE_CREDENTIALS
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:32:5-74
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:5-73
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:32:22-71
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:23:22-71
uses-permission#android.permission.RECEIVE_BOOT_COMPLETED
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:33:5-81
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:5-80
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:33:22-78
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:25:22-78
application
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:35:5-149:19
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:6-146:15
android:label
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:37:9-41
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:19-51
android:icon
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:36:9-42
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:28:52-85
activity#net.micode.notes.ui.NotesListActivity
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:38:9-51:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:6-42:12
android:label
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:41:13-45
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:53-85
android:launchMode
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:42:13-43
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:204-234
android:windowSoftInputMode
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:13-52
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:86-125
android:uiOptions
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:44:13-57
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:126-170
android:configChanges
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:40:13-74
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:235-296
android:theme
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:43:13-45
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:171-203
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:39:13-49
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:31:16-52
intent-filter#action:name:android.intent.action.MAIN+category:name:android.intent.category.LAUNCHER
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:47:13-50:29
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:34:6-40:17
action#android.intent.action.MAIN
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:17-69
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:36:5-56
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:25-66
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:36:13-54
category#android.intent.category.LAUNCHER
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:49:17-77
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:38:5-64
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:49:27-74
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:38:15-62
activity#net.micode.notes.ui.NoteEditActivity
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:53:9-81:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:6-84:12
android:launchMode
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:56:13-43
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:85-115
android:configChanges
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:55:13-74
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:116-177
android:theme
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:57:13-45
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:52-84
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:13-48
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:45:16-51
intent-filter#action:name:android.intent.action.VIEW+category:name:android.intent.category.DEFAULT+data:mimeType:vnd.android.cursor.item/call_note+data:mimeType:vnd.android.cursor.item/text_note
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:59:13-64:29
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:6-58:17
+ android:scheme
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:52-73
+ tools:ignore
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:48:21-51
action#android.intent.action.VIEW
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:60:17-69
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:50:5-56
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:60:25-66
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:50:13-54
category#android.intent.category.DEFAULT
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:5-63
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:52:15-61
data
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:5-65
android:mimeType
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:54:11-63
intent-filter#action:name:android.intent.action.INSERT_OR_EDIT+category:name:android.intent.category.DEFAULT+data:mimeType:vnd.android.cursor.item/call_note+data:mimeType:vnd.android.cursor.item/text_note
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:66:13-71:29
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:61:6-71:17
action#android.intent.action.INSERT_OR_EDIT
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:67:17-79
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:63:5-66
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:67:25-76
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:63:13-64
intent-filter#action:name:android.intent.action.SEARCH+category:name:android.intent.category.DEFAULT
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:73:13-76:29
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:74:6-80:17
action#android.intent.action.SEARCH
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:74:17-71
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:76:5-58
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:74:25-68
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:76:13-56
meta-data#android.app.searchable
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:78:13-80:54
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:82:5-90
android:resource
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:80:17-51
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:82:54-88
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:79:17-54
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:82:16-53
provider#net.micode.notes.data.NotesProvider
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:83:9-86:43
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:5-130
android:authorities
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:85:13-47
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:94-128
android:multiprocess
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:13-40
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:66-93
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:84:13-63
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:86:15-65
receiver#net.micode.notes.widget.NoteWidgetProvider_2x
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:88:9-100:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:6-104:12
android:label
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:90:13-50
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:61-98
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:13-57
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:89:16-60
intent-filter#action:name:android.appwidget.action.APPWIDGET_DELETED+action:name:android.appwidget.action.APPWIDGET_UPDATE+action:name:android.intent.action.PRIVACY_MODE_CHANGED
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:91:13-95:29
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:6-100:17
action#android.appwidget.action.APPWIDGET_UPDATE
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:17-84
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:5-71
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:92:25-81
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:13-69
action#android.appwidget.action.APPWIDGET_DELETED
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:93:17-85
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:96:5-72
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:93:25-82
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:96:13-70
action#android.intent.action.PRIVACY_MODE_CHANGED
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:17-85
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:5-72
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:94:25-82
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:13-70
meta-data#android.appwidget.provider
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:97:13-99:58
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:5-98
android:resource
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:99:17-55
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:58-96
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:98:17-58
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:16-57
receiver#net.micode.notes.widget.NoteWidgetProvider_4x
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:101:9-114:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:107:6-122:12
android:label
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:103:13-50
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:107:61-98
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:102:13-57
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:107:16-60
receiver#net.micode.notes.ui.AlarmInitReceiver
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:116:9-120:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:125:6-134:12
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:116:19-55
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:125:16-52
intent-filter#action:name:android.intent.action.BOOT_COMPLETED
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:117:13-119:29
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:128:6-132:17
action#android.intent.action.BOOT_COMPLETED
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:118:17-79
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:130:5-66
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:118:25-76
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:130:13-64
receiver#net.micode.notes.ui.AlarmReceiver
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:122:9-125:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:5-102
android:process
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:124:13-38
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:64-89
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:123:13-61
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:15-63
activity#net.micode.notes.ui.AlarmAlertActivity
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:127:9-132:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:5-197
android:label
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:129:13-45
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:53-85
android:launchMode
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:130:13-48
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:149-184
android:theme
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:131:13-75
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:86-148
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:128:13-50
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:15-52
activity#net.micode.notes.ui.NotesPreferenceActivity
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:134:9-139:20
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:5-207
android:label
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:136:13-54
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:74-115
android:launchMode
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:137:13-43
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:164-194
android:theme
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:138:13-60
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:116-163
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:135:13-71
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:140:15-73
service#net.micode.notes.gtask.remote.GTaskSyncService
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:141:9-144:19
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:5-112
android:exported
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:143:13-37
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:76-100
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:13-74
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:142:14-75
meta-data#android.app.default_searchable
-ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:146:9-148:52
+ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:144:5-100
android:value
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:148:13-49
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:144:62-98
android:name
- ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:147:13-58
+ ADDED from D:\Notes-master2\Notes-master2\app\src\main\AndroidManifest.xml:144:16-61
diff --git a/src/Notes-master2/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/src/Notes-master2/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin
index fbd3125..5950ab2 100644
Binary files a/src/Notes-master2/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin and b/src/Notes-master2/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ
diff --git a/src/Notes-master2/app/src/main/AndroidManifest.xml b/src/Notes-master2/app/src/main/AndroidManifest.xml
index e5c7d47..ebccd4d 100644
--- a/src/Notes-master2/app/src/main/AndroidManifest.xml
+++ b/src/Notes-master2/app/src/main/AndroidManifest.xml
@@ -1,150 +1,148 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/model/WorkingNote.java b/src/Notes-master2/app/src/main/java/net/micode/notes/model/WorkingNote.java
index e086c1a..550e4b4 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/model/WorkingNote.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/model/WorkingNote.java
@@ -38,7 +38,7 @@ public class WorkingNote {
// Note Id
private long mNoteId;
// Note content
- private String mContent;
+ public String mContent;
// Note mode
private int mMode;
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
index 918412e..5bf372d 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.app.Activity;
@@ -39,50 +23,49 @@ import net.micode.notes.tool.DataUtils;
import java.io.IOException;
-
public class AlarmAlertActivity extends Activity implements OnClickListener, OnDismissListener {
- private long mNoteId; //文本在数据库存储中的ID号
- private String mSnippet; //闹钟提示时出现的文本片段
- private static final int SNIPPET_PREW_MAX_LEN = 60;
- MediaPlayer mPlayer;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的
- //onsaveInstanceState方法是用来保存Activity的状态的
- //能从onCreate的参数savedInsanceState中获得状态数据
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- //界面显示——无标题
-
- final Window win = getWindow();
- win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
-
- if (!isScreenOn()) {
- win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
- //保持窗体点亮
- | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
- //将窗体点亮
- | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
- //允许窗体点亮时锁屏
- | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
- }//在手机锁屏后如果到了闹钟提示时间,点亮屏幕
-
- Intent intent = getIntent();
-
- try {
- mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1));
- mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId);
- //根据ID从数据库中获取标签的内容;
- //getContentResolver()是实现数据共享,实例存储。
- mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0,
- SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info)
- : mSnippet;
- //判断标签片段是否达到符合长度
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- return;
- }
+ private long mNoteId; //文本在数据库存储中的ID号
+ private String mSnippet; //闹钟提示时出现的文本片段
+ private static final int SNIPPET_PREW_MAX_LEN = 60;
+ MediaPlayer mPlayer;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ //Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的
+ //onsaveInstanceState方法是用来保存Activity的状态的
+ //能从onCreate的参数savedInsanceState中获得状态数据
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
+ //界面显示——无标题
+
+ final Window win = getWindow();
+ win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
+
+ if (!isScreenOn()) {
+ win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+ //保持窗体点亮
+ | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+ //将窗体点亮
+ | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
+ //允许窗体点亮时锁屏
+ | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
+ }//在手机锁屏后如果到了闹钟提示时间,点亮屏幕
+
+ Intent intent = getIntent();
+
+ try {
+ mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1));
+ mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId);
+ //根据ID从数据库中获取标签的内容;
+ //getContentResolver()是实现数据共享,实例存储。
+ mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0,
+ SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info)
+ : mSnippet;
+ //判断标签片段是否达到符合长度
+ } catch (IllegalArgumentException e) {
+ e.printStackTrace();
+ return;
+ }
/*
try
{
@@ -93,117 +76,117 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD
// 异常处理
}
代码区如果有错误,就会返回所写异常的处理。*/
- mPlayer = new MediaPlayer();
- if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) {
- showActionDialog();
- //弹出对话框
- playAlarmSound();
- //闹钟提示音激发
- } else {
- finish();
- //完成闹钟动作
- }
- }
-
- private boolean isScreenOn() {
- //判断屏幕是否锁屏,调用系统函数判断,最后返回值是布尔类型
- PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
- return pm.isScreenOn();
- }
-
- private void playAlarmSound() {
+ mPlayer = new MediaPlayer();
+ if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) {
+ showActionDialog();
+ //弹出对话框
+ playAlarmSound();
//闹钟提示音激发
- Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM);
- //调用系统的铃声管理URI,得到闹钟提示音
- int silentModeStreams = Settings.System.getInt(getContentResolver(),
- Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0);
-
- if ((silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0) {
- mPlayer.setAudioStreamType(silentModeStreams);
- } else {
- mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
- }
- try {
- mPlayer.setDataSource(this, url);
- //方法:setDataSource(Context context, Uri uri)
- //解释:无返回值,设置多媒体数据来源【根据 Uri】
- mPlayer.prepare();
- //准备同步
- mPlayer.setLooping(true);
- //设置是否循环播放
- mPlayer.start();
- //开始播放
- } catch (IllegalArgumentException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- //e.printStackTrace()函数功能是抛出异常, 还将显示出更深的调用信息
- //System.out.println(e),这个方法打印出异常,并且输出在哪里出现的异常
- } catch (SecurityException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IllegalStateException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ } else {
+ finish();
+ //完成闹钟动作
}
-
- private void showActionDialog() {
- AlertDialog.Builder dialog = new AlertDialog.Builder(this);
- //AlertDialog的构造方法全部是Protected的
- //所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。
- //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
- //如这里的dialog就是新建了一个AlertDialog
- dialog.setTitle(R.string.app_name);
- //为对话框设置标题
- dialog.setMessage(mSnippet);
- //为对话框设置内容
- dialog.setPositiveButton(R.string.notealert_ok, this);
- //给对话框添加"Yes"按钮
- if (isScreenOn()) {
- dialog.setNegativeButton(R.string.notealert_enter, this);
- }//对话框添加"No"按钮
- dialog.show().setOnDismissListener(this);
+ }
+
+ private boolean isScreenOn() {
+ //判断屏幕是否锁屏,调用系统函数判断,最后返回值是布尔类型
+ PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
+ return pm.isScreenOn();
+ }
+
+ private void playAlarmSound() {
+ //闹钟提示音激发
+ Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM);
+ //调用系统的铃声管理URI,得到闹钟提示音
+ int silentModeStreams = Settings.System.getInt(getContentResolver(),
+ Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0);
+
+ if ((silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0) {
+ mPlayer.setAudioStreamType(silentModeStreams);
+ } else {
+ mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
}
-
- public void onClick(DialogInterface dialog, int which) {
- switch (which) {
- //用which来选择click后下一步的操作
- case DialogInterface.BUTTON_NEGATIVE:
- //这是取消操作
- Intent intent = new Intent(this, NoteEditActivity.class);
- //实现两个类间的数据传输
- intent.setAction(Intent.ACTION_VIEW);
- //设置动作属性
- intent.putExtra(Intent.EXTRA_UID, mNoteId);
- //实现key-value对
- //EXTRA_UID为key;mNoteId为键
- startActivity(intent);
- //开始动作
- break;
- default:
- //这是确定操作
- break;
- }
+ try {
+ mPlayer.setDataSource(this, url);
+ //方法:setDataSource(Context context, Uri uri)
+ //解释:无返回值,设置多媒体数据来源【根据 Uri】
+ mPlayer.prepare();
+ //准备同步
+ mPlayer.setLooping(true);
+ //设置是否循环播放
+ mPlayer.start();
+ //开始播放
+ } catch (IllegalArgumentException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ //e.printStackTrace()函数功能是抛出异常, 还将显示出更深的调用信息
+ //System.out.println(e),这个方法打印出异常,并且输出在哪里出现的异常
+ } catch (SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalStateException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
-
- public void onDismiss(DialogInterface dialog) {
- //忽略
- stopAlarmSound();
- //停止闹钟声音
- finish();
- //完成该动作
+ }
+
+ private void showActionDialog() {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(this);
+ //AlertDialog的构造方法全部是Protected的
+ //所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。
+ //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
+ //如这里的dialog就是新建了一个AlertDialog
+ dialog.setTitle(R.string.app_name);
+ //为对话框设置标题
+ dialog.setMessage(mSnippet);
+ //为对话框设置内容
+ dialog.setPositiveButton(R.string.notealert_ok, this);
+ //给对话框添加"Yes"按钮
+ if (isScreenOn()) {
+ dialog.setNegativeButton(R.string.notealert_enter, this);
+ }//对话框添加"No"按钮
+ dialog.show().setOnDismissListener(this);
+ }
+
+ public void onClick(DialogInterface dialog, int which) {
+ switch (which) {
+ //用which来选择click后下一步的操作
+ case DialogInterface.BUTTON_NEGATIVE:
+ //这是取消操作
+ Intent intent = new Intent(this, NoteEditActivity.class);
+ //实现两个类间的数据传输
+ intent.setAction(Intent.ACTION_VIEW);
+ //设置动作属性
+ intent.putExtra(Intent.EXTRA_UID, mNoteId);
+ //实现key-value对
+ //EXTRA_UID为key;mNoteId为键
+ startActivity(intent);
+ //开始动作
+ break;
+ default:
+ //这是确定操作
+ break;
}
-
- private void stopAlarmSound() {
- if (mPlayer != null) {
- mPlayer.stop();
- //停止播放
- mPlayer.release();
- //释放MediaPlayer对象
- mPlayer = null;
- }
+ }
+
+ public void onDismiss(DialogInterface dialog) {
+ //忽略
+ stopAlarmSound();
+ //停止闹钟声音
+ finish();
+ //完成该动作
+ }
+
+ private void stopAlarmSound() {
+ if (mPlayer != null) {
+ mPlayer.stop();
+ //停止播放
+ mPlayer.release();
+ //释放MediaPlayer对象
+ mPlayer = null;
}
-}
+ }
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
index f221202..4163ccd 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.app.AlarmManager;
@@ -31,21 +15,25 @@ import net.micode.notes.data.Notes.NoteColumns;
public class AlarmInitReceiver extends BroadcastReceiver {
private static final String [] PROJECTION = new String [] {
- NoteColumns.ID,
- NoteColumns.ALERTED_DATE
+ NoteColumns.ID,
+ NoteColumns.ALERTED_DATE
};
-
+ //对数据库的操作,调用标签ID和闹钟时间
private static final int COLUMN_ID = 0;
private static final int COLUMN_ALERTED_DATE = 1;
@Override
public void onReceive(Context context, Intent intent) {
long currentDate = System.currentTimeMillis();
+ //System.currentTimeMillis()产生一个当前的毫秒
+ //这个毫秒其实就是自1970年1月1日0时起的毫秒数
Cursor c = context.getContentResolver().query(Notes.CONTENT_NOTE_URI,
PROJECTION,
NoteColumns.ALERTED_DATE + ">? AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE,
new String[] { String.valueOf(currentDate) },
+ //将long变量currentDate转化为字符串
null);
+ //Cursor在这里的作用是通过查找数据库中的标签内容,找到和当前系统时间相等的标签
if (c != null) {
if (c.moveToFirst()) {
@@ -61,5 +49,8 @@ public class AlarmInitReceiver extends BroadcastReceiver {
}
c.close();
}
+ //然而通过网上查找资料发现,对于闹钟机制的启动,通常需要上面的几个步骤
+ //如新建Intent、PendingIntent以及AlarmManager等
+ //这里就是根据数据库里的闹钟时间创建一个闹钟机制
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java
index 54e503b..6e22aff 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.content.BroadcastReceiver;
@@ -24,7 +8,13 @@ public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
intent.setClass(context, AlarmAlertActivity.class);
+ //启动AlarmAlertActivity
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ //activity要存在于activity的栈中,而非activity的途径启动activity时必然不存在一个activity的栈
+ //所以要新起一个栈装入启动的activity
context.startActivity(intent);
}
}
+//这是实现alarm这个功能最接近用户层的包,基于上面的两个包,
+//作用还需要深究但是对于setClass和addFlags的
+
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePicker.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePicker.java
index 496b0cd..8d74062 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePicker.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePicker.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import java.text.DateFormatSymbols;
@@ -29,7 +13,8 @@ import android.widget.FrameLayout;
import android.widget.NumberPicker;
public class DateTimePicker extends FrameLayout {
-
+ //FrameLayout是布局模板之一
+ //所有的子元素全部在屏幕的右上方
private static final boolean DEFAULT_ENABLE_STATE = true;
private static final int HOURS_IN_HALF_DAY = 12;
@@ -45,13 +30,15 @@ public class DateTimePicker extends FrameLayout {
private static final int MINUT_SPINNER_MAX_VAL = 59;
private static final int AMPM_SPINNER_MIN_VAL = 0;
private static final int AMPM_SPINNER_MAX_VAL = 1;
-
+ //初始化控件
private final NumberPicker mDateSpinner;
private final NumberPicker mHourSpinner;
private final NumberPicker mMinuteSpinner;
private final NumberPicker mAmPmSpinner;
+ //NumberPicker是数字选择器
+ //这里定义的四个变量全部是在设置闹钟时需要选择的变量(如日期、时、分、上午或者下午)
private Calendar mDate;
-
+ //定义了Calendar类型的变量mDate,用于操作时间
private String[] mDateDisplayValues = new String[DAYS_IN_ALL_WEEK];
private boolean mIsAm;
@@ -71,41 +58,49 @@ public class DateTimePicker extends FrameLayout {
updateDateControl();
onDateTimeChanged();
}
- };
+ };//OnValueChangeListener,这是时间改变监听器,这里主要是对日期的监听
+ //将现在日期的值传递给mDate;updateDateControl是同步操作
private NumberPicker.OnValueChangeListener mOnHourChangedListener = new NumberPicker.OnValueChangeListener() {
+ //这里是对 小时(Hour) 的监听
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
boolean isDateChanged = false;
Calendar cal = Calendar.getInstance();
+ //声明一个Calendar的变量cal,便于后续的操作
if (!mIs24HourView) {
if (!mIsAm && oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY) {
cal.setTimeInMillis(mDate.getTimeInMillis());
cal.add(Calendar.DAY_OF_YEAR, 1);
isDateChanged = true;
+ //这里是对于12小时制时,晚上11点和12点交替时对日期的更改
} else if (mIsAm && oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) {
cal.setTimeInMillis(mDate.getTimeInMillis());
cal.add(Calendar.DAY_OF_YEAR, -1);
isDateChanged = true;
}
+ //这里是对于12小时制时,凌晨11点和12点交替时对日期的更改
if (oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY ||
oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) {
mIsAm = !mIsAm;
updateAmPmControl();
- }
+ }//这里是对于12小时制时,中午11点和12点交替时对AM和PM的更改
} else {
if (oldVal == HOURS_IN_ALL_DAY - 1 && newVal == 0) {
cal.setTimeInMillis(mDate.getTimeInMillis());
cal.add(Calendar.DAY_OF_YEAR, 1);
isDateChanged = true;
+ //这里是对于24小时制时,晚上11点和12点交替时对日期的更改
} else if (oldVal == 0 && newVal == HOURS_IN_ALL_DAY - 1) {
cal.setTimeInMillis(mDate.getTimeInMillis());
cal.add(Calendar.DAY_OF_YEAR, -1);
isDateChanged = true;
}
- }
+ } //这里是对于12小时制时,凌晨11点和12点交替时对日期的更改
int newHour = mHourSpinner.getValue() % HOURS_IN_HALF_DAY + (mIsAm ? 0 : HOURS_IN_HALF_DAY);
+ //通过数字选择器对newHour的赋值
mDate.set(Calendar.HOUR_OF_DAY, newHour);
+ //通过set函数将新的Hour值传给mDate
onDateTimeChanged();
if (isDateChanged) {
setCurrentYear(cal.get(Calendar.YEAR));
@@ -117,15 +112,19 @@ public class DateTimePicker extends FrameLayout {
private NumberPicker.OnValueChangeListener mOnMinuteChangedListener = new NumberPicker.OnValueChangeListener() {
@Override
+ //这里是对 分钟(Minute)改变的监听
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
int minValue = mMinuteSpinner.getMinValue();
int maxValue = mMinuteSpinner.getMaxValue();
int offset = 0;
+ //设置offset,作为小时改变的一个记录数据
if (oldVal == maxValue && newVal == minValue) {
offset += 1;
} else if (oldVal == minValue && newVal == maxValue) {
offset -= 1;
}
+ //如果原值为59,新值为0,则offset加1
+ //如果原值为0,新值为59,则offset减1
if (offset != 0) {
mDate.add(Calendar.HOUR_OF_DAY, offset);
mHourSpinner.setValue(getCurrentHour());
@@ -145,6 +144,7 @@ public class DateTimePicker extends FrameLayout {
};
private NumberPicker.OnValueChangeListener mOnAmPmChangedListener = new NumberPicker.OnValueChangeListener() {
+ //对AM和PM的监听
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mIsAm = !mIsAm;
@@ -160,24 +160,27 @@ public class DateTimePicker extends FrameLayout {
public interface OnDateTimeChangedListener {
void onDateTimeChanged(DateTimePicker view, int year, int month,
- int dayOfMonth, int hourOfDay, int minute);
+ int dayOfMonth, int hourOfDay, int minute);
}
public DateTimePicker(Context context) {
this(context, System.currentTimeMillis());
- }
+ }//通过对数据库的访问,获取当前的系统时间
public DateTimePicker(Context context, long date) {
this(context, date, DateFormat.is24HourFormat(context));
- }
+ }//上面函数的得到的是一个天文数字(1970至今的秒数),需要DateFormat将其变得有意义
public DateTimePicker(Context context, long date, boolean is24HourView) {
super(context);
+ //获取系统时间
mDate = Calendar.getInstance();
mInitialising = true;
mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY;
inflate(context, R.layout.datetime_picker, this);
-
+ //如果当前Activity里用到别的layout,比如对话框layout
+ //还要设置这个layout上的其他组件的内容,就必须用inflate()方法先将对话框的layout找出来
+ //然后再用findViewById()找到它上面的其它组件
mDateSpinner = (NumberPicker) findViewById(R.id.date);
mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL);
mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL);
@@ -185,7 +188,7 @@ public class DateTimePicker extends FrameLayout {
mHourSpinner = (NumberPicker) findViewById(R.id.hour);
mHourSpinner.setOnValueChangedListener(mOnHourChangedListener);
- mMinuteSpinner = (NumberPicker) findViewById(R.id.minute);
+ mMinuteSpinner = (NumberPicker) findViewById(R.id.minute);
mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL);
mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL);
mMinuteSpinner.setOnLongPressUpdateInterval(100);
@@ -226,7 +229,9 @@ public class DateTimePicker extends FrameLayout {
mAmPmSpinner.setEnabled(enabled);
mIsEnabled = enabled;
}
-
+ //存在疑问!!!!!!!!!!!!!setEnabled的作用
+ //下面的代码通过原程序的注释已经比较清晰,另外可以通过函数名来判断
+ //下面的各函数主要是对上面代码引用到的各函数功能的实现
@Override
public boolean isEnabled() {
return mIsEnabled;
@@ -239,7 +244,7 @@ public class DateTimePicker extends FrameLayout {
*/
public long getCurrentDateInTimeMillis() {
return mDate.getTimeInMillis();
- }
+ }//实现函数——得到当前的秒数
/**
* Set the current date
@@ -251,7 +256,7 @@ public class DateTimePicker extends FrameLayout {
cal.setTimeInMillis(date);
setCurrentDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH),
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE));
- }
+ }//实现函数功能——设置当前的时间,参数是date
/**
* Set the current date
@@ -263,19 +268,20 @@ public class DateTimePicker extends FrameLayout {
* @param minute The current minute
*/
public void setCurrentDate(int year, int month,
- int dayOfMonth, int hourOfDay, int minute) {
+ int dayOfMonth, int hourOfDay, int minute) {
setCurrentYear(year);
setCurrentMonth(month);
setCurrentDay(dayOfMonth);
setCurrentHour(hourOfDay);
setCurrentMinute(minute);
- }
+ }//实现函数功能——设置当前的时间,参数是各详细的变量
/**
* Get current year
*
* @return The current year
*/
+ //下面是得到year、month、day等值
public int getCurrentYear() {
return mDate.get(Calendar.YEAR);
}
@@ -446,7 +452,7 @@ public class DateTimePicker extends FrameLayout {
mDateSpinner.setDisplayedValues(mDateDisplayValues);
mDateSpinner.setValue(DAYS_IN_ALL_WEEK / 2);
mDateSpinner.invalidate();
- }
+ }// 对于星期几的算法
private void updateAmPmControl() {
if (mIs24HourView) {
@@ -455,7 +461,7 @@ public class DateTimePicker extends FrameLayout {
int index = mIsAm ? Calendar.AM : Calendar.PM;
mAmPmSpinner.setValue(index);
mAmPmSpinner.setVisibility(View.VISIBLE);
- }
+ }// 对于上下午操作的算法
}
private void updateHourControl() {
@@ -465,7 +471,7 @@ public class DateTimePicker extends FrameLayout {
} else {
mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW);
mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW);
- }
+ }// 对与小时的算法
}
/**
@@ -482,4 +488,4 @@ public class DateTimePicker extends FrameLayout {
getCurrentMonth(), getCurrentDay(), getCurrentHourOfDay(), getCurrentMinute());
}
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
index 2c47ba4..d6ad95e 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import java.util.Calendar;
@@ -32,35 +16,47 @@ import android.text.format.DateUtils;
public class DateTimePickerDialog extends AlertDialog implements OnClickListener {
private Calendar mDate = Calendar.getInstance();
+ //创建一个Calendar类型的变量 mDate,方便时间的操作
private boolean mIs24HourView;
private OnDateTimeSetListener mOnDateTimeSetListener;
+ //声明一个时间日期滚动选择控件 mOnDateTimeSetListener
private DateTimePicker mDateTimePicker;
+ //DateTimePicker控件,控件一般用于让用户可以从日期列表中选择单个值。
+ //运行时,单击控件边上的下拉箭头,会显示为两个部分:一个下拉列表,一个用于选择日期的
public interface OnDateTimeSetListener {
void OnDateTimeSet(AlertDialog dialog, long date);
}
public DateTimePickerDialog(Context context, long date) {
+ //对该界面对话框的实例化
super(context);
+ //对数据库的操作
mDateTimePicker = new DateTimePicker(context);
setView(mDateTimePicker);
+ //添加一个子视图
mDateTimePicker.setOnDateTimeChangedListener(new OnDateTimeChangedListener() {
public void onDateTimeChanged(DateTimePicker view, int year, int month,
- int dayOfMonth, int hourOfDay, int minute) {
+ int dayOfMonth, int hourOfDay, int minute) {
mDate.set(Calendar.YEAR, year);
mDate.set(Calendar.MONTH, month);
mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
mDate.set(Calendar.HOUR_OF_DAY, hourOfDay);
mDate.set(Calendar.MINUTE, minute);
+ //将视图中的各选项设置为系统当前时间
updateTitle(mDate.getTimeInMillis());
}
});
mDate.setTimeInMillis(date);
+ //得到系统时间
mDate.set(Calendar.SECOND, 0);
+ //将秒数设置为0
mDateTimePicker.setCurrentDate(mDate.getTimeInMillis());
setButton(context.getString(R.string.datetime_dialog_ok), this);
setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)null);
+ //设置按钮
set24HourView(DateFormat.is24HourFormat(this.getContext()));
+ //时间标准化打印
updateTitle(mDate.getTimeInMillis());
}
@@ -70,21 +66,22 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener
public void setOnDateTimeSetListener(OnDateTimeSetListener callBack) {
mOnDateTimeSetListener = callBack;
- }
+ }//将时间日期滚动选择控件实例化
private void updateTitle(long date) {
int flag =
- DateUtils.FORMAT_SHOW_YEAR |
- DateUtils.FORMAT_SHOW_DATE |
- DateUtils.FORMAT_SHOW_TIME;
+ DateUtils.FORMAT_SHOW_YEAR |
+ DateUtils.FORMAT_SHOW_DATE |
+ DateUtils.FORMAT_SHOW_TIME;
flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR;
setTitle(DateUtils.formatDateTime(this.getContext(), date, flag));
- }
+ }//android开发中常见日期管理工具类(API)——DateUtils:按照上下午显示时间
public void onClick(DialogInterface arg0, int arg1) {
if (mOnDateTimeSetListener != null) {
mOnDateTimeSetListener.OnDateTimeSet(this, mDate.getTimeInMillis());
}
- }
+ }//第一个参数arg0是接收到点击事件的对话框
+ //第二个参数arg1是该对话框上的按钮
}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DropdownMenu.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DropdownMenu.java
index 613dc74..c831a9b 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DropdownMenu.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/DropdownMenu.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.content.Context;
@@ -30,14 +14,18 @@ import net.micode.notes.R;
public class DropdownMenu {
private Button mButton;
private PopupMenu mPopupMenu;
+ //声明一个下拉菜单
private Menu mMenu;
public DropdownMenu(Context context, Button button, int menuId) {
mButton = button;
mButton.setBackgroundResource(R.drawable.dropdown_icon);
+ //设置这个view的背景
mPopupMenu = new PopupMenu(context, mButton);
mMenu = mPopupMenu.getMenu();
mPopupMenu.getMenuInflater().inflate(menuId, mMenu);
+ //MenuInflater是用来实例化Menu目录下的Menu布局文件
+ //根据ID来确认menu的内容选项
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPopupMenu.show();
@@ -48,14 +36,14 @@ public class DropdownMenu {
public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) {
if (mPopupMenu != null) {
mPopupMenu.setOnMenuItemClickListener(listener);
- }
+ }//设置菜单的监听
}
public MenuItem findItem(int id) {
return mMenu.findItem(id);
- }
+ }//对于菜单选项的初始化,根据索引搜索菜单需要的选项
public void setTitle(CharSequence title) {
mButton.setText(title);
- }
-}
+ }//布局文件,设置标题
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
index 96b77da..b6867fb 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.content.Context;
@@ -30,10 +14,14 @@ import net.micode.notes.data.Notes.NoteColumns;
public class FoldersListAdapter extends CursorAdapter {
+ //CursorAdapter是Cursor和ListView的接口
+ //FoldersListAdapter继承了CursorAdapter的类
+ //主要作用是便签数据库和用户的交互
+ //这里就是用folder(文件夹)的形式展现给用户
public static final String [] PROJECTION = {
- NoteColumns.ID,
- NoteColumns.SNIPPET
- };
+ NoteColumns.ID,
+ NoteColumns.SNIPPET
+ };//调用数据库中便签的ID和片段
public static final int ID_COLUMN = 0;
public static final int NAME_COLUMN = 1;
@@ -41,12 +29,13 @@ public class FoldersListAdapter extends CursorAdapter {
public FoldersListAdapter(Context context, Cursor c) {
super(context, c);
// TODO Auto-generated constructor stub
- }
+ }//数据库操作
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
+ //ViewGroup是容器
return new FolderListItem(context);
- }
+ }//创建一个文件夹,对于各文件夹中子标签的初始化
@Override
public void bindView(View view, Context context, Cursor cursor) {
@@ -55,20 +44,22 @@ public class FoldersListAdapter extends CursorAdapter {
.getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN);
((FolderListItem) view).bind(folderName);
}
- }
+ }//将各个布局文件绑定起来
public String getFolderName(Context context, int position) {
Cursor cursor = (Cursor) getItem(position);
return (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context
.getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN);
- }
+ }//根据数据库中标签的ID得到标签的各项内容
private class FolderListItem extends LinearLayout {
private TextView mName;
public FolderListItem(Context context) {
super(context);
+ //操作数据库
inflate(context, R.layout.folder_list_item, this);
+ //根据布局文件的名字等信息将其找出来
mName = (TextView) findViewById(R.id.tv_folder_name);
}
@@ -77,4 +68,4 @@ public class FoldersListAdapter extends CursorAdapter {
}
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
index 96a9ff8..053f489 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
@@ -22,19 +22,34 @@ import android.app.AlertDialog;
import android.app.PendingIntent;
import android.app.SearchManager;
import android.appwidget.AppWidgetManager;
+import android.content.ContentResolver;
import android.content.ContentUris;
+import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.database.Cursor;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Matrix;
import android.graphics.Paint;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
+import android.os.Environment;
import android.preference.PreferenceManager;
+import android.provider.DocumentsContract;
+import android.provider.MediaStore;
+import android.text.Editable;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.style.BackgroundColorSpan;
+import android.text.style.ImageSpan;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -43,10 +58,12 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
+import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
+import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -65,6 +82,7 @@ import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener;
import net.micode.notes.widget.NoteWidgetProvider_2x;
import net.micode.notes.widget.NoteWidgetProvider_4x;
+import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -72,6 +90,8 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
+//该类主要是针对标签的编辑
+//继承了系统内部许多和监听有关的类
public class NoteEditActivity extends Activity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
private class HeadViewHolder {
@@ -84,6 +104,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
public ImageView ibSetBgColor;
}
+ //进行数据存储 进行初始化配置
private static final Map sBgSelectorBtnsMap = new HashMap();
static {
sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
@@ -122,19 +143,30 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private HeadViewHolder mNoteHeaderHolder;
+ //私有化一个界面操作mHeadViewPanel,对表头的操作
private View mHeadViewPanel;
+ //私有化一个界面操作mNoteBgColorSelector,对背景颜色的操作
private View mNoteBgColorSelector;
+ //私有化一个界面操作mFontSizeSelector,对标签字体的操作
private View mFontSizeSelector;
+ //声明编辑控件,对文本操作
private EditText mNoteEditor;
+ //私有化一个界面操作mNoteEditorPanel,文本编辑的控制板
+ //private WorkingNote mWorkingNote;
private View mNoteEditorPanel;
+ //对模板WorkingNote的初始化
private WorkingNote mWorkingNote;
+ //私有化SharedPreferences的数据存储方式
+ //它的本质是基于XML文件存储key-value键值对数据
private SharedPreferences mSharedPrefs;
+
+ //用于操作字体的大小
private int mFontSizeId;
private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
@@ -149,25 +181,43 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private String mUserQuery;
private Pattern mPattern;
+ private final int PHOTO_REQUEST = 1;//请求码
+
@Override
- protected void onCreate(Bundle savedInstanceState) {
+ protected void onCreate(Bundle savedInstanceState) { //创建
super.onCreate(savedInstanceState);
+ //对数据库操作访问
this.setContentView(R.layout.note_edit);
-
if (savedInstanceState == null && !initActivityState(getIntent())) {
finish();
return;
}
initResources();
+
+
+ //根据id获取添加图片按钮
+ final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn);
+ //为点击图片按钮设置监听器
+ add_img_btn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Log.d(TAG, "onClick: click add image button");
+ //ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音)
+ Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT);
+ //Category属性用于指定当前动作(Action)被执行的环境.
+ //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent
+ loadImage.addCategory(Intent.CATEGORY_OPENABLE);
+ loadImage.setType("image/*");
+ startActivityForResult(loadImage, PHOTO_REQUEST);
+ }
+ });
}
- /**
- * Current activity may be killed when the memory is low. Once it is killed, for another time
- * user load this activity, we should restore the former state
- */
+
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
+ //为防止内存不足时程序的终止,在这里有一个保存现场的函数
if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra(Intent.EXTRA_UID, savedInstanceState.getLong(Intent.EXTRA_UID));
@@ -187,35 +237,44 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mWorkingNote = null;
if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) {
long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0);
+ //如果用户实例化标签时,系统并未给出标签ID 在后面的查找中获得
mUserQuery = "";
-
/**
* Starting from the searched result
*/
+ //根据键值查找ID
if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) {
noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
mUserQuery = intent.getStringExtra(SearchManager.USER_QUERY);
}
-
+ //如果ID在数据库中未找到的操作
if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) {
Intent jump = new Intent(this, NotesListActivity.class);
+ //程序将跳转到上面声明的intent——jump
startActivity(jump);
showToast(R.string.error_note_not_exist);
finish();
return false;
- } else {
+ } else {//ID在数据库中找到
mWorkingNote = WorkingNote.load(this, noteId);
if (mWorkingNote == null) {
+ //报错 打出错误信息
Log.e(TAG, "load note failed with note id" + noteId);
finish();
return false;
}
}
+ //setSoftInputMode——软键盘输入模式 设置键盘输入模式
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
| WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
- } else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) {
+ }
+ // intent.getAction()
+ // 大多用于broadcast发送广播时给机制(intent)设置一个action,就是一个字符串
+ // 用户可以通过receive(接受)intent,通过 getAction得到的字符串,来决定做什么
+ else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) {
// New note
+
long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0);
int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
@@ -235,7 +294,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
if ((noteId = DataUtils.getNoteIdByPhoneNumberAndCallDate(getContentResolver(),
phoneNumber, callDate)) > 0) {
mWorkingNote = WorkingNote.load(this, noteId);
- if (mWorkingNote == null) {
+ if (mWorkingNote == null) {//将电话号码与手机的号码簿相关
Log.e(TAG, "load call note failed with note id" + noteId);
finish();
return false;
@@ -245,7 +304,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
widgetType, bgResId);
mWorkingNote.convertToCallNote(phoneNumber, callDate);
}
- } else {
+ } else {//创建新的WorkingNote
mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType,
bgResId);
}
@@ -263,14 +322,13 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
@Override
- protected void onResume() {
+ protected void onResume() {//能获得用户焦点:可以操作
super.onResume();
- initNoteScreen();
+ initNoteScreen();//初始化便签屏幕
}
private void initNoteScreen() {
- mNoteEditor.setTextAppearance(this, TextAppearanceResources
- .getTexAppearanceResource(mFontSizeId));
+ mNoteEditor.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
switchToListMode(mWorkingNote.getContent());
} else {
@@ -288,11 +346,9 @@ public class NoteEditActivity extends Activity implements OnClickListener,
| DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_SHOW_TIME
| DateUtils.FORMAT_SHOW_YEAR));
- /**
- * TODO: Add the menu for setting alert. Currently disable it because the DateTimePicker
- * is not ready
- */
showAlertHeader();
+ //将有图片路径的位置转换为图片
+ convertToImage();
}
private void showAlertHeader() {
@@ -312,6 +368,47 @@ public class NoteEditActivity extends Activity implements OnClickListener,
};
}
+ //路径字符串格式 转换为 图片image格式
+ private void convertToImage() {
+ NoteEditText noteEditText = (NoteEditText) findViewById(R.id.note_edit_view); //获取当前的edit
+ Editable editable = noteEditText.getText();//1.获取text
+ String noteText = editable.toString(); //2.将note内容转换为字符串
+ int length = editable.length(); //内容的长度
+ //3.截取img片段 [local]+uri+[local],提取uri
+ for(int i = 0; i < length; i++) {
+ for(int j = i; j < length; j++) {
+ String img_fragment = noteText.substring(i, j+1); //img_fragment:关于图片路径的片段
+ if(img_fragment.length() > 15 && img_fragment.endsWith("[/local]") && img_fragment.startsWith("[local]")){
+ int limit = 7; //[local]为7个字符
+ //[local][/local]共15个字符,剩下的为真正的path长度
+ int len = img_fragment.length()-15;
+ //从[local]之后的len个字符就是path
+ String path = img_fragment.substring(limit,limit+len);//获取到了图片路径
+ Bitmap bitmap = null;
+ Log.d(TAG, "图片的路径是:"+path);
+ try {
+ bitmap = BitmapFactory.decodeFile(path);//将图片路径解码为图片格式
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if(bitmap!=null){ //若图片存在
+ Log.d(TAG, "图片不为null");
+ ImageSpan imageSpan = new ImageSpan(NoteEditActivity.this, bitmap);
+ //4.创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像
+ String ss = "[local]" + path + "[/local]";
+ SpannableString spannableString = new SpannableString(ss);
+ //5.将指定的标记对象附加到文本的开始...结束范围
+ spannableString.setSpan(imageSpan, 0, ss.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ Log.d(TAG, "Create spannable string success!");
+ Editable edit_text = noteEditText.getEditableText();
+ edit_text.delete(i,i+len+15); //6.删掉图片路径的文字
+ edit_text.insert(i, spannableString); //7.在路径的起始位置插入图片
+ }
+ }
+ }
+ }
+ }
+
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
@@ -358,8 +455,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|| ev.getX() > (x + view.getWidth())
|| ev.getY() < y
|| ev.getY() > (y + view.getHeight())) {
- return false;
- }
+ return false;
+ }
return true;
}
@@ -418,7 +515,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {
- mWorkingNote.getWidgetId()
+ mWorkingNote.getWidgetId()
});
sendBroadcast(intent);
@@ -430,7 +527,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);
@@ -563,10 +660,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
d.show();
}
- /**
- * Share note to apps that support {@link Intent#ACTION_SEND} action
- * and {@text/plain} type
- */
private void sendTo(Context context, String info) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, info);
@@ -773,12 +866,12 @@ public class NoteEditActivity extends Activity implements OnClickListener,
switchToListMode(mNoteEditor.getText().toString());
} else {
if (!getWorkingText()) {
- mWorkingNote.setWorkingText(mWorkingNote.getContent().replace(TAG_UNCHECKED + " ",
- ""));
+ mWorkingNote.setWorkingText(mWorkingNote.getContent().replace(TAG_UNCHECKED + " ", ""));
}
mNoteEditor.setText(getHighlightQueryResult(mWorkingNote.getContent(), mUserQuery));
mEditTextList.setVisibility(View.GONE);
mNoteEditor.setVisibility(View.VISIBLE);
+ convertToImage(); //退出清单模式,应该将有图片的地方显示出来
}
}
@@ -870,4 +963,147 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private void showToast(int resId, int duration) {
Toast.makeText(this, resId, duration).show();
}
+
+ @Override
+ //重写onActivityResult()来处理返回的数据
+ protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ super.onActivityResult(requestCode, resultCode, intent);
+ ContentResolver resolver = getContentResolver();
+ switch (requestCode) {
+ case PHOTO_REQUEST:
+ Uri originalUri = intent.getData(); //1.获得图片的真实路径
+ Bitmap bitmap = null;
+ try {
+ bitmap = BitmapFactory.decodeStream(resolver.openInputStream(originalUri));//2.解码图片
+ } catch (FileNotFoundException e) {
+ Log.d(TAG, "onActivityResult: get file_exception");
+ e.printStackTrace();
+ }
+
+ if(bitmap != null){
+ //3.根据Bitmap对象创建ImageSpan对象
+ Log.d(TAG, "onActivityResult: bitmap is not null");
+ ImageSpan imageSpan = new ImageSpan(NoteEditActivity.this, bitmap);
+ String path = getPath(this,originalUri);
+ //4.使用[local][/local]将path括起来,用于之后方便识别图片路径在note中的位置
+ String img_fragment= "[local]" + path + "[/local]";
+ //创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像
+ SpannableString spannableString = new SpannableString(img_fragment);
+ spannableString.setSpan(imageSpan, 0, img_fragment.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ //5.将选择的图片追加到EditText中光标所在位置
+ NoteEditText e = (NoteEditText) findViewById(R.id.note_edit_view);
+ int index = e.getSelectionStart(); //获取光标所在位置
+ Log.d(TAG, "Index是: " + index);
+ Editable edit_text = e.getEditableText();
+ edit_text.insert(index, spannableString); //将图片插入到光标所在位置
+
+ mWorkingNote.mContent = e.getText().toString();
+ //6.把改动提交到数据库中,两个数据库表都要改的
+ ContentResolver contentResolver = getContentResolver();
+ ContentValues contentValues = new ContentValues();
+ final long id = mWorkingNote.getNoteId();
+ contentValues.put("snippet",mWorkingNote.mContent);
+ contentResolver.update(Uri.parse("content://micode_notes/note"), contentValues,"_id=?",new String[]{""+id});
+ ContentValues contentValues1 = new ContentValues();
+ contentValues1.put("content",mWorkingNote.mContent);
+ contentResolver.update(Uri.parse("content://micode_notes/data"), contentValues1,"mime_type=? and note_id=?", new String[]{"vnd.android.cursor.item/text_note",""+id});
+
+ }else{
+ Toast.makeText(NoteEditActivity.this, "获取图片失败", Toast.LENGTH_SHORT).show();
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ //获取文件的real path
+ public String getPath(final Context context, final Uri uri) {
+
+ final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
+
+ // DocumentProvider
+ if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
+ // ExternalStorageProvider
+// if (isExternalStorageDocument(uri)) {
+// final String docId = DocumentsContract.getDocumentId(uri);
+// final String[] split = docId.split(":");
+// final String type = split[0];
+//
+// if ("primary".equalsIgnoreCase(type)) {
+// return Environment.getExternalStorageDirectory() + "/" + split[1];
+// }
+// }
+// // DownloadsProvider
+// else if (isDownloadsDocument(uri)) {
+// final String id = DocumentsContract.getDocumentId(uri);
+// final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
+// return getDataColumn(context, contentUri, null, null);
+// }
+ // MediaProvider
+// else
+ if (isMediaDocument(uri)) {
+ final String docId = DocumentsContract.getDocumentId(uri);
+ final String[] split = docId.split(":");
+ final String type = split[0];
+
+ Uri contentUri = null;
+ if ("image".equals(type)) {
+ contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
+ }
+
+ final String selection = "_id=?";
+ final String[] selectionArgs = new String[]{split[1]};
+
+ return getDataColumn(context, contentUri, selection, selectionArgs);
+ }
+ }
+ // Media
+ else if ("content".equalsIgnoreCase(uri.getScheme())) {
+ return getDataColumn(context, uri, null, null);
+ }
+ // File
+ else if ("file".equalsIgnoreCase(uri.getScheme())) {
+ return uri.getPath();
+ }
+ return null;
+ }
+
+
+ //获取数据列_获取此 Uri 的数据列的值。这对MediaStore Uris 和其他基于文件的 ContentProvider。
+ public String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
+
+ Cursor cursor = null;
+ final String column = "_data";
+ final String[] projection = {column};
+
+ try {
+ cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
+ if (cursor != null && cursor.moveToFirst()) {
+ final int column_index = cursor.getColumnIndexOrThrow(column);
+ return cursor.getString(column_index);
+ }
+ } finally {
+ if (cursor != null)
+ cursor.close();
+ }
+ return null;
+ }
+
+
+ //是否为外部存储文件
+// public boolean isExternalStorageDocument(Uri uri) {
+// return "com.android.externalstorage.documents".equals(uri.getAuthority());
+// }
+//
+// //是否为下载文件
+// public boolean isDownloadsDocument(Uri uri) {
+// return "com.android.providers.downloads.documents".equals(uri.getAuthority());
+// }
+
+ //是否为媒体文件
+ public boolean isMediaDocument(Uri uri) {
+ return "com.android.providers.media.documents".equals(uri.getAuthority());
+ }
}
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditText.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditText.java
index 2afe2a8..c68eff2 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditText.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteEditText.java
@@ -37,6 +37,8 @@ import net.micode.notes.R;
import java.util.HashMap;
import java.util.Map;
+
+//继承edittext,设置便签设置文本框
public class NoteEditText extends EditText {
private static final String TAG = "NoteEditText";
private int mIndex;
@@ -46,6 +48,9 @@ public class NoteEditText extends EditText {
private static final String SCHEME_HTTP = "http:" ;
private static final String SCHEME_EMAIL = "mailto:" ;
+
+ ///建立一个字符和整数的hash表,用于链接电话,网站,还有邮箱
+
private static final Map sSchemaActionResMap = new HashMap();
static {
sSchemaActionResMap.put(SCHEME_TEL, R.string.note_link_tel);
@@ -56,40 +61,50 @@ public class NoteEditText extends EditText {
/**
* Call by the {@link NoteEditActivity} to delete or add edit text
*/
+ //在NoteEditActivity中删除或添加文本的操作,可以看做是一个文本是否被变的标记
public interface OnTextViewChangeListener {
/**
* Delete current edit text when {@link KeyEvent#KEYCODE_DEL} happens
* and the text is null
*/
+ //处理删除按键时的操作
void onEditTextDelete(int index, String text);
/**
* Add edit text after current edit text when {@link KeyEvent#KEYCODE_ENTER}
* happen
*/
+ //处理删除按键时的操作
void onEditTextEnter(int index, String text);
/**
* Hide or show item option when text change
*/
+ //处理文本改变时的操作
void onTextChange(int index, boolean hasText);
}
private OnTextViewChangeListener mOnTextViewChangeListener;
+
+ //根据context设置文本
public NoteEditText(Context context) {
- super(context, null);
+ super(context, null);//用super引用父类变量
mIndex = 0;
}
+ //设置当前光标
public void setIndex(int index) {
mIndex = index;
}
+ //初始化文本修改标记 进行mOnTextViewChangeListener的初始化
public void setOnTextViewChangeListener(OnTextViewChangeListener listener) {
mOnTextViewChangeListener = listener;
}
+ //初始化便签
+ //AttributeSet 百度了一下是自定义空控件属性,用于维护便签动态变化的属性
public NoteEditText(Context context, AttributeSet attrs) {
super(context, attrs, android.R.attr.editTextStyle);
}
@@ -99,21 +114,26 @@ public class NoteEditText extends EditText {
// TODO Auto-generated constructor stub
}
+ //处理屏幕所有事件
+ /*参数event为手机屏幕触摸事件封装类的对象,其中封装了该事件的所有信息,
+ 例如触摸的位置、触摸的类型以及触摸的时间等。该对象会在用户触摸手机屏幕时被创建。*/
@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();
-
+ //根据x,y设置layout的位置
Layout layout = getLayout();
int line = layout.getLineForVertical(y);
int off = layout.getOffsetForHorizontal(line, x);
+ //更新光标新的位置
Selection.setSelection(getText(), off);
break;
}
@@ -121,97 +141,137 @@ public class NoteEditText extends EditText {
return super.onTouchEvent(event);
}
+ //键盘按下事件处理
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
+ //根据Unicode编码值处理
switch (keyCode) {
+ //”进入“按键处理
case KeyEvent.KEYCODE_ENTER:
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) {
+ //同样使用Unicode编码处理
switch(keyCode) {
case KeyEvent.KEYCODE_DEL:
+ //如果被修改过
if (mOnTextViewChangeListener != null) {
+ //如果文档不为空
if (0 == mSelectionStartBeforeDelete && mIndex != 0) {
+ //利用上文OnTextViewChangeListener对KEYCODE_DEL按键情况的删除函数进行删除
mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString());
return true;
}
} else {
+
+ //其他情况报错,文档的改动监听器并没有建立
Log.d(TAG, "OnTextViewChangeListener was not seted");
}
break;
case KeyEvent.KEYCODE_ENTER:
- if (mOnTextViewChangeListener != null) {
+ //同上也是分为监听器是否建立2种情况
+ 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");
}
break;
default:
break;
}
+ //调用父类方法
return super.onKeyUp(keyCode, event);
}
+
+ //函数功能:当焦点发生变化时,会自动调用该方法来处理焦点改变的事件
+ /*
+ 参数:focused表示触发该事件的View是否获得了焦点,当该控件获得焦点时,Focused等于true,否则等于false。
+ direction表示焦点移动的方向,用数值表示
+ Rect:表示在触发事件的View的坐标系中,前一个获得焦点的矩形区域,即表示焦点是从哪里来的。如果不可用则为null
+ */
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
+ //监听是否建立
if (mOnTextViewChangeListener != null) {
+
if (!focused && TextUtils.isEmpty(getText())) {
+ //mOnTextViewChangeListener子函数,置false隐藏事件选项
mOnTextViewChangeListener.onTextChange(mIndex, false);
- } else {
+ } else {//获取到焦点并且文本不为空
+ //mOnTextViewChangeListener子函数,置true显示事件选项
mOnTextViewChangeListener.onTextChange(mIndex, true);
}
}
+ //调用父类的方法
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
+ //创建上下文菜单
@Override
protected void onCreateContextMenu(ContextMenu menu) {
- if (getText() instanceof Spanned) {
+ if (getText() instanceof Spanned) { //判断文本存在
+ //获取文本开始和结尾位置
int selStart = getSelectionStart();
int selEnd = getSelectionEnd();
-
+ ////获取开始到结尾的最大值和最小值
int min = Math.min(selStart, selEnd);
int max = Math.max(selStart, selEnd);
+ //设置url的信息的范围值
final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class);
+ //创建成功
if (urls.length == 1) {
int defaultResId = 0;
+ //获取map中所有的key值
for(String schema: sSchemaActionResMap.keySet()) {
+ //若url可以添加则在添加后将defaultResId置为key所映射的值
if(urls[0].getURL().indexOf(schema) >= 0) {
defaultResId = sSchemaActionResMap.get(schema);
break;
}
}
+ ////defaultResId == 0则说明url并没有添加任何东西
if (defaultResId == 0) {
+
defaultResId = R.string.note_link_other;
}
-
+ //创建菜单
menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener(
- new OnMenuItemClickListener() {
+ new OnMenuItemClickListener() {//创建按钮监听事件
public boolean onMenuItemClick(MenuItem item) {
// goto a new intent
+ //根据相应的文本设置菜单的按键
urls[0].onClick(NoteEditText.this);
return true;
}
});
}
}
+ //执行父类的菜单创建事件
super.onCreateContextMenu(menu);
}
}
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteItemData.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteItemData.java
index 0f5a878..9dde13c 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteItemData.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NoteItemData.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.content.Context;
@@ -28,20 +12,20 @@ import net.micode.notes.tool.DataUtils;
public class NoteItemData {
static final String [] PROJECTION = new String [] {
- NoteColumns.ID,
- NoteColumns.ALERTED_DATE,
- NoteColumns.BG_COLOR_ID,
- NoteColumns.CREATED_DATE,
- NoteColumns.HAS_ATTACHMENT,
- NoteColumns.MODIFIED_DATE,
- NoteColumns.NOTES_COUNT,
- NoteColumns.PARENT_ID,
- NoteColumns.SNIPPET,
- NoteColumns.TYPE,
- NoteColumns.WIDGET_ID,
- NoteColumns.WIDGET_TYPE,
+ NoteColumns.ID,
+ NoteColumns.ALERTED_DATE,
+ NoteColumns.BG_COLOR_ID,
+ NoteColumns.CREATED_DATE,
+ NoteColumns.HAS_ATTACHMENT,
+ NoteColumns.MODIFIED_DATE,
+ NoteColumns.NOTES_COUNT,
+ NoteColumns.PARENT_ID,
+ NoteColumns.SNIPPET,
+ NoteColumns.TYPE,
+ NoteColumns.WIDGET_ID,
+ NoteColumns.WIDGET_TYPE,
};
-
+ //常量标记和数据就不一一标记了,意义翻译基本就知道
private static final int ID_COLUMN = 0;
private static final int ALERTED_DATE_COLUMN = 1;
private static final int BG_COLOR_ID_COLUMN = 2;
@@ -75,8 +59,9 @@ public class NoteItemData {
private boolean mIsOnlyOneItem;
private boolean mIsOneNoteFollowingFolder;
private boolean mIsMultiNotesFollowingFolder;
-
- public NoteItemData(Context context, Cursor cursor) {
+ //初始化NoteItemData,主要利用光标cursor获取的东西
+ public NoteItemData(Context context, Cursor cursor) {
+ //getxxx为转换格式
mId = cursor.getLong(ID_COLUMN);
mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN);
mBgColorId = cursor.getInt(BG_COLOR_ID_COLUMN);
@@ -92,10 +77,11 @@ public class NoteItemData {
mWidgetId = cursor.getInt(WIDGET_ID_COLUMN);
mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN);
+ //初始化电话号码的信息
mPhoneNumber = "";
if (mParentId == Notes.ID_CALL_RECORD_FOLDER) {
mPhoneNumber = DataUtils.getCallNumberByNoteId(context.getContentResolver(), mId);
- if (!TextUtils.isEmpty(mPhoneNumber)) {
+ if (!TextUtils.isEmpty(mPhoneNumber)) {//mphonenumber里有符合字符串,则用contart功能连接
mName = Contact.getContact(context, mPhoneNumber);
if (mName == null) {
mName = mPhoneNumber;
@@ -108,32 +94,35 @@ public class NoteItemData {
}
checkPostion(cursor);
}
-
+ ///根据鼠标的位置设置标记,和位置
private void checkPostion(Cursor cursor) {
+ //初始化几个标记,cursor具体功能笔记中已提到,不一一叙述
mIsLastItem = cursor.isLast() ? true : false;
mIsFirstItem = cursor.isFirst() ? true : false;
mIsOnlyOneItem = (cursor.getCount() == 1);
+ //初始化“多重子文件”“单一子文件”2个标记
mIsMultiNotesFollowingFolder = false;
mIsOneNoteFollowingFolder = false;
- if (mType == Notes.TYPE_NOTE && !mIsFirstItem) {
+ //主要是设置上诉2标记
+ if (mType == Notes.TYPE_NOTE && !mIsFirstItem) {//若是note格式并且不是第一个元素
int position = cursor.getPosition();
- if (cursor.moveToPrevious()) {
+ if (cursor.moveToPrevious()) {//获取光标位置后看上一行
if (cursor.getInt(TYPE_COLUMN) == Notes.TYPE_FOLDER
- || cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) {
+ || cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) {//若光标满足系统或note格式
if (cursor.getCount() > (position + 1)) {
- mIsMultiNotesFollowingFolder = true;
+ mIsMultiNotesFollowingFolder = true;//若是数据行数大于但前位置+1则设置成正确
} else {
- mIsOneNoteFollowingFolder = true;
+ mIsOneNoteFollowingFolder = true;//否则单一文件夹标记为true
}
}
- if (!cursor.moveToNext()) {
+ if (!cursor.moveToNext()) {//若不能再往下走则报错
throw new IllegalStateException("cursor move to previous but can't move back");
}
}
}
}
-
+ ///以下都是获取标记没什么好说的,不过倒数第二个需要说明下,很具体看下面
public boolean isOneFollowingFolder() {
return mIsOneNoteFollowingFolder;
}
@@ -214,6 +203,7 @@ public class NoteItemData {
return (mAlertDate > 0);
}
+ //若数据父id为保存至文件夹模式的id且满足电话号码单元不为空,则isCallRecord为true
public boolean isCallRecord() {
return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber));
}
@@ -221,4 +211,4 @@ public class NoteItemData {
public static int getNoteType(Cursor cursor) {
return cursor.getInt(TYPE_COLUMN);
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
index 4e14c0d..0813597 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.app.Activity;
@@ -77,9 +61,13 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashSet;
-
-public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
- private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;//文件夹_笔记_列表_查询令牌
+//主界面,一进入就是这个界面
+/**
+ * @author k
+ *
+ */
+public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { //没有用特定的标签加注释。。。感觉没有什么用
+ private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
@@ -89,7 +77,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private static final int MENU_FOLDER_CHANGE_NAME = 2;
- private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction";
+ private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; //单行超过80个字符
private enum ListEditState {
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER
@@ -136,8 +124,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private final static int REQUEST_CODE_NEW_NODE = 103;
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+ // 创建类
+ protected void onCreate(final Bundle savedInstanceState) { //需要是final类型 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。
+ // final类不能被继承,没有子类,final类中的方法默认是final的。
+ //final方法不能被子类的方法覆盖,但可以被继承。
+ //final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
+ //final不能用于修饰构造方法。
+ super.onCreate(savedInstanceState); // 调用父类的onCreate函数
setContentView(R.layout.note_list);
initResources();
@@ -148,26 +141,32 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
@Override
+ // 返回一些子模块完成的数据交给主Activity处理
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);
+ // 调用 Activity 的onActivityResult()
}
}
private void setAppInfoFromRawRes() {
+ // Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) {
StringBuilder sb = new StringBuilder();
InputStream in = null;
try {
- in = getResources().openRawResource(R.raw.introduction);
+ // 把资源文件放到应用程序的/raw/raw下,那么就可以在应用中使用getResources获取资源后,
+ // 以openRawResource方法(不带后缀的资源文件名)打开这个文件。
+ in = getResources().openRawResource(R.raw.introduction);
if (in != null) {
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
- char [] buf = new char[1024];
+ char [] buf = new char[1024]; // 自行定义的数值,使用者不知道有什么意义
int len = 0;
while ((len = br.read(buf)) > 0) {
sb.append(buf, 0, len);
@@ -180,7 +179,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
e.printStackTrace();
return;
} finally {
- if(in != null) {
+ if (in != null) {
try {
in.close();
} catch (IOException e) {
@@ -190,11 +189,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 创建空的WorkingNote
WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER,
AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE,
ResourceParser.RED);
note.setWorkingText(sb.toString());
if (note.saveNote()) {
+ // 更新保存note的信息
sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit();
} else {
Log.e(TAG, "Save introduction note error");
@@ -209,24 +210,23 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
startAsyncNotesListQuery();
}
+ // 初始化资源
private void initResources() {
- mContentResolver = this.getContentResolver();
+ mContentResolver = this.getContentResolver(); // 获取应用程序的数据,得到类似数据表的东西
mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver());
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
- mNotesListView = (ListView) findViewById(R.id.notes_list);
+
+ // findViewById 是安卓编程的定位函数,主要是引用.R文件里的引用名
+ mNotesListView = (ListView) findViewById(R.id.notes_list); // 绑定XML中的ListView,作为Item的容器
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 = (Button) findViewById(R.id.btn_new_note);// 在activity中要获取该按钮
mAddNewNote.setOnClickListener(this);
mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener());
-
mDispatch = false;
mDispatchY = 0;
mOriginY = 0;
@@ -235,6 +235,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
mModeCallBack = new ModeCallback();
}
+ // 继承自ListView.MultiChoiceModeListener 和 OnMenuItemClickListener
private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener {
private DropdownMenu mDropDownMenu;
private ActionMode mActionMode;
@@ -263,7 +264,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
(Button) customView.findViewById(R.id.selection_menu),
R.menu.note_list_dropdown);
mDropDownMenu.setOnDropdownMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){
- public boolean onMenuItemClick(MenuItem item) {
+ public boolean onMenuItemClick(final MenuItem item) {
mNotesListAdapter.selectAll(!mNotesListAdapter.isAllSelected());
updateMenu();
return true;
@@ -273,11 +274,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
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);
+ mDropDownMenu.setTitle(format); // 更改标题
MenuItem item = mDropDownMenu.findItem(R.id.action_select_all);
if (item != null) {
if (mNotesListAdapter.isAllSelected()) {
@@ -311,7 +313,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
- boolean checked) {
+ boolean checked) {
mNotesListAdapter.setCheckedItem(position, checked);
updateMenu();
}
@@ -329,14 +331,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
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()));
+ mNotesListAdapter.getSelectedCount()));
builder.setPositiveButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int which) {
- batchDelete();
- }
- });
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+ batchDelete();
+ }
+ });
builder.setNegativeButton(android.R.string.cancel, null);
builder.show();
break;
@@ -370,7 +372,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
/**
* 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)
+ * "New Note" button could be expressed by formula y=-0.12x+94锛圲nit: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
@@ -417,7 +419,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
: NORMAL_SELECTION;
mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] {
- String.valueOf(mCurrentFolderId)
+ String.valueOf(mCurrentFolderId)
}, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
}
@@ -628,7 +630,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
values.put(NoteColumns.LOCAL_MODIFIED, 1);
mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID
+ "=?", new String[] {
- String.valueOf(mFocusNoteDataItem.getId())
+ String.valueOf(mFocusNoteDataItem.getId())
});
}
} else if (!TextUtils.isEmpty(name)) {
@@ -668,30 +670,38 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
});
}
+ /* (non-Javadoc)
+ * @see android.app.Activity#onBackPressed()
+ * 按返回键时根据情况更改类中的数据
+ */
@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;
- }
+ 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
+ * @param appWidgetType
+ * 根据不同类型的widget更新插件,通过intent传送数据
+ */
private void updateWidget(int appWidgetId, int appWidgetType) {
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
if (appWidgetType == Notes.TYPE_WIDGET_2X) {
@@ -704,13 +714,16 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {
- appWidgetId
+ appWidgetId
});
sendBroadcast(intent);
setResult(RESULT_OK, intent);
}
+ /**
+ * 声明监听器,建立菜单,包括名称,视图,删除操作,更改名称操作;
+ */
private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
if (mFocusNoteDataItem != null) {
@@ -730,6 +743,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
super.onContextMenuClosed(menu);
}
+ /* (non-Javadoc)
+ * @see android.app.Activity#onContextItemSelected(android.view.MenuItem)
+ * 针对menu中不同的选择进行不同的处理,里面详细注释
+ */
@Override
public boolean onContextItemSelected(MenuItem item) {
if (mFocusNoteDataItem == null) {
@@ -738,10 +755,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
switch (item.getItemId()) {
case MENU_FOLDER_VIEW:
- openFolder(mFocusNoteDataItem);
+ openFolder(mFocusNoteDataItem);//打开对应文件
break;
case MENU_FOLDER_DELETE:
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);//设置确认是否删除的对话框
builder.setTitle(getString(R.string.alert_title_delete));
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setMessage(getString(R.string.alert_message_delete_folder));
@@ -752,7 +769,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
});
builder.setNegativeButton(android.R.string.cancel, null);
- builder.show();
+ builder.show();//显示对话框
break;
case MENU_FOLDER_CHANGE_NAME:
showCreateOrModifyFolderDialog(false);
@@ -822,12 +839,19 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
return true;
}
+ /* (non-Javadoc)
+ * @see android.app.Activity#onSearchRequested()
+ * 直接调用startSearch函数
+ */
@Override
public boolean onSearchRequested() {
startSearch(null, false, null /* appData */, false);
return true;
}
+ /**
+ * 函数功能:实现将便签导出到文本功能
+ */
private void exportNoteToText() {
final BackupUtils backup = BackupUtils.getInstance(NotesListActivity.this);
new AsyncTask() {
@@ -870,16 +894,27 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}.execute();
}
+ /**
+ * @return
+ * 功能:判断是否正在同步
+ */
private boolean isSyncMode() {
return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
}
+ /**
+ * 功能:跳转到PreferenceActivity界面
+ */
private void startPreferenceActivity() {
Activity from = getParent() != null ? getParent() : this;
Intent intent = new Intent(from, NotesPreferenceActivity.class);
from.startActivityIfNeeded(intent, -1);
}
+ /**
+ * @author k
+ * 函数功能:实现对便签列表项的点击事件(短按)
+ */
private class OnListItemClickListener implements OnItemClickListener {
public void onItemClick(AdapterView> parent, View view, int position, long id) {
@@ -921,10 +956,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
+ /**
+ * 查询目标文件
+ */
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 + ")";
+ "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")";
mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN,
null,
@@ -939,6 +977,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
NoteColumns.MODIFIED_DATE + " DESC");
}
+ /* (non-Javadoc)
+ * @see android.widget.AdapterView.OnItemLongClickListener#onItemLongClick(android.widget.AdapterView, android.view.View, int, long)
+ * 长按某一项时进行的操作
+ * 如果长按的是便签,则通过ActionMode菜单实现;如果长按的是文件夹,则通过ContextMenu菜单实现;
+ * 具体ActionMOde菜单和ContextMenu菜单的详细见精度笔记
+ */
public boolean onItemLongClick(AdapterView> parent, View view, int position, long id) {
if (view instanceof NotesListItem) {
mFocusNoteDataItem = ((NotesListItem) view).getItemData();
@@ -955,4 +999,4 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
return false;
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java
index 51c9cb9..b165769 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.content.Context;
@@ -23,6 +7,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
+
import net.micode.notes.data.Notes;
import java.util.Collection;
@@ -31,55 +16,94 @@ import java.util.HashSet;
import java.util.Iterator;
+/*
+ * 功能:直译为便签表连接器,继承了CursorAdapter,它为cursor和ListView提供了连接的桥梁。
+ * 所以NotesListAdapter实现的是鼠标和编辑便签链接的桥梁
+ */
public class NotesListAdapter extends CursorAdapter {
private static final String TAG = "NotesListAdapter";
private Context mContext;
private HashMap mSelectedIndex;
- private int mNotesCount;
- private boolean mChoiceMode;
+ private int mNotesCount; //便签数
+ private boolean mChoiceMode; //选择模式标记
+ /*
+ * 桌面widget的属性,包括编号和类型
+ */
public static class AppWidgetAttribute {
public int widgetId;
public int widgetType;
};
+ /*
+ * 函数功能:初始化便签链接器
+ * 函数实现:根据传进来的内容设置相关变量
+ */
public NotesListAdapter(Context context) {
- super(context, null);
- mSelectedIndex = new HashMap();
+ super(context, null); //父类对象置空
+ mSelectedIndex = new HashMap(); //新建选项下标的hash表
mContext = context;
mNotesCount = 0;
}
@Override
+ /*
+ * 函数功能:新建一个视图来存储光标所指向的数据
+ * 函数实现:使用兄弟类NotesListItem新建一个项目选项
+ */
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return new NotesListItem(context);
}
+ /*
+ * 函数功能:将已经存在的视图和鼠标指向的数据进行捆绑
+ * 函数实现:如下注释
+ */
@Override
public void bindView(View view, Context context, Cursor cursor) {
if (view instanceof NotesListItem) {
+ //若view是NotesListItem的一个实例
NoteItemData itemData = new NoteItemData(context, cursor);
((NotesListItem) view).bind(context, itemData, mChoiceMode,
isSelectedItem(cursor.getPosition()));
+ //则新建一个项目选项并且用bind跟将view和鼠标,内容,便签数据捆绑在一起
}
}
+ /*
+ * 函数功能:设置勾选框
+ * 函数实现:如下注释
+ */
public void setCheckedItem(final int position, final boolean checked) {
mSelectedIndex.put(position, checked);
+ //根据定位和是否勾选设置下标
notifyDataSetChanged();
+ //在修改后刷新activity
}
+ /*
+ * 函数功能:判断单选按钮是否勾选
+ */
public boolean isInChoiceMode() {
return mChoiceMode;
}
+ /*
+ * 函数功能:设置单项选项框
+ * 函数实现:重置下标并且根据参数mode设置选项
+ */
public void setChoiceMode(boolean mode) {
mSelectedIndex.clear();
mChoiceMode = mode;
}
+ /*
+ * 函数功能:选择全部选项
+ * 函数实现:如下注释
+ */
public void selectAll(boolean checked) {
Cursor cursor = getCursor();
+ //获取光标位置
for (int i = 0; i < getCount(); i++) {
if (cursor.moveToPosition(i)) {
if (NoteItemData.getNoteType(cursor) == Notes.TYPE_NOTE) {
@@ -87,30 +111,47 @@ public class NotesListAdapter extends CursorAdapter {
}
}
}
+ //遍历所有光标可用的位置在判断为便签类型之后勾选单项框
}
+ /*
+ * 函数功能:建立选择项的下标列表
+ * 函数实现:如下注释
+ */
public HashSet getSelectedItemIds() {
HashSet itemSet = new HashSet();
+ //建立hash表
for (Integer position : mSelectedIndex.keySet()) {
+ //遍历所有的关键
if (mSelectedIndex.get(position) == true) {
+ //若光标位置可用
Long id = getItemId(position);
if (id == Notes.ID_ROOT_FOLDER) {
+ //原文件不需要添加
Log.d(TAG, "Wrong item id, should not happen");
} else {
itemSet.add(id);
}
+ //则将id该下标假如选项集合中
+
}
}
return itemSet;
}
+ /*
+ * 函数功能:建立桌面Widget的选项表
+ * 函数实现:如下注释
+ */
public HashSet getSelectedWidget() {
HashSet itemSet = new HashSet();
for (Integer position : mSelectedIndex.keySet()) {
if (mSelectedIndex.get(position) == true) {
Cursor c = (Cursor) getItem(position);
+ //以上4句和getSelectedItemIds一样,不再重复
if (c != null) {
+ //光标位置可用的话就建立新的Widget属性并编辑下标和类型,最后添加到选项集中
AppWidgetAttribute widget = new AppWidgetAttribute();
NoteItemData item = new NoteItemData(mContext, c);
widget.widgetId = item.getWidgetId();
@@ -128,26 +169,42 @@ public class NotesListAdapter extends CursorAdapter {
return itemSet;
}
+ /*
+ * 函数功能:获取选项个数
+ * 函数实现:如下注释
+ */
public int getSelectedCount() {
Collection values = mSelectedIndex.values();
+ //首先获取选项下标的值
if (null == values) {
return 0;
}
Iterator iter = values.iterator();
+ //初始化叠加器
int count = 0;
while (iter.hasNext()) {
if (true == iter.next()) {
+ //若value值为真计数+1
count++;
}
}
return count;
}
+ /*
+ * 函数功能:判断是否全部选中
+ * 函数实现:如下注释
+ */
public boolean isAllSelected() {
int checkedCount = getSelectedCount();
return (checkedCount != 0 && checkedCount == mNotesCount);
+ //获取选项数看是否等于便签的个数
}
+ /*
+ * 函数功能:判断是否为选项表
+ * 函数实现:通过传递的下标来确定
+ */
public boolean isSelectedItem(final int position) {
if (null == mSelectedIndex.get(position)) {
return false;
@@ -156,29 +213,45 @@ public class NotesListAdapter extends CursorAdapter {
}
@Override
+ /*
+ * 函数功能:在activity内容发生局部变动的时候回调该函数计算便签的数量
+ * 函数实现:如下注释
+ */
protected void onContentChanged() {
super.onContentChanged();
+ //执行基类函数
calcNotesCount();
}
@Override
+ /*
+ * 函数功能:在activity光标发生局部变动的时候回调该函数计算便签的数量
+ */
public void changeCursor(Cursor cursor) {
super.changeCursor(cursor);
+ //执行基类函数
calcNotesCount();
}
+ /*
+ * 函数功能:计算便签数量
+ *
+ */
private void calcNotesCount() {
mNotesCount = 0;
for (int i = 0; i < getCount(); i++) {
+ //获取总数同时遍历
Cursor c = (Cursor) getItem(i);
if (c != null) {
if (NoteItemData.getNoteType(c) == Notes.TYPE_NOTE) {
mNotesCount++;
+ //若该位置不为空并且文本类型为便签就+1
}
} else {
Log.e(TAG, "Invalid cursor");
return;
}
+ //否则报错
}
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListItem.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListItem.java
index 1221e80..fa8b3d2 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListItem.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesListItem.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.content.Context;
@@ -30,37 +14,43 @@ import net.micode.notes.tool.DataUtils;
import net.micode.notes.tool.ResourceParser.NoteItemBgResources;
+//创建便签列表项目选项
public class NotesListItem extends LinearLayout {
- private ImageView mAlert;
- private TextView mTitle;
- private TextView mTime;
- private TextView mCallName;
- private NoteItemData mItemData;
- private CheckBox mCheckBox;
+ private ImageView mAlert;//闹钟图片
+ private TextView mTitle; //标题
+ private TextView mTime; //时间
+ private TextView mCallName; //
+ private NoteItemData mItemData; //标签数据
+ private CheckBox mCheckBox; //打钩框
+ /*初始化基本信息*/
public NotesListItem(Context context) {
- super(context);
- inflate(context, R.layout.note_item, this);
+ super(context); //super()它的主要作用是调整调用父类构造函数的顺序
+ inflate(context, R.layout.note_item, this);//Inflate可用于将一个xml中定义的布局控件找出来,这里的xml是r。layout
+ //findViewById用于从contentView中查找指定ID的View,转换出来的形式根据需要而定;
mAlert = (ImageView) findViewById(R.id.iv_alert_icon);
mTitle = (TextView) findViewById(R.id.tv_title);
mTime = (TextView) findViewById(R.id.tv_time);
mCallName = (TextView) findViewById(R.id.tv_name);
mCheckBox = (CheckBox) findViewById(android.R.id.checkbox);
}
-
+ ///根据data的属性对各个控件的属性的控制,主要是可见性Visibility,内容setText,格式setTextAppearance
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);
+ mCheckBox.setVisibility(View.VISIBLE); ///设置可见行为可见
+ mCheckBox.setChecked(checked); ///格子打钩
} else {
mCheckBox.setVisibility(View.GONE);
}
mItemData = data;
+ ///设置控件属性,一共三种情况,由data的id和父id是否与保存到文件夹的id一致来决定
if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) {
mCallName.setVisibility(View.GONE);
mAlert.setVisibility(View.VISIBLE);
+ //设置该textview的style
mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);
+ //settext为设置内容
mTitle.setText(context.getString(R.string.call_record_folder_name)
+ context.getString(R.string.format_folder_files_count, data.getNotesCount()));
mAlert.setImageResource(R.drawable.call_record);
@@ -69,8 +59,9 @@ public class NotesListItem extends LinearLayout {
mCallName.setText(data.getCallName());
mTitle.setTextAppearance(context,R.style.TextAppearanceSecondaryItem);
mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet()));
+ ///关于闹钟的设置
if (data.hasAlert()) {
- mAlert.setImageResource(R.drawable.clock);
+ mAlert.setImageResource(R.drawable.clock);//图片来源的设置
mAlert.setVisibility(View.VISIBLE);
} else {
mAlert.setVisibility(View.GONE);
@@ -78,45 +69,48 @@ public class NotesListItem extends LinearLayout {
} else {
mCallName.setVisibility(View.GONE);
mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);
-
+ ///设置title格式
if (data.getType() == Notes.TYPE_FOLDER) {
mTitle.setText(data.getSnippet()
+ context.getString(R.string.format_folder_files_count,
- data.getNotesCount()));
+ data.getNotesCount()));
mAlert.setVisibility(View.GONE);
} else {
mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet()));
if (data.hasAlert()) {
- mAlert.setImageResource(R.drawable.clock);
+ mAlert.setImageResource(R.drawable.clock);///设置图片来源
mAlert.setVisibility(View.VISIBLE);
} else {
mAlert.setVisibility(View.GONE);
}
}
}
- mTime.setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate()));
+ ///设置内容,获取相关时间,从data里编辑的日期中获取
+ mTime. setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate()));
setBackground(data);
}
-
+ //根据data的文件属性来设置背景
private void setBackground(NoteItemData data) {
int id = data.getBgColorId();
+ //,若是note型文件,则4种情况,对于4种不同情况的背景来源
if (data.getType() == Notes.TYPE_NOTE) {
+ //单个数据并且只有一个子文件夹
if (data.isSingle() || data.isOneFollowingFolder()) {
setBackgroundResource(NoteItemBgResources.getNoteBgSingleRes(id));
- } else if (data.isLast()) {
+ } else if (data.isLast()) {//是最后一个数据
setBackgroundResource(NoteItemBgResources.getNoteBgLastRes(id));
- } else if (data.isFirst() || data.isMultiFollowingFolder()) {
+ } else if (data.isFirst() || data.isMultiFollowingFolder()) {//是一个数据并有多个子文件夹
setBackgroundResource(NoteItemBgResources.getNoteBgFirstRes(id));
} else {
setBackgroundResource(NoteItemBgResources.getNoteBgNormalRes(id));
}
} else {
+ //若不是note直接调用文件夹的背景来源
setBackgroundResource(NoteItemBgResources.getFolderBgRes());
}
}
-
public NoteItemData getItemData() {
return mItemData;
}
-}
+}
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
index 07c5f7e..6f8a89f 100644
--- a/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
+++ b/src/Notes-master2/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package net.micode.notes.ui;
import android.accounts.Account;
@@ -47,66 +31,92 @@ import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.gtask.remote.GTaskSyncService;
-
+/*
+ *该类功能:NotesPreferenceActivity,在小米便签中主要实现的是对背景颜色和字体大小的数据储存。
+ * 继承了PreferenceActivity主要功能为对系统信息和配置进行自动保存的Activity
+ */
public class NotesPreferenceActivity extends PreferenceActivity {
public static final String PREFERENCE_NAME = "notes_preferences";
-
+ //优先名
public static final String PREFERENCE_SYNC_ACCOUNT_NAME = "pref_key_account_name";
-
+ //同步账号
public static final String PREFERENCE_LAST_SYNC_TIME = "pref_last_sync_time";
-
+ //同步时间
public static final String PREFERENCE_SET_BG_COLOR_KEY = "pref_key_bg_random_appear";
private static final String PREFERENCE_SYNC_ACCOUNT_KEY = "pref_sync_account_key";
-
+ //同步密码
private static final String AUTHORITIES_FILTER_KEY = "authorities";
-
+ //本地密码
private PreferenceCategory mAccountCategory;
-
+ //账户分组
private GTaskReceiver mReceiver;
-
+ //同步任务接收器
private Account[] mOriAccounts;
-
+ //账户
private boolean mHasAddedAccount;
+ //账户的hash标记
@Override
+ /*
+ *函数功能:创建一个activity,在函数里要完成所有的正常静态设置
+ *参数:Bundle icicle:存放了 activity 当前的状态
+ *函数实现:如下注释
+ */
protected void onCreate(Bundle icicle) {
+ //先执行父类的创建函数
super.onCreate(icicle);
/* using the app icon for navigation */
getActionBar().setDisplayHomeAsUpEnabled(true);
+ //给左上角图标的左边加上一个返回的图标
addPreferencesFromResource(R.xml.preferences);
+ //添加xml来源并显示 xml
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);
+ //获取listvivew,ListView的作用:用于列出所有选择
getListView().addHeaderView(header, null, true);
+ //在listview组件上方添加其他组件
}
@Override
+ /*
+ * 函数功能:activity交互功能的实现,用于接受用户的输入
+ * 函数实现:如下注释
+ */
protected void onResume() {
+ //先执行父类 的交互实现
super.onResume();
// need to set sync account automatically if user has added a new
// account
if (mHasAddedAccount) {
+ //若用户新加了账户则自动设置同步账户
Account[] accounts = getGoogleAccounts();
+ //获取google同步账户
if (mOriAccounts != null && accounts.length > mOriAccounts.length) {
+ //若原账户不为空且当前账户有增加
for (Account accountNew : accounts) {
boolean found = false;
for (Account accountOld : mOriAccounts) {
if (TextUtils.equals(accountOld.name, accountNew.name)) {
+ //更新账户
found = true;
break;
}
}
if (!found) {
setSyncAccount(accountNew.name);
+ //若是没有找到旧的账户,那么同步账号中就只添加新账户
break;
}
}
@@ -114,58 +124,83 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}
refreshUI();
+ //刷新标签界面
}
@Override
+ /*
+ * 函数功能:销毁一个activity
+ * 函数实现:如下注释
+ */
protected void onDestroy() {
if (mReceiver != null) {
unregisterReceiver(mReceiver);
+ //注销接收器
}
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));
accountPref.setSummary(getString(R.string.preferences_account_summary));
+ //设置首选项的大标题和小标题
accountPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
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 {
+ //若在没有同步的情况下,则在toast中显示不能修改
Toast.makeText(NotesPreferenceActivity.this,
- R.string.preferences_toast_cannot_change_account, Toast.LENGTH_SHORT)
+ R.string.preferences_toast_cannot_change_account, Toast.LENGTH_SHORT)
.show();
}
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() {
@@ -173,50 +208,67 @@ public class NotesPreferenceActivity extends PreferenceActivity {
GTaskSyncService.startSync(NotesPreferenceActivity.this);
}
});
+ //若是不同步则设置按钮显示的文本为“立即同步”以及对应监听器
}
syncButton.setEnabled(!TextUtils.isEmpty(getSyncAccountName(this)));
+ //设置按键可用还是不可用
// set last sync time
+ // 设置最终同步时间
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 {
+ //若时间为空直接设置为不可见状态
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);
-
+ //设置对话框的自定义标题,建立一个YES的按钮
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;
@@ -224,83 +276,119 @@ public class NotesPreferenceActivity extends PreferenceActivity {
for (Account account : accounts) {
if (TextUtils.equals(account.name, defAccount)) {
checkedItem = index;
+ //在账户列表中查询到所需账户
}
items[index++] = account.name;
}
dialogBuilder.setSingleChoiceItems(items, checkedItem,
+ //在对话框建立一个单选的复选框
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
setSyncAccount(itemMapping[which].toString());
dialog.dismiss();
+ //取消对话框
refreshUI();
}
+ //设置点击后执行的事件,包括检录新同步账户和刷新标签界面
});
+ //建立对话框网络版的监听器
}
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;
+ //将新加账户的hash置true
Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS");
+ //建立网络建立组件
intent.putExtra(AUTHORITIES_FILTER_KEY, new String[] {
- "gmail-ls"
+ "gmail-ls"
});
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() {
+ //设置对话框要显示的一个list,用于显示几个命令时,即change,remove,cancel
public void onClick(DialogInterface dialog, int which) {
+ //按键功能,由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");
}
+ /*
+ * 函数功能:设置同步账户
+ * 函数实现:如下注释:
+ */
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, "");
}
+ //将该账号加入到首选项中
+
editor.commit();
+ //提交修改的数据
+
- // clean up last sync time
setLastSyncTime(this, 0);
+ //将最后同步时间清零
// clean up local gtask related info
new Thread(new Runnable() {
@@ -311,23 +399,33 @@ public class NotesPreferenceActivity extends PreferenceActivity {
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();
+ //将toast的文本信息置为“设置账户成功”并显示出来
}
}
-
+ /*
+ * 函数功能:删除同步账户
+ * 函数实现:如下注释:
+ */
private void removeSyncAccount() {
SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
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);
+ //删除当前首选项中有账户时间
}
editor.commit();
+ //提交更新后的数据
// clean up local gtask related info
new Thread(new Runnable() {
@@ -338,51 +436,79 @@ 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, "");
}
+ /*
+ * 函数功能:设置最终同步的时间
+ * 函数实现:如下注释
+ */
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();
+ //编辑最终同步时间并提交更新
}
-
+ /*
+ * 函数功能:获取最终同步时间
+ * 函数实现:通过共享的首选项里的信息直接获取
+ */
public static long getLastSyncTime(Context context) {
SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME,
Context.MODE_PRIVATE);
return settings.getLong(PREFERENCE_LAST_SYNC_TIME, 0);
}
+ /*
+ * 函数功能:接受同步信息
+ * 函数实现:继承BroadcastReceiver
+ */
private class GTaskReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
refreshUI();
if (intent.getBooleanExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_IS_SYNCING, false)) {
+ //获取随广播而来的Intent中的同步服务的数据
TextView syncStatus = (TextView) findViewById(R.id.prefenerece_sync_status_textview);
syncStatus.setText(intent
.getStringExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_PROGRESS_MSG));
+ //通过获取的数据在设置系统的状态
}
}
}
+ /*
+ * 函数功能:处理菜单的选项
+ * 函数实现:如下注释
+ * 参数:MenuItem菜单选项
+ */
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
+ //根据选项的id选择,这里只有一个主页
case android.R.id.home:
Intent intent = new Intent(this, NotesListActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
+ //在主页情况下在创建连接组件intent,发出清空的信号并开始一个相应的activity
default:
return false;
}
}
}
+
\ No newline at end of file
diff --git a/src/Notes-master2/app/src/main/res/layout/note_edit.xml b/src/Notes-master2/app/src/main/res/layout/note_edit.xml
index 02410c1..72f9579 100644
--- a/src/Notes-master2/app/src/main/res/layout/note_edit.xml
+++ b/src/Notes-master2/app/src/main/res/layout/note_edit.xml
@@ -400,4 +400,12 @@
android:src="@drawable/selected" />
+