diff --git a/.gradle/7.5/checksums/checksums.lock b/.gradle/7.5/checksums/checksums.lock
new file mode 100644
index 0000000..9db14bc
Binary files /dev/null and b/.gradle/7.5/checksums/checksums.lock differ
diff --git a/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock b/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock
new file mode 100644
index 0000000..8a111de
Binary files /dev/null and b/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock differ
diff --git a/doc/新建 Microsoft Word 文档.docx b/.gradle/7.5/dependencies-accessors/gc.properties
similarity index 100%
rename from doc/新建 Microsoft Word 文档.docx
rename to .gradle/7.5/dependencies-accessors/gc.properties
diff --git a/.gradle/7.5/executionHistory/executionHistory.bin b/.gradle/7.5/executionHistory/executionHistory.bin
new file mode 100644
index 0000000..65ee6ab
Binary files /dev/null and b/.gradle/7.5/executionHistory/executionHistory.bin differ
diff --git a/.gradle/7.5/executionHistory/executionHistory.lock b/.gradle/7.5/executionHistory/executionHistory.lock
new file mode 100644
index 0000000..33f006c
Binary files /dev/null and b/.gradle/7.5/executionHistory/executionHistory.lock differ
diff --git a/.gradle/7.5/fileChanges/last-build.bin b/.gradle/7.5/fileChanges/last-build.bin
new file mode 100644
index 0000000..f76dd23
Binary files /dev/null and b/.gradle/7.5/fileChanges/last-build.bin differ
diff --git a/.gradle/7.5/fileHashes/fileHashes.bin b/.gradle/7.5/fileHashes/fileHashes.bin
new file mode 100644
index 0000000..55f5e24
Binary files /dev/null and b/.gradle/7.5/fileHashes/fileHashes.bin differ
diff --git a/.gradle/7.5/fileHashes/fileHashes.lock b/.gradle/7.5/fileHashes/fileHashes.lock
new file mode 100644
index 0000000..43c66e4
Binary files /dev/null and b/.gradle/7.5/fileHashes/fileHashes.lock differ
diff --git a/.gradle/7.5/fileHashes/resourceHashesCache.bin b/.gradle/7.5/fileHashes/resourceHashesCache.bin
new file mode 100644
index 0000000..e1fe08d
Binary files /dev/null and b/.gradle/7.5/fileHashes/resourceHashesCache.bin differ
diff --git a/model/新建 Microsoft Visio Drawing.vsdx b/.gradle/7.5/gc.properties
similarity index 100%
rename from model/新建 Microsoft Visio Drawing.vsdx
rename to .gradle/7.5/gc.properties
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000..4ff6750
Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000..35fb573
--- /dev/null
+++ b/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Mon Apr 10 21:32:01 HKT 2023
+gradle.version=7.5
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000..0137015
Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
new file mode 100644
index 0000000..9fdd11e
Binary files /dev/null and b/.gradle/file-system.probe differ
diff --git a/other/新建 Microsoft Word 文档.docx b/.gradle/vcs-1/gc.properties
similarity index 100%
rename from other/新建 Microsoft Word 文档.docx
rename to .gradle/vcs-1/gc.properties
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..d7fc610
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+Contact.java
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..b589d56
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..5d23646
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..cbbe561
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..a5f05cd
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..3260f90
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/0/8/08c35f02f11c35ae9ebf8db0a482054dfa1cf493 b/.idea/sonarlint/issuestore/0/8/08c35f02f11c35ae9ebf8db0a482054dfa1cf493
new file mode 100644
index 0000000..c100822
--- /dev/null
+++ b/.idea/sonarlint/issuestore/0/8/08c35f02f11c35ae9ebf8db0a482054dfa1cf493
@@ -0,0 +1,11 @@
+
+s
+java:S4144"\Update this method so that its implementation is not identical to "getParentId" on line 185.(
+>
+java:S1125T"(Remove the unnecessary boolean literals.(
+m
+java:S3776p"RRefactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.(
+C
+java:S1125q"(Remove the unnecessary boolean literals.(
+>
+java:S1125r"(Remove the unnecessary boolean literals.(
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/2/8/283f16cc23da56ca65616082bc810304d3511d0a b/.idea/sonarlint/issuestore/2/8/283f16cc23da56ca65616082bc810304d3511d0a
new file mode 100644
index 0000000..69f4968
--- /dev/null
+++ b/.idea/sonarlint/issuestore/2/8/283f16cc23da56ca65616082bc810304d3511d0a
@@ -0,0 +1,39 @@
+
+t
+java:S22930"YReplace the type specification in this constructor call with the diamond operator ("<>").(ə
+o
+java:S2293]"YReplace the type specification in this constructor call with the diamond operator ("<>").(
+o
+java:S2293m"YReplace the type specification in this constructor call with the diamond operator ("<>").(Ȫ
+J
+java:S1066U"/Merge this if statement with the enclosing one.(ڧ
+
+java:S1319\"mThe return type of this method should be an interface such as "Set" rather than the implementation "HashSet".(
+
+java:S1319l"mThe return type of this method should be an interface such as "Set" rather than the implementation "HashSet".(
+j
+java:S1104*"TMake widgetId a static final constant or non-public and provide accessors if needed.(ǎ
+q
+java:S1104+"VMake widgetType a static final constant or non-public and provide accessors if needed.(漬
+C
+java:S5411_"(Use a primitive boolean expression here.(ɯ
+C
+java:S5411o"(Use a primitive boolean expression here.(ɯ
+D
+java:S5411"(Use a primitive boolean expression here.(
+7
+java:S1116,"Remove this empty statement.(
+D
+java:S1874/".Remove this use of ""; it is deprecated.(
+J
+java:S2864^"4Iterate over the "entrySet" instead of the "keySet".(
+B
+java:S1125_"'Remove the unnecessary boolean literal.(ɯ
+J
+java:S2864n"4Iterate over the "entrySet" instead of the "keySet".(
+B
+java:S1125o"'Remove the unnecessary boolean literal.(ɯ
+A
+java:S1168|"+Return an empty collection instead of null.(
+C
+java:S1125"'Remove the unnecessary boolean literal.(
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/3/2/32360bf24febc78f20db52498c7576b3d8650d56 b/.idea/sonarlint/issuestore/3/2/32360bf24febc78f20db52498c7576b3d8650d56
new file mode 100644
index 0000000..367ade5
--- /dev/null
+++ b/.idea/sonarlint/issuestore/3/2/32360bf24febc78f20db52498c7576b3d8650d56
@@ -0,0 +1,35 @@
+
+t
+java:S22932"YReplace the type specification in this constructor call with the diamond operator ("<>").(л
+t
+java:S2293Z"YReplace the type specification in this constructor call with the diamond operator ("<>").(л
+u
+java:S2293"YReplace the type specification in this constructor call with the diamond operator ("<>").(ª
+b
+java:S1192D"GDefine a constant instead of duplicating this literal "%s: %s" 4 times.(
+c
+java:S1192x"HDefine a constant instead of duplicating this literal "=? AND " 4 times.(
+J
+java:S1066~"/Merge this if statement with the enclosing one.(䲜
+v
+java:S1319("`The type of "ids" should be an interface such as "Set" rather than the implementation "HashSet".(
+{
+java:S1319S"`The type of "ids" should be an interface such as "Set" rather than the implementation "HashSet".(
+
+java:S1319"mThe return type of this method should be an interface such as "Set" rather than the implementation "HashSet".(
+U
+java:S1118&":Add a private constructor to hide the implicit public one.(
+T
+java:S1155-">Use isEmpty() to check whether the collection is empty or not.(
+Z
+java:S2147E"DCombine this catch with the one at line 67, which has the same body.(暩
+[
+java:S2147l"ECombine this catch with the one at line 106, which has the same body.(暩
+k
+java:S3252"OUse static access with "net.micode.notes.data.Notes$DataColumns" for "NOTE_ID".(
+m
+java:S3252"QUse static access with "net.micode.notes.data.Notes$DataColumns" for "MIME_TYPE".(
+f
+java:S3252"OUse static access with "net.micode.notes.data.Notes$DataColumns" for "NOTE_ID".(ʹ
+m
+java:S3252"QUse static access with "net.micode.notes.data.Notes$DataColumns" for "MIME_TYPE".(
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9 b/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9
new file mode 100644
index 0000000..59ce83a
--- /dev/null
+++ b/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9
@@ -0,0 +1,14 @@
+
+o
+java:S22931"YReplace the type specification in this constructor call with the diamond operator ("<>").(
+D
+java:S1604"(Make this anonymous inner class a lambda(
+f
+java:S1301h"KReplace this "switch" statement by "if" statements to increase readability.(
+M
+java:S1135c"2Complete the task associated to this TODO comment.(
+< java:S131h""Add a default case to this switch.(
+^
+java:S1126"BReplace this if-then-else statement by a single method invocation.(忥
+P
+java:S2864"4Iterate over the "entrySet" instead of the "keySet".(Κ
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/5/d/5dfe6902d8ec740690f88d644e74362c3be08fad b/.idea/sonarlint/issuestore/5/d/5dfe6902d8ec740690f88d644e74362c3be08fad
new file mode 100644
index 0000000..c2e6fb3
--- /dev/null
+++ b/.idea/sonarlint/issuestore/5/d/5dfe6902d8ec740690f88d644e74362c3be08fad
@@ -0,0 +1,3 @@
+
+m
+java:S37763"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/f/9/f9f49497f95afd327db7a7a512612aa1089003d4 b/.idea/sonarlint/issuestore/f/9/f9f49497f95afd327db7a7a512612aa1089003d4
new file mode 100644
index 0000000..fafb6c2
--- /dev/null
+++ b/.idea/sonarlint/issuestore/f/9/f9f49497f95afd327db7a7a512612aa1089003d4
@@ -0,0 +1,7 @@
+
+3
+java:S2386!"Make this member "protected".(Ꙗ
+D
+java:S1874*".Remove this use of ""; it is deprecated.(ж
+M
+java:S1135+"2Complete the task associated to this TODO comment.(
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb
new file mode 100644
index 0000000..ecb9515
--- /dev/null
+++ b/.idea/sonarlint/issuestore/index.pb
@@ -0,0 +1,13 @@
+
+g
+7app/src/main/java/net/micode/notes/ui/NoteItemData.java,0\8\08c35f02f11c35ae9ebf8db0a482054dfa1cf493
+m
+=app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java,f\9\f9f49497f95afd327db7a7a512612aa1089003d4
+k
+;app/src/main/java/net/micode/notes/ui/NotesListAdapter.java,2\8\283f16cc23da56ca65616082bc810304d3511d0a
+h
+8app/src/main/java/net/micode/notes/ui/NotesListItem.java,5\d\5dfe6902d8ec740690f88d644e74362c3be08fad
+g
+7app/src/main/java/net/micode/notes/ui/NoteEditText.java,5\0\503adcf2a0be1ecdb94a15efba4433b6589877b9
+f
+6app/src/main/java/net/micode/notes/tool/DataUtils.java,3\2\32360bf24febc78f20db52498c7576b3d8650d56
\ No newline at end of file
diff --git a/.idea/sonarlint/securityhotspotstore/0/8/08c35f02f11c35ae9ebf8db0a482054dfa1cf493 b/.idea/sonarlint/securityhotspotstore/0/8/08c35f02f11c35ae9ebf8db0a482054dfa1cf493
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/2/8/283f16cc23da56ca65616082bc810304d3511d0a b/.idea/sonarlint/securityhotspotstore/2/8/283f16cc23da56ca65616082bc810304d3511d0a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/3/2/32360bf24febc78f20db52498c7576b3d8650d56 b/.idea/sonarlint/securityhotspotstore/3/2/32360bf24febc78f20db52498c7576b3d8650d56
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9 b/.idea/sonarlint/securityhotspotstore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/5/d/5dfe6902d8ec740690f88d644e74362c3be08fad b/.idea/sonarlint/securityhotspotstore/5/d/5dfe6902d8ec740690f88d644e74362c3be08fad
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/f/9/f9f49497f95afd327db7a7a512612aa1089003d4 b/.idea/sonarlint/securityhotspotstore/f/9/f9f49497f95afd327db7a7a512612aa1089003d4
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/securityhotspotstore/index.pb b/.idea/sonarlint/securityhotspotstore/index.pb
new file mode 100644
index 0000000..6e2083b
--- /dev/null
+++ b/.idea/sonarlint/securityhotspotstore/index.pb
@@ -0,0 +1,13 @@
+
+k
+;app/src/main/java/net/micode/notes/ui/NotesListAdapter.java,2\8\283f16cc23da56ca65616082bc810304d3511d0a
+g
+7app/src/main/java/net/micode/notes/ui/NoteItemData.java,0\8\08c35f02f11c35ae9ebf8db0a482054dfa1cf493
+h
+8app/src/main/java/net/micode/notes/ui/NotesListItem.java,5\d\5dfe6902d8ec740690f88d644e74362c3be08fad
+m
+=app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java,f\9\f9f49497f95afd327db7a7a512612aa1089003d4
+g
+7app/src/main/java/net/micode/notes/ui/NoteEditText.java,5\0\503adcf2a0be1ecdb94a15efba4433b6589877b9
+f
+6app/src/main/java/net/micode/notes/tool/DataUtils.java,3\2\32360bf24febc78f20db52498c7576b3d8650d56
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..fa49c0c
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,19 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdk 16
+ buildToolsVersion "33.0.2"
+
+ defaultConfig {
+ applicationId "net.micode.notes"
+ minSdkVersion 14
+ targetSdkVersion 14
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+ }
+ }
+}
diff --git a/app/build/generated/source/buildConfig/debug/net/micode/notes/BuildConfig.java b/app/build/generated/source/buildConfig/debug/net/micode/notes/BuildConfig.java
new file mode 100644
index 0000000..db17690
--- /dev/null
+++ b/app/build/generated/source/buildConfig/debug/net/micode/notes/BuildConfig.java
@@ -0,0 +1,12 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package net.micode.notes;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
+ public static final String APPLICATION_ID = "net.micode.notes";
+ public static final String BUILD_TYPE = "debug";
+ public static final int VERSION_CODE = 1;
+ public static final String VERSION_NAME = "0.1";
+}
diff --git a/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json b/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/app/build/intermediates/annotation_processor_list/debug/annotationProcessors.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/app/build/intermediates/apk/debug/app-debug.apk b/app/build/intermediates/apk/debug/app-debug.apk
new file mode 100644
index 0000000..699938f
Binary files /dev/null and b/app/build/intermediates/apk/debug/app-debug.apk differ
diff --git a/app/build/intermediates/apk/debug/output-metadata.json b/app/build/intermediates/apk/debug/output-metadata.json
new file mode 100644
index 0000000..b2231b9
--- /dev/null
+++ b/app/build/intermediates/apk/debug/output-metadata.json
@@ -0,0 +1,20 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "APK",
+ "kind": "Directory"
+ },
+ "applicationId": "net.micode.notes",
+ "variantName": "debug",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "attributes": [],
+ "versionCode": 1,
+ "versionName": "0.1",
+ "outputFile": "app-debug.apk"
+ }
+ ],
+ "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/apk_ide_redirect_file/debug/redirect.txt b/app/build/intermediates/apk_ide_redirect_file/debug/redirect.txt
new file mode 100644
index 0000000..46dacc6
--- /dev/null
+++ b/app/build/intermediates/apk_ide_redirect_file/debug/redirect.txt
@@ -0,0 +1,2 @@
+#- File Locator -
+listingFile=../../apk/debug/output-metadata.json
diff --git a/app/build/intermediates/app_metadata/debug/app-metadata.properties b/app/build/intermediates/app_metadata/debug/app-metadata.properties
new file mode 100644
index 0000000..260f1ee
--- /dev/null
+++ b/app/build/intermediates/app_metadata/debug/app-metadata.properties
@@ -0,0 +1,2 @@
+appMetadataVersion=1.1
+androidGradlePluginVersion=7.4.2
diff --git a/app/build/intermediates/compatible_screen_manifest/debug/output-metadata.json b/app/build/intermediates/compatible_screen_manifest/debug/output-metadata.json
new file mode 100644
index 0000000..714f651
--- /dev/null
+++ b/app/build/intermediates/compatible_screen_manifest/debug/output-metadata.json
@@ -0,0 +1,10 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "COMPATIBLE_SCREEN_MANIFEST",
+ "kind": "Directory"
+ },
+ "applicationId": "net.micode.notes",
+ "variantName": "debug",
+ "elements": []
+}
\ No newline at end of file
diff --git a/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar
new file mode 100644
index 0000000..5523061
Binary files /dev/null and b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_0/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_0/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_0/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_1/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_1/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_1/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_2/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_2/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_2/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_3/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_3/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_3/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_4/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_4/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_4/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_5/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_5/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_5/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_0/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_0/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_0/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_1/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_1/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_1/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_2/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_2/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_2/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_3/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_3/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_3/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_4/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_4/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_4/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_5/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_5/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_5/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_6/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_6/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_6/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_7/graph.bin b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_7/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_290003a5d0cde1a8991a028b0943b385c4efb0ea0f78be3eb2af2b638c04db23_bucket_7/graph.bin differ
diff --git a/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex b/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex
new file mode 100644
index 0000000..b030a2b
Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeDexDebug/classes.dex differ
diff --git a/app/build/intermediates/dex_archive_input_jar_hashes/debug/out b/app/build/intermediates/dex_archive_input_jar_hashes/debug/out
new file mode 100644
index 0000000..45ff039
Binary files /dev/null and b/app/build/intermediates/dex_archive_input_jar_hashes/debug/out differ
diff --git a/app/build/intermediates/dex_number_of_buckets_file/debug/out b/app/build/intermediates/dex_number_of_buckets_file/debug/out
new file mode 100644
index 0000000..301160a
--- /dev/null
+++ b/app/build/intermediates/dex_number_of_buckets_file/debug/out
@@ -0,0 +1 @@
+8
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state b/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state
new file mode 100644
index 0000000..1c983fc
Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state differ
diff --git a/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties b/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties
new file mode 100644
index 0000000..4daa872
--- /dev/null
+++ b/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties
@@ -0,0 +1,102 @@
+#Fri Apr 14 21:15:52 HKT 2023
+net.micode.notes.app-main-7\:/drawable-hdpi/call_record.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_green.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_green.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_yellow.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_yellow.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/font_small.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_small.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_white.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_white.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_white.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_white.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_down.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_down.9.png.flat
+net.micode.notes.app-main-7\:/color/secondary_text_dark.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat
+net.micode.notes.app-main-7\:/layout/widget_4x.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_4x.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/menu_delete.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_delete.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/clock.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_clock.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/dropdown_icon.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_dropdown_icon.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_green.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_green.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_white_single.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_single.9.png.flat
+net.micode.notes.app-main-7\:/raw-zh-rCN/introduction=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\raw-zh-rCN_introduction.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_green.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_green.png.flat
+net.micode.notes.app-main-7\:/xml/preferences.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\xml_preferences.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/delete.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_delete.png.flat
+net.micode.notes.app-main-7\:/menu/call_record_folder.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_call_record_folder.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_red.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_red.png.flat
+net.micode.notes.app-main-7\:/layout/widget_2x.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_2x.xml.flat
+net.micode.notes.app-main-7\:/menu/long_click_menu.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_long_click_menu.xml.flat
+net.micode.notes.app-main-7\:/layout/add_account_text.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_add_account_text.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/selected.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_selected.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_middle.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_middle.9.png.flat
+net.micode.notes.app-main-7\:/color/font_color_red.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\color_font_color_red.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_single.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_single.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/font_large.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_large.png.flat
+net.micode.notes.app-main-7\:/layout/settings_header.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_settings_header.xml.flat
+net.micode.notes.app-main-7\:/menu/call_note_edit.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_call_note_edit.xml.flat
+net.micode.notes.app-main-7\:/raw/introduction=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\raw_introduction.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_yellow.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_yellow.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_red.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_red.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/title_alert.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_alert.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_yellow.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_yellow.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/font_color_green.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_color_green.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_red.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_red.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/title_bar_bg.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_bar_bg.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_green_up.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_up.9.png.flat
+net.micode.notes.app-main-7\:/layout/note_list_dropdown_menu.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_dropdown_menu.xml.flat
+net.micode.notes.app-main-7\:/layout/note_list_footer.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_footer.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_white_up.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_up.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_blue.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_blue.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/bg_color_btn_mask.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_color_btn_mask.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_blue.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_blue.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/bg_btn_set_color.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_btn_set_color.png.flat
+net.micode.notes.app-main-7\:/xml/searchable.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/notification.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_notification.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_up.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_up.9.png.flat
+net.micode.notes.app-main-7\:/color/font_color_default.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\color_font_color_default.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/note_edit_color_selector_panel.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_note_edit_color_selector_panel.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_white_middle.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_middle.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_folder.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_folder.9.png.flat
+net.micode.notes.app-main-7\:/menu/note_edit.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_note_edit.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/font_super.png=C\:\\Users\\82590\\AndroidStudioProjects\\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=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_yellow.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_yellow.9.png.flat
+net.micode.notes.app-main-7\:/menu/sub_folder.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_sub_folder.xml.flat
+net.micode.notes.app-main-7\:/layout/account_dialog_title.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_account_dialog_title.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_green.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_green.png.flat
+net.micode.notes.app-main-7\:/layout/dialog_edit_text.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_dialog_edit_text.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_middle.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_middle.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/font_normal.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_normal.png.flat
+net.micode.notes.app-main-7\:/color/font_color_green.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\color_font_color_green.xml.flat
+net.micode.notes.app-main-7\:/layout/note_edit.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_green_single.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_single.9.png.flat
+net.micode.notes.app-main-7\:/color/font_color_bright_blue.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\color_font_color_bright_blue.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_red_single.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_single.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/menu_move.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_move.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_green_down.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_down.9.png.flat
+net.micode.notes.app-main-7\:/layout/note_edit_list_item.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit_list_item.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_blue.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_blue.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/font_size_selector_bg.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_size_selector_bg.9.png.flat
+net.micode.notes.app-main-7\:/xml/widget_4x_info.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/search_result.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_search_result.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_white.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_white.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_green_middle.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_middle.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_white_down.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_down.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_up.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_up.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_red_middle.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_middle.9.png.flat
+net.micode.notes.app-main-7\:/menu/note_list.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list.xml.flat
+net.micode.notes.app-main-7\:/drawable/new_note.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable_new_note.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_red.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_red.9.png.flat
+net.micode.notes.app-main-7\:/layout/note_list.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list.xml.flat
+net.micode.notes.app-main-7\:/color/primary_text_dark.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat
+net.micode.notes.app-main-7\:/layout/datetime_picker.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_datetime_picker.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_single.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_single.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_red_down.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_down.9.png.flat
+net.micode.notes.app-main-7\:/menu/note_list_options.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_options.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/icon_app.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_icon_app.png.flat
+net.micode.notes.app-main-7\:/layout/note_item.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_note_item.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_background.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_background.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_footer_bg.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_footer_bg.9.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/new_note_pressed.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_pressed.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_red_up.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_up.9.png.flat
+net.micode.notes.app-main-7\:/menu/note_list_dropdown.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_dropdown.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_white.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_white.9.png.flat
+net.micode.notes.app-main-7\:/xml/widget_2x_info.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat
+net.micode.notes.app-main-7\:/layout/folder_list_item.xml=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\layout_folder_list_item.xml.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_blue.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_blue.png.flat
+net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_down.9.png=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_down.9.png.flat
diff --git a/app/build/intermediates/incremental/debug/mergeDebugResources/merger.xml b/app/build/intermediates/incremental/debug/mergeDebugResources/merger.xml
new file mode 100644
index 0000000..f6f7885
--- /dev/null
+++ b/app/build/intermediates/incremental/debug/mergeDebugResources/merger.xml
@@ -0,0 +1,64 @@
+
+
+ -%s
+ --%s
+ --%s
+ --%s
+
+ Messaging
+ Email
+ #335b5b5b33sp26sp20sp17sp14sp#00FF00#FF0000#0000FF#FFFF00#000000#00FFFFNotesNotes 2x2Notes 4x4No associated note found, click to create associated note.Privacy mode,can not see note content...Add noteDelete reminder successfullySet reminderExpiredyyyyMMddMMMd kk:mmGot itTake a lookCallSend emailBrowse webOpen map/MIUI/notes/notes_%s.txt(%d)New FolderExport textSyncCancel syncingSettingsSearchDeleteMove to folder%d selectedNothing selected, the operation is invalidSelect allDeselect allFont sizeSmallMediumLargeSuperEnter check listLeave check listView folderDelete folderChange folder nameThe folder %1$s exist, please renameShareSend to homeRemind meDelete reminderSelect folderParent folderNote added to homeConfirm to delete folder and its notes?Delete selected notesConfirm to delete the selected %d notes?Confirm to delete this note?Have moved selected %1$d notes to %2$s folderChange Selected Text ColorSD card busy, not available nowExport failed, please check SD cardThe note is not existSorry, can not set clock on empty noteSorry, can not send and empty note to homeExport successfulExport failExport text file (%1$s) to SD (%2$s) directorySyncing notes...Sync is successfulSync is failedSync is canceledSync is successful with account %1$sSync failed, please check network and account settingsSync failed, internal error occursSync is canceledLogging into %1$s...Getting remote note list...Synchronize local notes with Google Task...SettingsSync accountSync notes with google taskLast sync time %1$syyyy-MM-dd hh:mm:ssAdd accountChange sync accountRemove sync accountCancelSync immediatelyCancel syncingCurrent account %1$sAll sync related information will be deleted, which may result in duplicated items sometimeSync notesPlease select a google account. Local notes will be synced with google task.Cannot change the account because sync is in progress%1$s has been set as the sync accountNew note background color randomDeleteCall notesInput nameSearching NotesSearch notesText in your notesNotessetcancel
+ %1$s result for \"%2$s\"
+
+ %1$s results for \"%2$s\"
+ 改变文本颜色
+ 短信
+ 邮件
+ 便签便签2x2便签4x4没有关联内容,点击新建便签。访客模式下,便签内容不可见...新建便签成功删除提醒创建提醒已过期yyyyMMddMM月dd日 kk:mm知道了查看呼叫电话发送邮件浏览网页打开地图新建文件夹导出文本同步取消同步设置搜索删除移动到文件夹选中了 %d 项没有选中项,操作无效全选取消全选文字大小小正常大超大进入清单模式退出清单模式查看文件夹刪除文件夹修改文件夹名称文件夹 %1$s 已存在,请重新命名分享发送到桌面提醒我删除提醒选择文件夹上一级文件夹已添加到桌面删除确认要删除所选的 %d 条便签吗?确认要删除该条便签吗?确认删除文件夹及所包含的便签吗?已将所选 %1$d 条便签移到 %2$s 文件夹更改选中文本颜色SD卡被占用,不能操作导出文本时发生错误,请检查SD卡要查看的便签不存在不能为空便签设置闹钟提醒不能将空便签发送到桌面导出成功导出失败已将文本文件(%1$s)输出至SD卡(%2$s)目录同步便签...同步成功同步失败同步已取消与%1$s同步成功同步失败,请检查网络和帐号设置同步失败,发生内部错误同步已取消登录%1$s...正在获取服务器便签列表...正在同步本地便签...设置同步账号与google task同步便签记录上次同步于 %1$s添加账号更换账号删除账号取消立即同步取消同步当前帐号 %1$s如更换同步帐号,过去的帐号同步信息将被清空,再次切换的同时可能会造成数据重复同步便签请选择google帐号,便签将与该帐号的google task内容同步。正在同步中,不能修改同步帐号同步帐号已设置为%1$s新建便签背景颜色随机删除通话便签请输入名称正在搜索便签搜索便签便签中的文字便签设置取消
+ %1$s 条符合“%2$s”的搜索结果
+ 改变文本颜色
+ 短信
+ 郵件
+ 便簽便簽2x2便簽4x4沒有關聯內容,點擊新建便簽。訪客模式下,便籤內容不可見...新建便簽成功刪除提醒創建提醒已過期yyyyMMddMM月dd日 kk:mm知道了查看呼叫電話發送郵件浏覽網頁打開地圖已將所選 %1$d 便籤移到 %2$s 文件夾新建文件夾導出文本同步取消同步設置搜尋刪除移動到文件夾選中了 %d 項沒有選中項,操作無效全選取消全選文字大小小正常大超大進入清單模式退出清單模式查看文件夾刪除文件夾修改文件夾名稱文件夾 %1$s 已存在,請重新命名分享發送到桌面提醒我刪除提醒選擇文件夾上一級文件夾已添加到桌面刪除确认要刪除所選的 %d 條便籤嗎?确认要删除該條便籤嗎?確認刪除檔夾及所包含的便簽嗎?更改选中文本颜色SD卡被佔用,不能操作導出TXT時發生錯誤,請檢查SD卡要查看的便籤不存在不能爲空便籤設置鬧鐘提醒不能將空便籤發送到桌面導出成功導出失敗已將文本文件(%1$s)導出至SD(%2$s)目錄同步便簽...同步成功同步失敗同步已取消與%1$s同步成功同步失敗,請檢查網絡和帳號設置同步失敗,發生內部錯誤同步已取消登陸%1$s...正在獲取服務器便籤列表...正在同步本地便籤...設置同步賬號与google task同步便簽記錄上次同步于 %1$s添加賬號更換賬號刪除賬號取消立即同步取消同步當前帳號 %1$s如更換同步帳號,過去的帳號同步信息將被清空,再次切換的同時可能會造成數據重復同步便簽請選擇google帳號,便簽將與該帳號的google task內容同步。正在同步中,不能修改同步帳號同步帳號已設置為%1$s新建便籤背景顏色隨機刪除通話便籤請輸入名稱正在搜索便籤搜索便籤便籤中的文字便籤設置取消
+ %1$s 條符合”%2$s“的搜尋結果
+ 改变文本颜色
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugAssets/merger.xml b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml
new file mode 100644
index 0000000..99bf2dd
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
new file mode 100644
index 0000000..2c3f705
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugShaders/merger.xml b/app/build/intermediates/incremental/mergeDebugShaders/merger.xml
new file mode 100644
index 0000000..e3158c7
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeDebugShaders/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt b/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
new file mode 100644
index 0000000..0905d9b
--- /dev/null
+++ b/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
@@ -0,0 +1,4 @@
+#Fri Apr 14 21:15:53 HKT 2023
+base.0=C\:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
+renamed.0=classes.dex
+path.0=classes.dex
diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources
new file mode 100644
index 0000000..8381c2b
Binary files /dev/null and b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources differ
diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0
new file mode 100644
index 0000000..945a7c5
Binary files /dev/null and b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 differ
diff --git a/app/build/intermediates/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt b/app/build/intermediates/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt
new file mode 100644
index 0000000..5aafad5
--- /dev/null
+++ b/app/build/intermediates/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt
@@ -0,0 +1 @@
+C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\color_primary_text_dark.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\color_secondary_text_dark.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_bg_btn_set_color.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_bg_color_btn_mask.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_call_record.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_clock.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_delete.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_dropdown_icon.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_blue.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_green.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_red.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_title_blue.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_title_green.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_title_red.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_title_white.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_title_yellow.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_white.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_edit_yellow.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_font_color_green.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_font_large.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_font_normal.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_font_size_selector_bg.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_font_small.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_font_super.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_icon_app.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_background.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_blue_down.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_blue_middle.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_blue_single.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_blue_up.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_folder.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_footer_bg.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_green_down.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_green_middle.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_green_single.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_green_up.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_red_down.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_red_middle.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_red_single.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_red_up.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_white_down.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_white_middle.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_white_single.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_white_up.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_yellow_down.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_yellow_middle.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_yellow_single.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_list_yellow_up.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_menu_delete.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_menu_move.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_new_note_normal.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_new_note_pressed.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_note_edit_color_selector_panel.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_notification.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_search_result.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_selected.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_title_alert.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_title_bar_bg.9.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_2x_blue.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_2x_green.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_2x_red.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_2x_white.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_2x_yellow.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_4x_blue.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_4x_green.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_4x_red.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_4x_white.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable-hdpi_widget_4x_yellow.png.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\drawable_new_note.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_account_dialog_title.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_add_account_text.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_datetime_picker.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_dialog_edit_text.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_folder_list_item.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_note_edit.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_note_edit_list_item.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_note_item.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_note_list.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_note_list_dropdown_menu.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_note_list_footer.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_settings_header.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_widget_2x.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\layout_widget_4x.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_call_note_edit.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_call_record_folder.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_note_edit.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_note_list.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_note_list_dropdown.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_note_list_options.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\menu_sub_folder.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\raw-zh-rCN_introduction.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\raw_introduction.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\values-zh-rCN_values-zh-rCN.arsc.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\values-zh-rTW_values-zh-rTW.arsc.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\values_values.arsc.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\xml_preferences.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\xml_searchable.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\xml_widget_2x_info.xml.flat C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug\xml_widget_4x_info.xml.flat
\ No newline at end of file
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/BuildConfig.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/BuildConfig.class
new file mode 100644
index 0000000..d0ec272
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/BuildConfig.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Contact.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Contact.class
new file mode 100644
index 0000000..a7948fd
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Contact.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$CallNote.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$CallNote.class
new file mode 100644
index 0000000..42394b7
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$CallNote.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataColumns.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataColumns.class
new file mode 100644
index 0000000..569dbdc
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataColumns.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataConstants.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataConstants.class
new file mode 100644
index 0000000..76ef96e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataConstants.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$NoteColumns.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$NoteColumns.class
new file mode 100644
index 0000000..36c8d49
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$NoteColumns.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$TextNote.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$TextNote.class
new file mode 100644
index 0000000..42461a2
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$TextNote.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes.class
new file mode 100644
index 0000000..413745e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper$TABLE.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper$TABLE.class
new file mode 100644
index 0000000..64fe9eb
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper$TABLE.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper.class
new file mode 100644
index 0000000..0b075b4
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesProvider.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesProvider.class
new file mode 100644
index 0000000..f50998a
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesProvider.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/MetaData.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/MetaData.class
new file mode 100644
index 0000000..fcb0da5
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/MetaData.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Node.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Node.class
new file mode 100644
index 0000000..3459064
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Node.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlData.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlData.class
new file mode 100644
index 0000000..6a5f5ae
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlData.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlNote.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlNote.class
new file mode 100644
index 0000000..7d14912
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlNote.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Task.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Task.class
new file mode 100644
index 0000000..5aaf1d4
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Task.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/TaskList.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/TaskList.class
new file mode 100644
index 0000000..359609e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/TaskList.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/ActionFailureException.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/ActionFailureException.class
new file mode 100644
index 0000000..c916ef7
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/ActionFailureException.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/NetworkFailureException.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/NetworkFailureException.class
new file mode 100644
index 0000000..60c0b58
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/NetworkFailureException.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask$1.class
new file mode 100644
index 0000000..c78621a
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask$OnCompleteListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask$OnCompleteListener.class
new file mode 100644
index 0000000..f73069c
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask$OnCompleteListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask.class
new file mode 100644
index 0000000..307c1de
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskASyncTask.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskClient.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskClient.class
new file mode 100644
index 0000000..4544bd1
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskClient.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskManager.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskManager.class
new file mode 100644
index 0000000..2b0fbe6
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskManager.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService$1.class
new file mode 100644
index 0000000..e65832c
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService.class
new file mode 100644
index 0000000..19436e0
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/gtask/remote/GTaskSyncService.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note$NoteData.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note$NoteData.class
new file mode 100644
index 0000000..3415c24
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note$NoteData.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class
new file mode 100644
index 0000000..eb9d7e2
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class
new file mode 100644
index 0000000..15f1f77
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class
new file mode 100644
index 0000000..4b86a4c
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils$TextExport.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils$TextExport.class
new file mode 100644
index 0000000..0beb47d
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils$TextExport.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils.class
new file mode 100644
index 0000000..9ea668c
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/DataUtils.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/DataUtils.class
new file mode 100644
index 0000000..4eda7f5
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/DataUtils.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/FontColorParser$TextAppearanceResources.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/FontColorParser$TextAppearanceResources.class
new file mode 100644
index 0000000..2de8897
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/FontColorParser$TextAppearanceResources.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/FontColorParser.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/FontColorParser.class
new file mode 100644
index 0000000..4cd7f80
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/FontColorParser.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/GTaskStringUtils.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/GTaskStringUtils.class
new file mode 100644
index 0000000..d320e3e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/GTaskStringUtils.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteBgResources.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteBgResources.class
new file mode 100644
index 0000000..3a43d3e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteBgResources.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteItemBgResources.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteItemBgResources.class
new file mode 100644
index 0000000..1fcadcc
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteItemBgResources.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$TextAppearanceResources.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$TextAppearanceResources.class
new file mode 100644
index 0000000..d49ecab
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$TextAppearanceResources.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$WidgetBgResources.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$WidgetBgResources.class
new file mode 100644
index 0000000..a3157df
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$WidgetBgResources.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser.class
new file mode 100644
index 0000000..f2e1b62
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class
new file mode 100644
index 0000000..b9de96e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class
new file mode 100644
index 0000000..2c06336
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class
new file mode 100644
index 0000000..70c303c
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class
new file mode 100644
index 0000000..526325f
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class
new file mode 100644
index 0000000..1adcb3b
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class
new file mode 100644
index 0000000..b6ef076
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class
new file mode 100644
index 0000000..d39a51e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.class
new file mode 100644
index 0000000..255a4e6
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class
new file mode 100644
index 0000000..701d705
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class
new file mode 100644
index 0000000..b92ae75
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.class
new file mode 100644
index 0000000..70481dd
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class
new file mode 100644
index 0000000..20d4ffc
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class
new file mode 100644
index 0000000..eeb6b6d
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class
new file mode 100644
index 0000000..2939c8e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class
new file mode 100644
index 0000000..c7212bf
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class
new file mode 100644
index 0000000..1a2b75f
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class
new file mode 100644
index 0000000..b14b4fe
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class
new file mode 100644
index 0000000..3b1558c
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class
new file mode 100644
index 0000000..2e89742
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class
new file mode 100644
index 0000000..7011069
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class
new file mode 100644
index 0000000..c550fa1
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class
new file mode 100644
index 0000000..5af1391
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.class
new file mode 100644
index 0000000..9874f47
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class
new file mode 100644
index 0000000..3e3c5f5
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class
new file mode 100644
index 0000000..6b55fb8
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class
new file mode 100644
index 0000000..201dc95
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class
new file mode 100644
index 0000000..e2bccbe
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$2.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class
new file mode 100644
index 0000000..9dc928a
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$3.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class
new file mode 100644
index 0000000..ce2b24e
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$4.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class
new file mode 100644
index 0000000..4bd4777
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$5.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class
new file mode 100644
index 0000000..14e3317
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$6.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class
new file mode 100644
index 0000000..33f1629
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$7.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class
new file mode 100644
index 0000000..e7b63bd
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$8.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class
new file mode 100644
index 0000000..0000a99
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$9.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class
new file mode 100644
index 0000000..b9e2606
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class
new file mode 100644
index 0000000..2edab7b
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ListEditState.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class
new file mode 100644
index 0000000..3d7a7fc
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class
new file mode 100644
index 0000000..de35790
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback$2.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class
new file mode 100644
index 0000000..e54b30b
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$ModeCallback.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class
new file mode 100644
index 0000000..7fbad50
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class
new file mode 100644
index 0000000..f733a10
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class
new file mode 100644
index 0000000..7b46e80
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class
new file mode 100644
index 0000000..18be735
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class
new file mode 100644
index 0000000..18da5bc
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class
new file mode 100644
index 0000000..13655ed
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class
new file mode 100644
index 0000000..a28a718
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$1.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class
new file mode 100644
index 0000000..730a969
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$2.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class
new file mode 100644
index 0000000..b50388a
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$3.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class
new file mode 100644
index 0000000..29b0b3b
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$4.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class
new file mode 100644
index 0000000..a784ff5
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$5.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class
new file mode 100644
index 0000000..986f023
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$6.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class
new file mode 100644
index 0000000..123239b
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$7.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class
new file mode 100644
index 0000000..0cd3584
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$8.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class
new file mode 100644
index 0000000..9fbb5c2
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class
new file mode 100644
index 0000000..627dab8
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesPreferenceActivity.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class
new file mode 100644
index 0000000..a973102
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_2x.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_2x.class
new file mode 100644
index 0000000..bf63eab
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_2x.class differ
diff --git a/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_4x.class b/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_4x.class
new file mode 100644
index 0000000..5e50ae9
Binary files /dev/null and b/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_4x.class differ
diff --git a/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt b/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
new file mode 100644
index 0000000..fc94e03
--- /dev/null
+++ b/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
@@ -0,0 +1,273 @@
+1
+2
+17
+21
+22 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+23 android:minSdkVersion="14"
+23-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:15-41
+24 android:targetSdkVersion="14" />
+24-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+25
+26
+26-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:25:5-81
+26-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:25:22-78
+27
+27-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:26:5-88
+27-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:26:22-85
+28
+28-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:27:5-67
+28-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:27:22-64
+29
+29-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:28:5-72
+29-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:28:22-69
+30
+30-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:29:5-74
+30-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:29:22-71
+31
+31-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:30:5-80
+31-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:30:22-77
+32
+32-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:31:5-71
+32-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:31:22-68
+33
+33-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:32:5-74
+33-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:32:22-71
+34
+34-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:33:5-81
+34-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:33:22-78
+35
+36 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:35:5-149:19
+37 android:debuggable="true"
+38 android:icon="@drawable/icon_app"
+38-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:36:9-42
+39 android:label="@string/app_name"
+39-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:37:9-41
+40 android:testOnly="true" >
+41 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:38:9-51:20
+42 android:name="net.micode.notes.ui.NotesListActivity"
+42-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:39:13-49
+43 android:configChanges="keyboardHidden|orientation|screenSize"
+43-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:40:13-74
+44 android:label="@string/app_name"
+44-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:41:13-45
+45 android:launchMode="singleTop"
+45-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:42:13-43
+46 android:theme="@style/NoteTheme"
+46-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:43:13-45
+47 android:uiOptions="splitActionBarWhenNarrow"
+47-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:44:13-57
+48 android:windowSoftInputMode="adjustPan" >
+48-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:45:13-52
+49
+49-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:47:13-50:29
+50
+50-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:48:17-69
+50-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:48:25-66
+51
+52
+52-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:49:17-77
+52-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:49:27-74
+53
+54
+55 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:53:9-81:20
+56 android:name="net.micode.notes.ui.NoteEditActivity"
+56-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:54:13-48
+57 android:configChanges="keyboardHidden|orientation|screenSize"
+57-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:55:13-74
+58 android:launchMode="singleTop"
+58-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:56:13-43
+59 android:theme="@style/NoteTheme" >
+59-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:57:13-45
+60
+60-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:59:13-64:29
+61
+61-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:60:17-69
+61-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:60:25-66
+62
+63
+63-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
+63-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
+64
+65
+65-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
+65-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
+66
+66-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
+66-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
+67
+68
+68-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:66:13-71:29
+69
+69-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:67:17-79
+69-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:67:25-76
+70
+71
+71-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
+71-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
+72
+73
+73-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
+73-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
+74
+74-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
+74-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
+75
+76
+76-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:73:13-76:29
+77
+77-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:74:17-71
+77-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:74:25-68
+78
+79
+79-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
+79-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
+80
+81
+82 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:78:13-80:54
+83 android:name="android.app.searchable"
+83-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:79:17-54
+84 android:resource="@xml/searchable" />
+84-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:80:17-51
+85
+86
+87 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:83:9-86:43
+88 android:name="net.micode.notes.data.NotesProvider"
+88-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:84:13-63
+89 android:authorities="micode_notes"
+89-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:85:13-47
+90 android:multiprocess="true" />
+90-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:86:13-40
+91
+92 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:88:9-100:20
+93 android:name="net.micode.notes.widget.NoteWidgetProvider_2x"
+93-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:89:13-57
+94 android:label="@string/app_widget2x2" >
+94-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:90:13-50
+95
+95-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:91:13-95:29
+96
+96-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:92:17-84
+96-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:92:25-81
+97
+97-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:93:17-85
+97-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:93:25-82
+98
+98-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:94:17-85
+98-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:94:25-82
+99
+100
+101 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:97:13-99:58
+102 android:name="android.appwidget.provider"
+102-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:98:17-58
+103 android:resource="@xml/widget_2x_info" />
+103-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:99:17-55
+104
+105 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:101:9-114:20
+106 android:name="net.micode.notes.widget.NoteWidgetProvider_4x"
+106-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:102:13-57
+107 android:label="@string/app_widget4x4" >
+107-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:103:13-50
+108
+108-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:91:13-95:29
+109
+109-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:92:17-84
+109-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:92:25-81
+110
+110-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:93:17-85
+110-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:93:25-82
+111
+111-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:94:17-85
+111-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:94:25-82
+112
+113
+114 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:97:13-99:58
+115 android:name="android.appwidget.provider"
+115-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:98:17-58
+116 android:resource="@xml/widget_4x_info" />
+116-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:99:17-55
+117
+118
+118-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:116:9-120:20
+118-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:116:19-55
+119
+119-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:117:13-119:29
+120
+120-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:118:17-79
+120-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:118:25-76
+121
+122
+123 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:122:9-125:20
+124 android:name="net.micode.notes.ui.AlarmReceiver"
+124-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:123:13-61
+125 android:process=":remote" >
+125-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:124:13-38
+126
+127
+128 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:127:9-132:20
+129 android:name="net.micode.notes.ui.AlarmAlertActivity"
+129-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:128:13-50
+130 android:label="@string/app_name"
+130-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:129:13-45
+131 android:launchMode="singleInstance"
+131-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:130:13-48
+132 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" >
+132-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:131:13-75
+133
+134 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:134:9-139:20
+135 android:name="net.micode.notes.ui.NotesPreferenceActivity"
+135-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:135:13-71
+136 android:label="@string/preferences_title"
+136-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:136:13-54
+137 android:launchMode="singleTop"
+137-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:137:13-43
+138 android:theme="@android:style/Theme.Holo.Light" >
+138-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:138:13-60
+139
+140
+141 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:141:9-144:19
+142 android:name="net.micode.notes.gtask.remote.GTaskSyncService"
+142-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:142:13-74
+143 android:exported="false" >
+143-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:143:13-37
+144
+145
+146 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:146:9-148:52
+147 android:name="android.app.default_searchable"
+147-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:147:13-58
+148 android:value=".ui.NoteEditActivity" />
+148-->C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:148:13-49
+149
+150
+151
diff --git a/app/build/intermediates/merged_java_res/debug/base.jar b/app/build/intermediates/merged_java_res/debug/base.jar
new file mode 100644
index 0000000..15cb0ec
Binary files /dev/null and b/app/build/intermediates/merged_java_res/debug/base.jar differ
diff --git a/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml b/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
new file mode 100644
index 0000000..f237bf5
--- /dev/null
+++ b/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml b/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
new file mode 100644
index 0000000..f237bf5
--- /dev/null
+++ b/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/merged_manifests/debug/output-metadata.json b/app/build/intermediates/merged_manifests/debug/output-metadata.json
new file mode 100644
index 0000000..a56d03a
--- /dev/null
+++ b/app/build/intermediates/merged_manifests/debug/output-metadata.json
@@ -0,0 +1,20 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "MERGED_MANIFESTS",
+ "kind": "Directory"
+ },
+ "applicationId": "net.micode.notes",
+ "variantName": "debug",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "attributes": [],
+ "versionCode": 1,
+ "versionName": "0.1",
+ "outputFile": "AndroidManifest.xml"
+ }
+ ],
+ "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res/debug/color_font_color_bright_blue.xml.flat b/app/build/intermediates/merged_res/debug/color_font_color_bright_blue.xml.flat
new file mode 100644
index 0000000..9eeac0a
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/color_font_color_bright_blue.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/color_font_color_default.xml.flat b/app/build/intermediates/merged_res/debug/color_font_color_default.xml.flat
new file mode 100644
index 0000000..16aad21
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/color_font_color_default.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/color_font_color_green.xml.flat b/app/build/intermediates/merged_res/debug/color_font_color_green.xml.flat
new file mode 100644
index 0000000..3f55f8d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/color_font_color_green.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/color_font_color_red.xml.flat b/app/build/intermediates/merged_res/debug/color_font_color_red.xml.flat
new file mode 100644
index 0000000..5581f1d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/color_font_color_red.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/color_primary_text_dark.xml.flat b/app/build/intermediates/merged_res/debug/color_primary_text_dark.xml.flat
new file mode 100644
index 0000000..802be34
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/color_primary_text_dark.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/color_secondary_text_dark.xml.flat b/app/build/intermediates/merged_res/debug/color_secondary_text_dark.xml.flat
new file mode 100644
index 0000000..2d9ddb4
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/color_secondary_text_dark.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_bg_btn_set_color.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_bg_btn_set_color.png.flat
new file mode 100644
index 0000000..a783113
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_bg_btn_set_color.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_bg_color_btn_mask.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_bg_color_btn_mask.png.flat
new file mode 100644
index 0000000..a9576bb
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_bg_color_btn_mask.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_call_record.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_call_record.png.flat
new file mode 100644
index 0000000..0692876
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_call_record.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_clock.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_clock.png.flat
new file mode 100644
index 0000000..a5cd8ef
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_clock.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_delete.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_delete.png.flat
new file mode 100644
index 0000000..b5e283d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_delete.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_dropdown_icon.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_dropdown_icon.9.png.flat
new file mode 100644
index 0000000..74c78c0
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_dropdown_icon.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_blue.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_blue.9.png.flat
new file mode 100644
index 0000000..5436926
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_blue.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_green.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_green.9.png.flat
new file mode 100644
index 0000000..4d95a89
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_green.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_red.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_red.9.png.flat
new file mode 100644
index 0000000..ce52bc1
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_red.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_blue.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_blue.9.png.flat
new file mode 100644
index 0000000..b376e80
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_blue.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_green.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_green.9.png.flat
new file mode 100644
index 0000000..b8cc9ab
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_green.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_red.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_red.9.png.flat
new file mode 100644
index 0000000..2af509b
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_red.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_white.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_white.9.png.flat
new file mode 100644
index 0000000..f3a6c60
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_white.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_yellow.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_yellow.9.png.flat
new file mode 100644
index 0000000..8828ae3
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_yellow.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_white.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_white.9.png.flat
new file mode 100644
index 0000000..8a98c38
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_white.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_yellow.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_yellow.9.png.flat
new file mode 100644
index 0000000..4c9bdf9
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_edit_yellow.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_font_color_green.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_color_green.png.flat
new file mode 100644
index 0000000..9567b1d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_color_green.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_font_large.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_large.png.flat
new file mode 100644
index 0000000..1422573
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_large.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_font_normal.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_normal.png.flat
new file mode 100644
index 0000000..704993a
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_normal.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector_bg.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector_bg.9.png.flat
new file mode 100644
index 0000000..9a4b989
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector_bg.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_font_small.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_small.png.flat
new file mode 100644
index 0000000..11857a4
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_small.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_font_super.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_super.png.flat
new file mode 100644
index 0000000..2227ab8
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_font_super.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_icon_app.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_icon_app.png.flat
new file mode 100644
index 0000000..27a8412
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_icon_app.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_background.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_background.png.flat
new file mode 100644
index 0000000..0bda0bc
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_background.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_down.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_down.9.png.flat
new file mode 100644
index 0000000..75f3cd0
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_down.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_middle.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_middle.9.png.flat
new file mode 100644
index 0000000..f82dd6d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_middle.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_single.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_single.9.png.flat
new file mode 100644
index 0000000..d57fe3a
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_single.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_up.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_up.9.png.flat
new file mode 100644
index 0000000..683b6f1
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_up.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_folder.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_folder.9.png.flat
new file mode 100644
index 0000000..e75e056
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_folder.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_footer_bg.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_footer_bg.9.png.flat
new file mode 100644
index 0000000..3f89243
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_footer_bg.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_down.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_down.9.png.flat
new file mode 100644
index 0000000..6b24efc
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_down.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_middle.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_middle.9.png.flat
new file mode 100644
index 0000000..4f7fa61
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_middle.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_single.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_single.9.png.flat
new file mode 100644
index 0000000..725a39f
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_single.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_up.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_up.9.png.flat
new file mode 100644
index 0000000..f7b11e8
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_green_up.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_down.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_down.9.png.flat
new file mode 100644
index 0000000..82de739
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_down.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_middle.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_middle.9.png.flat
new file mode 100644
index 0000000..224f699
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_middle.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_single.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_single.9.png.flat
new file mode 100644
index 0000000..6c1bc35
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_single.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_up.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_up.9.png.flat
new file mode 100644
index 0000000..d29584e
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_red_up.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_down.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_down.9.png.flat
new file mode 100644
index 0000000..394cf64
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_down.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_middle.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_middle.9.png.flat
new file mode 100644
index 0000000..6a55c1f
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_middle.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_single.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_single.9.png.flat
new file mode 100644
index 0000000..d3094aa
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_single.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_up.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_up.9.png.flat
new file mode 100644
index 0000000..a3558dd
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_white_up.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_down.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_down.9.png.flat
new file mode 100644
index 0000000..e9e827a
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_down.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_middle.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_middle.9.png.flat
new file mode 100644
index 0000000..812fbce
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_middle.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_single.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_single.9.png.flat
new file mode 100644
index 0000000..c4a34ba
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_single.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_up.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_up.9.png.flat
new file mode 100644
index 0000000..a0b2963
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_up.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_menu_delete.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_menu_delete.png.flat
new file mode 100644
index 0000000..0d0a7c7
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_menu_delete.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_menu_move.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_menu_move.png.flat
new file mode 100644
index 0000000..7b7b9c9
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_menu_move.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_new_note_normal.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_new_note_normal.png.flat
new file mode 100644
index 0000000..ac802ba
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_new_note_normal.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_new_note_pressed.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_new_note_pressed.png.flat
new file mode 100644
index 0000000..ee82d6c
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_new_note_pressed.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_note_edit_color_selector_panel.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_note_edit_color_selector_panel.png.flat
new file mode 100644
index 0000000..8d48e8e
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_note_edit_color_selector_panel.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_notification.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_notification.png.flat
new file mode 100644
index 0000000..dbeee0b
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_notification.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_search_result.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_search_result.png.flat
new file mode 100644
index 0000000..e55822d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_search_result.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_selected.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_selected.png.flat
new file mode 100644
index 0000000..be2aedd
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_selected.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_title_alert.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_title_alert.png.flat
new file mode 100644
index 0000000..8f6daec
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_title_alert.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_title_bar_bg.9.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_title_bar_bg.9.png.flat
new file mode 100644
index 0000000..87aeb20
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_title_bar_bg.9.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_blue.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_blue.png.flat
new file mode 100644
index 0000000..825e93d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_blue.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_green.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_green.png.flat
new file mode 100644
index 0000000..e039b02
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_green.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_red.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_red.png.flat
new file mode 100644
index 0000000..a2eb42b
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_red.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_white.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_white.png.flat
new file mode 100644
index 0000000..c7eff78
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_white.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_yellow.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_yellow.png.flat
new file mode 100644
index 0000000..decfaad
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_yellow.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_blue.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_blue.png.flat
new file mode 100644
index 0000000..7c3cf3a
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_blue.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_green.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_green.png.flat
new file mode 100644
index 0000000..1c75d02
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_green.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_red.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_red.png.flat
new file mode 100644
index 0000000..e82e879
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_red.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_white.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_white.png.flat
new file mode 100644
index 0000000..366fd2c
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_white.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_yellow.png.flat b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_yellow.png.flat
new file mode 100644
index 0000000..ac23b11
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_yellow.png.flat differ
diff --git a/app/build/intermediates/merged_res/debug/drawable_new_note.xml.flat b/app/build/intermediates/merged_res/debug/drawable_new_note.xml.flat
new file mode 100644
index 0000000..8b4b3a5
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/drawable_new_note.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_account_dialog_title.xml.flat b/app/build/intermediates/merged_res/debug/layout_account_dialog_title.xml.flat
new file mode 100644
index 0000000..5fdf154
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_account_dialog_title.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_add_account_text.xml.flat b/app/build/intermediates/merged_res/debug/layout_add_account_text.xml.flat
new file mode 100644
index 0000000..f2fd34a
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_add_account_text.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_datetime_picker.xml.flat b/app/build/intermediates/merged_res/debug/layout_datetime_picker.xml.flat
new file mode 100644
index 0000000..16cf2ef
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_datetime_picker.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_dialog_edit_text.xml.flat b/app/build/intermediates/merged_res/debug/layout_dialog_edit_text.xml.flat
new file mode 100644
index 0000000..afee10f
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_dialog_edit_text.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_folder_list_item.xml.flat b/app/build/intermediates/merged_res/debug/layout_folder_list_item.xml.flat
new file mode 100644
index 0000000..b3d34f5
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_folder_list_item.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat b/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat
new file mode 100644
index 0000000..b25b7cc
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_note_edit.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_note_edit_list_item.xml.flat b/app/build/intermediates/merged_res/debug/layout_note_edit_list_item.xml.flat
new file mode 100644
index 0000000..544cfb6
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_note_edit_list_item.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_note_item.xml.flat b/app/build/intermediates/merged_res/debug/layout_note_item.xml.flat
new file mode 100644
index 0000000..2ae3d38
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_note_item.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_note_list.xml.flat b/app/build/intermediates/merged_res/debug/layout_note_list.xml.flat
new file mode 100644
index 0000000..b092461
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_note_list.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_note_list_dropdown_menu.xml.flat b/app/build/intermediates/merged_res/debug/layout_note_list_dropdown_menu.xml.flat
new file mode 100644
index 0000000..ef9a690
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_note_list_dropdown_menu.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_note_list_footer.xml.flat b/app/build/intermediates/merged_res/debug/layout_note_list_footer.xml.flat
new file mode 100644
index 0000000..48aa960
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_note_list_footer.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_settings_header.xml.flat b/app/build/intermediates/merged_res/debug/layout_settings_header.xml.flat
new file mode 100644
index 0000000..4b1a1cd
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_settings_header.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_widget_2x.xml.flat b/app/build/intermediates/merged_res/debug/layout_widget_2x.xml.flat
new file mode 100644
index 0000000..c923e71
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_widget_2x.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/layout_widget_4x.xml.flat b/app/build/intermediates/merged_res/debug/layout_widget_4x.xml.flat
new file mode 100644
index 0000000..bd9974e
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/layout_widget_4x.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_call_note_edit.xml.flat b/app/build/intermediates/merged_res/debug/menu_call_note_edit.xml.flat
new file mode 100644
index 0000000..c89b09d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_call_note_edit.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_call_record_folder.xml.flat b/app/build/intermediates/merged_res/debug/menu_call_record_folder.xml.flat
new file mode 100644
index 0000000..504fc9c
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_call_record_folder.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_note_edit.xml.flat b/app/build/intermediates/merged_res/debug/menu_note_edit.xml.flat
new file mode 100644
index 0000000..e751586
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_note_edit.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_note_list.xml.flat b/app/build/intermediates/merged_res/debug/menu_note_list.xml.flat
new file mode 100644
index 0000000..c138bc9
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_note_list.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_note_list_dropdown.xml.flat b/app/build/intermediates/merged_res/debug/menu_note_list_dropdown.xml.flat
new file mode 100644
index 0000000..6e3c761
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_note_list_dropdown.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_note_list_options.xml.flat b/app/build/intermediates/merged_res/debug/menu_note_list_options.xml.flat
new file mode 100644
index 0000000..60513de
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_note_list_options.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/menu_sub_folder.xml.flat b/app/build/intermediates/merged_res/debug/menu_sub_folder.xml.flat
new file mode 100644
index 0000000..4e4f099
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/menu_sub_folder.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/raw-zh-rCN_introduction.flat b/app/build/intermediates/merged_res/debug/raw-zh-rCN_introduction.flat
new file mode 100644
index 0000000..17cb018
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/raw-zh-rCN_introduction.flat differ
diff --git a/app/build/intermediates/merged_res/debug/raw_introduction.flat b/app/build/intermediates/merged_res/debug/raw_introduction.flat
new file mode 100644
index 0000000..608c6fd
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/raw_introduction.flat differ
diff --git a/app/build/intermediates/merged_res/debug/values-zh-rCN_values-zh-rCN.arsc.flat b/app/build/intermediates/merged_res/debug/values-zh-rCN_values-zh-rCN.arsc.flat
new file mode 100644
index 0000000..204f178
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/values-zh-rCN_values-zh-rCN.arsc.flat differ
diff --git a/app/build/intermediates/merged_res/debug/values-zh-rTW_values-zh-rTW.arsc.flat b/app/build/intermediates/merged_res/debug/values-zh-rTW_values-zh-rTW.arsc.flat
new file mode 100644
index 0000000..0a951b5
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/values-zh-rTW_values-zh-rTW.arsc.flat differ
diff --git a/app/build/intermediates/merged_res/debug/values_values.arsc.flat b/app/build/intermediates/merged_res/debug/values_values.arsc.flat
new file mode 100644
index 0000000..18097a0
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/values_values.arsc.flat differ
diff --git a/app/build/intermediates/merged_res/debug/xml_preferences.xml.flat b/app/build/intermediates/merged_res/debug/xml_preferences.xml.flat
new file mode 100644
index 0000000..e36a338
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/xml_preferences.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/xml_searchable.xml.flat b/app/build/intermediates/merged_res/debug/xml_searchable.xml.flat
new file mode 100644
index 0000000..c4dc076
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/xml_searchable.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/xml_widget_2x_info.xml.flat b/app/build/intermediates/merged_res/debug/xml_widget_2x_info.xml.flat
new file mode 100644
index 0000000..b960844
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/xml_widget_2x_info.xml.flat differ
diff --git a/app/build/intermediates/merged_res/debug/xml_widget_4x_info.xml.flat b/app/build/intermediates/merged_res/debug/xml_widget_4x_info.xml.flat
new file mode 100644
index 0000000..1605ca0
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/xml_widget_4x_info.xml.flat differ
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/debug.json b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/debug.json
new file mode 100644
index 0000000..dff5ace
--- /dev/null
+++ b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/debug.json
@@ -0,0 +1,382 @@
+{
+ "logs": [
+ {
+ "outputFile": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\values_values.arsc.flat",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\FontColor.xml",
+ "from": {
+ "startLines": "4,7,6,2,3,5",
+ "startColumns": "4,4,4,4,4,4",
+ "startOffsets": "137,262,219,57,98,177",
+ "endColumns": "38,45,41,39,37,40",
+ "endOffsets": "171,303,256,92,131,213"
+ },
+ "to": {
+ "startLines": "12,13,14,15,16,17",
+ "startColumns": "4,4,4,4,4,4",
+ "startOffsets": "420,459,505,547,587,625",
+ "endColumns": "38,45,41,39,37,40",
+ "endOffsets": "454,500,542,582,620,661"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\dimens.xml",
+ "from": {
+ "startLines": "19,20,21,22,18",
+ "startColumns": "4,4,4,4,4",
+ "startOffsets": "764,816,869,922,712",
+ "endColumns": "51,52,52,51,51",
+ "endOffsets": "811,864,917,969,759"
+ },
+ "to": {
+ "startLines": "19,20,21,22,23",
+ "startColumns": "4,4,4,4,4",
+ "startOffsets": "723,775,828,881,933",
+ "endColumns": "51,52,52,51,51",
+ "endOffsets": "770,823,876,928,980"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\strings.xml",
+ "from": {
+ "startLines": "129,72,75,74,73,19,20,21,119,120,128,127,26,82,83,81,80,79,95,94,93,85,39,38,64,29,30,86,41,76,121,71,67,77,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,102,101,105,117,110,109,111,112,114,113,103,104,108,106,107,100,115,116,126,124,123,125,27,84,92,97,96,98,91,90,89,88,22,23",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "8086,3898,4159,4063,3994,827,870,922,7584,7633,8028,7977,1282,4691,4785,4620,4536,4453,5652,5569,5467,4961,2004,1953,3397,1486,1539,5022,2097,4242,7696,3827,3582,4344,2156,2471,2772,2214,3326,3265,3208,2986,2934,2831,2884,3036,3086,2518,3761,3146,3631,2424,2717,2629,2571,3520,2374,3475,2271,2314,3694,1431,1750,1858,1703,1805,1647,1599,1227,1174,6108,6041,6349,7487,6713,6632,6787,6876,7118,7039,6192,6267,6573,6413,6493,5986,7262,7384,7936,7809,7752,7862,1366,4893,5381,5787,5718,5867,5322,5267,5205,5145,974,1084",
+ "endLines": "133,72,75,74,73,19,20,21,119,120,128,127,26,82,83,81,80,79,95,94,93,85,39,38,64,29,30,86,41,76,121,71,67,77,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,102,101,105,117,110,109,111,112,114,113,103,104,108,106,107,100,115,116,126,124,123,125,27,84,92,97,96,98,91,90,89,88,22,23",
+ "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,77,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89",
+ "endOffsets": "8490,3989,4237,4154,4058,865,917,969,7628,7691,8081,8023,1361,4780,4888,4686,4615,4531,5713,5647,5564,5017,2061,1999,3470,1534,1594,5122,2151,4339,7746,3893,3626,4417,2209,2513,2826,2266,3392,3321,3260,3031,2981,2879,2929,3081,3141,2566,3822,3203,3689,2466,2767,2712,2624,3577,2419,3515,2309,2369,3756,1481,1800,1906,1745,1853,1698,1642,1277,1222,6187,6103,6408,7578,6782,6708,6871,7034,7257,7113,6262,6344,6627,6488,6568,6036,7379,7482,7972,7857,7804,7931,1426,4956,5462,5862,5782,5956,5376,5317,5262,5200,1079,1169"
+ },
+ "to": {
+ "startLines": "24,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "985,1338,1434,1517,1613,1682,1725,1777,1829,1878,1941,1999,2050,2134,2228,2336,2407,2491,2574,2640,2723,2825,2886,2948,2999,3077,3130,3190,3295,3354,3456,3511,3582,3631,3709,3767,3814,3873,3930,4001,4062,4119,4169,4221,4274,4324,4374,4434,4487,4553,4615,4678,4725,4780,4868,4926,4988,5038,5083,5126,5186,5253,5308,5363,5416,5463,5516,5572,5620,5675,5728,5812,5879,5943,6039,6113,6194,6283,6446,6590,6669,6744,6826,6885,6965,7045,7100,7222,7325,7366,7419,7476,7550,7615,7683,7769,7849,7918,8012,8071,8126,8188,8248,8358",
+ "endLines": "28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131",
+ "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,77,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89",
+ "endOffsets": "1333,1429,1512,1608,1677,1720,1772,1824,1873,1936,1994,2045,2129,2223,2331,2402,2486,2569,2635,2718,2820,2881,2943,2994,3072,3125,3185,3290,3349,3451,3506,3577,3626,3704,3762,3809,3868,3925,3996,4057,4114,4164,4216,4269,4319,4369,4429,4482,4548,4610,4673,4720,4775,4863,4921,4983,5033,5078,5121,5181,5248,5303,5358,5411,5458,5511,5567,5615,5670,5723,5807,5874,5938,6034,6108,6189,6278,6441,6585,6664,6739,6821,6880,6960,7040,7095,7217,7320,7361,7414,7471,7545,7610,7678,7764,7844,7913,8007,8066,8121,8183,8243,8353,8443"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\styles.xml",
+ "from": {
+ "startLines": "64,69,78,74,36,40,44,49,54,32,59,28,25,19,22",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "2499,2704,3077,2916,1332,1515,1700,1886,2090,1149,2297,1031,921,713,819",
+ "endLines": "67,72,81,76,39,43,47,52,57,35,62,30,27,21,24",
+ "endColumns": "12,12,12,12,12,12,12,12,12,12,12,12,12,12,12",
+ "endOffsets": "2698,2910,3283,3071,1510,1695,1880,2084,2291,1327,2493,1143,1026,814,916"
+ },
+ "to": {
+ "startLines": "132,136,140,144,147,151,155,159,163,167,171,175,178,181,184",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "8448,8652,8863,9073,9233,9416,9601,9786,9989,10195,10378,10579,10696,10806,10912",
+ "endLines": "135,139,143,146,150,154,158,162,166,170,174,177,180,183,186",
+ "endColumns": "12,12,12,12,12,12,12,12,12,12,12,12,12,12,12",
+ "endOffsets": "8647,8858,9068,9228,9411,9596,9781,9984,10190,10373,10574,10691,10801,10907,11009"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\arrays.xml",
+ "from": {
+ "startLines": "19,26",
+ "startColumns": "4,4",
+ "startOffsets": "739,1047",
+ "endLines": "24,29",
+ "endColumns": "19,19",
+ "endOffsets": "1041,1162"
+ },
+ "to": {
+ "startLines": "2,8",
+ "startColumns": "4,4",
+ "startOffsets": "105,300",
+ "endLines": "7,11",
+ "endColumns": "19,19",
+ "endOffsets": "295,415"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\colors.xml",
+ "from": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "712",
+ "endColumns": "56",
+ "endOffsets": "764"
+ },
+ "to": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "666",
+ "endColumns": "56",
+ "endOffsets": "718"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "net.micode.notes.app-merged_res-5:/values-zh-rCN_values-zh-rCN.arsc.flat",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\strings.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,122,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6592,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6639,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,457,523,596,646,686,734,782,827,884,936,990,1040,1102,1170,1247,1306,1371,1434,1489,1549,1612,1666,1726,1779,1841,1926,2007,2057,2116,2159,2219,2272,2315,2366,2416,2476,2529,2580,2626,2674,2722,2768,2815,2865,2910,2969,3021,3073,3116,3163,3219,3274,3329,3373,3415,3456,3506,3565,3616,3665,3714,3761,3808,3855,3900,3951,4004,4079,4138,4195,4269,4333,4402,4480,4590,4694,4767,4833,4888,4953,5018,5067,5150,5228,5266,5311,5359,5421,5478,5533,5592,5659,5717,5779,5827,5872,5920,5971,6037",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "endColumns": "14,72,65,72,49,39,47,47,44,56,51,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,452,518,591,641,681,729,777,822,879,931,985,1035,1097,1165,1242,1301,1366,1429,1484,1544,1607,1661,1721,1774,1836,1921,2002,2052,2111,2154,2214,2267,2310,2361,2411,2471,2524,2575,2621,2669,2717,2763,2810,2860,2905,2964,3016,3068,3111,3158,3214,3269,3324,3368,3410,3451,3501,3560,3611,3660,3709,3756,3803,3850,3895,3946,3999,4074,4133,4190,4264,4328,4397,4475,4585,4689,4762,4828,4883,4948,5013,5062,5145,5223,5261,5306,5354,5416,5473,5528,5587,5654,5712,5774,5822,5867,5915,5966,6032,6098"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\arrays.xml",
+ "from": {
+ "startLines": "-1",
+ "startColumns": "-1",
+ "startOffsets": "-1"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "net.micode.notes.app-merged_res-5:/values_values.arsc.flat",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\FontColor.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "12,13,14,15,16,17",
+ "startColumns": "4,4,4,4,4,4",
+ "startOffsets": "420,459,505,547,587,625",
+ "endColumns": "38,45,41,39,37,40",
+ "endOffsets": "454,500,542,582,620,661"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\dimens.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "19,20,21,22,23",
+ "startColumns": "4,4,4,4,4",
+ "startOffsets": "723,775,828,881,933",
+ "endColumns": "51,52,52,51,51",
+ "endOffsets": "770,823,876,928,980"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\strings.xml",
+ "from": {
+ "startLines": "130,-1,-1,-1,-1,-1,-1,-1,-1,-1,129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "4,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "8138,-1,-1,-1,-1,-1,-1,-1,-1,-1,8086,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endLines": "134,-1,-1,-1,-1,-1,-1,-1,-1,-1,129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endColumns": "14,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endOffsets": "8542,-1,-1,-1,-1,-1,-1,-1,-1,-1,8133,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "24,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "985,1338,1434,1517,1613,1682,1725,1777,1829,1878,1941,1993,2051,2102,2186,2280,2388,2459,2543,2626,2692,2775,2877,2938,3000,3051,3129,3182,3242,3347,3406,3508,3563,3634,3683,3761,3819,3866,3925,3982,4053,4114,4171,4221,4273,4326,4376,4426,4486,4539,4605,4667,4730,4777,4832,4920,4978,5040,5090,5135,5178,5238,5305,5360,5415,5468,5515,5568,5624,5672,5727,5780,5864,5931,5995,6091,6165,6246,6335,6498,6642,6721,6796,6878,6937,7017,7097,7152,7274,7377,7418,7471,7528,7602,7667,7735,7821,7901,7970,8064,8123,8178,8240,8300,8410",
+ "endLines": "28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132",
+ "endColumns": "14,95,82,95,68,42,51,51,48,62,51,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,77,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89",
+ "endOffsets": "1333,1429,1512,1608,1677,1720,1772,1824,1873,1936,1988,2046,2097,2181,2275,2383,2454,2538,2621,2687,2770,2872,2933,2995,3046,3124,3177,3237,3342,3401,3503,3558,3629,3678,3756,3814,3861,3920,3977,4048,4109,4166,4216,4268,4321,4371,4421,4481,4534,4600,4662,4725,4772,4827,4915,4973,5035,5085,5130,5173,5233,5300,5355,5410,5463,5510,5563,5619,5667,5722,5775,5859,5926,5990,6086,6160,6241,6330,6493,6637,6716,6791,6873,6932,7012,7092,7147,7269,7372,7413,7466,7523,7597,7662,7730,7816,7896,7965,8059,8118,8173,8235,8295,8405,8495"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\styles.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "133,137,141,145,148,152,156,160,164,168,172,176,179,182,185",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "8500,8704,8915,9125,9285,9468,9653,9838,10041,10247,10430,10631,10748,10858,10964",
+ "endLines": "136,140,144,147,151,155,159,163,167,171,175,178,181,184,187",
+ "endColumns": "12,12,12,12,12,12,12,12,12,12,12,12,12,12,12",
+ "endOffsets": "8699,8910,9120,9280,9463,9648,9833,10036,10242,10425,10626,10743,10853,10959,11061"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\arrays.xml",
+ "from": {
+ "startLines": "-1,-1",
+ "startColumns": "-1,-1",
+ "startOffsets": "-1,-1"
+ },
+ "to": {
+ "startLines": "2,8",
+ "startColumns": "4,4",
+ "startOffsets": "105,300",
+ "endLines": "7,11",
+ "endColumns": "19,19",
+ "endOffsets": "295,415"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\colors.xml",
+ "from": {
+ "startLines": "-1",
+ "startColumns": "-1",
+ "startOffsets": "-1"
+ },
+ "to": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "666",
+ "endColumns": "56",
+ "endOffsets": "718"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\values-zh-rCN_values-zh-rCN.arsc.flat",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\strings.xml",
+ "from": {
+ "startLines": "122,71,70,69,68,19,20,21,113,114,121,120,26,78,79,77,76,75,91,90,89,81,60,29,30,82,72,115,67,63,74,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,98,97,100,112,105,104,106,107,109,108,99,103,101,102,96,110,111,119,117,116,118,27,80,88,93,92,94,87,86,85,84,22,23",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "6592,3495,3429,3356,3306,827,867,915,6143,6188,6538,6488,1199,3921,3989,3862,3797,3734,4652,4592,4529,4121,2877,1369,1422,4175,3568,6245,3247,3034,3674,1798,2079,2325,1851,2817,2764,2713,2518,2470,2376,2424,2564,2611,2122,3188,2661,3077,2036,2278,2222,2167,2979,1992,2937,1901,1942,3129,1318,1623,1719,1576,1672,1529,1484,1148,1095,5027,4968,5168,6069,5479,5410,5543,5621,5804,5731,5102,5355,5225,5290,4919,5908,5991,6450,6343,6295,6388,1261,4066,4470,4765,4707,4832,4422,4377,4329,4278,963,1029",
+ "endLines": "124,71,70,69,68,19,20,21,113,114,121,120,26,78,79,77,76,75,91,90,89,81,60,29,30,82,72,115,67,63,74,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,98,97,100,112,105,104,106,107,109,108,99,103,101,102,96,110,111,119,117,116,118,27,80,88,93,92,94,87,86,85,84,22,23",
+ "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "6764,3563,3490,3424,3351,862,910,958,6183,6240,6587,6533,1256,3984,4061,3916,3857,3792,4702,4647,4587,4170,2932,1417,1479,4255,3644,6290,3301,3072,3729,1846,2117,2371,1896,2872,2812,2759,2559,2513,2419,2465,2606,2656,2162,3242,2708,3124,2074,2320,2273,2217,3029,2031,2974,1937,1987,3183,1364,1667,1763,1618,1714,1571,1524,1194,1143,5097,5022,5220,6138,5538,5474,5616,5726,5903,5799,5163,5405,5285,5350,4963,5986,6064,6483,6383,6338,6445,1313,4116,4524,4827,4760,4889,4465,4417,4372,4324,1024,1090"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,457,523,596,646,686,734,782,827,884,938,988,1050,1118,1195,1254,1319,1382,1437,1497,1560,1614,1674,1727,1789,1874,1955,2005,2064,2107,2167,2220,2263,2314,2364,2424,2477,2528,2574,2622,2670,2716,2763,2813,2858,2917,2969,3021,3064,3111,3167,3222,3277,3321,3363,3404,3454,3513,3564,3613,3662,3709,3756,3803,3848,3899,3952,4027,4086,4143,4217,4281,4350,4428,4538,4642,4715,4781,4836,4901,4966,5015,5098,5176,5214,5259,5307,5369,5426,5481,5540,5607,5665,5727,5775,5820,5868,5919,5985",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,452,518,591,641,681,729,777,822,879,933,983,1045,1113,1190,1249,1314,1377,1432,1492,1555,1609,1669,1722,1784,1869,1950,2000,2059,2102,2162,2215,2258,2309,2359,2419,2472,2523,2569,2617,2665,2711,2758,2808,2853,2912,2964,3016,3059,3106,3162,3217,3272,3316,3358,3399,3449,3508,3559,3608,3657,3704,3751,3798,3843,3894,3947,4022,4081,4138,4212,4276,4345,4423,4533,4637,4710,4776,4831,4896,4961,5010,5093,5171,5209,5254,5302,5364,5421,5476,5535,5602,5660,5722,5770,5815,5863,5914,5980,6046"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\arrays.xml",
+ "from": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "712",
+ "endLines": "21",
+ "endColumns": "19",
+ "endOffsets": "817"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "net.micode.notes.app-merged_res-5:/values-zh-rTW_values-zh-rTW.arsc.flat",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
+ "from": {
+ "startLines": "-1",
+ "startColumns": "-1",
+ "startOffsets": "-1"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,123,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6583,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6630,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,456,522,595,645,685,733,781,826,883,935,989,1039,1101,1169,1246,1305,1371,1434,1489,1549,1612,1666,1726,1779,1841,1925,2005,2055,2114,2157,2217,2270,2313,2364,2414,2474,2527,2578,2624,2672,2720,2766,2813,2863,2908,2967,3019,3071,3114,3161,3217,3272,3327,3371,3413,3454,3504,3563,3614,3663,3712,3759,3806,3853,3898,3949,4002,4077,4136,4193,4267,4331,4400,4478,4588,4692,4765,4831,4886,4951,5016,5065,5148,5226,5264,5309,5357,5419,5476,5531,5590,5657,5715,5777,5825,5870,5918,5969,6035",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "endColumns": "14,71,65,72,49,39,47,47,44,56,51,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,451,517,590,640,680,728,776,821,878,930,984,1034,1096,1164,1241,1300,1366,1429,1484,1544,1607,1661,1721,1774,1836,1920,2000,2050,2109,2152,2212,2265,2308,2359,2409,2469,2522,2573,2619,2667,2715,2761,2808,2858,2903,2962,3014,3066,3109,3156,3212,3267,3322,3366,3408,3449,3499,3558,3609,3658,3707,3754,3801,3848,3893,3944,3997,4072,4131,4188,4262,4326,4395,4473,4583,4687,4760,4826,4881,4946,5011,5060,5143,5221,5259,5304,5352,5414,5471,5526,5585,5652,5710,5772,5820,5865,5913,5964,6030,6096"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\values-zh-rTW_values-zh-rTW.arsc.flat",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
+ "from": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "712",
+ "endLines": "21",
+ "endColumns": "19",
+ "endOffsets": "817"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
+ "from": {
+ "startLines": "123,72,71,70,69,19,20,21,113,114,122,121,26,77,78,76,75,74,90,89,88,80,61,29,30,81,37,115,68,64,73,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,120,118,117,119,27,79,87,92,91,93,86,85,84,83,22,23",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "6583,3591,3525,3452,3402,843,883,931,6133,6178,6529,6479,1215,3911,3979,3852,3786,3723,4641,4581,4518,4111,2973,1385,1438,4165,1784,6235,3343,3130,3663,1894,2175,2421,1947,2913,2860,2809,2614,2566,2472,2520,2660,2707,2218,3284,2757,3173,2132,2374,2318,2263,3075,2088,3033,1997,2038,3225,1334,1639,1735,1592,1688,1545,1500,1164,1111,5016,4957,5157,6058,5468,5399,5532,5610,5793,5720,5091,5344,5214,5279,4908,5897,5980,6441,6334,6286,6379,1277,4056,4459,4754,4696,4821,4411,4366,4318,4267,979,1045",
+ "endLines": "125,72,71,70,69,19,20,21,113,114,122,121,26,77,78,76,75,74,90,89,88,80,61,29,30,81,37,115,68,64,73,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,120,118,117,119,27,79,87,92,91,93,86,85,84,83,22,23",
+ "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "6755,3658,3586,3520,3447,878,926,974,6173,6230,6578,6524,1272,3974,4051,3906,3847,3781,4691,4636,4576,4160,3028,1433,1495,4244,1859,6280,3397,3168,3718,1942,2213,2467,1992,2968,2908,2855,2655,2609,2515,2561,2702,2752,2258,3338,2804,3220,2170,2416,2369,2313,3125,2127,3070,2033,2083,3279,1380,1683,1779,1634,1730,1587,1540,1210,1159,5086,5011,5209,6127,5527,5463,5605,5715,5892,5788,5152,5394,5274,5339,4952,5975,6053,6474,6374,6329,6436,1329,4106,4513,4816,4749,4878,4454,4406,4361,4313,1040,1106"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,456,522,595,645,685,733,781,826,883,937,987,1049,1117,1194,1253,1319,1382,1437,1497,1560,1614,1674,1727,1789,1873,1953,2003,2062,2105,2165,2218,2261,2312,2362,2422,2475,2526,2572,2620,2668,2714,2761,2811,2856,2915,2967,3019,3062,3109,3165,3220,3275,3319,3361,3402,3452,3511,3562,3611,3660,3707,3754,3801,3846,3897,3950,4025,4084,4141,4215,4279,4348,4426,4536,4640,4713,4779,4834,4899,4964,5013,5096,5174,5212,5257,5305,5367,5424,5479,5538,5605,5663,5725,5773,5818,5866,5917,5983",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,451,517,590,640,680,728,776,821,878,932,982,1044,1112,1189,1248,1314,1377,1432,1492,1555,1609,1669,1722,1784,1868,1948,1998,2057,2100,2160,2213,2256,2307,2357,2417,2470,2521,2567,2615,2663,2709,2756,2806,2851,2910,2962,3014,3057,3104,3160,3215,3270,3314,3356,3397,3447,3506,3557,3606,3655,3702,3749,3796,3841,3892,3945,4020,4079,4136,4210,4274,4343,4421,4531,4635,4708,4774,4829,4894,4959,5008,5091,5169,5207,5252,5300,5362,5419,5474,5533,5600,5658,5720,5768,5813,5861,5912,5978,6044"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rCN.json b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rCN.json
new file mode 100644
index 0000000..2b5adb7
--- /dev/null
+++ b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rCN.json
@@ -0,0 +1,86 @@
+{
+ "logs": [
+ {
+ "outputFile": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-mergeDebugResources-3:\\values-zh-rCN\\values-zh-rCN.xml",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\strings.xml",
+ "from": {
+ "startLines": "122,71,70,69,68,19,20,21,113,114,121,120,26,78,79,77,76,75,91,90,89,81,60,29,30,82,72,115,67,63,74,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,98,97,100,112,105,104,106,107,109,108,99,103,101,102,96,110,111,119,117,116,118,27,80,88,93,92,94,87,86,85,84,22,23",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "6592,3495,3429,3356,3306,827,867,915,6143,6188,6538,6488,1199,3921,3989,3862,3797,3734,4652,4592,4529,4121,2877,1369,1422,4175,3568,6245,3247,3034,3674,1798,2079,2325,1851,2817,2764,2713,2518,2470,2376,2424,2564,2611,2122,3188,2661,3077,2036,2278,2222,2167,2979,1992,2937,1901,1942,3129,1318,1623,1719,1576,1672,1529,1484,1148,1095,5027,4968,5168,6069,5479,5410,5543,5621,5804,5731,5102,5355,5225,5290,4919,5908,5991,6450,6343,6295,6388,1261,4066,4470,4765,4707,4832,4422,4377,4329,4278,963,1029",
+ "endLines": "124,71,70,69,68,19,20,21,113,114,121,120,26,78,79,77,76,75,91,90,89,81,60,29,30,82,72,115,67,63,74,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,98,97,100,112,105,104,106,107,109,108,99,103,101,102,96,110,111,119,117,116,118,27,80,88,93,92,94,87,86,85,84,22,23",
+ "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "6764,3563,3490,3424,3351,862,910,958,6183,6240,6587,6533,1256,3984,4061,3916,3857,3792,4702,4647,4587,4170,2932,1417,1479,4255,3644,6290,3301,3072,3729,1846,2117,2371,1896,2872,2812,2759,2559,2513,2419,2465,2606,2656,2162,3242,2708,3124,2074,2320,2273,2217,3029,2031,2974,1937,1987,3183,1364,1667,1763,1618,1714,1571,1524,1194,1143,5097,5022,5220,6138,5538,5474,5616,5726,5903,5799,5163,5405,5285,5350,4963,5986,6064,6483,6383,6338,6445,1313,4116,4524,4827,4760,4889,4465,4417,4372,4324,1024,1090"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,457,523,596,646,686,734,782,827,884,938,988,1050,1118,1195,1254,1319,1382,1437,1497,1560,1614,1674,1727,1789,1874,1955,2005,2064,2107,2167,2220,2263,2314,2364,2424,2477,2528,2574,2622,2670,2716,2763,2813,2858,2917,2969,3021,3064,3111,3167,3222,3277,3321,3363,3404,3454,3513,3564,3613,3662,3709,3756,3803,3848,3899,3952,4027,4086,4143,4217,4281,4350,4428,4538,4642,4715,4781,4836,4901,4966,5015,5098,5176,5214,5259,5307,5369,5426,5481,5540,5607,5665,5727,5775,5820,5868,5919,5985",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,452,518,591,641,681,729,777,822,879,933,983,1045,1113,1190,1249,1314,1377,1432,1492,1555,1609,1669,1722,1784,1869,1950,2000,2059,2102,2162,2215,2258,2309,2359,2419,2472,2523,2569,2617,2665,2711,2758,2808,2853,2912,2964,3016,3059,3106,3162,3217,3272,3316,3358,3399,3449,3508,3559,3608,3657,3704,3751,3798,3843,3894,3947,4022,4081,4138,4212,4276,4345,4423,4533,4637,4710,4776,4831,4896,4961,5010,5093,5171,5209,5254,5302,5364,5421,5476,5535,5602,5660,5722,5770,5815,5863,5914,5980,6046"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\arrays.xml",
+ "from": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "712",
+ "endLines": "21",
+ "endColumns": "19",
+ "endOffsets": "817"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "net.micode.notes.app-mergeDebugResources-3:/values-zh-rCN/values-zh-rCN.xml",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\strings.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,122,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6592,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6639,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,457,523,596,646,686,734,782,827,884,936,990,1040,1102,1170,1247,1306,1371,1434,1489,1549,1612,1666,1726,1779,1841,1926,2007,2057,2116,2159,2219,2272,2315,2366,2416,2476,2529,2580,2626,2674,2722,2768,2815,2865,2910,2969,3021,3073,3116,3163,3219,3274,3329,3373,3415,3456,3506,3565,3616,3665,3714,3761,3808,3855,3900,3951,4004,4079,4138,4195,4269,4333,4402,4480,4590,4694,4767,4833,4888,4953,5018,5067,5150,5228,5266,5311,5359,5421,5478,5533,5592,5659,5717,5779,5827,5872,5920,5971,6037",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "endColumns": "14,72,65,72,49,39,47,47,44,56,51,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,452,518,591,641,681,729,777,822,879,931,985,1035,1097,1165,1242,1301,1366,1429,1484,1544,1607,1661,1721,1774,1836,1921,2002,2052,2111,2154,2214,2267,2310,2361,2411,2471,2524,2575,2621,2669,2717,2763,2810,2860,2905,2964,3016,3068,3111,3158,3214,3269,3324,3368,3410,3451,3501,3560,3611,3660,3709,3756,3803,3850,3895,3946,3999,4074,4133,4190,4264,4328,4397,4475,4585,4689,4762,4828,4883,4948,5013,5062,5145,5223,5261,5306,5354,5416,5473,5528,5587,5654,5712,5774,5822,5867,5915,5966,6032,6098"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rCN\\arrays.xml",
+ "from": {
+ "startLines": "-1",
+ "startColumns": "-1",
+ "startOffsets": "-1"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rTW.json b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rTW.json
new file mode 100644
index 0000000..b36a23e
--- /dev/null
+++ b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rTW.json
@@ -0,0 +1,86 @@
+{
+ "logs": [
+ {
+ "outputFile": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-mergeDebugResources-3:\\values-zh-rTW\\values-zh-rTW.xml",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
+ "from": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "712",
+ "endLines": "21",
+ "endColumns": "19",
+ "endOffsets": "817"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
+ "from": {
+ "startLines": "123,72,71,70,69,19,20,21,113,114,122,121,26,77,78,76,75,74,90,89,88,80,61,29,30,81,37,115,68,64,73,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,120,118,117,119,27,79,87,92,91,93,86,85,84,83,22,23",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "6583,3591,3525,3452,3402,843,883,931,6133,6178,6529,6479,1215,3911,3979,3852,3786,3723,4641,4581,4518,4111,2973,1385,1438,4165,1784,6235,3343,3130,3663,1894,2175,2421,1947,2913,2860,2809,2614,2566,2472,2520,2660,2707,2218,3284,2757,3173,2132,2374,2318,2263,3075,2088,3033,1997,2038,3225,1334,1639,1735,1592,1688,1545,1500,1164,1111,5016,4957,5157,6058,5468,5399,5532,5610,5793,5720,5091,5344,5214,5279,4908,5897,5980,6441,6334,6286,6379,1277,4056,4459,4754,4696,4821,4411,4366,4318,4267,979,1045",
+ "endLines": "125,72,71,70,69,19,20,21,113,114,122,121,26,77,78,76,75,74,90,89,88,80,61,29,30,81,37,115,68,64,73,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,120,118,117,119,27,79,87,92,91,93,86,85,84,83,22,23",
+ "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "6755,3658,3586,3520,3447,878,926,974,6173,6230,6578,6524,1272,3974,4051,3906,3847,3781,4691,4636,4576,4160,3028,1433,1495,4244,1859,6280,3397,3168,3718,1942,2213,2467,1992,2968,2908,2855,2655,2609,2515,2561,2702,2752,2258,3338,2804,3220,2170,2416,2369,2313,3125,2127,3070,2033,2083,3279,1380,1683,1779,1634,1730,1587,1540,1210,1159,5086,5011,5209,6127,5527,5463,5605,5715,5892,5788,5152,5394,5274,5339,4952,5975,6053,6474,6374,6329,6436,1329,4106,4513,4816,4749,4878,4454,4406,4361,4313,1040,1106"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,456,522,595,645,685,733,781,826,883,937,987,1049,1117,1194,1253,1319,1382,1437,1497,1560,1614,1674,1727,1789,1873,1953,2003,2062,2105,2165,2218,2261,2312,2362,2422,2475,2526,2572,2620,2668,2714,2761,2811,2856,2915,2967,3019,3062,3109,3165,3220,3275,3319,3361,3402,3452,3511,3562,3611,3660,3707,3754,3801,3846,3897,3950,4025,4084,4141,4215,4279,4348,4426,4536,4640,4713,4779,4834,4899,4964,5013,5096,5174,5212,5257,5305,5367,5424,5479,5538,5605,5663,5725,5773,5818,5866,5917,5983",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107",
+ "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,451,517,590,640,680,728,776,821,878,932,982,1044,1112,1189,1248,1314,1377,1432,1492,1555,1609,1669,1722,1784,1868,1948,1998,2057,2100,2160,2213,2256,2307,2357,2417,2470,2521,2567,2615,2663,2709,2756,2806,2851,2910,2962,3014,3057,3104,3160,3215,3270,3314,3356,3397,3447,3506,3557,3606,3655,3702,3749,3796,3841,3892,3945,4020,4079,4136,4210,4274,4343,4421,4531,4635,4708,4774,4829,4894,4959,5008,5091,5169,5207,5252,5300,5362,5419,5474,5533,5600,5658,5720,5768,5813,5861,5912,5978,6044"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "net.micode.notes.app-mergeDebugResources-3:/values-zh-rTW/values-zh-rTW.xml",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
+ "from": {
+ "startLines": "-1",
+ "startColumns": "-1",
+ "startOffsets": "-1"
+ },
+ "to": {
+ "startLines": "2",
+ "startColumns": "4",
+ "startOffsets": "105",
+ "endLines": "5",
+ "endColumns": "19",
+ "endOffsets": "210"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,123,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6583,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6630,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "215,384,456,522,595,645,685,733,781,826,883,935,989,1039,1101,1169,1246,1305,1371,1434,1489,1549,1612,1666,1726,1779,1841,1925,2005,2055,2114,2157,2217,2270,2313,2364,2414,2474,2527,2578,2624,2672,2720,2766,2813,2863,2908,2967,3019,3071,3114,3161,3217,3272,3327,3371,3413,3454,3504,3563,3614,3663,3712,3759,3806,3853,3898,3949,4002,4077,4136,4193,4267,4331,4400,4478,4588,4692,4765,4831,4886,4951,5016,5065,5148,5226,5264,5309,5357,5419,5476,5531,5590,5657,5715,5777,5825,5870,5918,5969,6035",
+ "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108",
+ "endColumns": "14,71,65,72,49,39,47,47,44,56,51,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,59,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65",
+ "endOffsets": "379,451,517,590,640,680,728,776,821,878,930,984,1034,1096,1164,1241,1300,1366,1429,1484,1544,1607,1661,1721,1774,1836,1920,2000,2050,2109,2152,2212,2265,2308,2359,2409,2469,2522,2573,2619,2667,2715,2761,2808,2858,2903,2962,3014,3066,3109,3156,3212,3267,3322,3366,3408,3449,3499,3558,3609,3658,3707,3754,3801,3848,3893,3944,3997,4072,4131,4188,4262,4326,4395,4473,4583,4687,4760,4826,4881,4946,5011,5060,5143,5221,5259,5304,5352,5414,5471,5526,5585,5652,5710,5772,5820,5865,5913,5964,6030,6096"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values.json b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values.json
new file mode 100644
index 0000000..db90949
--- /dev/null
+++ b/app/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values.json
@@ -0,0 +1,218 @@
+{
+ "logs": [
+ {
+ "outputFile": "net.micode.notes.app-mergeDebugResources-3:/values/values.xml",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\FontColor.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "12,13,14,15,16,17",
+ "startColumns": "4,4,4,4,4,4",
+ "startOffsets": "420,459,505,547,587,625",
+ "endColumns": "38,45,41,39,37,40",
+ "endOffsets": "454,500,542,582,620,661"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\dimens.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "19,20,21,22,23",
+ "startColumns": "4,4,4,4,4",
+ "startOffsets": "723,775,828,881,933",
+ "endColumns": "51,52,52,51,51",
+ "endOffsets": "770,823,876,928,980"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\strings.xml",
+ "from": {
+ "startLines": "130,-1,-1,-1,-1,-1,-1,-1,-1,-1,129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "4,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "8138,-1,-1,-1,-1,-1,-1,-1,-1,-1,8086,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endLines": "134,-1,-1,-1,-1,-1,-1,-1,-1,-1,129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endColumns": "14,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "endOffsets": "8542,-1,-1,-1,-1,-1,-1,-1,-1,-1,8133,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "24,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "985,1338,1434,1517,1613,1682,1725,1777,1829,1878,1941,1993,2051,2102,2186,2280,2388,2459,2543,2626,2692,2775,2877,2938,3000,3051,3129,3182,3242,3347,3406,3508,3563,3634,3683,3761,3819,3866,3925,3982,4053,4114,4171,4221,4273,4326,4376,4426,4486,4539,4605,4667,4730,4777,4832,4920,4978,5040,5090,5135,5178,5238,5305,5360,5415,5468,5515,5568,5624,5672,5727,5780,5864,5931,5995,6091,6165,6246,6335,6498,6642,6721,6796,6878,6937,7017,7097,7152,7274,7377,7418,7471,7528,7602,7667,7735,7821,7901,7970,8064,8123,8178,8240,8300,8410",
+ "endLines": "28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132",
+ "endColumns": "14,95,82,95,68,42,51,51,48,62,51,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,77,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89",
+ "endOffsets": "1333,1429,1512,1608,1677,1720,1772,1824,1873,1936,1988,2046,2097,2181,2275,2383,2454,2538,2621,2687,2770,2872,2933,2995,3046,3124,3177,3237,3342,3401,3503,3558,3629,3678,3756,3814,3861,3920,3977,4048,4109,4166,4216,4268,4321,4371,4421,4481,4534,4600,4662,4725,4772,4827,4915,4973,5035,5085,5130,5173,5233,5300,5355,5410,5463,5510,5563,5619,5667,5722,5775,5859,5926,5990,6086,6160,6241,6330,6493,6637,6716,6791,6873,6932,7012,7092,7147,7269,7372,7413,7466,7523,7597,7662,7730,7816,7896,7965,8059,8118,8173,8235,8295,8405,8495"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\styles.xml",
+ "from": {
+ "startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startColumns": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1",
+ "startOffsets": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
+ },
+ "to": {
+ "startLines": "133,137,141,145,148,152,156,160,164,168,172,176,179,182,185",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "8500,8704,8915,9125,9285,9468,9653,9838,10041,10247,10430,10631,10748,10858,10964",
+ "endLines": "136,140,144,147,151,155,159,163,167,171,175,178,181,184,187",
+ "endColumns": "12,12,12,12,12,12,12,12,12,12,12,12,12,12,12",
+ "endOffsets": "8699,8910,9120,9280,9463,9648,9833,10036,10242,10425,10626,10743,10853,10959,11061"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\arrays.xml",
+ "from": {
+ "startLines": "-1,-1",
+ "startColumns": "-1,-1",
+ "startOffsets": "-1,-1"
+ },
+ "to": {
+ "startLines": "2,8",
+ "startColumns": "4,4",
+ "startOffsets": "105,300",
+ "endLines": "7,11",
+ "endColumns": "19,19",
+ "endOffsets": "295,415"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\colors.xml",
+ "from": {
+ "startLines": "-1",
+ "startColumns": "-1",
+ "startOffsets": "-1"
+ },
+ "to": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "666",
+ "endColumns": "56",
+ "endOffsets": "718"
+ }
+ }
+ ]
+ },
+ {
+ "outputFile": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-mergeDebugResources-3:\\values\\values.xml",
+ "map": [
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\FontColor.xml",
+ "from": {
+ "startLines": "4,7,6,2,3,5",
+ "startColumns": "4,4,4,4,4,4",
+ "startOffsets": "137,262,219,57,98,177",
+ "endColumns": "38,45,41,39,37,40",
+ "endOffsets": "171,303,256,92,131,213"
+ },
+ "to": {
+ "startLines": "12,13,14,15,16,17",
+ "startColumns": "4,4,4,4,4,4",
+ "startOffsets": "420,459,505,547,587,625",
+ "endColumns": "38,45,41,39,37,40",
+ "endOffsets": "454,500,542,582,620,661"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\dimens.xml",
+ "from": {
+ "startLines": "19,20,21,22,18",
+ "startColumns": "4,4,4,4,4",
+ "startOffsets": "764,816,869,922,712",
+ "endColumns": "51,52,52,51,51",
+ "endOffsets": "811,864,917,969,759"
+ },
+ "to": {
+ "startLines": "19,20,21,22,23",
+ "startColumns": "4,4,4,4,4",
+ "startOffsets": "723,775,828,881,933",
+ "endColumns": "51,52,52,51,51",
+ "endOffsets": "770,823,876,928,980"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\strings.xml",
+ "from": {
+ "startLines": "129,72,75,74,73,19,20,21,119,120,128,127,26,82,83,81,80,79,95,94,93,85,39,38,64,29,30,86,41,76,121,71,67,77,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,102,101,105,117,110,109,111,112,114,113,103,104,108,106,107,100,115,116,126,124,123,125,27,84,92,97,96,98,91,90,89,88,22,23",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "8086,3898,4159,4063,3994,827,870,922,7584,7633,8028,7977,1282,4691,4785,4620,4536,4453,5652,5569,5467,4961,2004,1953,3397,1486,1539,5022,2097,4242,7696,3827,3582,4344,2156,2471,2772,2214,3326,3265,3208,2986,2934,2831,2884,3036,3086,2518,3761,3146,3631,2424,2717,2629,2571,3520,2374,3475,2271,2314,3694,1431,1750,1858,1703,1805,1647,1599,1227,1174,6108,6041,6349,7487,6713,6632,6787,6876,7118,7039,6192,6267,6573,6413,6493,5986,7262,7384,7936,7809,7752,7862,1366,4893,5381,5787,5718,5867,5322,5267,5205,5145,974,1084",
+ "endLines": "133,72,75,74,73,19,20,21,119,120,128,127,26,82,83,81,80,79,95,94,93,85,39,38,64,29,30,86,41,76,121,71,67,77,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,102,101,105,117,110,109,111,112,114,113,103,104,108,106,107,100,115,116,126,124,123,125,27,84,92,97,96,98,91,90,89,88,22,23",
+ "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,77,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89",
+ "endOffsets": "8490,3989,4237,4154,4058,865,917,969,7628,7691,8081,8023,1361,4780,4888,4686,4615,4531,5713,5647,5564,5017,2061,1999,3470,1534,1594,5122,2151,4339,7746,3893,3626,4417,2209,2513,2826,2266,3392,3321,3260,3031,2981,2879,2929,3081,3141,2566,3822,3203,3689,2466,2767,2712,2624,3577,2419,3515,2309,2369,3756,1481,1800,1906,1745,1853,1698,1642,1277,1222,6187,6103,6408,7578,6782,6708,6871,7034,7257,7113,6262,6344,6627,6488,6568,6036,7379,7482,7972,7857,7804,7931,1426,4956,5462,5862,5782,5956,5376,5317,5262,5200,1079,1169"
+ },
+ "to": {
+ "startLines": "24,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "985,1338,1434,1517,1613,1682,1725,1777,1829,1878,1941,1999,2050,2134,2228,2336,2407,2491,2574,2640,2723,2825,2886,2948,2999,3077,3130,3190,3295,3354,3456,3511,3582,3631,3709,3767,3814,3873,3930,4001,4062,4119,4169,4221,4274,4324,4374,4434,4487,4553,4615,4678,4725,4780,4868,4926,4988,5038,5083,5126,5186,5253,5308,5363,5416,5463,5516,5572,5620,5675,5728,5812,5879,5943,6039,6113,6194,6283,6446,6590,6669,6744,6826,6885,6965,7045,7100,7222,7325,7366,7419,7476,7550,7615,7683,7769,7849,7918,8012,8071,8126,8188,8248,8358",
+ "endLines": "28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131",
+ "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,77,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89",
+ "endOffsets": "1333,1429,1512,1608,1677,1720,1772,1824,1873,1936,1994,2045,2129,2223,2331,2402,2486,2569,2635,2718,2820,2881,2943,2994,3072,3125,3185,3290,3349,3451,3506,3577,3626,3704,3762,3809,3868,3925,3996,4057,4114,4164,4216,4269,4319,4369,4429,4482,4548,4610,4673,4720,4775,4863,4921,4983,5033,5078,5121,5181,5248,5303,5358,5411,5458,5511,5567,5615,5670,5723,5807,5874,5938,6034,6108,6189,6278,6441,6585,6664,6739,6821,6880,6960,7040,7095,7217,7320,7361,7414,7471,7545,7610,7678,7764,7844,7913,8007,8066,8121,8183,8243,8353,8443"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\styles.xml",
+ "from": {
+ "startLines": "64,69,78,74,36,40,44,49,54,32,59,28,25,19,22",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "2499,2704,3077,2916,1332,1515,1700,1886,2090,1149,2297,1031,921,713,819",
+ "endLines": "67,72,81,76,39,43,47,52,57,35,62,30,27,21,24",
+ "endColumns": "12,12,12,12,12,12,12,12,12,12,12,12,12,12,12",
+ "endOffsets": "2698,2910,3283,3071,1510,1695,1880,2084,2291,1327,2493,1143,1026,814,916"
+ },
+ "to": {
+ "startLines": "132,136,140,144,147,151,155,159,163,167,171,175,178,181,184",
+ "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4",
+ "startOffsets": "8448,8652,8863,9073,9233,9416,9601,9786,9989,10195,10378,10579,10696,10806,10912",
+ "endLines": "135,139,143,146,150,154,158,162,166,170,174,177,180,183,186",
+ "endColumns": "12,12,12,12,12,12,12,12,12,12,12,12,12,12,12",
+ "endOffsets": "8647,8858,9068,9228,9411,9596,9781,9984,10190,10373,10574,10691,10801,10907,11009"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\arrays.xml",
+ "from": {
+ "startLines": "19,26",
+ "startColumns": "4,4",
+ "startOffsets": "739,1047",
+ "endLines": "24,29",
+ "endColumns": "19,19",
+ "endOffsets": "1041,1162"
+ },
+ "to": {
+ "startLines": "2,8",
+ "startColumns": "4,4",
+ "startOffsets": "105,300",
+ "endLines": "7,11",
+ "endColumns": "19,19",
+ "endOffsets": "295,415"
+ }
+ },
+ {
+ "source": "C:\\Users\\82590\\AndroidStudioProjects\\Notes-master2\\app\\src\\main\\res\\values\\colors.xml",
+ "from": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "712",
+ "endColumns": "56",
+ "endOffsets": "764"
+ },
+ "to": {
+ "startLines": "18",
+ "startColumns": "4",
+ "startOffsets": "666",
+ "endColumns": "56",
+ "endOffsets": "718"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/out/single/debug.json b/app/build/intermediates/merged_res_blame_folder/debug/out/single/debug.json
new file mode 100644
index 0000000..177ca71
--- /dev/null
+++ b/app/build/intermediates/merged_res_blame_folder/debug/out/single/debug.json
@@ -0,0 +1,410 @@
+[
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\raw_introduction.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\raw\\introduction"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\color_font_color_bright_blue.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\color\\font_color_bright_blue.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\raw-zh-rCN_introduction.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\raw-zh-rCN\\introduction"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_note_edit.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\note_edit.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_call_record.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\call_record.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_menu_delete.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\menu_delete.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_red.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_red.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_red_up.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_red_up.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_title_green.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_title_green.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_white_single.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_white_single.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_widget_4x.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\widget_4x.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_datetime_picker.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\datetime_picker.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_folder.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_folder.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_red_middle.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_red_middle.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_note_list.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\note_list.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_notification.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\notification.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_4x_red.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_4x_red.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_yellow.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_yellow.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_footer_bg.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_footer_bg.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_2x_blue.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_2x_blue.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_4x_yellow.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_4x_yellow.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\color_font_color_green.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\color\\font_color_green.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\xml_searchable.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\xml\\searchable.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_red_down.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_red_down.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_yellow_middle.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_yellow_middle.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_yellow_down.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_yellow_down.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_title_blue.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_title_blue.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_4x_white.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_4x_white.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_white_up.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_white_up.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_menu_move.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\menu_move.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_yellow_up.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_yellow_up.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_2x_yellow.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_2x_yellow.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_new_note_normal.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\new_note_normal.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_add_account_text.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\add_account_text.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_selected.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\selected.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_delete.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\delete.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_green.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_green.9.png"
+ },
+ {
+ "merged": "net.micode.notes.app-merged_res-5:/layout_note_edit.xml.flat",
+ "source": "net.micode.notes.app-main-7:/layout/note_edit.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_call_record_folder.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\call_record_folder.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_settings_header.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\settings_header.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_font_small.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\font_small.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_4x_green.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_4x_green.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_note_item.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\note_item.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_account_dialog_title.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\account_dialog_title.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_yellow_single.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_yellow_single.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\xml_preferences.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\xml\\preferences.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_note_list_footer.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\note_list_footer.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_2x_white.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_2x_white.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_title_alert.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\title_alert.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_note_list_options.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\note_list_options.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_white.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_white.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_title_yellow.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_title_yellow.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_white_down.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_white_down.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\color_secondary_text_dark.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\color\\secondary_text_dark.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_white_middle.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_white_middle.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_blue_up.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_blue_up.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_long_click_menu.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\long_click_menu.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_4x_blue.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_4x_blue.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_title_white.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_title_white.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_font_large.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\font_large.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable_new_note.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable\\new_note.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_dialog_edit_text.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\dialog_edit_text.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_note_edit_list_item.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\note_edit_list_item.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_2x_red.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_2x_red.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\color_primary_text_dark.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\color\\primary_text_dark.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_folder_list_item.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\folder_list_item.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\xml_widget_2x_info.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\xml\\widget_2x_info.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_icon_app.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\icon_app.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\color_font_color_default.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\color\\font_color_default.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_green_single.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_green_single.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_title_bar_bg.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\title_bar_bg.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_widget_2x.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\widget_2x.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_bg_btn_set_color.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\bg_btn_set_color.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_new_note_pressed.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\new_note_pressed.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_blue_middle.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_blue_middle.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_background.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_background.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_note_edit_color_selector_panel.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\note_edit_color_selector_panel.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_clock.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\clock.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_widget_2x_green.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\widget_2x_green.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_note_list.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\note_list.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_blue.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_blue.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_blue_down.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_blue_down.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\color_font_color_red.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\color\\font_color_red.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_dropdown_icon.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\dropdown_icon.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_green_up.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_green_up.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_green_middle.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_green_middle.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_search_result.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\search_result.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\layout_note_list_dropdown_menu.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\layout\\note_list_dropdown_menu.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_note_edit.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\note_edit.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_green_down.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_green_down.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_edit_title_red.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\edit_title_red.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_bg_color_btn_mask.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\bg_color_btn_mask.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_font_normal.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\font_normal.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_call_note_edit.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\call_note_edit.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_blue_single.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_blue_single.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_font_super.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\font_super.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_font_color_green.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\font_color_green.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\xml_widget_4x_info.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\xml\\widget_4x_info.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_sub_folder.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\sub_folder.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\menu_note_list_dropdown.xml.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\menu\\note_list_dropdown.xml"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_font_size_selector_bg.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\font_size_selector_bg.9.png"
+ },
+ {
+ "merged": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-merged_res-5:\\drawable-hdpi_list_red_single.9.png.flat",
+ "source": "C:\\Users\\82590\\.gradle\\daemon\\7.5\\net.micode.notes.app-main-7:\\drawable-hdpi\\list_red_single.9.png"
+ }
+]
\ No newline at end of file
diff --git a/app/build/intermediates/navigation_json/debug/navigation.json b/app/build/intermediates/navigation_json/debug/navigation.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/app/build/intermediates/navigation_json/debug/navigation.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml b/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml
new file mode 100644
index 0000000..f237bf5
--- /dev/null
+++ b/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/packaged_manifests/debug/output-metadata.json b/app/build/intermediates/packaged_manifests/debug/output-metadata.json
new file mode 100644
index 0000000..eea66e3
--- /dev/null
+++ b/app/build/intermediates/packaged_manifests/debug/output-metadata.json
@@ -0,0 +1,20 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "PACKAGED_MANIFESTS",
+ "kind": "Directory"
+ },
+ "applicationId": "net.micode.notes",
+ "variantName": "debug",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "attributes": [],
+ "versionCode": 1,
+ "versionName": "0.1",
+ "outputFile": "AndroidManifest.xml"
+ }
+ ],
+ "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/processed_res/debug/out/output-metadata.json b/app/build/intermediates/processed_res/debug/out/output-metadata.json
new file mode 100644
index 0000000..1eefece
--- /dev/null
+++ b/app/build/intermediates/processed_res/debug/out/output-metadata.json
@@ -0,0 +1,20 @@
+{
+ "version": 3,
+ "artifactType": {
+ "type": "PROCESSED_RES",
+ "kind": "Directory"
+ },
+ "applicationId": "net.micode.notes",
+ "variantName": "debug",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "attributes": [],
+ "versionCode": 1,
+ "versionName": "0.1",
+ "outputFile": "resources-debug.ap_"
+ }
+ ],
+ "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/processed_res/debug/out/resources-debug.ap_ b/app/build/intermediates/processed_res/debug/out/resources-debug.ap_
new file mode 100644
index 0000000..b9f269d
Binary files /dev/null and b/app/build/intermediates/processed_res/debug/out/resources-debug.ap_ differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/28fd60c4e4f5863b3f070a25c0186a68984cfdc7082bc8a23f4fdb19e4d7d7a9_5.jar b/app/build/intermediates/project_dex_archive/debug/out/28fd60c4e4f5863b3f070a25c0186a68984cfdc7082bc8a23f4fdb19e4d7d7a9_5.jar
new file mode 100644
index 0000000..f38d999
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/28fd60c4e4f5863b3f070a25c0186a68984cfdc7082bc8a23f4fdb19e4d7d7a9_5.jar differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/BuildConfig.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/BuildConfig.dex
new file mode 100644
index 0000000..4a21e88
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/BuildConfig.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Contact.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Contact.dex
new file mode 100644
index 0000000..2ef7405
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Contact.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$CallNote.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$CallNote.dex
new file mode 100644
index 0000000..a961bc4
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$CallNote.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataColumns.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataColumns.dex
new file mode 100644
index 0000000..1c0dee7
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataColumns.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataConstants.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataConstants.dex
new file mode 100644
index 0000000..720f42c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataConstants.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$NoteColumns.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$NoteColumns.dex
new file mode 100644
index 0000000..3e6ef4e
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$NoteColumns.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$TextNote.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$TextNote.dex
new file mode 100644
index 0000000..37e4878
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$TextNote.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes.dex
new file mode 100644
index 0000000..1baae91
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper$TABLE.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper$TABLE.dex
new file mode 100644
index 0000000..00400e4
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper$TABLE.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper.dex
new file mode 100644
index 0000000..d9a2ab4
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesProvider.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesProvider.dex
new file mode 100644
index 0000000..4729c21
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesProvider.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/MetaData.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/MetaData.dex
new file mode 100644
index 0000000..745df43
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/MetaData.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Node.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Node.dex
new file mode 100644
index 0000000..6bd3c6c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Node.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlData.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlData.dex
new file mode 100644
index 0000000..ae9c160
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlData.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlNote.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlNote.dex
new file mode 100644
index 0000000..b139a21
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlNote.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Task.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Task.dex
new file mode 100644
index 0000000..137bd02
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Task.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/TaskList.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/TaskList.dex
new file mode 100644
index 0000000..82a15e2
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/TaskList.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/ActionFailureException.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/ActionFailureException.dex
new file mode 100644
index 0000000..ce86fe4
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/ActionFailureException.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/NetworkFailureException.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/NetworkFailureException.dex
new file mode 100644
index 0000000..e07d5b4
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/NetworkFailureException.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask$1.dex
new file mode 100644
index 0000000..dce0337
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask$OnCompleteListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask$OnCompleteListener.dex
new file mode 100644
index 0000000..9db738a
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask$OnCompleteListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask.dex
new file mode 100644
index 0000000..9699d5d
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskASyncTask.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskClient.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskClient.dex
new file mode 100644
index 0000000..9af01f3
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskClient.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskManager.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskManager.dex
new file mode 100644
index 0000000..3167a05
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskManager.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService$1.dex
new file mode 100644
index 0000000..e1e0d98
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService.dex
new file mode 100644
index 0000000..f06038a
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/remote/GTaskSyncService.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex
new file mode 100644
index 0000000..3432b84
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex
new file mode 100644
index 0000000..10dc925
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.dex
new file mode 100644
index 0000000..4cc87c9
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex
new file mode 100644
index 0000000..bd423a1
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex
new file mode 100644
index 0000000..6e4a882
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex
new file mode 100644
index 0000000..7aadaca
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex
new file mode 100644
index 0000000..c11ddc8
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/FontColorParser$TextAppearanceResources.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/FontColorParser$TextAppearanceResources.dex
new file mode 100644
index 0000000..5db151b
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/FontColorParser$TextAppearanceResources.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/FontColorParser.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/FontColorParser.dex
new file mode 100644
index 0000000..2f237eb
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/FontColorParser.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/GTaskStringUtils.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/GTaskStringUtils.dex
new file mode 100644
index 0000000..fc4e994
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/GTaskStringUtils.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteBgResources.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteBgResources.dex
new file mode 100644
index 0000000..f187bd2
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteBgResources.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteItemBgResources.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteItemBgResources.dex
new file mode 100644
index 0000000..7f59274
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteItemBgResources.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$TextAppearanceResources.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$TextAppearanceResources.dex
new file mode 100644
index 0000000..095d37c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$TextAppearanceResources.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$WidgetBgResources.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$WidgetBgResources.dex
new file mode 100644
index 0000000..5f75934
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$WidgetBgResources.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser.dex
new file mode 100644
index 0000000..61a84ce
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex
new file mode 100644
index 0000000..bcfa6e9
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmAlertActivity.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex
new file mode 100644
index 0000000..f079529
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex
new file mode 100644
index 0000000..ad3c500
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex
new file mode 100644
index 0000000..cdc243e
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex
new file mode 100644
index 0000000..8d30492
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex
new file mode 100644
index 0000000..e43411c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex
new file mode 100644
index 0000000..0dc26c4
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.dex
new file mode 100644
index 0000000..0df2655
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex
new file mode 100644
index 0000000..091978e
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex
new file mode 100644
index 0000000..30c37a7
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.dex
new file mode 100644
index 0000000..d9419a5
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex
new file mode 100644
index 0000000..b6f3e08
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex
new file mode 100644
index 0000000..cccb68c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex
new file mode 100644
index 0000000..8980125
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex
new file mode 100644
index 0000000..c077869
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex
new file mode 100644
index 0000000..f93288a
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex
new file mode 100644
index 0000000..d48fadd
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex
new file mode 100644
index 0000000..881486c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$2.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex
new file mode 100644
index 0000000..abdc75a
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$3.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex
new file mode 100644
index 0000000..1d1ec6b
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex
new file mode 100644
index 0000000..ce6cd93
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditActivity.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex
new file mode 100644
index 0000000..fcdad97
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.dex
new file mode 100644
index 0000000..1323e64
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex
new file mode 100644
index 0000000..e7289ce
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex
new file mode 100644
index 0000000..35f5f98
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex
new file mode 100644
index 0000000..f451fb3
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex
new file mode 100644
index 0000000..95b5c38
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$2.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex
new file mode 100644
index 0000000..7a56f6d
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$3.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex
new file mode 100644
index 0000000..58e7aea
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$4.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex
new file mode 100644
index 0000000..5cbd255
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$5.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex
new file mode 100644
index 0000000..c2c00db
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$6.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex
new file mode 100644
index 0000000..9a5113e
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$7.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex
new file mode 100644
index 0000000..8faff5f
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$8.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex
new file mode 100644
index 0000000..d89c751
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$9.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex
new file mode 100644
index 0000000..f769567
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$BackgroundQueryHandler.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex
new file mode 100644
index 0000000..74086ad
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ListEditState.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex
new file mode 100644
index 0000000..a19ad22
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex
new file mode 100644
index 0000000..379c5ef
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback$2.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex
new file mode 100644
index 0000000..3395a06
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$ModeCallback.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex
new file mode 100644
index 0000000..fc94e16
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$NewNoteOnTouchListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex
new file mode 100644
index 0000000..771e84c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity$OnListItemClickListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex
new file mode 100644
index 0000000..b777627
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListActivity.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex
new file mode 100644
index 0000000..30aea0f
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex
new file mode 100644
index 0000000..1e7b5fe
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex
new file mode 100644
index 0000000..e44cf5c
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex
new file mode 100644
index 0000000..98f2a30
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$1.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex
new file mode 100644
index 0000000..9aa74d2
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$2.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex
new file mode 100644
index 0000000..ee6e240
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$3.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex
new file mode 100644
index 0000000..c0a9113
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$4.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex
new file mode 100644
index 0000000..61ef482
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$5.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex
new file mode 100644
index 0000000..0ed7474
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$6.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex
new file mode 100644
index 0000000..a7d983b
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$7.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex
new file mode 100644
index 0000000..627fb01
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$8.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex
new file mode 100644
index 0000000..baf99d9
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity$GTaskReceiver.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex
new file mode 100644
index 0000000..e0245f1
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesPreferenceActivity.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex
new file mode 100644
index 0000000..28bb247
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_2x.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_2x.dex
new file mode 100644
index 0000000..6b1441f
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_2x.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_4x.dex b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_4x.dex
new file mode 100644
index 0000000..1f3550a
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_4x.dex differ
diff --git a/app/build/intermediates/runtime_symbol_list/debug/R.txt b/app/build/intermediates/runtime_symbol_list/debug/R.txt
new file mode 100644
index 0000000..00c5676
--- /dev/null
+++ b/app/build/intermediates/runtime_symbol_list/debug/R.txt
@@ -0,0 +1,310 @@
+int array format_for_exported_note 0x7f010000
+int array menu_share_ways 0x7f010001
+int color Blue 0x7f020003
+int color Bright_Blue 0x7f020004
+int color Default 0x7f020005
+int color Green 0x7f020006
+int color Red 0x7f020007
+int color Yellow 0x7f020008
+int color font_color_bright_blue 0x7f020009
+int color font_color_default 0x7f02000a
+int color font_color_green 0x7f02000b
+int color font_color_red 0x7f02000c
+int color primary_text_dark 0x7f020000
+int color secondary_text_dark 0x7f020001
+int color user_query_highlight 0x7f020002
+int dimen text_font_size_large 0x7f030001
+int dimen text_font_size_medium 0x7f030002
+int dimen text_font_size_normal 0x7f030003
+int dimen text_font_size_small 0x7f030004
+int dimen text_font_size_super 0x7f030005
+int drawable bg_btn_set_color 0x7f040000
+int drawable bg_color_btn_mask 0x7f040001
+int drawable call_record 0x7f040002
+int drawable clock 0x7f040003
+int drawable delete 0x7f040004
+int drawable dropdown_icon 0x7f040005
+int drawable edit_blue 0x7f040006
+int drawable edit_green 0x7f040007
+int drawable edit_red 0x7f040008
+int drawable edit_title_blue 0x7f040009
+int drawable edit_title_green 0x7f04000a
+int drawable edit_title_red 0x7f04000b
+int drawable edit_title_white 0x7f04000c
+int drawable edit_title_yellow 0x7f04000d
+int drawable edit_white 0x7f04000e
+int drawable edit_yellow 0x7f04000f
+int drawable font_color_green 0x7f040010
+int drawable font_large 0x7f040011
+int drawable font_normal 0x7f040012
+int drawable font_size_selector_bg 0x7f040013
+int drawable font_small 0x7f040014
+int drawable font_super 0x7f040015
+int drawable icon_app 0x7f040016
+int drawable list_background 0x7f040017
+int drawable list_blue_down 0x7f040018
+int drawable list_blue_middle 0x7f040019
+int drawable list_blue_single 0x7f04001a
+int drawable list_blue_up 0x7f04001b
+int drawable list_folder 0x7f04001c
+int drawable list_footer_bg 0x7f04001d
+int drawable list_green_down 0x7f04001e
+int drawable list_green_middle 0x7f04001f
+int drawable list_green_single 0x7f040020
+int drawable list_green_up 0x7f040021
+int drawable list_red_down 0x7f040022
+int drawable list_red_middle 0x7f040023
+int drawable list_red_single 0x7f040024
+int drawable list_red_up 0x7f040025
+int drawable list_white_down 0x7f040026
+int drawable list_white_middle 0x7f040027
+int drawable list_white_single 0x7f040028
+int drawable list_white_up 0x7f040029
+int drawable list_yellow_down 0x7f04002a
+int drawable list_yellow_middle 0x7f04002b
+int drawable list_yellow_single 0x7f04002c
+int drawable list_yellow_up 0x7f04002d
+int drawable menu_delete 0x7f04002e
+int drawable menu_move 0x7f04002f
+int drawable new_note 0x7f040030
+int drawable new_note_normal 0x7f040031
+int drawable new_note_pressed 0x7f040032
+int drawable note_edit_color_selector_panel 0x7f040033
+int drawable notification 0x7f040034
+int drawable search_result 0x7f040035
+int drawable selected 0x7f040036
+int drawable title_alert 0x7f040037
+int drawable title_bar_bg 0x7f040038
+int drawable widget_2x_blue 0x7f040039
+int drawable widget_2x_green 0x7f04003a
+int drawable widget_2x_red 0x7f04003b
+int drawable widget_2x_white 0x7f04003c
+int drawable widget_2x_yellow 0x7f04003d
+int drawable widget_4x_blue 0x7f04003e
+int drawable widget_4x_green 0x7f04003f
+int drawable widget_4x_red 0x7f040040
+int drawable widget_4x_white 0x7f040041
+int drawable widget_4x_yellow 0x7f040042
+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 0x7f05000c
+int id hour 0x7f05000d
+int id iv_Bright_blue_select 0x7f05004e
+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_default_select 0x7f050048
+int id iv_green_select 0x7f05004b
+int id iv_large_select 0x7f050019
+int id iv_medium_select 0x7f05001a
+int id iv_red_select 0x7f05004f
+int id iv_small_select 0x7f05001b
+int id iv_super_select 0x7f05001c
+int id ll_font_Bright_blue 0x7f050050
+int id ll_font_color_selector 0x7f050049
+int id ll_font_default 0x7f05004a
+int id ll_font_green 0x7f05004c
+int id ll_font_large 0x7f05001e
+int id ll_font_normal 0x7f05001f
+int id ll_font_red 0x7f050051
+int id ll_font_small 0x7f050020
+int id ll_font_super 0x7f050021
+int id menu_alert 0x7f050022
+int id menu_change_font_color 0x7f050047
+int id menu_delete 0x7f050023
+int id menu_delete_remind 0x7f050024
+int id menu_export_text 0x7f050025
+int id menu_font_size 0x7f050027
+int id menu_list_mode 0x7f050028
+int id menu_new_folder 0x7f050029
+int id menu_new_note 0x7f05002a
+int id menu_search 0x7f05002b
+int id menu_send_to_desktop 0x7f05002c
+int id menu_setting 0x7f05002d
+int id menu_share 0x7f05002e
+int id menu_sync 0x7f05002f
+int id minute 0x7f050030
+int id move 0x7f050031
+int id navigation_bar 0x7f050032
+int id note_bg_color_selector 0x7f050033
+int id note_edit_list 0x7f050034
+int id note_edit_view 0x7f050035
+int id note_item 0x7f050036
+int id note_title 0x7f050037
+int id notes_list 0x7f050038
+int id prefenerece_sync_status_textview 0x7f050039
+int id preference_sync_button 0x7f05003a
+int id selection_menu 0x7f05003b
+int id sv_note_edit 0x7f05003c
+int id tv_alert_date 0x7f05003d
+int id tv_folder_name 0x7f05003e
+int id tv_modified_date 0x7f05003f
+int id tv_name 0x7f050040
+int id tv_time 0x7f050041
+int id tv_title 0x7f050042
+int id tv_title_bar 0x7f050043
+int id widget_bg_image 0x7f050044
+int id widget_text 0x7f050045
+int layout account_dialog_title 0x7f060000
+int layout add_account_text 0x7f060001
+int layout datetime_picker 0x7f060002
+int layout dialog_edit_text 0x7f060003
+int layout folder_list_item 0x7f060004
+int layout note_edit 0x7f060005
+int layout note_edit_list_item 0x7f060006
+int layout note_item 0x7f060007
+int layout note_list 0x7f060008
+int layout note_list_dropdown_menu 0x7f060009
+int layout note_list_footer 0x7f06000a
+int layout settings_header 0x7f06000b
+int layout widget_2x 0x7f06000c
+int layout widget_4x 0x7f06000d
+int menu call_note_edit 0x7f070000
+int menu call_record_folder 0x7f070001
+int menu note_edit 0x7f070002
+int menu note_list 0x7f070003
+int menu note_list_dropdown 0x7f070004
+int menu note_list_options 0x7f070005
+int menu sub_folder 0x7f070006
+int plurals search_results_title 0x7f080000
+int raw introduction 0x7f090000
+int string alert_message_delete_folder 0x7f0a0000
+int string alert_message_delete_note 0x7f0a0001
+int string alert_message_delete_notes 0x7f0a0002
+int string alert_title_delete 0x7f0a0003
+int string app_name 0x7f0a0004
+int string app_widget2x2 0x7f0a0005
+int string app_widget4x4 0x7f0a0006
+int string button_delete 0x7f0a0007
+int string call_record_folder_name 0x7f0a0008
+int string change_txt_color 0x7f0a006a
+int string datetime_dialog_cancel 0x7f0a0009
+int string datetime_dialog_ok 0x7f0a000a
+int string delete_remind_time_message 0x7f0a000b
+int string error_note_empty_for_clock 0x7f0a000c
+int string error_note_empty_for_send_to_desktop 0x7f0a000d
+int string error_note_not_exist 0x7f0a000e
+int string error_sdcard_export 0x7f0a000f
+int string error_sdcard_unmounted 0x7f0a0010
+int string error_sync_cancelled 0x7f0a0011
+int string error_sync_internal 0x7f0a0012
+int string error_sync_network 0x7f0a0013
+int string failed_sdcard_export 0x7f0a0014
+int string file_name_txt_format 0x7f0a0015
+int string file_path 0x7f0a0016
+int string folder_exist 0x7f0a0017
+int string format_date_ymd 0x7f0a0019
+int string format_datetime_mdhm 0x7f0a001a
+int string format_exported_file_location 0x7f0a001b
+int string format_folder_files_count 0x7f0a001c
+int string format_move_notes_to_folder 0x7f0a001d
+int string hint_foler_name 0x7f0a001e
+int string info_note_enter_desktop 0x7f0a001f
+int string menu_alert 0x7f0a0020
+int string menu_change_font_color 0x7f0a0069
+int string menu_create_folder 0x7f0a0021
+int string menu_delete 0x7f0a0022
+int string menu_deselect_all 0x7f0a0023
+int string menu_export_text 0x7f0a0024
+int string menu_folder_change_name 0x7f0a0025
+int string menu_folder_delete 0x7f0a0026
+int string menu_folder_view 0x7f0a0027
+int string menu_font_large 0x7f0a002a
+int string menu_font_normal 0x7f0a002b
+int string menu_font_size 0x7f0a002c
+int string menu_font_small 0x7f0a002d
+int string menu_font_super 0x7f0a002e
+int string menu_list_mode 0x7f0a002f
+int string menu_move 0x7f0a0030
+int string menu_move_parent_folder 0x7f0a0031
+int string menu_normal_mode 0x7f0a0032
+int string menu_remove_remind 0x7f0a0033
+int string menu_search 0x7f0a0034
+int string menu_select_all 0x7f0a0035
+int string menu_select_none 0x7f0a0036
+int string menu_select_title 0x7f0a0037
+int string menu_send_to_desktop 0x7f0a0038
+int string menu_setting 0x7f0a0039
+int string menu_share 0x7f0a003a
+int string menu_sync 0x7f0a003b
+int string menu_sync_cancel 0x7f0a003c
+int string menu_title_select_folder 0x7f0a003d
+int string note_alert_expired 0x7f0a003e
+int string note_link_email 0x7f0a003f
+int string note_link_other 0x7f0a0040
+int string note_link_tel 0x7f0a0041
+int string note_link_web 0x7f0a0042
+int string notealert_enter 0x7f0a0043
+int string notealert_ok 0x7f0a0044
+int string notelist_menu_new 0x7f0a0045
+int string notelist_string_info 0x7f0a0046
+int string preferences_account_summary 0x7f0a0047
+int string preferences_account_title 0x7f0a0048
+int string preferences_add_account 0x7f0a0049
+int string preferences_bg_random_appear_title 0x7f0a004a
+int string preferences_button_sync_cancel 0x7f0a004b
+int string preferences_button_sync_immediately 0x7f0a004c
+int string preferences_dialog_change_account_title 0x7f0a004d
+int string preferences_dialog_change_account_warn_msg 0x7f0a004e
+int string preferences_dialog_select_account_tips 0x7f0a004f
+int string preferences_dialog_select_account_title 0x7f0a0050
+int string preferences_last_sync_time 0x7f0a0051
+int string preferences_last_sync_time_format 0x7f0a0052
+int string preferences_menu_cancel 0x7f0a0053
+int string preferences_menu_change_account 0x7f0a0054
+int string preferences_menu_remove_account 0x7f0a0055
+int string preferences_title 0x7f0a0056
+int string preferences_toast_cannot_change_account 0x7f0a0057
+int string preferences_toast_success_set_accout 0x7f0a0058
+int string search 0x7f0a0059
+int string search_hint 0x7f0a005a
+int string search_label 0x7f0a005b
+int string search_setting_description 0x7f0a005c
+int string set_remind_time_message 0x7f0a005d
+int string success_sdcard_export 0x7f0a005e
+int string success_sync_account 0x7f0a005f
+int string sync_progress_init_list 0x7f0a0060
+int string sync_progress_login 0x7f0a0061
+int string sync_progress_syncing 0x7f0a0062
+int string ticker_cancel 0x7f0a0063
+int string ticker_fail 0x7f0a0064
+int string ticker_success 0x7f0a0065
+int string ticker_syncing 0x7f0a0066
+int string widget_havenot_content 0x7f0a0067
+int string widget_under_visit_mode 0x7f0a0068
+int style HighlightTextAppearancePrimary 0x7f0b0000
+int style HighlightTextAppearanceSecondary 0x7f0b0001
+int style NoteActionBarStyle 0x7f0b0002
+int style NoteTheme 0x7f0b0003
+int style TextAppearanceLarge 0x7f0b0005
+int style TextAppearanceMedium 0x7f0b0006
+int style TextAppearanceNormal 0x7f0b0007
+int style TextAppearancePrimaryItem 0x7f0b0008
+int style TextAppearanceSecondaryItem 0x7f0b0009
+int style TextAppearanceSuper 0x7f0b000a
+int style TextAppearanceUnderMenuIcon 0x7f0b000b
+int style TextColorBrightBlue 0x7f0b000c
+int style TextColorDefault 0x7f0b000d
+int style TextColorGreen 0x7f0b000e
+int style TextColorRed 0x7f0b000f
+int xml preferences 0x7f0c0000
+int xml searchable 0x7f0c0001
+int xml widget_2x_info 0x7f0c0002
+int xml widget_4x_info 0x7f0c0003
diff --git a/app/build/intermediates/signing_config_versions/debug/signing-config-versions.json b/app/build/intermediates/signing_config_versions/debug/signing-config-versions.json
new file mode 100644
index 0000000..51f6368
--- /dev/null
+++ b/app/build/intermediates/signing_config_versions/debug/signing-config-versions.json
@@ -0,0 +1 @@
+{"enableV1Signing":false,"enableV2Signing":true,"enableV3Signing":false,"enableV4Signing":false}
\ No newline at end of file
diff --git a/app/build/intermediates/source_set_path_map/debug/file-map.txt b/app/build/intermediates/source_set_path_map/debug/file-map.txt
new file mode 100644
index 0000000..309c383
--- /dev/null
+++ b/app/build/intermediates/source_set_path_map/debug/file-map.txt
@@ -0,0 +1,8 @@
+net.micode.notes.app-pngs-0 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\generated\res\pngs\debug
+net.micode.notes.app-resValues-1 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\generated\res\resValues\debug
+net.micode.notes.app-rs-2 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\generated\res\rs\debug
+net.micode.notes.app-mergeDebugResources-3 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir
+net.micode.notes.app-mergeDebugResources-4 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\incremental\debug\mergeDebugResources\stripped.dir
+net.micode.notes.app-merged_res-5 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\build\intermediates\merged_res\debug
+net.micode.notes.app-debug-6 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\debug\res
+net.micode.notes.app-main-7 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\res
diff --git a/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt b/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt
new file mode 100644
index 0000000..9a9d6b4
--- /dev/null
+++ b/app/build/intermediates/stable_resource_ids_file/debug/stableIds.txt
@@ -0,0 +1,322 @@
+net.micode.notes:string/search_label = 0x7f0a005b
+net.micode.notes:string/datetime_dialog_cancel = 0x7f0a0009
+net.micode.notes:style/TextColorGreen = 0x7f0b000e
+net.micode.notes:style/TextAppearanceLarge = 0x7f0b0005
+net.micode.notes:menu/long_click_menu = 0x7f070007
+net.micode.notes:xml/preferences = 0x7f0c0000
+net.micode.notes:id/iv_bg_white = 0x7f050015
+net.micode.notes:style/HighlightTextAppearancePrimary = 0x7f0b0000
+net.micode.notes:string/preferences_title = 0x7f0a0056
+net.micode.notes:style/TextAppearanceNormal = 0x7f0b0007
+net.micode.notes:id/ll_font_red = 0x7f050051
+net.micode.notes:string/preferences_account_summary = 0x7f0a0047
+net.micode.notes:string/preferences_menu_remove_account = 0x7f0a0055
+net.micode.notes:string/menu_move = 0x7f0a0030
+net.micode.notes:menu/note_edit = 0x7f070002
+net.micode.notes:string/ticker_success = 0x7f0a0065
+net.micode.notes:style/TextColorDefault = 0x7f0b000d
+net.micode.notes:color/font_color_red = 0x7f02000c
+net.micode.notes:string/sync_progress_syncing = 0x7f0a0062
+net.micode.notes:color/font_color_default = 0x7f02000a
+net.micode.notes:layout/note_list = 0x7f060008
+net.micode.notes:string/menu_folder_change_name = 0x7f0a0025
+net.micode.notes:color/Default = 0x7f020005
+net.micode.notes:string/note_link_other = 0x7f0a0040
+net.micode.notes:string/note_alert_expired = 0x7f0a003e
+net.micode.notes:string/menu_export_text = 0x7f0a0024
+net.micode.notes:string/file_path = 0x7f0a0016
+net.micode.notes:string/sync_progress_init_list = 0x7f0a0060
+net.micode.notes:string/preferences_menu_cancel = 0x7f0a0053
+net.micode.notes:string/menu_sync = 0x7f0a003b
+net.micode.notes:string/preferences_toast_cannot_change_account = 0x7f0a0057
+net.micode.notes:string/alert_message_delete_notes = 0x7f0a0002
+net.micode.notes:string/note_link_tel = 0x7f0a0041
+net.micode.notes:id/widget_text = 0x7f050045
+net.micode.notes:color/font_color_green = 0x7f02000b
+net.micode.notes:string/ticker_syncing = 0x7f0a0066
+net.micode.notes:id/selection_menu = 0x7f05003b
+net.micode.notes:id/menu_search = 0x7f05002b
+net.micode.notes:xml/widget_4x_info = 0x7f0c0003
+net.micode.notes:string/format_folder_files_count = 0x7f0a001c
+net.micode.notes:string/preferences_dialog_select_account_title = 0x7f0a0050
+net.micode.notes:id/iv_default_select = 0x7f050048
+net.micode.notes:string/preferences_menu_change_account = 0x7f0a0054
+net.micode.notes:style/NoteActionBarStyle = 0x7f0b0002
+net.micode.notes:string/menu_normal_mode = 0x7f0a0032
+net.micode.notes:drawable/title_alert = 0x7f040037
+net.micode.notes:id/note_title = 0x7f050037
+net.micode.notes:string/menu_search = 0x7f0a0034
+net.micode.notes:style/TextColorBrightBlue = 0x7f0b000c
+net.micode.notes:string/datetime_dialog_ok = 0x7f0a000a
+net.micode.notes:style/TextAppearanceGreen = 0x7f0b0004
+net.micode.notes:string/menu_sync_cancel = 0x7f0a003c
+net.micode.notes:string/preferences_button_sync_cancel = 0x7f0a004b
+net.micode.notes:id/menu_change_font_color = 0x7f050047
+net.micode.notes:id/notes_list = 0x7f050038
+net.micode.notes:string/preferences_button_sync_immediately = 0x7f0a004c
+net.micode.notes:layout/note_edit = 0x7f060005
+net.micode.notes:string/widget_havenot_content = 0x7f0a0067
+net.micode.notes:style/TextAppearanceSecondaryItem = 0x7f0b0009
+net.micode.notes:string/notelist_menu_new = 0x7f0a0045
+net.micode.notes:menu/sub_folder = 0x7f070006
+net.micode.notes:string/format_move_notes_to_folder = 0x7f0a001d
+net.micode.notes:drawable/widget_2x_red = 0x7f04003b
+net.micode.notes:string/menu_remove_remind = 0x7f0a0033
+net.micode.notes:id/iv_green_select = 0x7f05004b
+net.micode.notes:id/sv_note_edit = 0x7f05003c
+net.micode.notes:drawable/new_note = 0x7f040030
+net.micode.notes:string/notealert_enter = 0x7f0a0043
+net.micode.notes:string/call_record_folder_name = 0x7f0a0008
+net.micode.notes:drawable/list_green_up = 0x7f040021
+net.micode.notes:string/notelist_string_info = 0x7f0a0046
+net.micode.notes:string/success_sdcard_export = 0x7f0a005e
+net.micode.notes:string/menu_move_parent_folder = 0x7f0a0031
+net.micode.notes:string/menu_share = 0x7f0a003a
+net.micode.notes:style/HighlightTextAppearanceSecondary = 0x7f0b0001
+net.micode.notes:string/ticker_cancel = 0x7f0a0063
+net.micode.notes:color/Blue = 0x7f020003
+net.micode.notes:id/ll_font_default = 0x7f05004a
+net.micode.notes:string/notealert_ok = 0x7f0a0044
+net.micode.notes:string/note_link_email = 0x7f0a003f
+net.micode.notes:id/ll_font_Red = 0x7f050052
+net.micode.notes:string/menu_list_mode = 0x7f0a002f
+net.micode.notes:id/iv_bg_blue_select = 0x7f050010
+net.micode.notes:string/error_note_empty_for_clock = 0x7f0a000c
+net.micode.notes:string/menu_font_super = 0x7f0a002e
+net.micode.notes:string/menu_font_small = 0x7f0a002d
+net.micode.notes:id/tv_title_bar = 0x7f050043
+net.micode.notes:string/menu_font_green = 0x7f0a0029
+net.micode.notes:string/menu_deselect_all = 0x7f0a0023
+net.micode.notes:id/menu_share = 0x7f05002e
+net.micode.notes:string/info_note_enter_desktop = 0x7f0a001f
+net.micode.notes:string/menu_create_folder = 0x7f0a0021
+net.micode.notes:string/note_link_web = 0x7f0a0042
+net.micode.notes:color/Green = 0x7f020006
+net.micode.notes:string/format_datetime_mdhm = 0x7f0a001a
+net.micode.notes:string/format_date_ymd = 0x7f0a0019
+net.micode.notes:string/menu_select_all = 0x7f0a0035
+net.micode.notes:string/menu_title_select_folder = 0x7f0a003d
+net.micode.notes:string/font_color = 0x7f0a0018
+net.micode.notes:string/hint_foler_name = 0x7f0a001e
+net.micode.notes:string/folder_exist = 0x7f0a0017
+net.micode.notes:style/TextAppearancePrimaryItem = 0x7f0b0008
+net.micode.notes:string/preferences_toast_success_set_accout = 0x7f0a0058
+net.micode.notes:string/widget_under_visit_mode = 0x7f0a0068
+net.micode.notes:id/menu_send_to_desktop = 0x7f05002c
+net.micode.notes:string/menu_select_none = 0x7f0a0036
+net.micode.notes:style/TextAppearanceMedium = 0x7f0b0006
+net.micode.notes:string/set_remind_time_message = 0x7f0a005d
+net.micode.notes:string/error_sync_network = 0x7f0a0013
+net.micode.notes:id/iv_font_green_select = 0x7f050046
+net.micode.notes:drawable/font_color_green = 0x7f040010
+net.micode.notes:string/error_sdcard_unmounted = 0x7f0a0010
+net.micode.notes:id/iv_red_select = 0x7f05004f
+net.micode.notes:drawable/new_note_normal = 0x7f040031
+net.micode.notes:string/button_delete = 0x7f0a0007
+net.micode.notes:string/app_widget2x2 = 0x7f0a0005
+net.micode.notes:string/menu_select_title = 0x7f0a0037
+net.micode.notes:raw/introduction = 0x7f090000
+net.micode.notes:string/format_exported_file_location = 0x7f0a001b
+net.micode.notes:string/menu_font_normal = 0x7f0a002b
+net.micode.notes:string/delete_remind_time_message = 0x7f0a000b
+net.micode.notes:plurals/search_results_title = 0x7f080000
+net.micode.notes:drawable/selected = 0x7f040036
+net.micode.notes:dimen/text_font_size_super = 0x7f030005
+net.micode.notes:layout/widget_4x = 0x7f06000d
+net.micode.notes:id/et_foler_name = 0x7f05000a
+net.micode.notes:drawable/edit_green = 0x7f040007
+net.micode.notes:id/iv_bg_blue = 0x7f05000f
+net.micode.notes:drawable/new_note_pressed = 0x7f040032
+net.micode.notes:layout/settings_header = 0x7f06000b
+net.micode.notes:id/iv_bg_yellow_select = 0x7f050018
+net.micode.notes:id/move = 0x7f050031
+net.micode.notes:style/TextAppearanceSuper = 0x7f0b000a
+net.micode.notes:menu/call_note_edit = 0x7f070000
+net.micode.notes:color/secondary_text_dark = 0x7f020001
+net.micode.notes:drawable/list_white_single = 0x7f040028
+net.micode.notes:layout/note_item = 0x7f060007
+net.micode.notes:xml/widget_2x_info = 0x7f0c0002
+net.micode.notes:string/alert_message_delete_folder = 0x7f0a0000
+net.micode.notes:layout/datetime_picker = 0x7f060002
+net.micode.notes:id/btn_new_note = 0x7f050004
+net.micode.notes:layout/note_list_footer = 0x7f06000a
+net.micode.notes:id/ll_font_Bright_blue = 0x7f050050
+net.micode.notes:drawable/widget_2x_blue = 0x7f040039
+net.micode.notes:id/tv_time = 0x7f050041
+net.micode.notes:color/Red = 0x7f020007
+net.micode.notes:id/tv_name = 0x7f050040
+net.micode.notes:string/error_sdcard_export = 0x7f0a000f
+net.micode.notes:id/preference_sync_button = 0x7f05003a
+net.micode.notes:id/note_edit_view = 0x7f050035
+net.micode.notes:string/preferences_last_sync_time_format = 0x7f0a0052
+net.micode.notes:id/navigation_bar = 0x7f050032
+net.micode.notes:string/app_widget4x4 = 0x7f0a0006
+net.micode.notes:id/minute = 0x7f050030
+net.micode.notes:drawable/font_normal = 0x7f040012
+net.micode.notes:drawable/font_super = 0x7f040015
+net.micode.notes:id/menu_sync = 0x7f05002f
+net.micode.notes:id/menu_setting = 0x7f05002d
+net.micode.notes:drawable/list_green_down = 0x7f04001e
+net.micode.notes:id/menu_new_note = 0x7f05002a
+net.micode.notes:string/error_note_not_exist = 0x7f0a000e
+net.micode.notes:id/menu_new_folder = 0x7f050029
+net.micode.notes:id/menu_list_mode = 0x7f050028
+net.micode.notes:id/iv_medium_select = 0x7f05001a
+net.micode.notes:id/menu_export_text = 0x7f050025
+net.micode.notes:string/change_txt_color = 0x7f0a006a
+net.micode.notes:string/menu_folder_view = 0x7f0a0027
+net.micode.notes:id/menu_delete = 0x7f050023
+net.micode.notes:string/file_name_txt_format = 0x7f0a0015
+net.micode.notes:string/ticker_fail = 0x7f0a0064
+net.micode.notes:id/prefenerece_sync_status_textview = 0x7f050039
+net.micode.notes:drawable/edit_blue = 0x7f040006
+net.micode.notes:id/menu_alert = 0x7f050022
+net.micode.notes:id/ll_font_color_selector = 0x7f050049
+net.micode.notes:string/menu_change_font_color = 0x7f0a0069
+net.micode.notes:string/menu_font_size = 0x7f0a002c
+net.micode.notes:string/menu_alert = 0x7f0a0020
+net.micode.notes:drawable/edit_title_yellow = 0x7f04000d
+net.micode.notes:string/success_sync_account = 0x7f0a005f
+net.micode.notes:id/ll_font_super = 0x7f050021
+net.micode.notes:id/ll_font_small = 0x7f050020
+net.micode.notes:id/ll_font_normal = 0x7f05001f
+net.micode.notes:menu/call_record_folder = 0x7f070001
+net.micode.notes:id/ll_font_large = 0x7f05001e
+net.micode.notes:id/note_bg_color_selector = 0x7f050033
+net.micode.notes:id/iv_super_select = 0x7f05001c
+net.micode.notes:drawable/search_result = 0x7f040035
+net.micode.notes:id/iv_bg_yellow = 0x7f050017
+net.micode.notes:drawable/widget_2x_green = 0x7f04003a
+net.micode.notes:string/error_sync_cancelled = 0x7f0a0011
+net.micode.notes:id/iv_bg_white_select = 0x7f050016
+net.micode.notes:id/iv_large_select = 0x7f050019
+net.micode.notes:string/menu_font_large = 0x7f0a002a
+net.micode.notes:drawable/widget_4x_blue = 0x7f04003e
+net.micode.notes:id/iv_bg_green_select = 0x7f050012
+net.micode.notes:id/widget_bg_image = 0x7f050044
+net.micode.notes:string/preferences_dialog_change_account_title = 0x7f0a004d
+net.micode.notes:drawable/menu_move = 0x7f04002f
+net.micode.notes:drawable/widget_4x_white = 0x7f040041
+net.micode.notes:id/et_edit_text = 0x7f050009
+net.micode.notes:string/search = 0x7f0a0059
+net.micode.notes:id/cb_edit_item = 0x7f050006
+net.micode.notes:id/btn_set_bg_color = 0x7f050005
+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 = 0x7f050011
+net.micode.notes:drawable/widget_4x_green = 0x7f04003f
+net.micode.notes:id/hour = 0x7f05000d
+net.micode.notes:drawable/note_edit_color_selector_panel = 0x7f040033
+net.micode.notes:style/NoteTheme = 0x7f0b0003
+net.micode.notes:drawable/widget_2x_yellow = 0x7f04003d
+net.micode.notes:dimen/text_font_size_large = 0x7f030001
+net.micode.notes:id/tv_alert_date = 0x7f05003d
+net.micode.notes:id/iv_bg_red = 0x7f050013
+net.micode.notes:drawable/notification = 0x7f040034
+net.micode.notes:color/Bright_Blue = 0x7f020004
+net.micode.notes:id/font_color_selector = 0x7f05000b
+net.micode.notes:style/TextAppearanceUnderMenuIcon = 0x7f0b000b
+net.micode.notes:id/delete = 0x7f050008
+net.micode.notes:drawable/title_bar_bg = 0x7f040038
+net.micode.notes:drawable/menu_delete = 0x7f04002e
+net.micode.notes:string/error_sync_internal = 0x7f0a0012
+net.micode.notes:drawable/list_green_single = 0x7f040020
+net.micode.notes:string/alert_message_delete_note = 0x7f0a0001
+net.micode.notes:id/tv_modified_date = 0x7f05003f
+net.micode.notes:drawable/list_blue_middle = 0x7f040019
+net.micode.notes:id/iv_small_select = 0x7f05001b
+net.micode.notes:menu/note_list_options = 0x7f070005
+net.micode.notes:string/preferences_dialog_change_account_warn_msg = 0x7f0a004e
+net.micode.notes:dimen/text_font_color_green = 0x7f030000
+net.micode.notes:id/ll_font_green = 0x7f05004c
+net.micode.notes:xml/searchable = 0x7f0c0001
+net.micode.notes:string/menu_folder_delete = 0x7f0a0026
+net.micode.notes:drawable/dropdown_icon = 0x7f040005
+net.micode.notes:id/date = 0x7f050007
+net.micode.notes:color/Yellow = 0x7f020008
+net.micode.notes:drawable/list_yellow_single = 0x7f04002c
+net.micode.notes:drawable/list_red_up = 0x7f040025
+net.micode.notes:drawable/widget_4x_yellow = 0x7f040042
+net.micode.notes:drawable/list_yellow_middle = 0x7f04002b
+net.micode.notes:id/tv_folder_name = 0x7f05003e
+net.micode.notes:drawable/list_yellow_down = 0x7f04002a
+net.micode.notes:drawable/clock = 0x7f040003
+net.micode.notes:drawable/list_white_up = 0x7f040029
+net.micode.notes:drawable/edit_title_blue = 0x7f040009
+net.micode.notes:drawable/edit_red = 0x7f040008
+net.micode.notes:id/iv_alert_icon = 0x7f05000e
+net.micode.notes:layout/dialog_edit_text = 0x7f060003
+net.micode.notes:string/preferences_account_title = 0x7f0a0048
+net.micode.notes:drawable/edit_white = 0x7f04000e
+net.micode.notes:drawable/list_white_middle = 0x7f040027
+net.micode.notes:color/user_query_highlight = 0x7f020002
+net.micode.notes:id/iv_Bright_blue_select = 0x7f05004e
+net.micode.notes:drawable/list_white_down = 0x7f040026
+net.micode.notes:string/failed_sdcard_export = 0x7f0a0014
+net.micode.notes:drawable/widget_4x_red = 0x7f040040
+net.micode.notes:id/menu_delete_remind = 0x7f050024
+net.micode.notes:drawable/list_red_down = 0x7f040022
+net.micode.notes:drawable/list_red_middle = 0x7f040023
+net.micode.notes:string/error_note_empty_for_send_to_desktop = 0x7f0a000d
+net.micode.notes:dimen/text_font_size_normal = 0x7f030003
+net.micode.notes:id/menu_font_color = 0x7f050026
+net.micode.notes:layout/note_list_dropdown_menu = 0x7f060009
+net.micode.notes:drawable/list_blue_down = 0x7f040018
+net.micode.notes:id/action_select_all = 0x7f050002
+net.micode.notes:string/menu_send_to_desktop = 0x7f0a0038
+net.micode.notes:drawable/list_red_single = 0x7f040024
+net.micode.notes:string/preferences_add_account = 0x7f0a0049
+net.micode.notes:drawable/bg_btn_set_color = 0x7f040000
+net.micode.notes:string/preferences_bg_random_appear_title = 0x7f0a004a
+net.micode.notes:layout/widget_2x = 0x7f06000c
+net.micode.notes:drawable/list_footer_bg = 0x7f04001d
+net.micode.notes:string/alert_title_delete = 0x7f0a0003
+net.micode.notes:drawable/edit_title_green = 0x7f04000a
+net.micode.notes:drawable/icon_app = 0x7f040016
+net.micode.notes:drawable/font_small = 0x7f040014
+net.micode.notes:string/sync_progress_login = 0x7f0a0061
+net.micode.notes:array/menu_share_ways = 0x7f010001
+net.micode.notes:drawable/widget_2x_white = 0x7f04003c
+net.micode.notes:layout/folder_list_item = 0x7f060004
+net.micode.notes:layout/add_account_text = 0x7f060001
+net.micode.notes:style/TextColorRed = 0x7f0b000f
+net.micode.notes:id/tv_title = 0x7f050042
+net.micode.notes:color/primary_text_dark = 0x7f020000
+net.micode.notes:drawable/font_size_selector_bg = 0x7f040013
+net.micode.notes:drawable/list_blue_up = 0x7f04001b
+net.micode.notes:string/search_setting_description = 0x7f0a005c
+net.micode.notes:drawable/list_blue_single = 0x7f04001a
+net.micode.notes:drawable/font_large = 0x7f040011
+net.micode.notes:drawable/delete = 0x7f040004
+net.micode.notes:drawable/edit_yellow = 0x7f04000f
+net.micode.notes:id/note_item = 0x7f050036
+net.micode.notes:drawable/edit_title_white = 0x7f04000c
+net.micode.notes:id/Change_Txt_Color = 0x7f05004d
+net.micode.notes:id/note_edit_list = 0x7f050034
+net.micode.notes:drawable/edit_title_red = 0x7f04000b
+net.micode.notes:string/menu_delete = 0x7f0a0022
+net.micode.notes:drawable/list_folder = 0x7f04001c
+net.micode.notes:drawable/call_record = 0x7f040002
+net.micode.notes:string/search_hint = 0x7f0a005a
+net.micode.notes:id/menu_font_size = 0x7f050027
+net.micode.notes:color/font_color_bright_blue = 0x7f020009
+net.micode.notes:string/menu_font_color = 0x7f0a0028
+net.micode.notes:drawable/bg_color_btn_mask = 0x7f040001
+net.micode.notes:drawable/list_yellow_up = 0x7f04002d
+net.micode.notes:id/iv_bg_red_select = 0x7f050014
+net.micode.notes:dimen/text_font_size_small = 0x7f030004
+net.micode.notes:drawable/list_green_middle = 0x7f04001f
+net.micode.notes:drawable/list_background = 0x7f040017
+net.micode.notes:string/app_name = 0x7f0a0004
+net.micode.notes:menu/note_list_dropdown = 0x7f070004
+net.micode.notes:string/preferences_last_sync_time = 0x7f0a0051
+net.micode.notes:id/ll_font_color_green = 0x7f05001d
+net.micode.notes:string/menu_setting = 0x7f0a0039
+net.micode.notes:dimen/text_font_size_medium = 0x7f030002
+net.micode.notes:string/preferences_dialog_select_account_tips = 0x7f0a004f
+net.micode.notes:id/font_size_selector = 0x7f05000c
+net.micode.notes:layout/note_edit_list_item = 0x7f060006
+net.micode.notes:layout/account_dialog_title = 0x7f060000
+net.micode.notes:array/format_for_exported_note = 0x7f010000
diff --git a/app/build/intermediates/variant_model/debug/variant_model.json b/app/build/intermediates/variant_model/debug/variant_model.json
new file mode 100644
index 0000000..fbfb74a
Binary files /dev/null and b/app/build/intermediates/variant_model/debug/variant_model.json differ
diff --git a/app/build/outputs/logs/manifest-merger-debug-report.txt b/app/build/outputs/logs/manifest-merger-debug-report.txt
new file mode 100644
index 0000000..7070282
--- /dev/null
+++ b/app/build/outputs/logs/manifest-merger-debug-report.txt
@@ -0,0 +1,235 @@
+-- Merging decision tree log ---
+manifest
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:1-150:12
+ package
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:19:5-31
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ android:versionName
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:21:5-30
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ xmlns:android
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:18:11-69
+ android:versionCode
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:20:5-28
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+uses-sdk
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+ android:targetSdkVersion
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:5-44
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ android:minSdkVersion
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:23:15-41
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml
+uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:25:5-81
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:25:22-78
+uses-permission#com.android.launcher.permission.INSTALL_SHORTCUT
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:26:5-88
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:26:22-85
+uses-permission#android.permission.INTERNET
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:27:5-67
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:27:22-64
+uses-permission#android.permission.READ_CONTACTS
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:28:5-72
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:28:22-69
+uses-permission#android.permission.MANAGE_ACCOUNTS
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:29:5-74
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:29:22-71
+uses-permission#android.permission.AUTHENTICATE_ACCOUNTS
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:30:5-80
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:30:22-77
+uses-permission#android.permission.GET_ACCOUNTS
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:31:5-71
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:31:22-68
+uses-permission#android.permission.USE_CREDENTIALS
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:32:5-74
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:32:22-71
+uses-permission#android.permission.RECEIVE_BOOT_COMPLETED
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:33:5-81
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:33:22-78
+application
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:35:5-149:19
+ android:label
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:37:9-41
+ android:icon
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:36:9-42
+activity#net.micode.notes.ui.NotesListActivity
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:38:9-51:20
+ android:label
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:41:13-45
+ android:launchMode
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:42:13-43
+ android:windowSoftInputMode
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:45:13-52
+ android:uiOptions
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:44:13-57
+ android:configChanges
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:40:13-74
+ android:theme
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:43:13-45
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:39:13-49
+intent-filter#action:name:android.intent.action.MAIN+category:name:android.intent.category.LAUNCHER
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:47:13-50:29
+action#android.intent.action.MAIN
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:48:17-69
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:48:25-66
+category#android.intent.category.LAUNCHER
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:49:17-77
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:49:27-74
+activity#net.micode.notes.ui.NoteEditActivity
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:53:9-81:20
+ android:launchMode
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:56:13-43
+ android:configChanges
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:55:13-74
+ android:theme
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:57:13-45
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:54:13-48
+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 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:59:13-64:29
+action#android.intent.action.VIEW
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:60:17-69
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:60:25-66
+category#android.intent.category.DEFAULT
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:17-76
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:61:27-73
+data
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:17-78
+ android:mimeType
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:62:23-75
+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 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:66:13-71:29
+action#android.intent.action.INSERT_OR_EDIT
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:67:17-79
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:67:25-76
+intent-filter#action:name:android.intent.action.SEARCH+category:name:android.intent.category.DEFAULT
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:73:13-76:29
+action#android.intent.action.SEARCH
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:74:17-71
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:74:25-68
+meta-data#android.app.searchable
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:78:13-80:54
+ android:resource
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:80:17-51
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:79:17-54
+provider#net.micode.notes.data.NotesProvider
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:83:9-86:43
+ android:authorities
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:85:13-47
+ android:multiprocess
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:86:13-40
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:84:13-63
+receiver#net.micode.notes.widget.NoteWidgetProvider_2x
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:88:9-100:20
+ android:label
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:90:13-50
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:89:13-57
+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 C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:91:13-95:29
+action#android.appwidget.action.APPWIDGET_UPDATE
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:92:17-84
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:92:25-81
+action#android.appwidget.action.APPWIDGET_DELETED
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:93:17-85
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:93:25-82
+action#android.intent.action.PRIVACY_MODE_CHANGED
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:94:17-85
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:94:25-82
+meta-data#android.appwidget.provider
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:97:13-99:58
+ android:resource
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:99:17-55
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:98:17-58
+receiver#net.micode.notes.widget.NoteWidgetProvider_4x
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:101:9-114:20
+ android:label
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:103:13-50
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:102:13-57
+receiver#net.micode.notes.ui.AlarmInitReceiver
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:116:9-120:20
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:116:19-55
+intent-filter#action:name:android.intent.action.BOOT_COMPLETED
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:117:13-119:29
+action#android.intent.action.BOOT_COMPLETED
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:118:17-79
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:118:25-76
+receiver#net.micode.notes.ui.AlarmReceiver
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:122:9-125:20
+ android:process
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:124:13-38
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:123:13-61
+activity#net.micode.notes.ui.AlarmAlertActivity
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:127:9-132:20
+ android:label
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:129:13-45
+ android:launchMode
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:130:13-48
+ android:theme
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:131:13-75
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:128:13-50
+activity#net.micode.notes.ui.NotesPreferenceActivity
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:134:9-139:20
+ android:label
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:136:13-54
+ android:launchMode
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:137:13-43
+ android:theme
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:138:13-60
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:135:13-71
+service#net.micode.notes.gtask.remote.GTaskSyncService
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:141:9-144:19
+ android:exported
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:143:13-37
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:142:13-74
+meta-data#android.app.default_searchable
+ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:146:9-148:52
+ android:value
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:148:13-49
+ android:name
+ ADDED from C:\Users\82590\AndroidStudioProjects\Notes-master2\app\src\main\AndroidManifest.xml:147:13-58
diff --git a/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin
new file mode 100644
index 0000000..05e0396
Binary files /dev/null and b/app/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..e5c7d47
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/net/micode/notes/data/Contact.java b/app/src/main/java/net/micode/notes/data/Contact.java
new file mode 100644
index 0000000..d97ac5d
--- /dev/null
+++ b/app/src/main/java/net/micode/notes/data/Contact.java
@@ -0,0 +1,73 @@
+/*
+ * 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.data;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.Data;
+import android.telephony.PhoneNumberUtils;
+import android.util.Log;
+
+import java.util.HashMap;
+
+public class Contact {
+ private static HashMap sContactCache;
+ private static final String TAG = "Contact";
+
+ private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER
+ + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'"
+ + " AND " + Data.RAW_CONTACT_ID + " IN "
+ + "(SELECT raw_contact_id "
+ + " FROM phone_lookup"
+ + " WHERE min_match = '+')";
+
+ public static String getContact(Context context, String phoneNumber) {
+ if(sContactCache == null) {
+ sContactCache = new HashMap();
+ }
+
+ if(sContactCache.containsKey(phoneNumber)) {
+ return sContactCache.get(phoneNumber);
+ }
+
+ String selection = CALLER_ID_SELECTION.replace("+",
+ PhoneNumberUtils.toCallerIDMinMatch(phoneNumber));
+ Cursor cursor = context.getContentResolver().query(
+ Data.CONTENT_URI,
+ new String [] { Phone.DISPLAY_NAME },
+ selection,
+ new String[] { phoneNumber },
+ null);
+
+ if (cursor != null && cursor.moveToFirst()) {
+ try {
+ String name = cursor.getString(0);
+ sContactCache.put(phoneNumber, name);
+ return name;
+ } catch (IndexOutOfBoundsException e) {
+ Log.e(TAG, " Cursor get string error " + e.toString());
+ return null;
+ } finally {
+ cursor.close();
+ }
+ } else {
+ Log.d(TAG, "No contact matched with number:" + phoneNumber);
+ return null;
+ }
+ }
+}
diff --git a/src/data/Notes.java b/app/src/main/java/net/micode/notes/data/Notes.java
similarity index 67%
rename from src/data/Notes.java
rename to app/src/main/java/net/micode/notes/data/Notes.java
index 922c017..f240604 100644
--- a/src/data/Notes.java
+++ b/app/src/main/java/net/micode/notes/data/Notes.java
@@ -17,9 +17,9 @@
package net.micode.notes.data;
import android.net.Uri;
-public class Notes { //定义类,为模块的其他类提供变量定义
- public static final String AUTHORITY = "micode_notes"; //设置AUTHORITY
- public static final String TAG = "Notes"; //设置TAG
+public class Notes {
+ public static final String AUTHORITY = "micode_notes";
+ public static final String TAG = "Notes";
public static final int TYPE_NOTE = 0;
public static final int TYPE_FOLDER = 1;
public static final int TYPE_SYSTEM = 2;
@@ -46,7 +46,7 @@ public class Notes {
public static final int TYPE_WIDGET_2X = 0;
public static final int TYPE_WIDGET_4X = 1;
- public static class DataConstants { //获取记录
+ public static class DataConstants {
public static final String NOTE = TextNote.CONTENT_ITEM_TYPE;
public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE;
}
@@ -54,14 +54,14 @@ public class Notes {
/**
* Uri to query all notes and folders
*/
- public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");//查询所有笔记与文件的uri
+ public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");
/**
* Uri to query data
*/
- public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");//查询数据的uri
+ public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");
- public interface NoteColumns { //定义便签变量接口
+ public interface NoteColumns {
/**
* The unique ID for a row
*
Type: INTEGER (long)
@@ -72,50 +72,50 @@ public class Notes {
* The parent's id for note or folder
*
Type: INTEGER (long)
*/
- public static final String PARENT_ID = "parent_id"; //父文件夹的id
+ public static final String PARENT_ID = "parent_id";
/**
* Created data for note or folder
*
Type: INTEGER (long)
*/
- public static final String CREATED_DATE = "created_date"; //表示文件夹或便签创建日期
+ public static final String CREATED_DATE = "created_date";
/**
* Latest modified date
*
Type: INTEGER (long)
*/
- public static final String MODIFIED_DATE = "modified_date"; //便签的最新的修改日期
+ public static final String MODIFIED_DATE = "modified_date";
/**
* Alert date
*
Type: INTEGER (long)
*/
- public static final String ALERTED_DATE = "alert_date"; //提醒日期
+ public static final String ALERTED_DATE = "alert_date";
/**
* Folder's name or text content of note
*
Type: TEXT
*/
- public static final String SNIPPET = "snippet"; //文件夹名称或便签内容
+ public static final String SNIPPET = "snippet";
/**
* Note's widget id
*
Type: INTEGER (long)
*/
- public static final String WIDGET_ID = "widget_id"; //便签的widget的id
+ public static final String WIDGET_ID = "widget_id";
/**
* Note's widget type
*
Type: INTEGER (long)
*/
- public static final String WIDGET_TYPE = "widget_type"; //便签widget的类型
+ public static final String WIDGET_TYPE = "widget_type";
/**
* Note's background color's id
*
Type: INTEGER (long)
*/
- public static final String BG_COLOR_ID = "bg_color_id"; //背景颜色代号
+ public static final String BG_COLOR_ID = "bg_color_id";
/**
* For text note, it doesn't has attachment, for multi-media
@@ -128,31 +128,31 @@ public class Notes {
* Folder's count of notes
*
Type: INTEGER (long)
*/
- public static final String NOTES_COUNT = "notes_count"; //文件夹内的便签数
+ public static final String NOTES_COUNT = "notes_count";
/**
* The file type: folder or note
*
Type: INTEGER
*/
- public static final String TYPE = "type"; //文件类型,是文件夹或便签
+ public static final String TYPE = "type";
/**
* The last sync id
*
Type: INTEGER (long)
*/
- public static final String SYNC_ID = "sync_id"; //最后一次同步id
+ public static final String SYNC_ID = "sync_id";
/**
* Sign to indicate local modified or not
*
Type: INTEGER
*/
- public static final String LOCAL_MODIFIED = "local_modified"; //本地修改名称标识
+ public static final String LOCAL_MODIFIED = "local_modified";
/**
* Original parent id before moving into temporary folder
*
Type : INTEGER
*/
- public static final String ORIGIN_PARENT_ID = "origin_parent_id"; //移动文件时文件的前父类文件夹
+ public static final String ORIGIN_PARENT_ID = "origin_parent_id";
/**
* The gtask id
@@ -164,10 +164,10 @@ public class Notes {
* The version code
*
Type : INTEGER (long)
*/
- public static final String VERSION = "version"; //版本名称
+ public static final String VERSION = "version";
}
- public interface DataColumns { //定义数据变量接口
+ public interface DataColumns {
/**
* The unique ID for a row
*
Type: INTEGER (long)
@@ -184,25 +184,25 @@ public class Notes {
* The reference id to note that this data belongs to
*
Type: INTEGER (long)
*/
- public static final String NOTE_ID = "note_id"; //便签名称
+ public static final String NOTE_ID = "note_id";
/**
* Created data for note or folder
*
Type: INTEGER (long)
*/
- public static final String CREATED_DATE = "created_date"; //创建文件夹或者便签的名称
+ public static final String CREATED_DATE = "created_date";
/**
* Latest modified date
*
Type: INTEGER (long)
*/
- public static final String MODIFIED_DATE = "modified_date"; //最后修改日期
+ public static final String MODIFIED_DATE = "modified_date";
/**
* Data's content
*
Type: TEXT
*/
- public static final String CONTENT = "content"; //便签内容数据
+ public static final String CONTENT = "content";
/**
@@ -210,7 +210,7 @@ public class Notes {
* integer data type
*
Type: INTEGER
*/
- public static final String DATA1 = "data1"; //不同类型的通用数据列,用于可能的存储与查找
+ public static final String DATA1 = "data1";
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
@@ -244,17 +244,17 @@ public class Notes {
public static final class TextNote implements DataColumns {
/**
* Mode to indicate the text in check list mode or not
- *
Type: Integer 1:check list mode 0: normal mode
//1为列表检查模式,0为普通模式
+ *
Type: Integer 1:check list mode 0: normal mode
*/
- public static final String MODE = DATA1; //模式
+ public static final String MODE = DATA1;
- public static final int MODE_CHECK_LIST = 1; //列表检查模式
+ public static final int MODE_CHECK_LIST = 1;
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note";
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note";
- public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");//访问数据表uri
+ public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");
}
public static final class CallNote implements DataColumns {
@@ -262,18 +262,18 @@ public class Notes {
* Call date for this record
*
Type: INTEGER (long)
*/
- public static final String CALL_DATE = DATA1; //呼叫数据
+ public static final String CALL_DATE = DATA1;
/**
* Phone number for this record
*
Type: TEXT
*/
- public static final String PHONE_NUMBER = DATA3; //呼叫号码
+ public static final String PHONE_NUMBER = DATA3;
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note";
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note";
- public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note");//访问电话记录uri
+ public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note");
}
}
diff --git a/src/data/NotesDatabaseHelper.java b/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java
similarity index 63%
rename from src/data/NotesDatabaseHelper.java
rename to app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java
index 57805ab..ffe5d57 100644
--- a/src/data/NotesDatabaseHelper.java
+++ b/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java
@@ -26,23 +26,23 @@ import net.micode.notes.data.Notes.DataColumns;
import net.micode.notes.data.Notes.DataConstants;
import net.micode.notes.data.Notes.NoteColumns;
- //引入Notes中接口
-public class NotesDatabaseHelper extends SQLiteOpenHelper { //该类为便签SQL表的定义以及操作,便于进行文件夹与便签的各种操作,例如添加或删除的行为
- private static final String DB_NAME = "note.db"; //数据库名称
- private static final int DB_VERSION = 4; //数据库版本
+public class NotesDatabaseHelper extends SQLiteOpenHelper {
+ private static final String DB_NAME = "note.db";
- public interface TABLE { //定义一个数据库表接口
- public static final String NOTE = "note"; //便签名
+ private static final int DB_VERSION = 4;
- public static final String DATA = "data"; //便签数据
+ public interface TABLE {
+ public static final String NOTE = "note";
+
+ public static final String DATA = "data";
}
- private static final String TAG = "NotesDatabaseHelper"; //日志类型
+ private static final String TAG = "NotesDatabaseHelper";
- private static NotesDatabaseHelper mInstance; //创建NotesDatabaseHelper类对象
+ private static NotesDatabaseHelper mInstance;
- private static final String CREATE_NOTE_TABLE_SQL = //SQL语句,创建便签表,包含ID、最后修改日期、背景颜色、便签数等在Notes类中的内容
+ private static final String CREATE_NOTE_TABLE_SQL =
"CREATE TABLE " + TABLE.NOTE + "(" +
NoteColumns.ID + " INTEGER PRIMARY KEY," +
NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," +
@@ -63,7 +63,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" +
")";
- private static final String CREATE_DATA_TABLE_SQL = //创建数据表的SQL语句
+ private static final String CREATE_DATA_TABLE_SQL =
"CREATE TABLE " + TABLE.DATA + "(" +
DataColumns.ID + " INTEGER PRIMARY KEY," +
DataColumns.MIME_TYPE + " TEXT NOT NULL," +
@@ -80,7 +80,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
private static final String CREATE_DATA_NOTE_ID_INDEX_SQL =
"CREATE INDEX IF NOT EXISTS note_id_index ON " +
- TABLE.DATA + "(" + DataColumns.NOTE_ID + ");"; //创建查询操作表索引,用于查找
+ TABLE.DATA + "(" + DataColumns.NOTE_ID + ");";
/**
* Increase folder's note count when move note to the folder
@@ -92,7 +92,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" UPDATE " + TABLE.NOTE +
" SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" +
" WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" +
- " END"; //创建触发器,方便进行操作,当移动便签时统计新的父文件夹内便签数量
+ " END";
/**
* Decrease folder's note count when move note from folder
@@ -105,7 +105,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" +
" WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID +
" AND " + NoteColumns.NOTES_COUNT + ">0" + ";" +
- " END"; //与上一个方法作用相反,统计旧的父文件夹便签数量
+ " END";
/**
* Increase folder's note count when insert new note to the folder
@@ -117,7 +117,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" UPDATE " + TABLE.NOTE +
" SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" +
" WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" +
- " END"; //创建便签时增加统计数量
+ " END";
/**
* Decrease folder's note count when delete note from the folder
@@ -130,7 +130,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" +
" WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID +
" AND " + NoteColumns.NOTES_COUNT + ">0;" +
- " END"; //删除时减少数量
+ " END";
/**
* Update note's content when insert data with type {@link DataConstants#NOTE}
@@ -143,7 +143,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" UPDATE " + TABLE.NOTE +
" SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT +
" WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" +
- " END"; //更新便签数据时更改table表内容
+ " END";
/**
* Update note's content when data with {@link DataConstants#NOTE} type has changed
@@ -156,7 +156,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" UPDATE " + TABLE.NOTE +
" SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT +
" WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" +
- " END"; //改变便签数据时更改table表内容
+ " END";
/**
* Update note's content when data with {@link DataConstants#NOTE} type has deleted
@@ -169,7 +169,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" UPDATE " + TABLE.NOTE +
" SET " + NoteColumns.SNIPPET + "=''" +
" WHERE " + NoteColumns.ID + "=old." + DataColumns.NOTE_ID + ";" +
- " END"; //删除便签数据时改变table表内容
+ " END";
/**
* Delete datas belong to note which has been deleted
@@ -180,7 +180,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" BEGIN" +
" DELETE FROM " + TABLE.DATA +
" WHERE " + DataColumns.NOTE_ID + "=old." + NoteColumns.ID + ";" +
- " END"; //删除便签时删除便签内容
+ " END";
/**
* Delete notes belong to folder which has been deleted
@@ -191,7 +191,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" BEGIN" +
" DELETE FROM " + TABLE.NOTE +
" WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" +
- " END"; //删除文件夹时删除内部的便签
+ " END";
/**
* Move notes belong to folder which has been moved to trash folder
@@ -204,20 +204,20 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" UPDATE " + TABLE.NOTE +
" SET " + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER +
" WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" +
- " END"; //移动便签的父文件夹时便签也一起更改
+ " END";
public NotesDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
- } //创建一个数据库
+ }
public void createNoteTable(SQLiteDatabase db) {
db.execSQL(CREATE_NOTE_TABLE_SQL);
- reCreateNoteTableTriggers(db); //重新创建触发器
- createSystemFolder(db); //创建系统文件夹
- Log.d(TAG, "note table has been created"); //创建一个新的便签表,返回日志
+ reCreateNoteTableTriggers(db);
+ createSystemFolder(db);
+ Log.d(TAG, "note table has been created");
}
- private void reCreateNoteTableTriggers(SQLiteDatabase db) { //数据库对象DB
+ private void reCreateNoteTableTriggers(SQLiteDatabase db) {
db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_update");
db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_update");
db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete");
@@ -233,17 +233,17 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER);
db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER);
db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER);
- } //用于执行SQL语句,运行重新创建便签表触发器函数
+ }
- private void createSystemFolder(SQLiteDatabase db) { //创建系统级文件夹
- ContentValues values = new ContentValues(); //为字典类创建对象
+ private void createSystemFolder(SQLiteDatabase db) {
+ ContentValues values = new ContentValues();
/**
* call record foler for call notes
*/
values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
- db.insert(TABLE.NOTE, null, values); //为通讯便签创建记录文件夹,并添加键值对
+ db.insert(TABLE.NOTE, null, values);
/**
* root folder which is default folder
@@ -251,7 +251,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
values.clear();
values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
- db.insert(TABLE.NOTE, null, values); //创建根文件夹,是默认的、最终的父文件夹
+ db.insert(TABLE.NOTE, null, values);
/**
* temporary folder which is used for moving note
@@ -259,7 +259,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
values.clear();
values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
- db.insert(TABLE.NOTE, null, values); //为移动中的便签创建的临时文件夹
+ db.insert(TABLE.NOTE, null, values);
/**
* create trash folder
@@ -267,24 +267,24 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
values.clear();
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
- db.insert(TABLE.NOTE, null, values); //创建垃圾桶
+ db.insert(TABLE.NOTE, null, values);
}
- public void createDataTable(SQLiteDatabase db) { //创建数据表
- db.execSQL(CREATE_DATA_TABLE_SQL); //SQL输入保存的语句
+ public void createDataTable(SQLiteDatabase db) {
+ db.execSQL(CREATE_DATA_TABLE_SQL);
reCreateDataTableTriggers(db);
db.execSQL(CREATE_DATA_NOTE_ID_INDEX_SQL);
- Log.d(TAG, "data table has been created"); //日志记录
+ Log.d(TAG, "data table has been created");
}
- private void reCreateDataTableTriggers(SQLiteDatabase db) { //为数据表重新创建触发器
+ private void reCreateDataTableTriggers(SQLiteDatabase db) {
db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_insert");
db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_update");
- db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_delete"); //删除触发器
+ db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_delete");
db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER);
db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER);
- db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER); //重新创建被删除的触发器
+ db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER);
}
static synchronized NotesDatabaseHelper getInstance(Context context) {
@@ -292,16 +292,16 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
mInstance = new NotesDatabaseHelper(context);
}
return mInstance;
- } //静态同步方法,用于返回NotesDatabaseHelper的对象实例mInstance
+ }
@Override
public void onCreate(SQLiteDatabase db) {
- createNoteTable(db); //创建便签表
- createDataTable(db); //创建数据表
- } //用于初始化表
+ createNoteTable(db);
+ createDataTable(db);
+ }
@Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //用于检查并升级数据库版本
+ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
boolean reCreateTriggers = false;
boolean skipV2 = false;
@@ -309,31 +309,31 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
upgradeToV2(db);
skipV2 = true; // this upgrade including the upgrade from v2 to v3
oldVersion++;
- } //检测到版本为1,升级版本
+ }
if (oldVersion == 2 && !skipV2) {
upgradeToV3(db);
- reCreateTriggers = true; //重建触发器标志
- oldVersion++; //检测到版本为2,升级版本
+ reCreateTriggers = true;
+ oldVersion++;
}
if (oldVersion == 3) {
upgradeToV4(db);
oldVersion++;
- } //检测到版本为3,升级版本
+ }
if (reCreateTriggers) {
reCreateNoteTableTriggers(db);
reCreateDataTableTriggers(db);
- } //进行触发器的重建
+ }
if (oldVersion != newVersion) {
throw new IllegalStateException("Upgrade notes database to version " + newVersion
- + "fails"); //版本不匹配则抛出异常
+ + "fails");
}
}
- private void upgradeToV2(SQLiteDatabase db) { //升级版本并重建表
+ private void upgradeToV2(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE);
db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA);
createNoteTable(db);
@@ -353,10 +353,10 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values);
- } //删除不用的触发器,并添加不为空的新列,添加键值对
+ }
private void upgradeToV4(SQLiteDatabase db) {
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION
+ " INTEGER NOT NULL DEFAULT 0");
- } //添加新的不为空的列
+ }
}
diff --git a/src/data/NotesProvider.java b/app/src/main/java/net/micode/notes/data/NotesProvider.java
similarity index 55%
rename from src/data/NotesProvider.java
rename to app/src/main/java/net/micode/notes/data/NotesProvider.java
index 9ae1528..edb0a60 100644
--- a/src/data/NotesProvider.java
+++ b/app/src/main/java/net/micode/notes/data/NotesProvider.java
@@ -36,22 +36,22 @@ import net.micode.notes.data.NotesDatabaseHelper.TABLE;
public class NotesProvider extends ContentProvider {
- private static final UriMatcher mMatcher; //UriMatcher类用于分辨数据表
+ private static final UriMatcher mMatcher;
- private NotesDatabaseHelper mHelper; //建立NotesDatabaseHelper类对象
+ private NotesDatabaseHelper mHelper;
- private static final String TAG = "NotesProvider"; //设置类名值
+ private static final String TAG = "NotesProvider";
- private static final int URI_NOTE = 1; //设置便签uri
+ private static final int URI_NOTE = 1;
private static final int URI_NOTE_ITEM = 2;
- private static final int URI_DATA = 3; //设置数据uri
+ private static final int URI_DATA = 3;
private static final int URI_DATA_ITEM = 4;
- private static final int URI_SEARCH = 5; //设置搜索uri
+ private static final int URI_SEARCH = 5;
private static final int URI_SEARCH_SUGGEST = 6;
static {
- mMatcher = new UriMatcher(UriMatcher.NO_MATCH); //进行初始化
+ mMatcher = new UriMatcher(UriMatcher.NO_MATCH);
mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE);
mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM);
mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA);
@@ -59,48 +59,48 @@ public class NotesProvider extends ContentProvider {
mMatcher.addURI(Notes.AUTHORITY, "search", URI_SEARCH);
mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY, URI_SEARCH_SUGGEST);
mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", URI_SEARCH_SUGGEST);
- } //将不同的uri与数值相匹配
+ }
/**
* x'0A' represents the '\n' character in sqlite. For title and content in the search result,
* we will trim '\n' and white space in order to show more information.
- */ //用0A代表\n,为搜索结果换行
+ */
private static final String NOTES_SEARCH_PROJECTION = NoteColumns.ID + ","
+ NoteColumns.ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA + ","
+ "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_1 + ","
+ "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_2 + ","
+ R.drawable.search_result + " AS " + SearchManager.SUGGEST_COLUMN_ICON_1 + ","
+ "'" + Intent.ACTION_VIEW + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_ACTION + ","
- + "'" + Notes.TextNote.CONTENT_TYPE + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA; //...
+ + "'" + Notes.TextNote.CONTENT_TYPE + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA;
private static String NOTES_SNIPPET_SEARCH_QUERY = "SELECT " + NOTES_SEARCH_PROJECTION
+ " FROM " + TABLE.NOTE
+ " WHERE " + NoteColumns.SNIPPET + " LIKE ?"
+ " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER
- + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE; //检索便签的sql语句,在列表中搜寻。使用Notes类中的接口与变量
+ + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE;
@Override
public boolean onCreate() {
mHelper = NotesDatabaseHelper.getInstance(getContext());
- return true; //创建NotesDatabaseHelper类并返回成果标识
+ return true;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
- String sortOrder) { //负责查询数据,接受uri、返回烈、选择、排列方式
- Cursor c = null; //创建空游标,表示数据库操作结果集合
- SQLiteDatabase db = mHelper.getReadableDatabase(); //获取数据库对象
+ String sortOrder) {
+ Cursor c = null;
+ SQLiteDatabase db = mHelper.getReadableDatabase();
String id = null;
- switch (mMatcher.match(uri)) { //确定uri类型
+ switch (mMatcher.match(uri)) {
case URI_NOTE:
c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null,
- sortOrder); //传参,进行标准查询
+ sortOrder);
break;
case URI_NOTE_ITEM:
id = uri.getPathSegments().get(1);
c = db.query(TABLE.NOTE, projection, NoteColumns.ID + "=" + id
+ parseSelection(selection), selectionArgs, null, null, sortOrder);
- break; //传参,对id进行查询
+ break;
case URI_DATA:
c = db.query(TABLE.DATA, projection, selection, selectionArgs, null, null,
sortOrder);
@@ -112,13 +112,13 @@ public class NotesProvider extends ContentProvider {
break;
case URI_SEARCH:
case URI_SEARCH_SUGGEST:
- if (sortOrder != null || projection != null) { //检查是否指定排序方式
+ if (sortOrder != null || projection != null) {
throw new IllegalArgumentException(
"do not specify sortOrder, selection, selectionArgs, or projection" + "with this query");
}
String searchString = null;
- if (mMatcher.match(uri) == URI_SEARCH_SUGGEST) { //提取uri中搜索模式
+ if (mMatcher.match(uri) == URI_SEARCH_SUGGEST) {
if (uri.getPathSegments().size() > 1) {
searchString = uri.getPathSegments().get(1);
}
@@ -133,43 +133,43 @@ public class NotesProvider extends ContentProvider {
try {
searchString = String.format("%%%s%%", searchString);
c = db.rawQuery(NOTES_SNIPPET_SEARCH_QUERY,
- new String[] { searchString }); //在Notes表进行搜索
+ new String[] { searchString });
} catch (IllegalStateException ex) {
- Log.e(TAG, "got exception: " + ex.toString()); //日志
+ Log.e(TAG, "got exception: " + ex.toString());
}
break;
default:
- throw new IllegalArgumentException("Unknown URI " + uri); //抛出异常
+ throw new IllegalArgumentException("Unknown URI " + uri);
}
if (c != null) {
- c.setNotificationUri(getContext().getContentResolver(), uri); //在游标查询的数据变化时进行通知
- } //通知uri是标识查询结果的uri,setNotificationUri方法可注册通知uri,与对象c相关联
+ c.setNotificationUri(getContext().getContentResolver(), uri);
+ }
return c;
}
@Override
- public Uri insert(Uri uri, ContentValues values) { //uri表示要插入的uri,values表示要插入的数据
- SQLiteDatabase db = mHelper.getWritableDatabase(); //打开或创建一个数据库
+ public Uri insert(Uri uri, ContentValues values) {
+ SQLiteDatabase db = mHelper.getWritableDatabase();
long dataId = 0, noteId = 0, insertedId = 0;
- switch (mMatcher.match(uri)) { //匹配uri
+ switch (mMatcher.match(uri)) {
case URI_NOTE:
- insertedId = noteId = db.insert(TABLE.NOTE, null, values); //将数据插入到Notes表中
+ insertedId = noteId = db.insert(TABLE.NOTE, null, values);
break;
case URI_DATA:
- if (values.containsKey(DataColumns.NOTE_ID)) { //检查values是否含有NOTE_ID内容,返回bool值
- noteId = values.getAsLong(DataColumns.NOTE_ID); //关联noteId
+ if (values.containsKey(DataColumns.NOTE_ID)) {
+ noteId = values.getAsLong(DataColumns.NOTE_ID);
} else {
- Log.d(TAG, "Wrong data format without note id:" + values.toString()); //日志记录
+ Log.d(TAG, "Wrong data format without note id:" + values.toString());
}
- insertedId = dataId = db.insert(TABLE.DATA, null, values); //数据库插入新行的id返回到两个变量中
+ insertedId = dataId = db.insert(TABLE.DATA, null, values);
break;
default:
throw new IllegalArgumentException("Unknown URI " + uri);
}
// Notify the note uri
- if (noteId > 0) { //不为零表示插入成功,
+ if (noteId > 0) {
getContext().getContentResolver().notifyChange(
- ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null); //通知uri发生变化
+ ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null);
}
// Notify the data uri
@@ -178,22 +178,22 @@ public class NotesProvider extends ContentProvider {
ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null);
}
- return ContentUris.withAppendedId(uri, insertedId); //返回新的uri,表示插入位置
+ return ContentUris.withAppendedId(uri, insertedId);
}
@Override
- public int delete(Uri uri, String selection, String[] selectionArgs) { //表示要删除的uri、SQL中的WHERE与参数
- int count = 0; //表示删除记录数
+ public int delete(Uri uri, String selection, String[] selectionArgs) {
+ int count = 0;
String id = null;
- SQLiteDatabase db = mHelper.getWritableDatabase(); //打开数据库
+ SQLiteDatabase db = mHelper.getWritableDatabase();
boolean deleteData = false;
- switch (mMatcher.match(uri)) { //uri匹配
+ switch (mMatcher.match(uri)) {
case URI_NOTE:
- selection = "(" + selection + ") AND " + NoteColumns.ID + ">0 "; //设置WHERE
- count = db.delete(TABLE.NOTE, selection, selectionArgs); //删除,并计数
+ selection = "(" + selection + ") AND " + NoteColumns.ID + ">0 ";
+ count = db.delete(TABLE.NOTE, selection, selectionArgs);
break;
case URI_NOTE_ITEM:
- id = uri.getPathSegments().get(1); //获取id
+ id = uri.getPathSegments().get(1);
/**
* ID that smaller than 0 is system folder which is not allowed to
* trash
@@ -204,45 +204,45 @@ public class NotesProvider extends ContentProvider {
}
count = db.delete(TABLE.NOTE,
NoteColumns.ID + "=" + id + parseSelection(selection), selectionArgs);
- break; //删除指定id,并计数
+ break;
case URI_DATA:
- count = db.delete(TABLE.DATA, selection, selectionArgs); //删除,并计数
+ count = db.delete(TABLE.DATA, selection, selectionArgs);
deleteData = true;
break;
case URI_DATA_ITEM:
- id = uri.getPathSegments().get(1); //获取id
+ id = uri.getPathSegments().get(1);
count = db.delete(TABLE.DATA,
DataColumns.ID + "=" + id + parseSelection(selection), selectionArgs);
- deleteData = true; //删除指定id,并计数
+ deleteData = true;
break;
default:
- throw new IllegalArgumentException("Unknown URI " + uri); //报错
+ throw new IllegalArgumentException("Unknown URI " + uri);
}
- if (count > 0) { //表示有删除操作,通知uri发生变化
+ if (count > 0) {
if (deleteData) {
getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null);
}
getContext().getContentResolver().notifyChange(uri, null);
}
- return count; //返回删除的记录数
+ return count;
}
@Override
- public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { //表示更新的uri、values为新的列值、where以及参数
- int count = 0; //更新条数
+ public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+ int count = 0;
String id = null;
- SQLiteDatabase db = mHelper.getWritableDatabase(); //打开数据库
- boolean updateData = false; //设置数据表更新表示
- switch (mMatcher.match(uri)) { //匹配uri
+ SQLiteDatabase db = mHelper.getWritableDatabase();
+ boolean updateData = false;
+ switch (mMatcher.match(uri)) {
case URI_NOTE:
- increaseNoteVersion(-1, selection, selectionArgs); //跟新便签
- count = db.update(TABLE.NOTE, values, selection, selectionArgs); //更新指定表的行,并计数
+ increaseNoteVersion(-1, selection, selectionArgs);
+ count = db.update(TABLE.NOTE, values, selection, selectionArgs);
break;
case URI_NOTE_ITEM:
- id = uri.getPathSegments().get(1); //提取id
+ id = uri.getPathSegments().get(1);
increaseNoteVersion(Long.valueOf(id), selection, selectionArgs);
count = db.update(TABLE.NOTE, values, NoteColumns.ID + "=" + id
- + parseSelection(selection), selectionArgs); //增加指定的id条件
+ + parseSelection(selection), selectionArgs);
break;
case URI_DATA:
count = db.update(TABLE.DATA, values, selection, selectionArgs);
@@ -255,50 +255,51 @@ public class NotesProvider extends ContentProvider {
updateData = true;
break;
default:
- throw new IllegalArgumentException("Unknown URI " + uri); //抛出异常
+ throw new IllegalArgumentException("Unknown URI " + uri);
}
if (count > 0) {
if (updateData) {
- getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null);//通知指定uri数据更改
+ getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null);
}
- getContext().getContentResolver().notifyChange(uri, null); //通知uri数据更改
+ getContext().getContentResolver().notifyChange(uri, null);
}
return count;
}
- private String parseSelection(String selection) { //检查selection是否为空
- return (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""); //为空则返回“”
+ private String parseSelection(String selection) {
+ return (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : "");
}
- private void increaseNoteVersion(long id, String selection, String[] selectionArgs) { //使用数据库更新便签版本
+ private void increaseNoteVersion(long id, String selection, String[] selectionArgs) {
StringBuilder sql = new StringBuilder(120);
sql.append("UPDATE ");
sql.append(TABLE.NOTE);
sql.append(" SET ");
sql.append(NoteColumns.VERSION);
- sql.append("=" + NoteColumns.VERSION + "+1 "); //升级便签版本号
+ sql.append("=" + NoteColumns.VERSION + "+1 ");
- if (id > 0 || !TextUtils.isEmpty(selection)) { //selection不为空或存在id则增加where条件
+ if (id > 0 || !TextUtils.isEmpty(selection)) {
sql.append(" WHERE ");
}
if (id > 0) {
sql.append(NoteColumns.ID + "=" + String.valueOf(id));
}
if (!TextUtils.isEmpty(selection)) {
- String selectString = id > 0 ? parseSelection(selection) : selection; //parseSelection将传入的参数中的占位符替换为实际的值
- for (String args : selectionArgs) { //
- selectString = selectString.replaceFirst("\\?", args); //replaceFirst选择参数数组中的值替换语句中的占位符
+ String selectString = id > 0 ? parseSelection(selection) : selection;
+ for (String args : selectionArgs) {
+ selectString = selectString.replaceFirst("\\?", args);
}
sql.append(selectString);
}
- mHelper.getWritableDatabase().execSQL(sql.toString()); //执行SQL语句
+ mHelper.getWritableDatabase().execSQL(sql.toString());
}
@Override
- public String getType(Uri uri) { //获取指定uri的MIME类型
- // TODO Auto-generated method stub //表示该方法没有实现
+ public String getType(Uri uri) {
+ // TODO Auto-generated method stub
return null;
}
+
}
diff --git a/src/gtask/data/MetaData.java b/app/src/main/java/net/micode/notes/gtask/data/MetaData.java
similarity index 100%
rename from src/gtask/data/MetaData.java
rename to app/src/main/java/net/micode/notes/gtask/data/MetaData.java
diff --git a/src/gtask/data/Node.java b/app/src/main/java/net/micode/notes/gtask/data/Node.java
similarity index 100%
rename from src/gtask/data/Node.java
rename to app/src/main/java/net/micode/notes/gtask/data/Node.java
diff --git a/src/gtask/data/SqlData.java b/app/src/main/java/net/micode/notes/gtask/data/SqlData.java
similarity index 100%
rename from src/gtask/data/SqlData.java
rename to app/src/main/java/net/micode/notes/gtask/data/SqlData.java
diff --git a/src/gtask/data/SqlNote.java b/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java
similarity index 100%
rename from src/gtask/data/SqlNote.java
rename to app/src/main/java/net/micode/notes/gtask/data/SqlNote.java
diff --git a/src/gtask/data/Task.java b/app/src/main/java/net/micode/notes/gtask/data/Task.java
similarity index 100%
rename from src/gtask/data/Task.java
rename to app/src/main/java/net/micode/notes/gtask/data/Task.java
diff --git a/src/gtask/data/TaskList.java b/app/src/main/java/net/micode/notes/gtask/data/TaskList.java
similarity index 100%
rename from src/gtask/data/TaskList.java
rename to app/src/main/java/net/micode/notes/gtask/data/TaskList.java
diff --git a/src/gtask/exception/ActionFailureException.java b/app/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java
similarity index 100%
rename from src/gtask/exception/ActionFailureException.java
rename to app/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java
diff --git a/src/gtask/exception/NetworkFailureException.java b/app/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java
similarity index 100%
rename from src/gtask/exception/NetworkFailureException.java
rename to app/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java
diff --git a/src/gtask/remote/GTaskASyncTask.java b/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
similarity index 100%
rename from src/gtask/remote/GTaskASyncTask.java
rename to app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
diff --git a/src/gtask/remote/GTaskClient.java b/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
similarity index 100%
rename from src/gtask/remote/GTaskClient.java
rename to app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
diff --git a/src/gtask/remote/GTaskManager.java b/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
similarity index 100%
rename from src/gtask/remote/GTaskManager.java
rename to app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
diff --git a/src/gtask/remote/GTaskSyncService.java b/app/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java
similarity index 100%
rename from src/gtask/remote/GTaskSyncService.java
rename to app/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java
diff --git a/src/model/Note.java b/app/src/main/java/net/micode/notes/model/Note.java
similarity index 70%
rename from src/model/Note.java
rename to app/src/main/java/net/micode/notes/model/Note.java
index 6706cf6..4072cf5 100644
--- a/src/model/Note.java
+++ b/app/src/main/java/net/micode/notes/model/Note.java
@@ -15,6 +15,7 @@
*/
package net.micode.notes.model;
+
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentUris;
@@ -33,88 +34,90 @@ import net.micode.notes.data.Notes.TextNote;
import java.util.ArrayList;
+public class Note {// 便签类
+ private ContentValues mNoteDiffValues; // 用于保存便签修改值
+ private NoteData mNoteData; // 保存便签的数据
+ private static final String TAG = "Note"; // 设置TAG为Note
-public class Note {
- private ContentValues mNoteDiffValues;
- private NoteData mNoteData;
- private static final String TAG = "Note";
/**
* Create a new note id for adding a new note to databases
*/
- public static synchronized long getNewNoteId(Context context, long folderId) {
+ public static synchronized long getNewNoteId(Context context, long folderId) { // 为一个新的便签创建id返回数据库
// Create a new note in the database
- ContentValues values = new ContentValues();
- long createdTime = System.currentTimeMillis();
+ ContentValues values = new ContentValues(); // 用于保存创建日期等字段的值
+ long createdTime = System.currentTimeMillis(); // 获取创建时间
values.put(NoteColumns.CREATED_DATE, createdTime);
values.put(NoteColumns.MODIFIED_DATE, createdTime);
values.put(NoteColumns.TYPE, Notes.TYPE_NOTE);
values.put(NoteColumns.LOCAL_MODIFIED, 1);
values.put(NoteColumns.PARENT_ID, folderId);
- Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values);
+ Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values); // 将values插入数据库中,并返回uri
long noteId = 0;
try {
- noteId = Long.valueOf(uri.getPathSegments().get(1));
+ noteId = Long.valueOf(uri.getPathSegments().get(1)); // 解析uri获取新笔记id
} catch (NumberFormatException e) {
- Log.e(TAG, "Get note id error :" + e.toString());
+ Log.e(TAG, "Get note id error :" + e.toString()); // 解析失败日志
noteId = 0;
}
if (noteId == -1) {
- throw new IllegalStateException("Wrong note id:" + noteId);
+ throw new IllegalStateException("Wrong note id:" + noteId); // 获取id出错,抛出异常
}
return noteId;
}
public Note() {
- mNoteDiffValues = new ContentValues();
- mNoteData = new NoteData();
+ mNoteDiffValues = new ContentValues(); // 创建新对象
+ mNoteData = new NoteData(); // 创建新对象
}
- public void setNoteValue(String key, String value) {
- mNoteDiffValues.put(key, value);
- mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1);
- mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis());
+ public void setNoteValue(String key, String value) { // 设置便签的值
+ mNoteDiffValues.put(key, value); // key为属性,values为新值
+ mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); // 本地修改标识为1,标识被修改
+ mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); // 表示修改时间,用于服务器时间比较
}
public void setTextData(String key, String value) {
- mNoteData.setTextData(key, value);
- }
+ mNoteData.setTextData(key, value); // 添加键值对
+ } // 设置文本数据
public void setTextDataId(long id) {
mNoteData.setTextDataId(id);
- }
+ } // 设置文本数据id
public long getTextDataId() {
return mNoteData.mTextDataId;
- }
+ } // 获取文本数据id
public void setCallDataId(long id) {
mNoteData.setCallDataId(id);
- }
+ } // 设置通讯数据id
public void setCallData(String key, String value) {
mNoteData.setCallData(key, value);
- }
+ } // 设置通讯数据,添加键值对
public boolean isLocalModified() {
return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified();
- }
+ } // 检查是否被修改
- public boolean syncNote(Context context, long noteId) {
+ public boolean syncNote(Context context, long noteId) { // 用于同步到数据库中
if (noteId <= 0) {
- throw new IllegalArgumentException("Wrong note id:" + noteId);
+ throw new IllegalArgumentException("Wrong note id:" + noteId); // 抛出异常
}
- if (!isLocalModified()) {
- return true;
+ if (!isLocalModified()) { // 判断是否修改过
+ return true; // 没修改则不需要同步
}
/**
- * In theory, once data changed, the note should be updated on {@link NoteColumns#LOCAL_MODIFIED} and
- * {@link NoteColumns#MODIFIED_DATE}. For data safety, though update note fails, we also update the
+ * In theory, once data changed, the note should be updated on
+ * {@link NoteColumns#LOCAL_MODIFIED} and
+ * {@link NoteColumns#MODIFIED_DATE}. For data safety, though update note fails,
+ * we also update the
* note data info
*/
- if (context.getContentResolver().update(
+ if (context.getContentResolver().update( // 打包并同步
ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), mNoteDiffValues, null,
null) == 0) {
Log.e(TAG, "Update note error, should not happen");
@@ -124,13 +127,13 @@ public class Note {
if (mNoteData.isLocalModified()
&& (mNoteData.pushIntoContentResolver(context, noteId) == null)) {
- return false;
+ return false; // 表示同步失败
}
return true;
}
- private class NoteData {
+ private class NoteData { // 私有内部类,用于便签数据管理
private long mTextDataId;
private ContentValues mTextDataValues;
@@ -141,77 +144,76 @@ public class Note {
private static final String TAG = "NoteData";
- public NoteData() {
- mTextDataValues = new ContentValues();
- mCallDataValues = new ContentValues();
+ public NoteData() { // 构造函数
+ mTextDataValues = new ContentValues(); // 保存便签文本
+ mCallDataValues = new ContentValues(); // 保存便签通讯记录
mTextDataId = 0;
mCallDataId = 0;
}
boolean isLocalModified() {
return mTextDataValues.size() > 0 || mCallDataValues.size() > 0;
- }
+ } // 检查便签是否再本地修改
void setTextDataId(long id) {
- if(id <= 0) {
+ if (id <= 0) {
throw new IllegalArgumentException("Text data id should larger than 0");
}
mTextDataId = id;
- }
+ } // 设置便签文本标识符
void setCallDataId(long id) {
if (id <= 0) {
throw new IllegalArgumentException("Call data id should larger than 0");
}
mCallDataId = id;
- }
+ } // 设置便签通讯标识符
void setCallData(String key, String value) {
mCallDataValues.put(key, value);
- mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1);
- mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis());
- }
+ mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); // 更新修改状态
+ mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); // 更新修改日期
+ } // 设置文本数据
- void setTextData(String key, String value) {
+ void setTextData(String key, String value) { // 设置通讯数据
mTextDataValues.put(key, value);
mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1);
mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis());
}
- Uri pushIntoContentResolver(Context context, long noteId) {
+ Uri pushIntoContentResolver(Context context, long noteId) { // 将文本数据与通讯数据添加到context
/**
* Check for safety
*/
if (noteId <= 0) {
- throw new IllegalArgumentException("Wrong note id:" + noteId);
+ throw new IllegalArgumentException("Wrong note id:" + noteId); // 抛出异常
}
ArrayList operationList = new ArrayList();
ContentProviderOperation.Builder builder = null;
- if(mTextDataValues.size() > 0) {
- mTextDataValues.put(DataColumns.NOTE_ID, noteId);
+ if (mTextDataValues.size() > 0) { // 检查文本数据
+ mTextDataValues.put(DataColumns.NOTE_ID, noteId); // 将便签id与数据值相关联
if (mTextDataId == 0) {
- mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE);
+ mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE); // 并将键值对添加到mTextDataValues中
Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI,
- mTextDataValues);
+ mTextDataValues); // 插入新的数据行,保存返回的uri
try {
setTextDataId(Long.valueOf(uri.getPathSegments().get(1)));
} catch (NumberFormatException e) {
- Log.e(TAG, "Insert new text data fail with noteId" + noteId);
+ Log.e(TAG, "Insert new text data fail with noteId" + noteId); // 异常日志
mTextDataValues.clear();
return null;
}
- } else {
+ } else { // 表示需要更新现有数据行
builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mTextDataId));
builder.withValues(mTextDataValues);
operationList.add(builder.build());
}
- mTextDataValues.clear();
+ mTextDataValues.clear(); // 清空mTextDataValues
}
-
- if(mCallDataValues.size() > 0) {
+ if (mCallDataValues.size() > 0) { // 检查通讯数据,代码内容功能同上
mCallDataValues.put(DataColumns.NOTE_ID, noteId);
if (mCallDataId == 0) {
mCallDataValues.put(DataColumns.MIME_TYPE, CallNote.CONTENT_ITEM_TYPE);
@@ -233,7 +235,7 @@ public class Note {
mCallDataValues.clear();
}
- if (operationList.size() > 0) {
+ if (operationList.size() > 0) { // 检查operationList,对载入的操作进行批量提交
try {
ContentProviderResult[] results = context.getContentResolver().applyBatch(
Notes.AUTHORITY, operationList);
diff --git a/src/model/WorkingNote.java b/app/src/main/java/net/micode/notes/model/WorkingNote.java
similarity index 58%
rename from src/model/WorkingNote.java
rename to app/src/main/java/net/micode/notes/model/WorkingNote.java
index be081e4..2b46d45 100644
--- a/src/model/WorkingNote.java
+++ b/app/src/main/java/net/micode/notes/model/WorkingNote.java
@@ -31,38 +31,39 @@ import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.data.Notes.TextNote;
import net.micode.notes.tool.ResourceParser.NoteBgResources;
-
-public class WorkingNote {
+public class WorkingNote {// 表示工作便签
// Note for the working note
- private Note mNote;
+ private Note mNote; // 表示工作便签
// Note Id
- private long mNoteId;
+ private long mNoteId; // 便签id
// Note content
- private String mContent;
+ private String mContent; // 便签内容
// Note mode
- private int mMode;
+ private int mMode; // 便签模式
+
+ private long mAlertDate; // 提醒日期
- private long mAlertDate;
+ private long mModifiedDate; // 最近修改日期
- private long mModifiedDate;
+ private int mBgColorId; // 背景颜色id
- private int mBgColorId;
+ private int mTxtColorId; // 文本颜色id
- private int mWidgetId;
+ private int mWidgetId; // 小部件id
- private int mWidgetType;
+ private int mWidgetType; // 小部件类型
- private long mFolderId;
+ private long mFolderId; // 所在文件夹id
- private Context mContext;
+ private Context mContext; // 表示上下文
- private static final String TAG = "WorkingNote";
+ private static final String TAG = "WorkingNote"; // 设置TAG
- private boolean mIsDeleted;
+ private boolean mIsDeleted; // 表示是否被删除
- private NoteSettingChangedListener mNoteSettingStatusListener;
+ private NoteSettingChangedListener mNoteSettingStatusListener; // 表示便签设置状态
- public static final String[] DATA_PROJECTION = new String[] {
+ public static final String[] DATA_PROJECTION = new String[] { // 用于指定需要从数据库查询的数据列
DataColumns.ID,
DataColumns.CONTENT,
DataColumns.MIME_TYPE,
@@ -81,28 +82,29 @@ public class WorkingNote {
NoteColumns.MODIFIED_DATE
};
- private static final int DATA_ID_COLUMN = 0;
+ private static final int DATA_ID_COLUMN = 0; // 表示查询数据的id列
+
+ private static final int DATA_CONTENT_COLUMN = 1; // 表示查询数据的内容列
- private static final int DATA_CONTENT_COLUMN = 1;
+ private static final int DATA_MIME_TYPE_COLUMN = 2; // 表示查询数据的MIME类型列
- private static final int DATA_MIME_TYPE_COLUMN = 2;
+ private static final int DATA_MODE_COLUMN = 3; // 表示查询数据的模式列
- private static final int DATA_MODE_COLUMN = 3;
+ private static final int NOTE_PARENT_ID_COLUMN = 0; // 表示查询便签的父文件夹id列
- private static final int NOTE_PARENT_ID_COLUMN = 0;
+ private static final int NOTE_ALERTED_DATE_COLUMN = 1; // 表示便签的提醒日期列
- private static final int NOTE_ALERTED_DATE_COLUMN = 1;
+ private static final int NOTE_BG_COLOR_ID_COLUMN = 2; // 表示便签的背景颜色id列
- private static final int NOTE_BG_COLOR_ID_COLUMN = 2;
+ private static final int NOTE_WIDGET_ID_COLUMN = 3; // 表示便签小组件id列
- private static final int NOTE_WIDGET_ID_COLUMN = 3;
+ private static final int NOTE_WIDGET_TYPE_COLUMN = 4; // 表示便签小组件类型列
- private static final int NOTE_WIDGET_TYPE_COLUMN = 4;
+ private static final int NOTE_MODIFIED_DATE_COLUMN = 5; // 表示便签最后修改日期列
- private static final int NOTE_MODIFIED_DATE_COLUMN = 5;
// New note construct
- private WorkingNote(Context context, long folderId) {
+ private WorkingNote(Context context, long folderId) { // 新建便签的结构
mContext = context;
mAlertDate = 0;
mModifiedDate = System.currentTimeMillis();
@@ -115,7 +117,7 @@ public class WorkingNote {
}
// Existing note construct
- private WorkingNote(Context context, long noteId, long folderId) {
+ private WorkingNote(Context context, long noteId, long folderId) { // 存在的的便签结构
mContext = context;
mNoteId = noteId;
mFolderId = folderId;
@@ -124,13 +126,13 @@ public class WorkingNote {
loadNote();
}
- private void loadNote() {
+ private void loadNote() { // 查询并加载当前便签的详细信息
Cursor cursor = mContext.getContentResolver().query(
ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mNoteId), NOTE_PROJECTION, null,
- null, null);
+ null, null); // 返回一个Cursor对象
if (cursor != null) {
- if (cursor.moveToFirst()) {
+ if (cursor.moveToFirst()) { // 将查询结构的列值返回当前便签
mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN);
mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN);
mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN);
@@ -141,70 +143,70 @@ public class WorkingNote {
cursor.close();
} else {
Log.e(TAG, "No note with id:" + mNoteId);
- throw new IllegalArgumentException("Unable to find note with id " + mNoteId);
+ throw new IllegalArgumentException("Unable to find note with id " + mNoteId); // 抛出异常,表示未找到指定id的便签
}
- loadNoteData();
+ loadNoteData(); // 加载便签内容和其他数据
}
- private void loadNoteData() {
+ private void loadNoteData() { // 加载便签内容数据
Cursor cursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION,
- DataColumns.NOTE_ID + "=?", new String[] {
- String.valueOf(mNoteId)
- }, null);
+ DataColumns.NOTE_ID + "=?", new String[] { // 获取与便签id相对应的所有数据
+ String.valueOf(mNoteId)
+ }, null); // 遍历Cursor对象所有数据
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
String type = cursor.getString(DATA_MIME_TYPE_COLUMN);
- if (DataConstants.NOTE.equals(type)) {
+ if (DataConstants.NOTE.equals(type)) { // 类型相对应则设置WorkingNote对象成员变量
mContent = cursor.getString(DATA_CONTENT_COLUMN);
mMode = cursor.getInt(DATA_MODE_COLUMN);
mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN));
} else if (DataConstants.CALL_NOTE.equals(type)) {
- mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN));
+ mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN)); // 设置为Notes对象的成员变量
} else {
- Log.d(TAG, "Wrong note type with type:" + type);
+ Log.d(TAG, "Wrong note type with type:" + type); // 抛出异常,错误的数据类型
}
} while (cursor.moveToNext());
}
cursor.close();
} else {
Log.e(TAG, "No data with id:" + mNoteId);
- throw new IllegalArgumentException("Unable to find note's data with id " + mNoteId);
+ throw new IllegalArgumentException("Unable to find note's data with id " + mNoteId); // 抛出异常,无查询结果
}
}
- public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId,
- int widgetType, int defaultBgColorId) {
- WorkingNote note = new WorkingNote(context, folderId);
+ public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, // 上下文对象、文件夹id、组件id、组件类型、默认背景颜色id
+ int widgetType, int defaultBgColorId) { // 创建空白便签
+ WorkingNote note = new WorkingNote(context, folderId); // 用上下文对象、父文件夹id创建WorkingNote
note.setBgColorId(defaultBgColorId);
note.setWidgetId(widgetId);
note.setWidgetType(widgetType);
- return note;
+ return note; // 设置变量并返回
}
- public static WorkingNote load(Context context, long id) {
+ public static WorkingNote load(Context context, long id) { // 用上下文对象和id创建新的WorkingNote对象
return new WorkingNote(context, id, 0);
}
- public synchronized boolean saveNote() {
- if (isWorthSaving()) {
- if (!existInDatabase()) {
- if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) {
- Log.e(TAG, "Create new note fail with id:" + mNoteId);
+ public synchronized boolean saveNote() { // 保存便签
+ if (isWorthSaving()) { // 判断是否保存
+ if (!existInDatabase()) { // 是否存在与数据库
+ if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { // 不存在则获取id
+ Log.e(TAG, "Create new note fail with id:" + mNoteId); // 日志记录
return false;
}
}
- mNote.syncNote(mContext, mNoteId);
+ mNote.syncNote(mContext, mNoteId); // 同步到数据库中
/**
* Update widget content if there exist any widget of this note
*/
- if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID
+ if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID // 诺该便签与组件关联
&& mWidgetType != Notes.TYPE_WIDGET_INVALIDE
&& mNoteSettingStatusListener != null) {
- mNoteSettingStatusListener.onWidgetChanged();
+ mNoteSettingStatusListener.onWidgetChanged(); // 更新组件
}
return true;
} else {
@@ -214,155 +216,161 @@ public class WorkingNote {
public boolean existInDatabase() {
return mNoteId > 0;
- }
+ } // 判断便签是否存在数据库
private boolean isWorthSaving() {
- if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent))
+ if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent)) // 不存在于数据库且为空,或者没本地修改
|| (existInDatabase() && !mNote.isLocalModified())) {
return false;
} else {
return true;
}
- }
+ } // 判断是否值得保存
public void setOnSettingStatusChangedListener(NoteSettingChangedListener l) {
mNoteSettingStatusListener = l;
- }
+ } // 设置便签状态监视器
- public void setAlertDate(long date, boolean set) {
- if (date != mAlertDate) {
- mAlertDate = date;
- mNote.setNoteValue(NoteColumns.ALERTED_DATE, String.valueOf(mAlertDate));
+ public void setAlertDate(long date, boolean set) { // 设置提醒
+ if (date != mAlertDate) { // 判断传入是否相同
+ mAlertDate = date; // 更新
+ mNote.setNoteValue(NoteColumns.ALERTED_DATE, String.valueOf(mAlertDate)); // 更新数据库
}
if (mNoteSettingStatusListener != null) {
- mNoteSettingStatusListener.onClockAlertChanged(date, set);
+ mNoteSettingStatusListener.onClockAlertChanged(date, set); // 调用监听器
}
}
- public void markDeleted(boolean mark) {
+ public void markDeleted(boolean mark) { // 标记删除标志
mIsDeleted = mark;
if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID
&& mWidgetType != Notes.TYPE_WIDGET_INVALIDE && mNoteSettingStatusListener != null) {
- mNoteSettingStatusListener.onWidgetChanged();
+ mNoteSettingStatusListener.onWidgetChanged(); // 已删除则更新组件
}
}
- public void setBgColorId(int id) {
- if (id != mBgColorId) {
- mBgColorId = id;
+ public void setBgColorId(int id) { // 设置背景颜色
+ if (id != mBgColorId) { // 检查
+ mBgColorId = id; // 更新设置
if (mNoteSettingStatusListener != null) {
- mNoteSettingStatusListener.onBackgroundColorChanged();
+ mNoteSettingStatusListener.onBackgroundColorChanged(); // 通知监听器
}
- mNote.setNoteValue(NoteColumns.BG_COLOR_ID, String.valueOf(id));
+ mNote.setNoteValue(NoteColumns.BG_COLOR_ID, String.valueOf(id)); // 更新数据库
}
}
-
- public void setCheckListMode(int mode) {
- if (mMode != mode) {
+ public void setTxtColorId(int id){ // 设置选中文本的颜色
+ if (id != mTxtColorId) {
+ mTxtColorId = id;
+ }
+ }
+ public void setCheckListMode(int mode) { // 设置便签的检查清单模式
+ if (mMode != mode) { // 检查
if (mNoteSettingStatusListener != null) {
- mNoteSettingStatusListener.onCheckListModeChanged(mMode, mode);
+ mNoteSettingStatusListener.onCheckListModeChanged(mMode, mode); // 通知
}
mMode = mode;
- mNote.setTextData(TextNote.MODE, String.valueOf(mMode));
+ mNote.setTextData(TextNote.MODE, String.valueOf(mMode)); // 更新数据库
}
}
- public void setWidgetType(int type) {
+ public void setWidgetType(int type) { // 设置组件类型
if (type != mWidgetType) {
mWidgetType = type;
- mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType));
+ mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType)); // 更新数据库
}
}
- public void setWidgetId(int id) {
+ public void setWidgetId(int id) { // 设置组件id
if (id != mWidgetId) {
mWidgetId = id;
- mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId));
+ mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId)); // 更新数据库
}
}
- public void setWorkingText(String text) {
+ public void setWorkingText(String text) { // 设置文本
if (!TextUtils.equals(mContent, text)) {
mContent = text;
- mNote.setTextData(DataColumns.CONTENT, mContent);
+ mNote.setTextData(DataColumns.CONTENT, mContent); // 更新
}
}
- public void convertToCallNote(String phoneNumber, long callDate) {
+ public void convertToCallNote(String phoneNumber, long callDate) { // 转换为呼叫类型便签
mNote.setCallData(CallNote.CALL_DATE, String.valueOf(callDate));
mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber);
- mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER));
+ mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); // 修改父文件夹id为呼叫记录id
}
public boolean hasClockAlert() {
return (mAlertDate > 0 ? true : false);
- }
+ } // 是否设置提醒数据
public String getContent() {
return mContent;
- }
+ } // 获取内容
public long getAlertDate() {
return mAlertDate;
- }
+ } // 获取提醒时间
public long getModifiedDate() {
return mModifiedDate;
- }
+ } // 获取最后修改时间
public int getBgColorResId() {
return NoteBgResources.getNoteBgResource(mBgColorId);
+ } // 获取背景资源id
+ public int getmTxtColorId() {
+ return mTxtColorId;
}
-
public int getBgColorId() {
return mBgColorId;
- }
-
+ } // 获取背景颜色id
public int getTitleBgResId() {
return NoteBgResources.getNoteTitleBgResource(mBgColorId);
- }
+ } // 获取标题栏背景颜色资源id
public int getCheckListMode() {
return mMode;
- }
+ } // 获取检查清单模式
public long getNoteId() {
return mNoteId;
- }
+ } // 获取便签id
public long getFolderId() {
return mFolderId;
- }
+ } // 获取父文件夹id
public int getWidgetId() {
return mWidgetId;
- }
+ } // 获取组件id
public int getWidgetType() {
return mWidgetType;
- }
+ } // 获取组件类型
- public interface NoteSettingChangedListener {
+ public interface NoteSettingChangedListener { // 接口
/**
* Called when the background color of current note has just changed
*/
- void onBackgroundColorChanged();
+ void onBackgroundColorChanged(); // 便签背景颜色变化时启动
/**
* Called when user set clock
*/
- void onClockAlertChanged(long date, boolean set);
+ void onClockAlertChanged(long date, boolean set); // 设置提醒时间时启动
/**
* Call when user create note from widget
*/
- void onWidgetChanged();
+ void onWidgetChanged(); // 创建组件时启动
/**
* Call when switch between check list mode and normal mode
+ *
* @param oldMode is previous mode before change
* @param newMode is new mode
*/
- void onCheckListModeChanged(int oldMode, int newMode);
+ void onCheckListModeChanged(int oldMode, int newMode); // 清单模式转为笔记模式时启动
}
}
diff --git a/src/tool/BackupUtils.java b/app/src/main/java/net/micode/notes/tool/BackupUtils.java
similarity index 66%
rename from src/tool/BackupUtils.java
rename to app/src/main/java/net/micode/notes/tool/BackupUtils.java
index 39f6ec4..93ae8c8 100644
--- a/src/tool/BackupUtils.java
+++ b/app/src/main/java/net/micode/notes/tool/BackupUtils.java
@@ -33,8 +33,8 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.PrintStream;
-
+import java.io.PrintStream;//////
+//添加包。类。对象等
public class BackupUtils {
private static final String TAG = "BackupUtils";
@@ -42,9 +42,9 @@ public class BackupUtils {
private static BackupUtils sInstance;
public static synchronized BackupUtils getInstance(Context context) {
- if (sInstance == null) {
+ if (sInstance == null) {//如果实例为空则创建新实例
sInstance = new BackupUtils(context);
- }
+ }//返回实例
return sInstance;
}
@@ -72,19 +72,19 @@ public class BackupUtils {
private static boolean externalStorageAvailable() {
return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
}
-
+//将笔记·导出文本,返回导出时的状态码
public int exportToText() {
return mTextExport.exportToText();
}
-
+//获取导出文本文件名
public String getExportedTextFileName() {
return mTextExport.mFileName;
}
-
+//获得到处文本文件目录
public String getExportedTextFileDir() {
return mTextExport.mFileDirectory;
}
-
+//负责将笔记导出为文本
private static class TextExport {
private static final String[] NOTE_PROJECTION = {
NoteColumns.ID,
@@ -93,11 +93,11 @@ public class BackupUtils {
NoteColumns.TYPE
};
- private static final int NOTE_COLUMN_ID = 0;
+ private static final int NOTE_COLUMN_ID = 0;//查询结果中笔记id所在列的索引
- private static final int NOTE_COLUMN_MODIFIED_DATE = 1;
+ private static final int NOTE_COLUMN_MODIFIED_DATE = 1;//查询结果中笔记上次修改时间所在的索引
- private static final int NOTE_COLUMN_SNIPPET = 2;
+ private static final int NOTE_COLUMN_SNIPPET = 2;//查询摘要所在索引
private static final String[] DATA_PROJECTION = {
DataColumns.CONTENT,
@@ -106,7 +106,7 @@ public class BackupUtils {
DataColumns.DATA2,
DataColumns.DATA3,
DataColumns.DATA4,
- };
+ };//定义静态不可变数据列
private static final int DATA_COLUMN_CONTENT = 0;
@@ -114,24 +114,24 @@ public class BackupUtils {
private static final int DATA_COLUMN_CALL_DATE = 2;
- private static final int DATA_COLUMN_PHONE_NUMBER = 4;
+ private static final int DATA_COLUMN_PHONE_NUMBER = 4;//定义以上数据列MIME类,呼叫日期,号码的索引初始值
- private final String [] TEXT_FORMAT;
- private static final int FORMAT_FOLDER_NAME = 0;
+ private final String [] TEXT_FORMAT;//定义带有3个元素字符串数组TEXT_FORMAT
+ private static final int FORMAT_FOLDER_NAME = 0;//格式化后目录名称FORMAT_FOLDER_NAME= 0
private static final int FORMAT_NOTE_DATE = 1;
- private static final int FORMAT_NOTE_CONTENT = 2;
+ private static final int FORMAT_NOTE_CONTENT = 2;//格式化后的笔记内容索引为2
- private Context mContext;
- private String mFileName;
- private String mFileDirectory;
+ private Context mContext;//声名Context类型和字符串类型
+ private String mFileName;//文件名称
+ private String mFileDirectory;//文件目录路径
public TextExport(Context context) {
- TEXT_FORMAT = context.getResources().getStringArray(R.array.format_for_exported_note);
+ TEXT_FORMAT = context.getResources().getStringArray(R.array.format_for_exported_note);//初始化文件名称变量为控字符串
mContext = context;
mFileName = "";
mFileDirectory = "";
- }
-
+ }//初始化文件路径mFileDirectory = ""为空
+//创建TextExport对象
private String getFormat(int id) {
return TEXT_FORMAT[id];
}
@@ -166,39 +166,39 @@ public class BackupUtils {
* Export note identified by id to a print stream
*/
private void exportNoteToText(String noteId, PrintStream ps) {
- Cursor dataCursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI,
+ Cursor dataCursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI,//查询CONTENT_DATA_URI对应的数据表
DATA_PROJECTION, DataColumns.NOTE_ID + "=?", new String[] {
noteId
}, null);
-
- if (dataCursor != null) {
- if (dataCursor.moveToFirst()) {
+//使用DataColumns.NOTE_ID是否为?限制查询条件,并查询noted对应的数据行
+ if (dataCursor != null) {//若查询不为空,则执行以下代码:
+ if (dataCursor.moveToFirst()) {//移动游标为第一条记录并循环记录
do {
- String mimeType = dataCursor.getString(DATA_COLUMN_MIME_TYPE);
+ String mimeType = dataCursor.getString(DATA_COLUMN_MIME_TYPE);//获取MIME_TYPE的值
if (DataConstants.CALL_NOTE.equals(mimeType)) {
// Print phone number
String phoneNumber = dataCursor.getString(DATA_COLUMN_PHONE_NUMBER);
long callDate = dataCursor.getLong(DATA_COLUMN_CALL_DATE);
- String location = dataCursor.getString(DATA_COLUMN_CONTENT);
+ String location = dataCursor.getString(DATA_COLUMN_CONTENT);//从记录中获取phonenumber和calldate的值并输出号码
- if (!TextUtils.isEmpty(phoneNumber)) {
+ if (!TextUtils.isEmpty(phoneNumber)) {//若电话号码不为空
ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT),
- phoneNumber));
+ phoneNumber));//输出电话号码输出到PrintStream实例PS中
}
// Print call date
ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), DateFormat
.format(mContext.getString(R.string.format_datetime_mdhm),
- callDate)));
+ callDate)));//输出通话日期信息到PrintStream中
// Print call attachment location
- if (!TextUtils.isEmpty(location)) {
+ if (!TextUtils.isEmpty(location)) {//若位置信息不为空
ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT),
location));
- }
- } else if (DataConstants.NOTE.equals(mimeType)) {
- String content = dataCursor.getString(DATA_COLUMN_CONTENT);
+ }//输出位置信息到PrintStream实例PS中
+ } else if (DataConstants.NOTE.equals(mimeType)) {//若数据类型为Note,则执行以下语句
+ String content = dataCursor.getString(DATA_COLUMN_CONTENT);//从Cursor中获取信息
if (!TextUtils.isEmpty(content)) {
ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT),
- content));
+ content));//将内容信息格式化输出rintStream实例PS中
}
}
} while (dataCursor.moveToNext());
@@ -210,74 +210,74 @@ public class BackupUtils {
ps.write(new byte[] {
Character.LINE_SEPARATOR, Character.LETTER_NUMBER
});
- } catch (IOException e) {
+ } catch (IOException e) {//若出现IO异常,则廖永Log类的e()方法将异常信息输出日志中
Log.e(TAG, e.toString());
}
}
-
+//使用rintStream实例PS的write()方法写入字节数组到输出流中,包括换行和字母数字
/**
* Note will be exported as text which is user readable
*/
- public int exportToText() {
+ public int exportToText() {//定义exportToText(),返回值类型为整型
if (!externalStorageAvailable()) {
Log.d(TAG, "Media was not mounted");
return STATE_SD_CARD_UNMOUONTED;
}
-
- PrintStream ps = getExportToTextPrintStream();
+//若外部存储不可用,输出日记信息,返回表示Media was not mounted
+ PrintStream ps = getExportToTextPrintStream();//获取打印输出
if (ps == null) {
Log.e(TAG, "get print stream error");
return STATE_SYSTEM_ERROR;
- }
+ }//若获取不到打印输出,输出get print stream error",并返回错误
// First export folder and its notes
- Cursor folderCursor = mContext.getContentResolver().query(
+ Cursor folderCursor = mContext.getContentResolver().query(//声名Cursor类的变量folder,存储调查结果
Notes.CONTENT_NOTE_URI,
- NOTE_PROJECTION,
+ NOTE_PROJECTION,//调用getContentResolver(),查询目标为Note表中数据和NOTE_PROJECTION指定列
"(" + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + " AND "
+ NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + ") OR "
+ NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER, null, null);
-
- if (folderCursor != null) {
+//限定查询条件为文件夹且父类文件夹不是回收站
+ if (folderCursor != null) {//判断folder是否为空
if (folderCursor.moveToFirst()) {
do {
// Print folder's name
- String folderName = "";
+ String folderName = "";//遍历查询文件夹中所有文件夹记录
if(folderCursor.getLong(NOTE_COLUMN_ID) == Notes.ID_CALL_RECORD_FOLDER) {
- folderName = mContext.getString(R.string.call_record_folder_name);
- } else {
+ folderName = mContext.getString(R.string.call_record_folder_name);//若记录对应通话记录文件夹,给folder赋值Notes.ID_CALL_RECORD_FOLDER
+ } else {//否则folder赋值为记录的摘要字段值
folderName = folderCursor.getString(NOTE_COLUMN_SNIPPET);
}
if (!TextUtils.isEmpty(folderName)) {
ps.println(String.format(getFormat(FORMAT_FOLDER_NAME), folderName));
}
- String folderId = folderCursor.getString(NOTE_COLUMN_ID);
+ String folderId = folderCursor.getString(NOTE_COLUMN_ID);//获取当前记录对应文件夹id并赋值给folder
exportFolderToText(folderId, ps);
- } while (folderCursor.moveToNext());
+ } while (folderCursor.moveToNext());//将当前记录文件夹导出为文本形式,结果写入PS中
}
folderCursor.close();
}
// Export notes in root's folder
- Cursor noteCursor = mContext.getContentResolver().query(
- Notes.CONTENT_NOTE_URI,
- NOTE_PROJECTION,
+ Cursor noteCursor = mContext.getContentResolver().query(//通过getContentResolver()获取resolver对象,并调用querty方法查询
+ Notes.CONTENT_NOTE_URI,//查询URI
+ NOTE_PROJECTION,//查询列
NoteColumns.TYPE + "=" + +Notes.TYPE_NOTE + " AND " + NoteColumns.PARENT_ID
- + "=0", null, null);
+ + "=0", null, null);//限制查询类型为Notes.TYPE_NOTE,且父id为0的note记录
if (noteCursor != null) {
- if (noteCursor.moveToFirst()) {
+ if (noteCursor.moveToFirst()) {//将游标移到查询结果的第一条记录
do {
ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format(
mContext.getString(R.string.format_datetime_mdhm),
- noteCursor.getLong(NOTE_COLUMN_MODIFIED_DATE))));
+ noteCursor.getLong(NOTE_COLUMN_MODIFIED_DATE))));//根据时间格式化字符串的时间戳,将时间转换成字符串格式
// Query data belong to this note
String noteId = noteCursor.getString(NOTE_COLUMN_ID);
exportNoteToText(noteId, ps);
} while (noteCursor.moveToNext());
- }
+ }//或i去当前Note记录的id,吧id对应数据写入输出流中
noteCursor.close();
}
- ps.close();
+ ps.close();//关闭游标
return STATE_SUCCESS;
}
@@ -286,21 +286,21 @@ public class BackupUtils {
* Get a print stream pointed to the file {@generateExportedTextFile}
*/
private PrintStream getExportToTextPrintStream() {
- File file = generateFileMountedOnSDcard(mContext, R.string.file_path,
+ File file = generateFileMountedOnSDcard(mContext, R.string.file_path,//使用getExportToTextPrintStream()再sd卡上生成指定名称和路径的文本文件
R.string.file_name_txt_format);
if (file == null) {
Log.e(TAG, "create file to exported failed");
- return null;
+ return null;//若生成文件失败,返回null,再logcat输出错误信息
}
mFileName = file.getName();
- mFileDirectory = mContext.getString(R.string.file_path);
+ mFileDirectory = mContext.getString(R.string.file_path);//将成功创建文件保存为FoleNAMe,路径柏村委mFileDiectory
PrintStream ps = null;
try {
FileOutputStream fos = new FileOutputStream(file);
- ps = new PrintStream(fos);
- } catch (FileNotFoundException e) {
+ ps = new PrintStream(fos);//创建对象fos,用于写入文件
+ } catch (FileNotFoundException e) {//使用fos创建PrintStream对象PS,一边向文件夹写入数据
e.printStackTrace();
- return null;
+ return null;//若无法找到写入目标文件,再logcat输出错误信息,并返回null
} catch (NullPointerException e) {
e.printStackTrace();
return null;
@@ -314,28 +314,28 @@ public class BackupUtils {
*/
private static File generateFileMountedOnSDcard(Context context, int filePathResId, int fileNameFormatResId) {
StringBuilder sb = new StringBuilder();
- sb.append(Environment.getExternalStorageDirectory());
+ sb.append(Environment.getExternalStorageDirectory());//再strtingbuilder中添加SD卡根目录路径
sb.append(context.getString(filePathResId));
- File filedir = new File(sb.toString());
+ File filedir = new File(sb.toString());//添加文件路径字符串资源id,并返回file对象表示该目录
sb.append(context.getString(
fileNameFormatResId,
DateFormat.format(context.getString(R.string.format_date_ymd),
- System.currentTimeMillis())));
+ System.currentTimeMillis())));//再StringBuilder添加文件名格式字符串资源id,并使用dateFormat替换为当前日期格式化字符串
File file = new File(sb.toString());
-
+//返回表示最终创建的文件夹对象
try {
if (!filedir.exists()) {
filedir.mkdir();
- }
+ }//判断指定目录是否存在,若不存在创建
if (!file.exists()) {
file.createNewFile();
- }
- return file;
+ }//判断指定目录是否存在,若不存在创建
+ return file;//返回创建对象
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
- }
+ }//如果不能在指定目录下创建新的文件,则抛出IOException异常
return null;
}
diff --git a/src/tool/DataUtils.java b/app/src/main/java/net/micode/notes/tool/DataUtils.java
similarity index 74%
rename from src/tool/DataUtils.java
rename to app/src/main/java/net/micode/notes/tool/DataUtils.java
index 2a14982..665e0a2 100644
--- a/src/tool/DataUtils.java
+++ b/app/src/main/java/net/micode/notes/tool/DataUtils.java
@@ -25,18 +25,18 @@ import android.content.OperationApplicationException;
import android.database.Cursor;
import android.os.RemoteException;
import android.util.Log;
-
+//导入android 包content、database等
import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.CallNote;
import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute;
-
+//导入net-micode包下数据
import java.util.ArrayList;
import java.util.HashSet;
+//导入JAVA ArrayList和HashSet类
-
-public class DataUtils {
- public static final String TAG = "DataUtils";
+public class DataUtils {//对DataUtils类进行定义
+ public static final String TAG = "DataUtils";//定义静态不可变字TAG符串常量"DataUtils"
public static boolean batchDeleteNotes(ContentResolver resolver, HashSet ids) {
if (ids == null) {
Log.d(TAG, "the ids is null");
@@ -46,69 +46,71 @@ public class DataUtils {
Log.d(TAG, "no id is in the hashset");
return true;
}
-
+ //定义批量删除笔记。若ids参数为null,输出"the ids is null"并返回true;若ids参数为0,输出"no id is in the hashset"并返回true
ArrayList operationList = new ArrayList();
- for (long id : ids) {
+ //定义操作列表,存储ContentProviderOperation对象
+ for (long id : ids) {//遍历id列表
if(id == Notes.ID_ROOT_FOLDER) {
Log.e(TAG, "Don't delete system folder root");
continue;
- }
+ }//如果id为系统根目录,打印"不要删除系统根目录"并进行下一次循环
ContentProviderOperation.Builder builder = ContentProviderOperation
.newDelete(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id));
- operationList.add(builder.build());
+ operationList.add(builder.build());//创造builder对象,删除指定id的ContentProviderOperation
}
- try {
+ try {//调用applybatch
ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList);
if (results == null || results.length == 0 || results[0] == null) {
Log.d(TAG, "delete notes failed, ids:" + ids.toString());
return false;
}
- return true;
+ return true;//若返回为空或第一个结果为null,输出删除失败返回false,否则返回true
} catch (RemoteException e) {
Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage()));
} catch (OperationApplicationException e) {
Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage()));
- }
+ }//若remoteexeption或operationapplicationexception异常,返回false
return false;
}
public static void moveNoteToFoler(ContentResolver resolver, long id, long srcFolderId, long desFolderId) {
- ContentValues values = new ContentValues();
- values.put(NoteColumns.PARENT_ID, desFolderId);
- values.put(NoteColumns.ORIGIN_PARENT_ID, srcFolderId);
+ ContentValues values = new ContentValues();//创建contentValues对象
+ values.put(NoteColumns.PARENT_ID, desFolderId);//移动笔记至目标文件夹
+ values.put(NoteColumns.ORIGIN_PARENT_ID, srcFolderId);//更新笔记的原始父类文件夹id
values.put(NoteColumns.LOCAL_MODIFIED, 1);
resolver.update(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id), values, null, null);
+ //更新笔记
}
public static boolean batchMoveToFolder(ContentResolver resolver, HashSet ids,
- long folderId) {
+ long folderId) {//若ids为空,打印log并返回true
if (ids == null) {
Log.d(TAG, "the ids is null");
return true;
}
ArrayList operationList = new ArrayList();
- for (long id : ids) {
+ for (long id : ids) {//遍历笔记id集合
ContentProviderOperation.Builder builder = ContentProviderOperation
.newUpdate(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id));
- builder.withValue(NoteColumns.PARENT_ID, folderId);
- builder.withValue(NoteColumns.LOCAL_MODIFIED, 1);
- operationList.add(builder.build());
+ builder.withValue(NoteColumns.PARENT_ID, folderId);//移动笔记至目标文件夹
+ builder.withValue(NoteColumns.LOCAL_MODIFIED, 1);//添加键值对,表示本地有效
+ operationList.add(builder.build());//添加操作至操作列表
}
try {
- ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList);
- if (results == null || results.length == 0 || results[0] == null) {
+ ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList);//应用操作列表
+ if (results == null || results.length == 0 || results[0] == null) {//如果结果为空或者第一个结果为空,打印log并返回false
Log.d(TAG, "delete notes failed, ids:" + ids.toString());
return false;
}
- return true;
- } catch (RemoteException e) {
+ return true;//true表示操作成功
+ } catch (RemoteException e) {//捕获远程异常
Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage()));
- } catch (OperationApplicationException e) {
+ } catch (OperationApplicationException e) {//捕获操作异常
Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage()));
}
- return false;
+ return false;//false表示操作失败
}
/**
@@ -134,7 +136,7 @@ public class DataUtils {
}
}
return count;
- }
+ }//检查笔记是否在数据库中可见,若不可见输出"get folder count failed:"
public static boolean visibleInNoteDatabase(ContentResolver resolver, long noteId, int type) {
Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId),
@@ -152,7 +154,7 @@ public class DataUtils {
}
return exist;
}
-
+//检查数据是否在数据库中存在
public static boolean existInNoteDatabase(ContentResolver resolver, long noteId) {
Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId),
null, null, null, null);
@@ -166,7 +168,7 @@ public class DataUtils {
}
return exist;
}
-
+//检查文件名称是否可见
public static boolean existInDataDatabase(ContentResolver resolver, long dataId) {
Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId),
null, null, null, null);
@@ -198,6 +200,7 @@ public class DataUtils {
}
public static HashSet getFolderNoteWidget(ContentResolver resolver, long folderId) {
+ //查询文件夹中所有小部件id和类型
Cursor c = resolver.query(Notes.CONTENT_NOTE_URI,
new String[] { NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE },
NoteColumns.PARENT_ID + "=?",
@@ -208,6 +211,7 @@ public class DataUtils {
if (c != null) {
if (c.moveToFirst()) {
set = new HashSet();
+ //遍历查询结果,将小部件id和类型存入hashSET中
do {
try {
AppWidgetAttribute widget = new AppWidgetAttribute();
@@ -220,11 +224,11 @@ public class DataUtils {
} while (c.moveToNext());
}
c.close();
- }
+ }//返回文件夹中所有小部件HashSet集合
return set;
}
- public static String getCallNumberByNoteId(ContentResolver resolver, long noteId) {
+ public static String getCallNumberByNoteId(ContentResolver resolver, long noteId) {//获取一段笔记的getCallNumberByNoteId
Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI,
new String [] { CallNote.PHONE_NUMBER },
CallNote.NOTE_ID + "=? AND " + CallNote.MIME_TYPE + "=?",
@@ -234,20 +238,21 @@ public class DataUtils {
if (cursor != null && cursor.moveToFirst()) {
try {
return cursor.getString(0);
- } catch (IndexOutOfBoundsException e) {
- Log.e(TAG, "Get call number fails " + e.toString());
+ } catch (IndexOutOfBoundsException e) {//如果查询结果不为空且有数据,则返回该行的电话号码
+ Log.e(TAG, "Get call number fails " + e.toString());//如果获取电话号码失败,则打印错误日志
} finally {
cursor.close();
- }
+ } //关闭游标,释放资源
}
- return "";
+ return "";//如果没有查询结果,则返回空串
}
public static long getNoteIdByPhoneNumberAndCallDate(ContentResolver resolver, String phoneNumber, long callDate) {
- Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI,
- new String [] { CallNote.NOTE_ID },
+ //使用ContentResover对象来查询数据,并返回Cursor对象
+ Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI,//查询Note id字段
+ new String [] { CallNote.NOTE_ID },//通过童话日期,电话号码扽给查询
CallNote.CALL_DATE + "=? AND " + CallNote.MIME_TYPE + "=? AND PHONE_NUMBERS_EQUAL("
- + CallNote.PHONE_NUMBER + ",?)",
+ + CallNote.PHONE_NUMBER + ",?)",//传入查询参数
new String [] { String.valueOf(callDate), CallNote.CONTENT_ITEM_TYPE, phoneNumber },
null);
@@ -264,8 +269,8 @@ public class DataUtils {
return 0;
}
- public static String getSnippetById(ContentResolver resolver, long noteId) {
- Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI,
+ public static String getSnippetById(ContentResolver resolver, long noteId) {//使用ContentResovler对象查询数据,返回Cursor对象
+ Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI,//查询snippet字段
new String [] { NoteColumns.SNIPPET },
NoteColumns.ID + "=?",
new String [] { String.valueOf(noteId)},
@@ -273,14 +278,14 @@ public class DataUtils {
if (cursor != null) {
String snippet = "";
- if (cursor.moveToFirst()) {
+ if (cursor.moveToFirst()) {//获取查询结果中第0列的值,即snippet字段值
snippet = cursor.getString(0);
}
cursor.close();
return snippet;
}
throw new IllegalArgumentException("Note is not found with id: " + noteId);
- }
+ }//通过noteld获取信息,返回字符串
public static String getFormattedSnippet(String snippet) {
if (snippet != null) {
diff --git a/app/src/main/java/net/micode/notes/tool/FontColorParser.java b/app/src/main/java/net/micode/notes/tool/FontColorParser.java
new file mode 100644
index 0000000..9954a99
--- /dev/null
+++ b/app/src/main/java/net/micode/notes/tool/FontColorParser.java
@@ -0,0 +1,41 @@
+package net.micode.notes.tool;
+
+import android.content.Context;
+import android.preference.PreferenceManager;
+
+import net.micode.notes.R;
+import net.micode.notes.ui.NotesPreferenceActivity;
+
+//字体颜色列举
+public class FontColorParser {
+ public static final int Default = 0;
+ public static final int Bright_blue = 1;
+ public static final int red = 2;
+ public static final int green =3;
+ public static final int Font_color_default = Default;
+
+ public static class TextAppearanceResources {
+ private final static int[] TEXTAPPEARANCE_RESOURCES = new int[]{
+ R.style.TextColorDefault,
+ R.style.TextColorBrightBlue,
+ R.style.TextColorRed,
+ R.style.TextColorGreen
+
+ };
+ //返回默认字体颜色id
+ public static int getTexAppearanceResource(int id) {
+ if (id >= TEXTAPPEARANCE_RESOURCES.length) {
+ return Font_color_default;
+ }
+ return TEXTAPPEARANCE_RESOURCES[id];
+ }
+ //获取所需id
+ public static int getResourceSize()
+ {
+ return TEXTAPPEARANCE_RESOURCES.length;
+ }
+ }
+ public static int getDefaultTxtId(Context context) {
+ return Font_color_default;
+ }
+}
diff --git a/app/src/main/java/net/micode/notes/tool/GTaskStringUtils.java b/app/src/main/java/net/micode/notes/tool/GTaskStringUtils.java
new file mode 100644
index 0000000..d5dabb0
--- /dev/null
+++ b/app/src/main/java/net/micode/notes/tool/GTaskStringUtils.java
@@ -0,0 +1,113 @@
+/*
+ * 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.tool;
+
+public class GTaskStringUtils {
+
+ public final static String GTASK_JSON_ACTION_ID = "action_id";//定义字符串常量,在类的外部直接访问,表示"action_id"的字符串键名
+
+ public final static String GTASK_JSON_ACTION_LIST = "action_list";//定义字符串常量,在类的外部直接访问,表示"action_list的字符串键名
+
+ public final static String GTASK_JSON_ACTION_TYPE = "action_type";//定义字符串常量,在类的外部直接访问,表示action_type的字符串键名
+
+ public final static String GTASK_JSON_ACTION_TYPE_CREATE = "create";//定义字符串常量,在类的外部直接访问,表示create的字符串键名
+
+ public final static String GTASK_JSON_ACTION_TYPE_GETALL = "get_all";//定义字符串常量,在类的外部直接访问,表示get_all的字符串键名
+
+ public final static String GTASK_JSON_ACTION_TYPE_MOVE = "move";//定义字符串常量,在类的外部直接访问,表示"move的字符串键名
+
+ public final static String GTASK_JSON_ACTION_TYPE_UPDATE = "update";//定义字符串常量,在类的外部直接访问,表示update的字符串键名
+
+ public final static String GTASK_JSON_CREATOR_ID = "creator_id";//定义字符串常量,在类的外部直接访问,表示creator_id的字符串键名
+
+ public final static String GTASK_JSON_CHILD_ENTITY = "child_entity";//定义字符串常量,在类的外部直接访问,表示child_entity的字符串键名
+
+ public final static String GTASK_JSON_CLIENT_VERSION = "client_version";//定义字符串常量,在类的外部直接访问,表示client_version的字符串键名
+
+ public final static String GTASK_JSON_COMPLETED = "completed";//定义字符串常量,在类的外部直接访问,表示completed的字符串键名
+
+ public final static String GTASK_JSON_CURRENT_LIST_ID = "current_list_id";
+ //定义字符串常量,在类的外部直接访问,表示current_list_id的字符串键名
+ public final static String GTASK_JSON_DEFAULT_LIST_ID = "default_list_id";//定义字符串常量,在类的外部直接访问,表示default_list_id的字符串键名
+
+ public final static String GTASK_JSON_DELETED = "deleted";//定义字符串常量,在类的外部直接访问,表示deleted的字符串键名
+
+ public final static String GTASK_JSON_DEST_LIST = "dest_list";//定义字符串常量,在类的外部直接访问,表示dest_list的字符串键名
+
+ public final static String GTASK_JSON_DEST_PARENT = "dest_parent";//定义字符串常量,在类的外部直接访问,表示dest_parent的字符串键名
+
+ public final static String GTASK_JSON_DEST_PARENT_TYPE = "dest_parent_type";//定义字符串常量,在类的外部直接访问,表示dest_parent_type的字符串键名
+
+ public final static String GTASK_JSON_ENTITY_DELTA = "entity_delta";//定义字符串常量,在类的外部直接访问,表示entity_delta的字符串键名
+
+ public final static String GTASK_JSON_ENTITY_TYPE = "entity_type";//定义字符串常量,在类的外部直接访问,表示entity_type的字符串键名
+
+ public final static String GTASK_JSON_GET_DELETED = "get_deleted";
+ //定义字符串常量,在类的外部直接访问,表示get_deleted的字符串键名
+ public final static String GTASK_JSON_ID = "id";//定义字符串常量,在类的外部直接访问,表示id的字符串键名
+
+ public final static String GTASK_JSON_INDEX = "index";//定义字符串常量,在类的外部直接访问,表示index的字符串键名
+
+ public final static String GTASK_JSON_LAST_MODIFIED = "last_modified";//定义字符串常量,在类的外部直接访问,表示last_modified的字符串键名
+
+ public final static String GTASK_JSON_LATEST_SYNC_POINT = "latest_sync_point";//定义字符串常量,在类的外部直接访问,表示latest_sync_point的字符串键名
+
+ public final static String GTASK_JSON_LIST_ID = "list_id";//定义字符串常量,在类的外部直接访问,表示list_id的字符串键名
+
+ public final static String GTASK_JSON_LISTS = "lists";//定义字符串常量,在类的外部直接访问,表示lists的字符串键名
+
+ public final static String GTASK_JSON_NAME = "name";//定义字符串常量,在类的外部直接访问,表示name的字符串键名
+
+ public final static String GTASK_JSON_NEW_ID = "new_id";
+ //定义字符串常量,在类的外部直接访问,表示new_id的字符串键名
+ public final static String GTASK_JSON_NOTES = "notes";//定义字符串常量,在类的外部直接访问,表示notes的字符串键名
+
+ public final static String GTASK_JSON_PARENT_ID = "parent_id";//定义字符串常量,在类的外部直接访问,表示parent_id的字符串键名
+
+ public final static String GTASK_JSON_PRIOR_SIBLING_ID = "prior_sibling_id";//定义字符串常量,在类的外部直接访问,表示prior_sibling_id的字符串键名
+
+ public final static String GTASK_JSON_RESULTS = "results";//定义字符串常量,在类的外部直接访问,表示results的字符串键名
+
+ public final static String GTASK_JSON_SOURCE_LIST = "source_list";
+
+ public final static String GTASK_JSON_TASKS = "tasks";//定义字符串常量,在类的外部直接访问,表示tasks的字符串键名
+
+ public final static String GTASK_JSON_TYPE = "type";//定义字符串常量,在类的外部直接访问,表示type的字符串键名
+
+ public final static String GTASK_JSON_TYPE_GROUP = "GROUP";//定义字符串常量,在类的外部直接访问,表示GROUP的字符串键名
+
+ public final static String GTASK_JSON_TYPE_TASK = "TASK";//定义字符串常量,在类的外部直接访问,表示TASK的字符串键名
+
+ public final static String GTASK_JSON_USER = "user";//定义字符串常量,在类的外部直接访问,表示user的字符串键名
+
+ public final static String MIUI_FOLDER_PREFFIX = "[MIUI_Notes]";//定义字符串常量,在类的外部直接访问,表示MIUI_Notes的字符串键名
+
+ public final static String FOLDER_DEFAULT = "Default";//定义字符串常量,在类的外部直接访问,表示Default的字符串键名
+
+ public final static String FOLDER_CALL_NOTE = "Call_Note";//定义字符串常量,在类的外部直接访问,表示Call_Note的字符串键名
+
+ public final static String FOLDER_META = "METADATA";//定义字符串常量,在类的外部直接访问,表示METADATA的字符串键名
+
+ public final static String META_HEAD_GTASK_ID = "meta_gid";//定义字符串常量,在类的外部直接访问,表示meta_gid的字符串键名
+
+ public final static String META_HEAD_NOTE = "meta_note";//定义字符串常量,在类的外部直接访问,表示meta_note的字符串键名
+
+ public final static String META_HEAD_DATA = "meta_data";//定义字符串常量,在类的外部直接访问,表示meta_data的字符串键名
+
+ public final static String META_NOTE_NAME = "[META INFO] DON'T UPDATE AND DELETE";//定义字符串常量,在类的外部直接访问,表示[META INFO] DON'T UPDATE AND DELETE的字符串键名
+
+}
diff --git a/src/tool/ResourceParser.java b/app/src/main/java/net/micode/notes/tool/ResourceParser.java
similarity index 60%
rename from src/tool/ResourceParser.java
rename to app/src/main/java/net/micode/notes/tool/ResourceParser.java
index 1ad3ad6..86fab8f 100644
--- a/src/tool/ResourceParser.java
+++ b/app/src/main/java/net/micode/notes/tool/ResourceParser.java
@@ -22,22 +22,22 @@ import android.preference.PreferenceManager;
import net.micode.notes.R;
import net.micode.notes.ui.NotesPreferenceActivity;
-public class ResourceParser {
-
- public static final int YELLOW = 0;
- public static final int BLUE = 1;
- public static final int WHITE = 2;
+public class ResourceParser {
+//定义常量,用于表示颜色和字体大小
+ public static final int YELLOW = 0;//黄色
+ public static final int BLUE = 1;//蓝
+ public static final int WHITE = 2;//bai
public static final int GREEN = 3;
public static final int RED = 4;
- public static final int BG_DEFAULT_COLOR = YELLOW;
+ public static final int BG_DEFAULT_COLOR = YELLOW;//默认背景颜色为黄色
- public static final int TEXT_SMALL = 0;
- public static final int TEXT_MEDIUM = 1;
- public static final int TEXT_LARGE = 2;
- public static final int TEXT_SUPER = 3;
+ public static final int TEXT_SMALL = 0;//字体小号
+ public static final int TEXT_MEDIUM = 1;//中
+ public static final int TEXT_LARGE = 2;//da
+ public static final int TEXT_SUPER = 3;//chaoda
- public static final int BG_DEFAULT_FONT_SIZE = TEXT_MEDIUM;
+ public static final int BG_DEFAULT_FONT_SIZE = TEXT_MEDIUM;//默认大小为中
public static class NoteBgResources {
private final static int [] BG_EDIT_RESOURCES = new int [] {
@@ -46,7 +46,7 @@ public class ResourceParser {
R.drawable.edit_white,
R.drawable.edit_green,
R.drawable.edit_red
- };
+ };//定义私有静态常量G_EDIT_RESOURCES ,用于储存图片资源id
private final static int [] BG_EDIT_TITLE_RESOURCES = new int [] {
R.drawable.edit_title_yellow,
@@ -54,7 +54,7 @@ public class ResourceParser {
R.drawable.edit_title_white,
R.drawable.edit_title_green,
R.drawable.edit_title_red
- };
+ };//定义另一个私有静态常量,用于储存笔记编辑页面标题背景资源id
public static int getNoteBgResource(int id) {
return BG_EDIT_RESOURCES[id];
@@ -63,40 +63,40 @@ public class ResourceParser {
public static int getNoteTitleBgResource(int id) {
return BG_EDIT_TITLE_RESOURCES[id];
}
- }
+ }//初始化编辑页面标题背景资源id
- public static int getDefaultBgId(Context context) {
+ public static int getDefaultBgId(Context context) {//获取应用配置信息,判断用户是否自定义背景颜色
if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(
NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) {
return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length);
} else {
- return BG_DEFAULT_COLOR;
+ return BG_DEFAULT_COLOR;//若没有定义,返回默认颜色白色
}
}
public static class NoteItemBgResources {
- private final static int [] BG_FIRST_RESOURCES = new int [] {
- R.drawable.list_yellow_up,
- R.drawable.list_blue_up,
- R.drawable.list_white_up,
- R.drawable.list_green_up,
- R.drawable.list_red_up
+ private final static int [] BG_FIRST_RESOURCES = new int [] {//定义final整型数组 BG_FIRST_RESOURCES
+ R.drawable.list_yellow_up,//黄色背景上边框图案id
+ R.drawable.list_blue_up,//蓝色背景上边框图案id
+ R.drawable.list_white_up,//白色背景边框图案id
+ R.drawable.list_green_up,//绿色背景边框图案id
+ R.drawable.list_red_up//红色背景边框图案id
};
private final static int [] BG_NORMAL_RESOURCES = new int [] {
- R.drawable.list_yellow_middle,
- R.drawable.list_blue_middle,
- R.drawable.list_white_middle,
- R.drawable.list_green_middle,
- R.drawable.list_red_middle
+ R.drawable.list_yellow_middle,//黄色背景中间边框图案id
+ R.drawable.list_blue_middle,//蓝色背景中间边框图案id
+ R.drawable.list_white_middle,//白色背景中间边框图案id
+ R.drawable.list_green_middle,//绿色背景中间边框图案id
+ R.drawable.list_red_middle//红色背景中间边框图案id
};
private final static int [] BG_LAST_RESOURCES = new int [] {
- R.drawable.list_yellow_down,
- R.drawable.list_blue_down,
- R.drawable.list_white_down,
- R.drawable.list_green_down,
- R.drawable.list_red_down,
+ R.drawable.list_yellow_down,//黄色背景中下间边框图案id
+ R.drawable.list_blue_down,//蓝色背景中下间边框图案id
+ R.drawable.list_white_down,//白色背景中下间边框图案id
+ R.drawable.list_green_down,//绿色背景中下间边框图案id
+ R.drawable.list_red_down,//红色背景中下间边框图案id
};
private final static int [] BG_SINGLE_RESOURCES = new int [] {
@@ -110,33 +110,30 @@ public class ResourceParser {
public static int getNoteBgFirstRes(int id) {
return BG_FIRST_RESOURCES[id];
}
-
+//定义getNoteBgFirstRes方法,用于返回G_FIRST_RESOURCES[id]
public static int getNoteBgLastRes(int id) {
return BG_LAST_RESOURCES[id];
}
-
+//定义getNoteBgLastRes方法,用于返回 BG_LAST_RESOURCES[id]
public static int getNoteBgSingleRes(int id) {
return BG_SINGLE_RESOURCES[id];
}
-
+ //定义getNoteBgSingleRes方法,用于返回BG_SINGLE_RESOURCES[id]
public static int getNoteBgNormalRes(int id) {
return BG_NORMAL_RESOURCES[id];
}
-
- public static int getFolderBgRes() {
- return R.drawable.list_folder;
- }
+ //定义etNoteBgNormalRes方法,用于返回BG_NORMAL_RESOURCES[id]
+ public static int getFolderBgRes() {return R.drawable.list_folder;}//定义getFolderBgRes方法,用于返回 R.drawable.list_folder
}
- public static class WidgetBgResources {
+ public static class WidgetBgResources {//定义静态内部类WidgetBgResources
private final static int [] BG_2X_RESOURCES = new int [] {
R.drawable.widget_2x_yellow,
R.drawable.widget_2x_blue,
R.drawable.widget_2x_white,
R.drawable.widget_2x_green,
R.drawable.widget_2x_red,
- };
-
+ };// 管理小部件2x2格式不同颜色资源图片
public static int getWidget2xBgResource(int id) {
return BG_2X_RESOURCES[id];
}
@@ -147,20 +144,20 @@ public class ResourceParser {
R.drawable.widget_4x_white,
R.drawable.widget_4x_green,
R.drawable.widget_4x_red
- };
+ };// 管理小部件4x4格式不同颜色资源图片
public static int getWidget4xBgResource(int id) {
return BG_4X_RESOURCES[id];
}
}
- public static class TextAppearanceResources {
+ public static class TextAppearanceResources {//定义TextAppearanceResources 静态内部类
private final static int [] TEXTAPPEARANCE_RESOURCES = new int [] {
R.style.TextAppearanceNormal,
R.style.TextAppearanceMedium,
R.style.TextAppearanceLarge,
R.style.TextAppearanceSuper
- };
+ };//分别对应中等,大号,超大的文本外观样式
public static int getTexAppearanceResource(int id) {
/**
diff --git a/src/ui/AlarmAlertActivity.java b/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
similarity index 65%
rename from src/ui/AlarmAlertActivity.java
rename to app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
index 85723be..75de484 100644
--- a/src/ui/AlarmAlertActivity.java
+++ b/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
@@ -41,30 +41,42 @@ import java.io.IOException;
public class AlarmAlertActivity extends Activity implements OnClickListener, OnDismissListener {
- private long mNoteId;
- private String mSnippet;
- private static final int SNIPPET_PREW_MAX_LEN = 60;
+ private long mNoteId; //用于存储笔记Id
+ private String mSnippet; //用于存储笔记内容摘要
+ private static final int SNIPPET_PREW_MAX_LEN = 60;//限制笔记长度
MediaPlayer mPlayer;
+
+ //onCreate() 函数在 Activity 初始化时调用,用于初始化
+ //savedInstanceState 该参数用于恢复 Activity 状态。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ //界面显示:无标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
+ //获取 Window 对象,添加 FLAG_SHOW_WHEN_LOCKED 标记
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
+ 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 intent = getIntent();
+ //从Intent对象中获取笔记的 Id 和内容
try {
mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1));
+
+ //根据便签Id从数据库中获取便签内容
+ //getContentResolver() 实现数据共享,实例存储
mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId);
mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0,
SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info)
@@ -74,6 +86,7 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD
return;
}
+ //创建 MediaPlayer 对象,根据笔记是否存在数据库中来展示操作对话框或者直接退出
mPlayer = new MediaPlayer();
if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) {
showActionDialog();
@@ -83,29 +96,38 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD
}
}
+ //用于判断屏幕是否被唤醒(亮着)
private boolean isScreenOn() {
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
return pm.isScreenOn();
}
+ //用于实现报警铃声的播放
private void playAlarmSound() {
+ //获取系统默认的铃声
Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM);
+ //获取静音模式下允许响铃的类型
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);
- mPlayer.prepare();
- mPlayer.setLooping(true);
- mPlayer.start();
+ mPlayer.setDataSource(this, url); //设置报警铃声
+ mPlayer.prepare(); //准备同步
+ mPlayer.setLooping(true); //设置循环播放
+ mPlayer.start(); //开始播放
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
+
+ //以下的 e.printStackTrace() 函数功能是抛出异常,还将显示出更深的调用信息
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
@@ -119,32 +141,52 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD
}
}
+
+ //创建一个对话框,标题为app的名字,内容为mSnippet,确定按钮为notealert_ok,
+ // 当屏幕开启时,取消按钮为notealert_enter,点击弹出框外部可以隐藏弹出框
private void showActionDialog() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
+ //为对话框设置标题
dialog.setTitle(R.string.app_name);
+ //为对话框设置内容
dialog.setMessage(mSnippet);
+ //给对话框添加“OK”按钮
dialog.setPositiveButton(R.string.notealert_ok, this);
+
if (isScreenOn()) {
+ //给对话框添加“CANCEL”按钮
dialog.setNegativeButton(R.string.notealert_enter, this);
}
+ //给对话框设置监听器
dialog.show().setOnDismissListener(this);
}
+ //当对话框界面内某个按钮被点击时调用以下方法
+ // 接收 对话框界面 和 点击的按钮位置which 为参数
public void onClick(DialogInterface dialog, int which) {
+ //switch语句,根据按钮位置的不同,执行不同的操作
switch (which) {
+ //当点击点击的是返回按键
case DialogInterface.BUTTON_NEGATIVE:
+ //将编辑的便签内容传输到特定类中
Intent intent = new Intent(this, NoteEditActivity.class);
+ //设置操作属性
intent.setAction(Intent.ACTION_VIEW);
+ //创建一个特定的Note Id传输给便签
intent.putExtra(Intent.EXTRA_UID, mNoteId);
+ //开始操作
startActivity(intent);
break;
+ //如果是其他按钮被点击则不执行任何操作
default:
break;
}
}
public void onDismiss(DialogInterface dialog) {
+ //终止报警声音
stopAlarmSound();
+ //完成动作
finish();
}
@@ -152,6 +194,7 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD
if (mPlayer != null) {
mPlayer.stop();
mPlayer.release();
+ //释放 MediaPlayer(媒体播放器)对象
mPlayer = null;
}
}
diff --git a/src/ui/AlarmInitReceiver.java b/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
similarity index 86%
rename from src/ui/AlarmInitReceiver.java
rename to app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
index f221202..edd2b85 100644
--- a/src/ui/AlarmInitReceiver.java
+++ b/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
@@ -28,8 +28,10 @@ import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.NoteColumns;
+//定时向用户推送闹钟提醒
public class AlarmInitReceiver extends BroadcastReceiver {
+ //对数据库的操作,调用笔记Id和时钟时间
private static final String [] PROJECTION = new String [] {
NoteColumns.ID,
NoteColumns.ALERTED_DATE
@@ -38,16 +40,23 @@ public class AlarmInitReceiver extends BroadcastReceiver {
private static final int COLUMN_ID = 0;
private static final int COLUMN_ALERTED_DATE = 1;
+ //重写 BroadcastReceiver 的 onReceive 方法
@Override
public void onReceive(Context context, Intent intent) {
+
+ //获取当前系统时间
long currentDate = System.currentTimeMillis();
+
+ //查询数据库,找出大于当前系统时间、类型相等的笔记的记录
Cursor c = context.getContentResolver().query(Notes.CONTENT_NOTE_URI,
PROJECTION,
NoteColumns.ALERTED_DATE + ">? AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE,
new String[] { String.valueOf(currentDate) },
null);
+ //当查询结果不为空时
if (c != null) {
+ // 如果有符合要求的记录,就遍历每一条记录
if (c.moveToFirst()) {
do {
long alertDate = c.getLong(COLUMN_ALERTED_DATE);
diff --git a/src/ui/AlarmReceiver.java b/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java
similarity index 92%
rename from src/ui/AlarmReceiver.java
rename to app/src/main/java/net/micode/notes/ui/AlarmReceiver.java
index 54e503b..1b4d096 100644
--- a/src/ui/AlarmReceiver.java
+++ b/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java
@@ -24,6 +24,8 @@ public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
intent.setClass(context, AlarmAlertActivity.class);
+
+ //为intent对象添加一个标志,表示它将启动一个新的任务栈
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
diff --git a/src/ui/DateTimePicker.java b/app/src/main/java/net/micode/notes/ui/DateTimePicker.java
similarity index 85%
rename from src/ui/DateTimePicker.java
rename to app/src/main/java/net/micode/notes/ui/DateTimePicker.java
index 496b0cd..ab88e69 100644
--- a/src/ui/DateTimePicker.java
+++ b/app/src/main/java/net/micode/notes/ui/DateTimePicker.java
@@ -30,6 +30,7 @@ import android.widget.NumberPicker;
public class DateTimePicker extends FrameLayout {
+ //初始化控件
private static final boolean DEFAULT_ENABLE_STATE = true;
private static final int HOURS_IN_HALF_DAY = 12;
@@ -46,11 +47,12 @@ public class DateTimePicker extends FrameLayout {
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;
- private Calendar mDate;
+ private Calendar mDate; //用于操作时间
private String[] mDateDisplayValues = new String[DAYS_IN_ALL_WEEK];
@@ -64,7 +66,20 @@ public class DateTimePicker extends FrameLayout {
private OnDateTimeChangedListener mOnDateTimeChangedListener;
+ /*
+ 设置时间选择器的监听器,
+ 包括了日期选择器的监听器 mOnDateChangedListener,
+ 小时选择器的监听器 mOnHourChangedListener,
+ 分钟选择器的监听器mOnMinuteChangedListener,
+ 上午和下午选择器的监听器 mOnAmPmChangedListener
+
+ */
+
+
+ //日期选择器的监听器
private NumberPicker.OnValueChangeListener mOnDateChangedListener = new NumberPicker.OnValueChangeListener() {
+
+ //将目前的日期传给 mDate,updateDateControl是同步操作
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mDate.add(Calendar.DAY_OF_YEAR, newVal - oldVal);
@@ -73,39 +88,58 @@ public class DateTimePicker extends FrameLayout {
}
};
+ //选择器的监听器
private NumberPicker.OnValueChangeListener mOnHourChangedListener = new NumberPicker.OnValueChangeListener() {
+
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
boolean isDateChanged = false;
Calendar cal = Calendar.getInstance();
if (!mIs24HourView) {
+
+ //这里是对于12小时制时,晚上11点和12点交替时对日期的更改
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;
- } else if (mIsAm && oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) {
+ }
+
+ //这里是对于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点交替时对AM和PM的更改
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();
}
} else {
+
+ //这里是对于24小时制时,晚上11点和12点交替时对日期的更改
if (oldVal == HOURS_IN_ALL_DAY - 1 && newVal == 0) {
cal.setTimeInMillis(mDate.getTimeInMillis());
cal.add(Calendar.DAY_OF_YEAR, 1);
isDateChanged = true;
- } else if (oldVal == 0 && newVal == HOURS_IN_ALL_DAY - 1) {
+ }
+
+ //这里是对于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;
}
}
+
+ //用数字选择器给 newHour 赋值
int newHour = mHourSpinner.getValue() % HOURS_IN_HALF_DAY + (mIsAm ? 0 : HOURS_IN_HALF_DAY);
+
+ //将新的Hour值传给mDate
mDate.set(Calendar.HOUR_OF_DAY, newHour);
+
onDateTimeChanged();
if (isDateChanged) {
setCurrentYear(cal.get(Calendar.YEAR));
@@ -115,12 +149,13 @@ public class DateTimePicker extends FrameLayout {
}
};
+ //分钟选择器的监听器
private NumberPicker.OnValueChangeListener mOnMinuteChangedListener = new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
int minValue = mMinuteSpinner.getMinValue();
int maxValue = mMinuteSpinner.getMaxValue();
- int offset = 0;
+ int offset = 0; //设置一个小时改变的记录数据
if (oldVal == maxValue && newVal == minValue) {
offset += 1;
} else if (oldVal == minValue && newVal == maxValue) {
@@ -144,6 +179,7 @@ public class DateTimePicker extends FrameLayout {
}
};
+ // 上午和下午选择器的监听器
private NumberPicker.OnValueChangeListener mOnAmPmChangedListener = new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
@@ -163,34 +199,43 @@ public class DateTimePicker extends FrameLayout {
int dayOfMonth, int hourOfDay, int minute);
}
+ // 通过对数据库的访问,获取当前系统时间
public DateTimePicker(Context context) {
this(context, System.currentTimeMillis());
}
+ // 获得一个天文数字(1970年至今的秒数),需要DateFormat将其变得有意义
public DateTimePicker(Context context, long date) {
this(context, date, DateFormat.is24HourFormat(context));
}
public DateTimePicker(Context context, long date, boolean is24HourView) {
- super(context);
+ super(context);//获取系统时间
mDate = Calendar.getInstance();
mInitialising = true;
mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY;
+
+ //在控件中填充R.layout.datetime_picker布局
inflate(context, R.layout.datetime_picker, this);
+ //获取年月日Spinner,设置最小值和最大值,设置值改变监听
mDateSpinner = (NumberPicker) findViewById(R.id.date);
mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL);
mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL);
mDateSpinner.setOnValueChangedListener(mOnDateChangedListener);
+ // 获取时Spinner,设置值改变监听
mHourSpinner = (NumberPicker) findViewById(R.id.hour);
mHourSpinner.setOnValueChangedListener(mOnHourChangedListener);
+
+ // 获取分Spinner,设置最小值、最大值、长按更新间隔和值改变监听
mMinuteSpinner = (NumberPicker) findViewById(R.id.minute);
mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL);
mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL);
mMinuteSpinner.setOnLongPressUpdateInterval(100);
mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener);
+ // 获取上午/下午Spinner,设置最小值、最大值、显示值和值改变监听
String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings();
mAmPmSpinner = (NumberPicker) findViewById(R.id.amPm);
mAmPmSpinner.setMinValue(AMPM_SPINNER_MIN_VAL);
@@ -214,8 +259,12 @@ public class DateTimePicker extends FrameLayout {
mInitialising = false;
}
+ // 设置控件及其子控件的可用状态
@Override
public void setEnabled(boolean enabled) {
+
+ // 如果mIsEnabled变量与传入的enabled相同,则不进行操作,
+ // 否则将控件及其子控件的可用状态更新为enabled并更新mIsEnabled变量。
if (mIsEnabled == enabled) {
return;
}
@@ -434,6 +483,7 @@ public class DateTimePicker extends FrameLayout {
updateAmPmControl();
}
+ // 更新日期控件,根据当前日期更新展示的日期列表
private void updateDateControl() {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(mDate.getTimeInMillis());
@@ -448,6 +498,8 @@ public class DateTimePicker extends FrameLayout {
mDateSpinner.invalidate();
}
+ // 更新上午/下午控件,如果是24小时制,则隐藏此控件;
+ // 否则根据当前选择的时间更新展示的上午/下午选项
private void updateAmPmControl() {
if (mIs24HourView) {
mAmPmSpinner.setVisibility(View.GONE);
@@ -458,6 +510,7 @@ public class DateTimePicker extends FrameLayout {
}
}
+ // 更新小时控件,根据当前选择的时间更新展示的小时选项
private void updateHourControl() {
if (mIs24HourView) {
mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW);
diff --git a/src/ui/DateTimePickerDialog.java b/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
similarity index 70%
rename from src/ui/DateTimePickerDialog.java
rename to app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
index 2c47ba4..be8d4ae 100644
--- a/src/ui/DateTimePickerDialog.java
+++ b/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
@@ -31,37 +31,52 @@ import android.text.format.DateUtils;
public class DateTimePickerDialog extends AlertDialog implements OnClickListener {
- private Calendar mDate = Calendar.getInstance();
+ private Calendar mDate = Calendar.getInstance();//便于时间操作
private boolean mIs24HourView;
- private OnDateTimeSetListener mOnDateTimeSetListener;
- private DateTimePicker mDateTimePicker;
+ private OnDateTimeSetListener mOnDateTimeSetListener;//时间日期滚动控件
+ private DateTimePicker mDateTimePicker;//用于设置或获取日期和时间
public interface OnDateTimeSetListener {
+
+ //在选择日期后返回结果
void OnDateTimeSet(AlertDialog dialog, long date);
}
public DateTimePickerDialog(Context context, long date) {
super(context);
mDateTimePicker = new DateTimePicker(context);
- setView(mDateTimePicker);
+ setView(mDateTimePicker); //设置一个子视图
+
+ //设置一个监听器
mDateTimePicker.setOnDateTimeChangedListener(new OnDateTimeChangedListener() {
public void onDateTimeChanged(DateTimePicker view, int year, int month,
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);
+
+ mDate.setTimeInMillis(date);// 初始化mDate对象
+ mDate.set(Calendar.SECOND, 0);// 将秒数设为0
mDateTimePicker.setCurrentDate(mDate.getTimeInMillis());
+
+ // 为对话框设置一个确定按钮
setButton(context.getString(R.string.datetime_dialog_ok), this);
+
+ // 为对话框设置一个取消按钮,传入null为点击事件处理器
setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)null);
+
+ //根据当前的时间的时间格式设置是否使用24小时制显示时间
set24HourView(DateFormat.is24HourFormat(this.getContext()));
- updateTitle(mDate.getTimeInMillis());
+ updateTitle(mDate.getTimeInMillis());// 更新对话框的标题为初始日期和时间
}
public void set24HourView(boolean is24HourView) {
@@ -73,15 +88,24 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener
}
private void updateTitle(long date) {
+
+ // 定义一个标识变量,用于根据给定的日期时间更新标题栏的显示
int flag =
DateUtils.FORMAT_SHOW_YEAR |
DateUtils.FORMAT_SHOW_DATE |
DateUtils.FORMAT_SHOW_TIME;
+
+ // 根据用户选择的,决定是否使用24小时制
flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR;
+
+ // 将日期转化为字符串,并设置标题
setTitle(DateUtils.formatDateTime(this.getContext(), date, flag));
}
+ // 用于处理对话框的点击事件
public void onClick(DialogInterface arg0, int arg1) {
+
+ // 如果有日期时间设置监听器,则传递当前日期时间
if (mOnDateTimeSetListener != null) {
mOnDateTimeSetListener.OnDateTimeSet(this, mDate.getTimeInMillis());
}
diff --git a/src/ui/DropdownMenu.java b/app/src/main/java/net/micode/notes/ui/DropdownMenu.java
similarity index 77%
rename from src/ui/DropdownMenu.java
rename to app/src/main/java/net/micode/notes/ui/DropdownMenu.java
index 613dc74..0cdbfbc 100644
--- a/src/ui/DropdownMenu.java
+++ b/app/src/main/java/net/micode/notes/ui/DropdownMenu.java
@@ -28,16 +28,23 @@ import android.widget.PopupMenu.OnMenuItemClickListener;
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);
+ // 初始化弹出菜单,并绑定按钮对象
mPopupMenu = new PopupMenu(context, mButton);
+ // 获取菜单对象,加载菜单资源
mMenu = mPopupMenu.getMenu();
mPopupMenu.getMenuInflater().inflate(menuId, mMenu);
+ // 设置点击监听器,点击时弹出菜单
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mPopupMenu.show();
@@ -45,16 +52,20 @@ public class DropdownMenu {
});
}
+ // 用于设置下拉菜单点击监听器
public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) {
+ // 如果弹出菜单不为空则为其设置监听器
if (mPopupMenu != null) {
mPopupMenu.setOnMenuItemClickListener(listener);
}
}
+ // 可根据id查找菜单项
public MenuItem findItem(int id) {
return mMenu.findItem(id);
}
+ // 用于设置按钮标题
public void setTitle(CharSequence title) {
mButton.setText(title);
}
diff --git a/src/ui/FoldersListAdapter.java b/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
similarity index 78%
rename from src/ui/FoldersListAdapter.java
rename to app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
index 96b77da..930f65d 100644
--- a/src/ui/FoldersListAdapter.java
+++ b/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
@@ -29,27 +29,35 @@ import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.NoteColumns;
+// 指定每个列表项的布局模板,指定Cursor中的每个字段应该绑定到那些视图上
+// 以文件夹的形式展现给用户
public class FoldersListAdapter extends CursorAdapter {
+ // 指定查询时返回的列,NoteColumns是一个接口
public static final String [] PROJECTION = {
NoteColumns.ID,
NoteColumns.SNIPPET
};
+ // 定义查询文件夹表是返回的列的索引
public static final int ID_COLUMN = 0;
public static final int NAME_COLUMN = 1;
+ // 在列表视图中显示文件夹数据
public FoldersListAdapter(Context context, Cursor c) {
super(context, c);
// TODO Auto-generated constructor stub
}
+ // 创建一个新视图,并初始化子标签
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return new FolderListItem(context);
}
+ // 用于绑定视图和数据
@Override
public void bindView(View view, Context context, Cursor cursor) {
+ // 判断视图对象是否为 FolderListItem 的实例
if (view instanceof FolderListItem) {
String folderName = (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context
.getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN);
@@ -57,21 +65,27 @@ public class FoldersListAdapter extends CursorAdapter {
}
}
+ // 获取对应文件夹名称
public String getFolderName(Context context, int position) {
Cursor cursor = (Cursor) getItem(position);
+ // 根据文件夹id获取文件夹的名称
return (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context
.getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN);
}
+ // 用于显示文件夹名称
private class FolderListItem extends LinearLayout {
private TextView mName;
public FolderListItem(Context context) {
super(context);
+ // 将布局文件加载到当前视图
inflate(context, R.layout.folder_list_item, this);
+ // 将获取到的TextView对象赋值给mName
mName = (TextView) findViewById(R.id.tv_folder_name);
}
+ // 将给定的名称设置到mName中
public void bind(String name) {
mName.setText(name);
}
diff --git a/src/ui/NoteEditActivity.java b/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
similarity index 76%
rename from src/ui/NoteEditActivity.java
rename to app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
index 96a9ff8..a5abb38 100644
--- a/src/ui/NoteEditActivity.java
+++ b/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
@@ -58,6 +58,7 @@ import net.micode.notes.data.Notes.TextNote;
import net.micode.notes.model.WorkingNote;
import net.micode.notes.model.WorkingNote.NoteSettingChangedListener;
import net.micode.notes.tool.DataUtils;
+import net.micode.notes.tool.FontColorParser;
import net.micode.notes.tool.ResourceParser;
import net.micode.notes.tool.ResourceParser.TextAppearanceResources;
import net.micode.notes.ui.DateTimePickerDialog.OnDateTimeSetListener;
@@ -74,16 +75,19 @@ import java.util.regex.Pattern;
public class NoteEditActivity extends Activity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
+ // 头部视图空间
private class HeadViewHolder {
+ // 文本视图,显示修改的日期
public TextView tvModified;
-
+ // 图像视图,显示警告图标
public ImageView ivAlertIcon;
-
+ // 文本视图,显示警告日期
public TextView tvAlertDate;
-
+ // 图像按钮,用于设置背景颜色
public ImageView ibSetBgColor;
}
+ // 用于存储不同背景选择按钮的id和对应颜色
private static final Map sBgSelectorBtnsMap = new HashMap();
static {
sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
@@ -93,6 +97,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE);
}
+ // 用于存储不同颜色值和对应的背景选择器的id
private static final Map sBgSelectorSelectionMap = new HashMap();
static {
sBgSelectorSelectionMap.put(ResourceParser.YELLOW, R.id.iv_bg_yellow_select);
@@ -102,6 +107,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select);
}
+ // 用于存储不同字体大小按钮id和对应的字体大小
private static final Map sFontSizeBtnsMap = new HashMap();
static {
sFontSizeBtnsMap.put(R.id.ll_font_large, ResourceParser.TEXT_LARGE);
@@ -110,6 +116,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER);
}
+ // 用于存储不同字体大小和对应的字体选择器的id
private static final Map sFontSelectorSelectionMap = new HashMap();
static {
sFontSelectorSelectionMap.put(ResourceParser.TEXT_LARGE, R.id.iv_large_select);
@@ -117,47 +124,71 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select);
sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select);
}
-
+ // 用于存储不同文本颜色的按钮id和对应文本颜色
+ private static final Map sTxtColorBtnsMaps = new HashMap();
+ static {
+ sTxtColorBtnsMaps.put(R.id.ll_font_default, FontColorParser.Default);
+ sTxtColorBtnsMaps.put(R.id.ll_font_green, FontColorParser.green);
+ sTxtColorBtnsMaps.put(R.id.ll_font_red, FontColorParser.red);
+ sTxtColorBtnsMaps.put(R.id.ll_font_Bright_blue, FontColorParser.Bright_blue);
+ }
+ // 用于存储不同文本颜色和其对应选择器id
+ private static final Map sTxtColorSelectorSelectionMap = new HashMap();
+ static {
+ sTxtColorSelectorSelectionMap.put(FontColorParser.Default ,R.id.iv_default_select);
+ sTxtColorSelectorSelectionMap.put(FontColorParser.red ,R.id.iv_red_select);
+ sTxtColorSelectorSelectionMap.put(FontColorParser.Bright_blue ,R.id.iv_Bright_blue_select);
+ sTxtColorSelectorSelectionMap.put(FontColorParser.green ,R.id.iv_green_select);
+ }
private static final String TAG = "NoteEditActivity";
-
+ // 存储笔记的头部视图
private HeadViewHolder mNoteHeaderHolder;
-
+ // 存储头部视图图面板
private View mHeadViewPanel;
private View mNoteBgColorSelector;
-
+ private View mTxtColorSelector;
private View mFontSizeSelector;
-
+ // 用于存储笔记编辑器
private EditText mNoteEditor;
-
+ // 用于存储笔记编辑面板
private View mNoteEditorPanel;
-
+ // 用于存储正在编辑的笔记
private WorkingNote mWorkingNote;
-
+ // 用于存储用户的偏好设置
private SharedPreferences mSharedPrefs;
+ private int mTxtColorId;
private int mFontSizeId;
-
+ // 用于表示字体大小偏好设置键
+ private static final String PREFERENCE_TXT_COLOR = "pref_font_color";
private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
-
+ // 用于限制快捷方式图标标题的最大长度
private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
-
+ // 表示已被选中的标签符号
public static final String TAG_CHECKED = String.valueOf('\u221A');
+ // 表示未被选中的标签符号
public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
-
+ // 用于存储文本编辑列表
private LinearLayout mEditTextList;
+ // 用于存储用户的输入内容
private String mUserQuery;
+
private Pattern mPattern;
+ // 在活动创建时进行一些初始化操作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.note_edit);
+ // 如果传入的参数为空,且调用initActivityState方法传入getIntent方法返回的Intent对象返回false,
+ // 表示活动状态初始化失败,结束活动
if (savedInstanceState == null && !initActivityState(getIntent())) {
finish();
return;
}
+ // 初始化一些资源
initResources();
}
@@ -165,20 +196,27 @@ public class NoteEditActivity extends Activity implements OnClickListener,
* 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.ACTION_VIEW
Intent intent = new Intent(Intent.ACTION_VIEW);
+ // 将Intent.EXTRA_UID作为额外数据放入intent对象中
intent.putExtra(Intent.EXTRA_UID, savedInstanceState.getLong(Intent.EXTRA_UID));
+ // 如果初始化活动失败则结束活动
if (!initActivityState(intent)) {
finish();
return;
}
+ // 打印一条调试信息,表示从被杀死的活动中恢复
Log.d(TAG, "Restoring from killed activity");
}
}
+ // 用于返回活动初始化状态
private boolean initActivityState(Intent intent) {
/**
* If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,
@@ -192,25 +230,30 @@ public class NoteEditActivity extends Activity implements OnClickListener,
/**
* 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);
}
-
+ // 如果在内容提供者中,noteId对应的笔记不可见或者不是笔记类型
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 {
+ // 否则向 load函数 传入当前活动和noteId作为参数,返回一个WorkingNote对象
mWorkingNote = WorkingNote.load(this, noteId);
+ // 如果正在编辑的笔记为空
if (mWorkingNote == null) {
Log.e(TAG, "load note failed with note id" + noteId);
finish();
return false;
}
}
+ // 获取当前活动的窗口对象,设置软输入状态为隐藏状态并调整大小
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
| WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
@@ -243,6 +286,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
} else {
mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId,
widgetType, bgResId);
+ // 将空笔记转换为通话笔记
mWorkingNote.convertToCallNote(phoneNumber, callDate);
}
} else {
@@ -258,6 +302,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
finish();
return false;
}
+ // 设置其设置状态为改变监听器
mWorkingNote.setOnSettingStatusChangedListener(this);
return true;
}
@@ -268,9 +313,12 @@ public class NoteEditActivity extends Activity implements OnClickListener,
initNoteScreen();
}
+ // 用于初始化笔记的界面和功能
private void initNoteScreen() {
+ // 设置笔记编辑器的文字外观,根据字体大小的id选择合适的资源
mNoteEditor.setTextAppearance(this, TextAppearanceResources
.getTexAppearanceResource(mFontSizeId));
+ // 设置外观
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
switchToListMode(mWorkingNote.getContent());
} else {
@@ -295,18 +343,23 @@ public class NoteEditActivity extends Activity implements OnClickListener,
showAlertHeader();
}
+ // 设置闹钟显示
private void showAlertHeader() {
+ // 判断当前笔记是否有闹钟提醒
if (mWorkingNote.hasClockAlert()) {
long time = System.currentTimeMillis();
+ // 如果系统时间大于闹钟设置的时间,则闹钟时间设置为在系统时间的基础上加一个时间跨度
if (time > mWorkingNote.getAlertDate()) {
mNoteHeaderHolder.tvAlertDate.setText(R.string.note_alert_expired);
} else {
mNoteHeaderHolder.tvAlertDate.setText(DateUtils.getRelativeTimeSpanString(
mWorkingNote.getAlertDate(), time, DateUtils.MINUTE_IN_MILLIS));
}
+ // 显示闹钟的开始图标
mNoteHeaderHolder.tvAlertDate.setVisibility(View.VISIBLE);
mNoteHeaderHolder.ivAlertIcon.setVisibility(View.VISIBLE);
} else {
+ // 如果当前的笔记没有闹钟提醒,就将警告日期文本和警告图标设置为不可见
mNoteHeaderHolder.tvAlertDate.setVisibility(View.GONE);
mNoteHeaderHolder.ivAlertIcon.setVisibility(View.GONE);
};
@@ -326,6 +379,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
* generate a id. If the editing note is not worth saving, there
* is no id which is equivalent to create new note
*/
+ //在创建一个新的标签时,先在数据库中匹配
+ //如果不存在,那么先在数据库中存储
if (!mWorkingNote.existInDatabase()) {
saveNote();
}
@@ -333,27 +388,32 @@ public class NoteEditActivity extends Activity implements OnClickListener,
Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState");
}
+ //用于分发触摸事件到合适的视图中
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
+ // 判断当前笔记的颜色选择器在屏幕上是否可见,且在可触控范围内
if (mNoteBgColorSelector.getVisibility() == View.VISIBLE
&& !inRangeOfView(mNoteBgColorSelector, ev)) {
mNoteBgColorSelector.setVisibility(View.GONE);
return true;
}
-
+ // 判断当前笔记的字体大小选择器是否可见,且在触控范围内
if (mFontSizeSelector.getVisibility() == View.VISIBLE
&& !inRangeOfView(mFontSizeSelector, ev)) {
mFontSizeSelector.setVisibility(View.GONE);
return true;
}
+ // 如果两个选择器在屏幕都不可见,则重新分配触发事件
return super.dispatchTouchEvent(ev);
}
+ // 对屏幕触控的坐标进行操作
private boolean inRangeOfView(View view, MotionEvent ev) {
int []location = new int[2];
view.getLocationOnScreen(location);
int x = location[0];
int y = location[1];
+ // 如果触控的位置超出了给定的范围
if (ev.getX() < x
|| ev.getX() > (x + view.getWidth())
|| ev.getY() < y
@@ -363,6 +423,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return true;
}
+ //对标签各项属性内容的初始化
private void initResources() {
mHeadViewPanel = findViewById(R.id.note_title);
mNoteHeaderHolder = new HeadViewHolder();
@@ -379,13 +440,22 @@ public class NoteEditActivity extends Activity implements OnClickListener,
iv.setOnClickListener(this);
}
+ //对字体大小的选择
mFontSizeSelector = findViewById(R.id.font_size_selector);
for (int id : sFontSizeBtnsMap.keySet()) {
View view = findViewById(id);
view.setOnClickListener(this);
- };
+ }
+
+ mTxtColorSelector = findViewById(R.id.ll_font_color_selector);
+ for (int id : sTxtColorBtnsMaps.keySet()) {
+ View view = findViewById(id);
+ view.setOnClickListener(this);
+ }
+
mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE);
+ mTxtColorId = mSharedPrefs.getInt(PREFERENCE_TXT_COLOR, FontColorParser.Font_color_default);
/**
* HACKME: Fix bug of store the resource id in shared preference.
* The id may larger than the length of resources, in this case,
@@ -394,18 +464,24 @@ public class NoteEditActivity extends Activity implements OnClickListener,
if(mFontSizeId >= TextAppearanceResources.getResourcesSize()) {
mFontSizeId = ResourceParser.BG_DEFAULT_FONT_SIZE;
}
+ if(mTxtColorId >= FontColorParser.TextAppearanceResources.getResourceSize()) {
+ mTxtColorId = FontColorParser.Font_color_default;
+ }
mEditTextList = (LinearLayout) findViewById(R.id.note_edit_list);
}
@Override
protected void onPause() {
super.onPause();
+ // 尝试保存当前笔记数据,并判断是否保持成功
if(saveNote()) {
Log.d(TAG, "Note data was saved with length:" + mWorkingNote.getContent().length());
}
+ // 清除一些设置状态
clearSettingState();
}
+ // 与桌面小部件的内容和外观同步
private void updateWidget() {
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) {
@@ -425,12 +501,15 @@ public class NoteEditActivity extends Activity implements OnClickListener,
setResult(RESULT_OK, intent);
}
+ // 在一个视图被点击时调用
public void onClick(View v) {
+ // 获取被点击的视图的id
int id = v.getId();
+ // 如果是背景颜色的按钮,则将背景颜色选择器和当前笔记背景颜色对应的视图设为可见
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);
@@ -449,9 +528,23 @@ public class NoteEditActivity extends Activity implements OnClickListener,
TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
}
mFontSizeSelector.setVisibility(View.GONE);
+ } else if (sTxtColorBtnsMaps.containsKey(id)) {
+ findViewById(sTxtColorSelectorSelectionMap.get(mTxtColorId)).setVisibility(View.GONE);
+ mTxtColorId = sTxtColorBtnsMaps.get(id);
+ mSharedPrefs.edit().putInt(PREFERENCE_TXT_COLOR, mTxtColorId).commit();
+ findViewById(sTxtColorSelectorSelectionMap.get(mTxtColorId)).setVisibility(View.VISIBLE);
+ if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
+ getWorkingText();
+ switchToListMode(mWorkingNote.getContent());
+ } else {
+ mNoteEditor.setTextAppearance(this,
+ FontColorParser.TextAppearanceResources.getTexAppearanceResource(mTxtColorId));
+ }
+ mTxtColorSelector.setVisibility(View.GONE);
}
}
+ // 当按下返回键时执行操作
@Override
public void onBackPressed() {
if(clearSettingState()) {
@@ -462,6 +555,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
super.onBackPressed();
}
+ // 用于清除一些设置状态
private boolean clearSettingState() {
if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) {
mNoteBgColorSelector.setVisibility(View.GONE);
@@ -473,6 +567,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return false;
}
+ // 在改变背景颜色时执行的操作
public void onBackgroundColorChanged() {
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.VISIBLE);
@@ -480,38 +575,53 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId());
}
+ // 在准备选择菜单执行的操作
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
+ // 判断Activity是否正在结束
if (isFinishing()) {
return true;
}
clearSettingState();
+ // 清空菜单所有项目
menu.clear();
+ // 判断当前笔记的文件夹id是否是通话记录文件夹的id
if (mWorkingNote.getFolderId() == Notes.ID_CALL_RECORD_FOLDER) {
+ // 加载通话记录编辑菜单的资源
getMenuInflater().inflate(R.menu.call_note_edit, menu);
} else {
+ // 加载普通笔记编辑菜单的资源
getMenuInflater().inflate(R.menu.note_edit, menu);
}
+ // 笔记是否处于清单模式
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
+ // 将菜单中的列表模式项目的标题设置为普通模式
menu.findItem(R.id.menu_list_mode).setTitle(R.string.menu_normal_mode);
} else {
+ // 将菜单中的列表模式项目的标题设置为列表模式
menu.findItem(R.id.menu_list_mode).setTitle(R.string.menu_list_mode);
}
+ // 判断当前笔记是否有闹钟提醒
if (mWorkingNote.hasClockAlert()) {
+ // 将菜单中的提醒项目设置为不可见
menu.findItem(R.id.menu_alert).setVisible(false);
} else {
+ // 将菜单中的删除提醒项目设置为不可见
menu.findItem(R.id.menu_delete_remind).setVisible(false);
}
return true;
}
+ // 当选择菜单中的某个项目被点击调用时的操作
@Override
public boolean onOptionsItemSelected(MenuItem item) {
+ // 根据被点击项目的id,进行不同的处理
switch (item.getItemId()) {
case R.id.menu_new_note:
createNewNote();
break;
case R.id.menu_delete:
+ // 创建对话框,询问用户是否删除
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.alert_title_delete));
builder.setIcon(android.R.drawable.ic_dialog_alert);
@@ -527,24 +637,34 @@ public class NoteEditActivity extends Activity implements OnClickListener,
builder.show();
break;
case R.id.menu_font_size:
+ // 将字体大小选择器和当前字体大小对应的视图设置为可见
mFontSizeSelector.setVisibility(View.VISIBLE);
findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE);
break;
+ case R.id.menu_change_font_color:
+ mTxtColorSelector.setVisibility(View.VISIBLE);
+ findViewById(sTxtColorSelectorSelectionMap.get(mTxtColorId)).setVisibility(View.VISIBLE);
+ break;
case R.id.menu_list_mode:
+ // 根据当前笔记是否是清单模式,切换到相反的模式,并更新笔记的清单模式属性
mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ?
TextNote.MODE_CHECK_LIST : 0);
break;
case R.id.menu_share:
getWorkingText();
+ // 将文本发送给其他应用
sendTo(this, mWorkingNote.getContent());
break;
case R.id.menu_send_to_desktop:
+ // 将当前笔记作为一个快捷方式发送到桌面
sendToDesktop();
break;
case R.id.menu_alert:
+ // 设置一个闹钟提醒
setReminder();
break;
case R.id.menu_delete_remind:
+ // 将当前笔记的提醒日期设置为0,并更新数据库
mWorkingNote.setAlertDate(0, false);
break;
default:
@@ -553,13 +673,17 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return true;
}
+ // 设置闹钟提醒
private void setReminder() {
+ // 用于显示日期时间选择器对话框
DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
+ // 根据用户选择的日期时间,设置当前笔记的提醒日期,并更新数据库
public void OnDateTimeSet(AlertDialog dialog, long date) {
mWorkingNote.setAlertDate(date , true);
}
});
+ // 显示对话框,让用户选择一个日期时间
d.show();
}
@@ -567,13 +691,17 @@ public class NoteEditActivity extends Activity implements OnClickListener,
* 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);
intent.setType("text/plain");
+ // 启动一个活动,让用户选择一个可以接收这个意图的应用
context.startActivity(intent);
}
+ // 创建一个新便签
private void createNewNote() {
// Firstly, save current editing notes
saveNote();
@@ -586,15 +714,19 @@ public class NoteEditActivity extends Activity implements OnClickListener,
startActivity(intent);
}
+ // 删除当前便签
private void deleteCurrentNote() {
+ // 如果正在编辑的笔记存有数据
if (mWorkingNote.existInDatabase()) {
HashSet ids = new HashSet();
long id = mWorkingNote.getNoteId();
+ // 判断是否为根文件夹id
if (id != Notes.ID_ROOT_FOLDER) {
ids.add(id);
} else {
Log.d(TAG, "Wrong note id, should not happen");
}
+ // 判断当前是否是同步模式
if (!isSyncMode()) {
if (!DataUtils.batchDeleteNotes(getContentResolver(), ids)) {
Log.e(TAG, "Delete Note error");
@@ -608,10 +740,12 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mWorkingNote.markDeleted(true);
}
+ // 判断是否是同步模式
private boolean isSyncMode() {
return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
}
+ // 笔记闹钟提醒发生变化时调用, set 是是否设置提醒的标志
public void onClockAlertChanged(long date, boolean set) {
/**
* User could set clock to an unsaved note, so before setting the
@@ -620,15 +754,22 @@ public class NoteEditActivity extends Activity implements OnClickListener,
if (!mWorkingNote.existInDatabase()) {
saveNote();
}
+ // 大于0,即保存到了数据库中,否则就是未保存到数据库
if (mWorkingNote.getNoteId() > 0) {
+ // 用于发送一个闹钟接收的广播,将当前笔记的uri作为数据放入意图中
Intent intent = new Intent(this, AlarmReceiver.class);
intent.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mWorkingNote.getNoteId()));
+ // 用于包装上面的意图对象,以便在闹钟触发时发送广播
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
+ // 获取一个闹钟管理器对象,用于设置或取消闹钟
AlarmManager alarmManager = ((AlarmManager) getSystemService(ALARM_SERVICE));
showAlertHeader();
+ // 判断是否设置提醒
if(!set) {
+ // 取消之前设置的闹钟
alarmManager.cancel(pendingIntent);
} else {
+ // 设置一个在指定日期时间触发的闹钟,并发送待定意图
alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent);
}
} else {
@@ -646,6 +787,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
updateWidget();
}
+ // 在用户删除某个文本编辑器时,将被删除的文本内容追加到前面或者后面的文本编辑器中,并更新列表的索引值
public void onEditTextDelete(int index, String text) {
int childCount = mEditTextList.getChildCount();
if (childCount == 1) {
@@ -672,6 +814,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
edit.setSelection(length);
}
+ /* 在用户在某个文本编辑器中按下回车键时,创建一个新的文本编辑器,
+ * 并将当前的文本内容分割到两个文本编辑器中。
+ * 实现在笔记应用中输入多行文本。
+ */
public void onEditTextEnter(int index, String text) {
/**
* Should not happen, check for debug
@@ -691,6 +837,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
+ // 将用户输入的文本转换成多个文本编辑器,以便用户在列表模式下编辑多行文本。
private void switchToListMode(String text) {
mEditTextList.removeAllViews();
String[] items = text.split("\n");
@@ -708,6 +855,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mEditTextList.setVisibility(View.VISIBLE);
}
+ // 将用户输入的搜索关键词在完整文本中高亮显示,以便用户快速定位到相关内容
private Spannable getHighlightQueryResult(String fullText, String userQuery) {
SpannableString spannable = new SpannableString(fullText == null ? "" : fullText);
if (!TextUtils.isEmpty(userQuery)) {
@@ -725,6 +873,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return spannable;
}
+ // 根据用户输入的文本内容和搜索关键词创建一个带有复选框和高亮效果的文本编辑器视图
private View getListItem(String item, int index) {
View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null);
final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
@@ -756,6 +905,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return view;
}
+ // 根据用户在文本编辑器中输入或删除文本时,动态显示或隐藏复选框。
public void onTextChange(int index, boolean hasText) {
if (index >= mEditTextList.getChildCount()) {
Log.e(TAG, "Wrong index, should not happen");
@@ -768,6 +918,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
+ // 根据用户选择的模式,将文本编辑器从普通模式切换到列表模式,或者从列表模式切换到普通模式。
public void onCheckListModeChanged(int oldMode, int newMode) {
if (newMode == TextNote.MODE_CHECK_LIST) {
switchToListMode(mNoteEditor.getText().toString());
@@ -782,6 +933,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
+ // 根据笔记的模式,从文本编辑器或者文本编辑器列表中获取文本内容
private boolean getWorkingText() {
boolean hasChecked = false;
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
@@ -805,6 +957,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return hasChecked;
}
+ // 用于保存一个笔记应用的文本内容
private boolean saveNote() {
getWorkingText();
boolean saved = mWorkingNote.saveNote();
@@ -821,6 +974,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return saved;
}
+ // 将笔记内容发送到桌面
private void sendToDesktop() {
/**
* Before send message to home, we should make sure that current
@@ -856,6 +1010,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
+ // 用于编辑小图标的标题
private String makeShortcutIconTitle(String content) {
content = content.replace(TAG_CHECKED, "");
content = content.replace(TAG_UNCHECKED, "");
@@ -863,10 +1018,12 @@ public class NoteEditActivity extends Activity implements OnClickListener,
SHORTCUT_ICON_TITLE_MAX_LEN) : content;
}
+ // 显示提示的视图
private void showToast(int resId) {
showToast(resId, Toast.LENGTH_SHORT);
}
+ // 持续显示提示视图
private void showToast(int resId, int duration) {
Toast.makeText(this, resId, duration).show();
}
diff --git a/src/ui/NoteEditText.java b/app/src/main/java/net/micode/notes/ui/NoteEditText.java
similarity index 89%
rename from src/ui/NoteEditText.java
rename to app/src/main/java/net/micode/notes/ui/NoteEditText.java
index 2afe2a8..1f7235e 100644
--- a/src/ui/NoteEditText.java
+++ b/app/src/main/java/net/micode/notes/ui/NoteEditText.java
@@ -37,6 +37,7 @@ 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 +47,7 @@ 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,6 +58,7 @@ 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
@@ -77,19 +80,22 @@ public class NoteEditText extends EditText {
private OnTextViewChangeListener mOnTextViewChangeListener;
+ // 根据context设置文本
public NoteEditText(Context context) {
super(context, null);
mIndex = 0;
}
-
+ // 设置当前光标
public void setIndex(int index) {
mIndex = index;
}
+ // 初始化文本修改标记
public void setOnTextViewChangeListener(OnTextViewChangeListener listener) {
mOnTextViewChangeListener = listener;
}
+ // 初始化便签
public NoteEditText(Context context, AttributeSet attrs) {
super(context, attrs, android.R.attr.editTextStyle);
}
@@ -99,6 +105,7 @@ public class NoteEditText extends EditText {
// TODO Auto-generated constructor stub
}
+ // 根据用户触摸的位置,获取对应的文本偏移量,并设置为选择状态。
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
@@ -121,6 +128,7 @@ public class NoteEditText extends EditText {
return super.onTouchEvent(event);
}
+ // 处理用户按下一个键盘按键时会触发 的事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
@@ -138,11 +146,14 @@ public class NoteEditText extends EditText {
return super.onKeyDown(keyCode, event);
}
+ // 处理用户松开一个键盘按键时会触发 的事件
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_DEL:
+ // 如果被修改过
if (mOnTextViewChangeListener != null) {
+ // 如果被修改过且文档不为空
if (0 == mSelectionStartBeforeDelete && mIndex != 0) {
mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString());
return true;
@@ -167,9 +178,11 @@ public class NoteEditText extends EditText {
return super.onKeyUp(keyCode, event);
}
+ // 当焦点发生变化时,会自动调用该方法来处理焦点改变的事件
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
if (mOnTextViewChangeListener != null) {
+ // 获取到焦点并且文本不为空
if (!focused && TextUtils.isEmpty(getText())) {
mOnTextViewChangeListener.onTextChange(mIndex, false);
} else {
@@ -179,8 +192,10 @@ public class NoteEditText extends EditText {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
+ // 生成上下文菜单
@Override
protected void onCreateContextMenu(ContextMenu menu) {
+ // 如果有文本存在
if (getText() instanceof Spanned) {
int selStart = getSelectionStart();
int selEnd = getSelectionEnd();
@@ -201,7 +216,7 @@ public class NoteEditText extends EditText {
if (defaultResId == 0) {
defaultResId = R.string.note_link_other;
}
-
+ // 建立菜单
menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener(
new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
diff --git a/src/ui/NoteItemData.java b/app/src/main/java/net/micode/notes/ui/NoteItemData.java
similarity index 95%
rename from src/ui/NoteItemData.java
rename to app/src/main/java/net/micode/notes/ui/NoteItemData.java
index 0f5a878..fe94192 100644
--- a/src/ui/NoteItemData.java
+++ b/app/src/main/java/net/micode/notes/ui/NoteItemData.java
@@ -26,6 +26,9 @@ import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.tool.DataUtils;
+/*用于存储和操作一个笔记的id、标题、内容、创建时间、
+修改时间、背景颜色、字体大小、模式、文件夹id等信息。
+ */
public class NoteItemData {
static final String [] PROJECTION = new String [] {
NoteColumns.ID,
@@ -76,6 +79,7 @@ public class NoteItemData {
private boolean mIsOneNoteFollowingFolder;
private boolean mIsMultiNotesFollowingFolder;
+ // 初始化NoteItemData,主要利用光标cursor获取的东西
public NoteItemData(Context context, Cursor cursor) {
mId = cursor.getLong(ID_COLUMN);
mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN);
@@ -109,6 +113,7 @@ public class NoteItemData {
checkPostion(cursor);
}
+ // 根据鼠标的位置设置标记和位置
private void checkPostion(Cursor cursor) {
mIsLastItem = cursor.isLast() ? true : false;
mIsFirstItem = cursor.isFirst() ? true : false;
@@ -214,6 +219,7 @@ public class NoteItemData {
return (mAlertDate > 0);
}
+ // 判断一个笔记是否是一个通话记录
public boolean isCallRecord() {
return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber));
}
diff --git a/src/ui/NotesListActivity.java b/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
similarity index 60%
rename from src/ui/NotesListActivity.java
rename to app/src/main/java/net/micode/notes/ui/NotesListActivity.java
index e843aec..e5ec2e4 100644
--- a/src/ui/NotesListActivity.java
+++ b/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -93,7 +93,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private enum ListEditState {
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER
- };
+ }
private ListEditState mState;
@@ -135,9 +135,11 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private final static int REQUEST_CODE_OPEN_NODE = 102;
private final static int REQUEST_CODE_NEW_NODE = 103;
+ // 在Activity创建时调用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ // 设置Activity的布局文件为note_list.xml
setContentView(R.layout.note_list);
initResources();
@@ -147,32 +149,45 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
setAppInfoFromRawRes();
}
+ // 在Activity接收到其他Activity返回的结果时调用
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ // 如果结果是成功的,并且请求码是打开或新建笔记,那么更新笔记列表的游标
if (resultCode == RESULT_OK
&& (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) {
mNotesListAdapter.changeCursor(null);
} else {
+ // 否则,调用父类的方法处理结果
super.onActivityResult(requestCode, resultCode, data);
}
}
+ // 从raw资源文件中读取应用的介绍信息,并保存为一个笔记
private void setAppInfoFromRawRes() {
+ // 获取SharedPreferences对象,用于存储设置信息
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
+ // 如果没有添加过介绍信息,那么执行以下操作
if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) {
+ // 用于拼接介绍信息的文本
StringBuilder sb = new StringBuilder();
InputStream in = null;
try {
+ // 从raw资源文件中打开介绍信息的输入流
in = getResources().openRawResource(R.raw.introduction);
if (in != null) {
+ // 用于读取输入流
InputStreamReader isr = new InputStreamReader(in);
+ // 用于缓冲输入流
BufferedReader br = new BufferedReader(isr);
+ // 用于存储读取到的字符
char [] buf = new char[1024];
int len = 0;
+ // 循环读取输入流中的字符,直到结束
while ((len = br.read(buf)) > 0) {
sb.append(buf, 0, len);
}
} else {
+ // 如果输入流为空,那么打印错误日志并返回
Log.e(TAG, "Read introduction file error");
return;
}
@@ -182,6 +197,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
} finally {
if(in != null) {
try {
+ // 关闭输入流
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
@@ -190,10 +206,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 创建一个空的工作笔记对象,设置其所属文件夹,小部件ID,类型和颜色为默认值
WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER,
AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE,
ResourceParser.RED);
+ // 设置工作笔记的文本为StringBuilder对象中的内容
note.setWorkingText(sb.toString());
+ // 保存工作笔记到数据库中
if (note.saveNote()) {
sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit();
} else {
@@ -203,43 +222,71 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 在Activity的生命周期中开始时调用
@Override
protected void onStart() {
super.onStart();
+ // 开始异步查询笔记列表
startAsyncNotesListQuery();
}
+ // 用来初始化一些资源
private void initResources() {
+ // 获取内容解析器,用来操作数据库
mContentResolver = this.getContentResolver();
+ // 创建一个后台查询处理器,用来异步查询数据
mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver());
+ // 设置当前文件夹的ID为根文件夹的ID
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
+ // 获取笔记列表视图,用来显示笔记
mNotesListView = (ListView) findViewById(R.id.notes_list);
+ // 给笔记列表视图添加一个脚部视图,用来显示更多选项
mNotesListView.addFooterView(LayoutInflater.from(this).inflate(R.layout.note_list_footer, null),
null, false);
+ // 给笔记列表视图设置一个点击监听器,用来响应点击事件
mNotesListView.setOnItemClickListener(new OnListItemClickListener());
+ // 给笔记列表视图设置一个长按监听器,用来响应长按事件
mNotesListView.setOnItemLongClickListener(this);
+ // 创建一个笔记列表适配器,用来绑定数据和视图
mNotesListAdapter = new NotesListAdapter(this);
+ // 给笔记列表视图设置适配器
mNotesListView.setAdapter(mNotesListAdapter);
+ // 获取添加新笔记的按钮,用来创建新笔记
mAddNewNote = (Button) findViewById(R.id.btn_new_note);
+ // 给添加新笔记的按钮设置一个点击监听器,用来响应点击事件
mAddNewNote.setOnClickListener(this);
+ // 给添加新笔记的按钮设置一个触摸监听器,用来响应触摸事件
mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener());
+ // 初始化一个标志位,用来判断是否需要分发触摸事件
mDispatch = false;
+ // 用来记录分发触摸事件时的Y坐标
mDispatchY = 0;
+ // 用来记录触摸事件开始时的Y坐标
mOriginY = 0;
+ // 获取标题栏视图,用来显示标题
mTitleBar = (TextView) findViewById(R.id.tv_title_bar);
+ // 设置当前的列表编辑状态为普通状态
mState = ListEditState.NOTE_LIST;
+ // 创建一个模式回调对象,用来处理上下文菜单的操作
mModeCallBack = new ModeCallback();
}
+ // 用户长按列表视图的某一项时,弹出一个上下文菜单,让用户可以对选中的笔记进行一些操作
private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener {
private DropdownMenu mDropDownMenu;
private ActionMode mActionMode;
private MenuItem mMoveMenu;
-
+ // 用户长按一个笔记时触发的,用于创建一个操作模式(ActionMode),
+ // 在这个模式下,用户可以对笔记进行一些操作,比如删除或移动
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ //从资源文件中加载菜单项
getMenuInflater().inflate(R.menu.note_list_options, menu);
+ //找到删除菜单项,并设置点击监听器
menu.findItem(R.id.delete).setOnMenuItemClickListener(this);
+ //找到移动菜单项,并保存为一个成员变量
mMoveMenu = menu.findItem(R.id.move);
+ //判断当前笔记是否属于通话记录文件夹,或者用户没有创建任何自定义文件夹,
+ //如果是,则隐藏移动菜单项,否则显示移动菜单项,并设置点击监听器
if (mFocusNoteDataItem.getParentId() == Notes.ID_CALL_RECORD_FOLDER
|| DataUtils.getUserFolderCount(mContentResolver) == 0) {
mMoveMenu.setVisible(false);
@@ -247,17 +294,26 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
mMoveMenu.setVisible(true);
mMoveMenu.setOnMenuItemClickListener(this);
}
+ //保存操作模式为一个成员变量
mActionMode = mode;
+ //设置笔记列表适配器的选择模式为true,表示可以多选笔记
mNotesListAdapter.setChoiceMode(true);
+ //设置笔记列表视图的长按可点击属性为false,表示不再响应长按事件
mNotesListView.setLongClickable(false);
+ //隐藏添加新笔记的按钮
mAddNewNote.setVisibility(View.GONE);
+ //从布局文件中加载一个自定义视图,用于显示一个下拉菜单按钮
View customView = LayoutInflater.from(NotesListActivity.this).inflate(
R.layout.note_list_dropdown_menu, null);
+ //将自定义视图设置为操作模式的自定义视图
mode.setCustomView(customView);
+ //创建一个下拉菜单对象,绑定到自定义视图中的按钮,并从资源文件中加载下拉菜单项
mDropDownMenu = new DropdownMenu(NotesListActivity.this,
(Button) customView.findViewById(R.id.selection_menu),
R.menu.note_list_dropdown);
+ //设置下拉菜单的点击监听器,当用户点击下拉菜单项时,
+ // 根据当前的选择状态,全选或取消全选所有笔记,并更新菜单项的状态
mDropDownMenu.setOnDropdownMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){
public boolean onMenuItemClick(MenuItem item) {
mNotesListAdapter.selectAll(!mNotesListAdapter.isAllSelected());
@@ -266,62 +322,85 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
});
+ //返回true表示创建操作模式成功
return true;
}
+ // 用于更新菜单项的状态和标题,根据当前选择的笔记的数量和是否全选
private void updateMenu() {
+ //获取当前选择的笔记的数量
int selectedCount = mNotesListAdapter.getSelectedCount();
// Update dropdown menu
String format = getResources().getString(R.string.menu_select_title, selectedCount);
mDropDownMenu.setTitle(format);
+ //找到下拉菜单中的全选菜单项
MenuItem item = mDropDownMenu.findItem(R.id.action_select_all);
+ //如果当前已经全选了所有笔记,则设置全选菜单项为选中状态,并修改标题为取消全选
if (item != null) {
if (mNotesListAdapter.isAllSelected()) {
item.setChecked(true);
item.setTitle(R.string.menu_deselect_all);
} else {
+ //否则,设置全选菜单项为未选中状态,并修改标题为全选
item.setChecked(false);
item.setTitle(R.string.menu_select_all);
}
}
}
+ // 在操作模式准备显示之前调用,用于修改菜单项的状态或可见性,
+ // 返回true表示修改了菜单项,返回false表示没有修改
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}
+ // 在用户点击操作模式中的菜单项时调用,用于处理相应的逻辑,
+ // 返回true表示处理了点击事件,返回false表示没有处理
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
return false;
}
+ // 在操作模式结束时调用,用于恢复笔记列表的正常状态
public void onDestroyActionMode(ActionMode mode) {
+ //设置笔记列表适配器的选择模式为false,表示不再可以多选笔记
mNotesListAdapter.setChoiceMode(false);
+ //设置笔记列表视图的长按可点击属性为true,表示可以响应长按事件
mNotesListView.setLongClickable(true);
+ //显示添加新笔记的按钮
mAddNewNote.setVisibility(View.VISIBLE);
}
+ // 用于结束操作模式,调用操作模式的finish方法
public void finishActionMode() {
mActionMode.finish();
}
+ // 在用户改变某个笔记的选择状态时调用,用于更新笔记列表适配器和菜单项的状态
public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
boolean checked) {
+ //设置笔记列表适配器中指定位置的笔记的选择状态
mNotesListAdapter.setCheckedItem(position, checked);
+ //更新菜单项的状态和标题
updateMenu();
}
+ // 在用户点击操作模式中的菜单项时调用,用于处理相应的逻辑
public boolean onMenuItemClick(MenuItem item) {
+ //如果当前没有选择任何笔记,则弹出一个提示信息,并返回true表示处理了点击事件
if (mNotesListAdapter.getSelectedCount() == 0) {
Toast.makeText(NotesListActivity.this, getString(R.string.menu_select_none),
Toast.LENGTH_SHORT).show();
return true;
}
+ //根据菜单项的id,执行不同的操作
switch (item.getItemId()) {
case R.id.delete:
+ //创建一个对话框对象,用于提示用户是否确定删除所选笔记
AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
+ //设置对话框的标题、图标、消息和按钮
builder.setTitle(getString(R.string.alert_title_delete));
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setMessage(getString(R.string.alert_message_delete_notes,
@@ -330,10 +409,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
+ //如果用户点击确定按钮,则调用批量删除的方法
batchDelete();
}
});
builder.setNegativeButton(android.R.string.cancel, null);
+ //显示对话框
builder.show();
break;
case R.id.move:
@@ -346,19 +427,27 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 用于处理添加新笔记按钮的触摸事件
private class NewNoteOnTouchListener implements OnTouchListener {
-
+ // 用于处理触摸事件,参数v是被触摸的视图,参数event是触摸事件对象
public boolean onTouch(View v, MotionEvent event) {
+ //根据触摸事件的类型,执行不同的操作
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
+ //获取屏幕的显示对象
Display display = getWindowManager().getDefaultDisplay();
+ //获取屏幕的高度
int screenHeight = display.getHeight();
+ //获取添加新笔记按钮的高度
int newNoteViewHeight = mAddNewNote.getHeight();
+ //计算添加新笔记按钮的起始位置,即屏幕高度减去按钮高度
int start = screenHeight - newNoteViewHeight;
+ //计算触摸事件的y坐标,即按钮起始位置加上触摸事件相对于按钮的y坐标
int eventY = start + (int) event.getY();
/**
* Minus TitleBar's height
*/
+ //如果当前是子文件夹模式,则需要减去标题栏的高度,因为标题栏会遮挡部分按钮
if (mState == ListEditState.SUB_FOLDER) {
eventY -= mTitleBar.getHeight();
start -= mTitleBar.getHeight();
@@ -372,43 +461,63 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
* Notice that, if the background of the button changes, the formula should
* also change. This is very bad, just for the UI designer's strong requirement.
*/
+ // 如果触摸事件发生在屏幕的左上角
if (event.getY() < (event.getX() * (-0.12) + 94)) {
+ // 获取列表视图中最后一个可见的项目
View view = mNotesListView.getChildAt(mNotesListView.getChildCount() - 1
- mNotesListView.getFooterViewsCount());
+ // 如果项目不为空,并且它的底部在起始位置下方,它的顶部在起始位置加上94的上方
if (view != null && view.getBottom() > start
&& (view.getTop() < (start + 94))) {
+ // 保存触摸事件的原始y坐标
mOriginY = (int) event.getY();
+ // 设置分发y坐标为当前y坐标
mDispatchY = eventY;
+ // 设置触摸事件的位置为分发坐标
event.setLocation(event.getX(), mDispatchY);
+ // 设置一个标志,表示触摸事件应该被分发给列表视图
mDispatch = true;
+ // 将触摸事件分发给列表视图,并返回结果
return mNotesListView.dispatchTouchEvent(event);
}
}
break;
}
+ // 如果触摸事件是一个移动动作
case MotionEvent.ACTION_MOVE: {
+ // 如果标志设置为将触摸事件分发给列表视图
if (mDispatch) {
+ // 更新分发y坐标,加上当前y坐标和原始y坐标的差值
mDispatchY += (int) event.getY() - mOriginY;
+ // 设置触摸事件的位置为分发坐标
event.setLocation(event.getX(), mDispatchY);
+ // 将触摸事件分发给列表视图,并返回结果
return mNotesListView.dispatchTouchEvent(event);
}
break;
}
default: {
+ // 如果标志设置为将触摸事件分发给列表视图
if (mDispatch) {
+ // 设置触摸事件的位置为分发坐标
event.setLocation(event.getX(), mDispatchY);
+ // 重置标志为false
mDispatch = false;
+ // 将触摸事件分发给列表视图,并返回结果
return mNotesListView.dispatchTouchEvent(event);
}
break;
}
}
+ // 如果没有满足以上任何条件,返回false
return false;
}
};
+ // 用来异步查询笔记列表
private void startAsyncNotesListQuery() {
+ // 设置查询条件,如果当前文件夹的id是根文件夹的id,就用根文件夹的选择条件,否则用普通的选择条件
String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION
: NORMAL_SELECTION;
mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
@@ -417,21 +526,31 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
}
+ // 用来处理异步查询的结果
private final class BackgroundQueryHandler extends AsyncQueryHandler {
public BackgroundQueryHandler(ContentResolver contentResolver) {
+ // 调用父类的构造方法,传入内容解析器
super(contentResolver);
}
+ // 当查询完成时,这个方法会被调用,传入查询标识符,对象和游标
@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
+ // 根据查询标识符进行不同的处理
switch (token) {
+ // 如果是查询笔记列表的标识符
case FOLDER_NOTE_LIST_QUERY_TOKEN:
+ // 改变笔记列表适配器的游标,更新数据
mNotesListAdapter.changeCursor(cursor);
break;
+ // 如果是查询文件夹列表的标识符
case FOLDER_LIST_QUERY_TOKEN:
+ // 如果游标不为空,并且有数据
if (cursor != null && cursor.getCount() > 0) {
+ // 显示文件夹列表菜单,传入游标
showFolderListMenu(cursor);
} else {
+ // 否则,打印错误日志,表示查询文件夹
Log.e(TAG, "Query folder failed");
}
break;
@@ -441,13 +560,21 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 用来显示文件夹列表菜单
private void showFolderListMenu(Cursor cursor) {
+ // 创建一个对话框构建器,传入当前活动的上下文
AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
+ // 设置对话框的标题为选择文件夹
builder.setTitle(R.string.menu_title_select_folder);
+ // 创建一个文件夹列表适配器,传入当前活动和游标
final FoldersListAdapter adapter = new FoldersListAdapter(this, cursor);
+ // 设置对话框的适配器和点击监听器
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
+ // 当点击某个项目时,这个方法会被调用,传入对话框和项目的位置
public void onClick(DialogInterface dialog, int which) {
+ // 调用数据工具类的方法,批量将选中的笔记移动到点击的文件夹中,
+ // 传入内容解析器,选中的笔记的id和点击的文件夹的id
DataUtils.batchMoveToFolder(mContentResolver,
mNotesListAdapter.getSelectedItemIds(), adapter.getItemId(which));
Toast.makeText(
@@ -455,58 +582,85 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
getString(R.string.format_move_notes_to_folder,
mNotesListAdapter.getSelectedCount(),
adapter.getFolderName(NotesListActivity.this, which)),
+ // 显示一个短暂的提示信息,表示移动了多少个笔记到哪个文件夹
Toast.LENGTH_SHORT).show();
+ // 结束操作模式,取消选择
mModeCallBack.finishActionMode();
}
});
+ // 显示对话框
builder.show();
}
+ // 用来创建一个新的笔记
private void createNewNote() {
+ // 创建一个意图,传入当前活动和笔记编辑活动的类对象
Intent intent = new Intent(this, NoteEditActivity.class);
+ // 设置意图的动作为插入或编辑
intent.setAction(Intent.ACTION_INSERT_OR_EDIT);
+ // 将当前文件夹的id作为额外数据放入意图中
intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mCurrentFolderId);
+ // 启动一个新的活动,并期望返回结果,传入意图和请求码
this.startActivityForResult(intent, REQUEST_CODE_NEW_NODE);
}
+ // 用来批量删除笔记
private void batchDelete() {
+ // 创建一个异步任务,传入空参数,空进度和小部件属性的集合
new AsyncTask>() {
+ // 在后台线程执行的方法,传入空参数
protected HashSet doInBackground(Void... unused) {
+ // 获取选中的小部件的属性集合
HashSet widgets = mNotesListAdapter.getSelectedWidget();
+ // 如果不是同步模式
if (!isSyncMode()) {
// if not synced, delete notes directly
+ // 调用数据工具类的方法,直接删除选中的笔记,传入内容解析器和选中的笔记的id
if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter
.getSelectedItemIds())) {
} else {
+ // 否则,打印错误日志,表示删除笔记出错,不应该发生
Log.e(TAG, "Delete notes error, should not happens");
}
} else {
// in sync mode, we'll move the deleted note into the trash
// folder
+ // 如果是同步模式,调用数据工具类的方法,将选中的笔记移动到回收站文件夹中,
+ // 传入内容解析器,选中的笔记的id和回收站文件夹的id
if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter
.getSelectedItemIds(), Notes.ID_TRASH_FOLER)) {
+ // 如果失败,打印错误日志,表示移动笔记到回收站文件夹出错,不应该发生
Log.e(TAG, "Move notes to trash folder error, should not happens");
}
}
+ // 返回小部件属性集合
return widgets;
}
+ // 在主线程执行的方法,传入小部件属性集合
@Override
protected void onPostExecute(HashSet widgets) {
+ // 如果小部件属性集合不为空
if (widgets != null) {
+ // 遍历每个小部件属性
for (AppWidgetAttribute widget : widgets) {
+ // 如果小部件的id和类型都有效
if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID
&& widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) {
+ // 更新小部件,传入小部件的id和类型
updateWidget(widget.widgetId, widget.widgetType);
}
}
}
+ // 结束操作模式,取消选择
mModeCallBack.finishActionMode();
}
- }.execute();
+ }.execute(); // 执行异步任务
}
+ // 用于删除文件夹
private void deleteFolder(long folderId) {
+ // 如果文件夹id是根文件夹的id,打印错误信息并返回
if (folderId == Notes.ID_ROOT_FOLDER) {
Log.e(TAG, "Wrong folder id, should not happen " + folderId);
return;
@@ -514,6 +668,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
HashSet ids = new HashSet();
ids.add(folderId);
+ // 获取文件夹中的笔记小部件
HashSet widgets = DataUtils.getFolderNoteWidget(mContentResolver,
folderId);
if (!isSyncMode()) {
@@ -525,6 +680,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
if (widgets != null) {
for (AppWidgetAttribute widget : widgets) {
+ // 如果小部件id和类型有效,更新小部件
if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID
&& widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) {
updateWidget(widget.widgetId, widget.widgetType);
@@ -533,32 +689,44 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 打开一个笔记
private void openNode(NoteItemData data) {
Intent intent = new Intent(this, NoteEditActivity.class);
intent.setAction(Intent.ACTION_VIEW);
+ // 传递笔记的id作为额外参数
intent.putExtra(Intent.EXTRA_UID, data.getId());
+ // 启动笔记编辑活动,并期待返回结果
this.startActivityForResult(intent, REQUEST_CODE_OPEN_NODE);
}
+ // 打开一个文件夹,并显示其中的笔记列表
private void openFolder(NoteItemData data) {
+ // 设置当前文件夹的id
mCurrentFolderId = data.getId();
+ // 异步查询笔记列表
startAsyncNotesListQuery();
+ // 判断文件夹的类型,设置状态和视图
if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) {
+ // 如果是通话记录文件夹,设置状态为CALL_RECORD_FOLDER,并隐藏新建笔记按钮
mState = ListEditState.CALL_RECORD_FOLDER;
mAddNewNote.setVisibility(View.GONE);
} else {
+ // 如果是其他文件夹,设置状态为SUB_FOLDER
mState = ListEditState.SUB_FOLDER;
}
+ // 设置标题栏的文本,如果是通话记录文件夹,显示固定的字符串,否则显示文件夹的名称
if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) {
mTitleBar.setText(R.string.call_record_folder_name);
} else {
mTitleBar.setText(data.getSnippet());
}
+ // 显示标题栏
mTitleBar.setVisibility(View.VISIBLE);
}
-
+ // 处理点击事件
public void onClick(View v) {
switch (v.getId()) {
+ // 如果点击的是新建笔记按钮,调用createNewNote方法
case R.id.btn_new_note:
createNewNote();
break;
@@ -567,89 +735,134 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 显示软键盘
private void showSoftInput() {
+ // 获取输入法管理器对象
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
+ // 强制显示软键盘
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
}
+ // 隐藏软键盘
private void hideSoftInput(View view) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
+ //定义一个方法,根据参数create来显示创建或修改文件夹的对话框
private void showCreateOrModifyFolderDialog(final boolean create) {
+ //创建一个AlertDialog.Builder对象,用于构建对话框
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ // 从布局文件中加载一个View对象,用于显示对话框的内容
View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null);
+ //从View对象中获取一个EditText对象,用于输入文件夹的名称
final EditText etName = (EditText) view.findViewById(R.id.et_foler_name);
showSoftInput();
+ //判断create参数是否为false,如果是,表示要修改文件夹的名称
if (!create) {
+ //判断mFocusNoteDataItem是否不为空,如果是,表示有选中的文件夹
if (mFocusNoteDataItem != null) {
+ //设置EditText对象的文本为选中文件夹的名称
etName.setText(mFocusNoteDataItem.getSnippet());
+ //设置对话框的标题为“修改文件夹名称”
builder.setTitle(getString(R.string.menu_folder_change_name));
} else {
+ //否则,打印一条错误日志,并返回
Log.e(TAG, "The long click data item is null");
return;
}
} else {
+ //否则,表示要创建文件夹
+ //设置EditText对象的文本为空
etName.setText("");
+ //设置对话框的标题为“新文件夹”
builder.setTitle(this.getString(R.string.menu_create_folder));
}
+ //设置对话框的确定按钮,点击后不做任何操作(需要在后面重写点击事件)
builder.setPositiveButton(android.R.string.ok, null);
+ //设置对话框的取消按钮,点击后调用一个方法,隐藏软键盘,并传入EditText对象作为参数
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
hideSoftInput(etName);
}
});
+ // 设置对话框的视图,并显示
final Dialog dialog = builder.setView(view).show();
+ // 根据ID找到正面按钮,然后将其转换为Button类型
final Button positive = (Button)dialog.findViewById(android.R.id.button1);
+ // 设置positive按钮的点击事件
positive.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
+ // 隐藏软键盘
hideSoftInput(etName);
+ // 获取输入框中的文件夹名
String name = etName.getText().toString();
+ // 检查文件夹名是否已存在
if (DataUtils.checkVisibleFolderName(mContentResolver, name)) {
+ // 如果已存在,弹出提示信息
Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name),
Toast.LENGTH_LONG).show();
+ // 选中输入框中的所有文本
etName.setSelection(0, etName.length());
+ // 返回,不执行后续操作
return;
}
+ // 如果不是创建模式,而是修改模式
if (!create) {
+ // 如果输入框中有内容
if (!TextUtils.isEmpty(name)) {
+ // 创建一个ContentValues对象,用于存放更新的数据
ContentValues values = new ContentValues();
+ // 将文件夹名作为便签片段存入values
values.put(NoteColumns.SNIPPET, name);
+ // 将便签类型设为文件夹类型存入values
values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER);
+ // 将本地修改标志设为1存入values
values.put(NoteColumns.LOCAL_MODIFIED, 1);
+ // 根据便签ID更新数据库中的数据
mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID
+ "=?", new String[] {
String.valueOf(mFocusNoteDataItem.getId())
});
}
} else if (!TextUtils.isEmpty(name)) {
+ // 如果是创建模式,并且输入框中有内容
+ // 创建一个ContentValues对象,用于存放插入的数据
ContentValues values = new ContentValues();
+ // 将文件夹名作为便签片段存入values
values.put(NoteColumns.SNIPPET, name);
+ // 将便签类型设为文件夹类型存入values
values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER);
+ // 插入一条新的数据到数据库中
mContentResolver.insert(Notes.CONTENT_NOTE_URI, values);
}
+ // 关闭对话框
dialog.dismiss();
}
});
+ // 如果输入框中没有内容,禁用positive按钮
if (TextUtils.isEmpty(etName.getText())) {
positive.setEnabled(false);
}
/**
* When the name edit text is null, disable the positive button
*/
+ // 为输入框添加文本变化的监听器
etName.addTextChangedListener(new TextWatcher() {
+ // 在文本变化之前的回调方法
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
+ // 在文本变化之前的回调方法
public void onTextChanged(CharSequence s, int start, int before, int count) {
+ // 如果输入框中没有内容,禁用positive按钮
if (TextUtils.isEmpty(etName.getText())) {
positive.setEnabled(false);
} else {
@@ -657,6 +870,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 在文本变化之后的回调方法
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
@@ -664,23 +878,32 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
});
}
+ // 当用户按下返回键时执行
@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:
@@ -688,29 +911,42 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
+ // 用来更新小部件
private void updateWidget(int appWidgetId, int appWidgetType) {
+ //创建一个更新小部件的意图
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
if (appWidgetType == Notes.TYPE_WIDGET_2X) {
+ //如果小部件类型是2x,那么设置意图的类为NoteWidgetProvider_2x
intent.setClass(this, NoteWidgetProvider_2x.class);
} else if (appWidgetType == Notes.TYPE_WIDGET_4X) {
+ //如果小部件类型是4x,那么设置意图的类为NoteWidgetProvider_4x
intent.setClass(this, NoteWidgetProvider_4x.class);
} else {
+ //如果小部件类型不支持,那么打印错误日志并返回
Log.e(TAG, "Unspported widget type");
return;
}
+ //将小部件的id放入意图中
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {
appWidgetId
});
+ //发送广播更新小部件
sendBroadcast(intent);
+ //设置结果为成功,并将意图返回给调用者
setResult(RESULT_OK, intent);
}
+ // 定义一个私有的最终变量,用于创建上下文菜单的监听器
private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() {
+ // 重写onCreateContextMenu方法,用于在长按文件夹时弹出菜单
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
+ // 如果当前聚焦的笔记数据项不为空
if (mFocusNoteDataItem != null) {
+ // 设置菜单的标题为笔记的摘要
menu.setHeaderTitle(mFocusNoteDataItem.getSnippet());
+ // 添加菜单项,分别为查看文件夹、删除文件夹和修改文件夹名称,指定id和顺序
menu.add(0, MENU_FOLDER_VIEW, 0, R.string.menu_folder_view);
menu.add(0, MENU_FOLDER_DELETE, 0, R.string.menu_folder_delete);
menu.add(0, MENU_FOLDER_CHANGE_NAME, 0, R.string.menu_folder_change_name);
@@ -718,38 +954,53 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
};
+ //当上下文菜单关闭时,执行以下操作
@Override
public void onContextMenuClosed(Menu menu) {
+ //如果笔记列表视图不为空,就取消设置上下文菜单监听器
if (mNotesListView != null) {
mNotesListView.setOnCreateContextMenuListener(null);
}
+ //调用父类的方法
super.onContextMenuClosed(menu);
}
+ //当上下文菜单中的某一项被选择时,执行以下操作
@Override
public boolean onContextItemSelected(MenuItem item) {
+ //如果长按的数据项为空,就打印错误日志并返回false
if (mFocusNoteDataItem == null) {
Log.e(TAG, "The long click data item is null");
return false;
}
+ //根据选择的菜单项的id,执行不同的操作
switch (item.getItemId()) {
+ //如果选择了查看文件夹,就打开对应的文件夹
case MENU_FOLDER_VIEW:
openFolder(mFocusNoteDataItem);
break;
+ //如果选择了删除文件夹,就弹出一个对话框,询问用户是否确定删除
case MENU_FOLDER_DELETE:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ //设置对话框的标题
builder.setTitle(getString(R.string.alert_title_delete));
+ //设置对话框的图标
builder.setIcon(android.R.drawable.ic_dialog_alert);
+ //设置对话框的内容
builder.setMessage(getString(R.string.alert_message_delete_folder));
+ //设置对话框的确定按钮和点击事件
builder.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
+ //删除文件夹
deleteFolder(mFocusNoteDataItem.getId());
}
});
+ //设置对话框的取消按钮和点击事件
builder.setNegativeButton(android.R.string.cancel, null);
- builder.show();
+ builder.show();//显示对话框
break;
+ //如果选择了修改文件夹名称,就显示一个创建或修改文件夹的对话框
case MENU_FOLDER_CHANGE_NAME:
showCreateOrModifyFolderDialog(false);
break;
@@ -757,103 +1008,158 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
break;
}
+ //返回true表示处理了上下文菜单事件
return true;
}
+ // 重写onPrepareOptionsMenu方法,用于在准备选项菜单时根据不同的状态显示不同的菜单
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
+ // 清空菜单
menu.clear();
+ // 如果当前状态是笔记列表
if (mState == ListEditState.NOTE_LIST) {
+ // 从note_list.xml文件中加载菜单项
getMenuInflater().inflate(R.menu.note_list, menu);
// set sync or sync_cancel
menu.findItem(R.id.menu_sync).setTitle(
GTaskSyncService.isSyncing() ? R.string.menu_sync_cancel : R.string.menu_sync);
} else if (mState == ListEditState.SUB_FOLDER) {
+ // 如果当前状态是子文件夹
+ // 从sub_folder.xml文件中加载菜单项
getMenuInflater().inflate(R.menu.sub_folder, menu);
} else if (mState == ListEditState.CALL_RECORD_FOLDER) {
+ // 如果当前状态是通话记录文件夹
+ // 从call_record_folder.xml文件中加载菜单项
getMenuInflater().inflate(R.menu.call_record_folder, menu);
} else {
+ // 如果当前状态不属于以上任何一种
+ // 打印错误日志,显示错误的状态
Log.e(TAG, "Wrong state:" + mState);
}
+ // 返回true表示显示菜单
return true;
}
+ // 重写onOptionsItemSelected方法,用于处理选项菜单的点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
+ // 根据菜单项的id进行分支判断
switch (item.getItemId()) {
+ // 如果点击了新建文件夹菜单项
case R.id.menu_new_folder: {
+ // 显示创建或修改文件夹的对话框,传入true表示是创建模式
showCreateOrModifyFolderDialog(true);
break;
}
+ // 如果点击了导出文本菜单项
case R.id.menu_export_text: {
+ // 调用导出笔记到文本的方法
exportNoteToText();
break;
}
+ // 如果点击了同步菜单项
case R.id.menu_sync: {
+ // 如果当前是同步模式
if (isSyncMode()) {
+ // 如果菜单项的标题是同步
if (TextUtils.equals(item.getTitle(), getString(R.string.menu_sync))) {
+ // 调用GTaskSyncService的startSync方法,开始同步
GTaskSyncService.startSync(this);
} else {
+ // 如果菜单项的标题是取消同步
+ // 调用GTaskSyncService的cancelSync方法,取消同步
GTaskSyncService.cancelSync(this);
}
} else {
+ // 如果当前不是同步模式
+ // 调用启动偏好设置活动的方法
startPreferenceActivity();
}
break;
}
case R.id.menu_setting: {
+ // 如果点击了设置菜单项
+ // 调用启动偏好设置活动的方法
startPreferenceActivity();
break;
}
case R.id.menu_new_note: {
+ // 如果点击了新建笔记菜单项
+ // 调用创建新笔记的方法
createNewNote();
break;
}
case R.id.menu_search:
+ // 如果点击了搜索菜单项
+ // 调用onSearchRequested方法,启动搜索界面
onSearchRequested();
break;
default:
break;
}
+ // 返回true表示处理了菜单项的点击事件
return true;
}
+ // 用于启动搜索界面
@Override
public boolean onSearchRequested() {
+ // 调用startSearch方法,传入null表示不指定搜索的初始值,
+ // false表示不显示搜索提示,null表示不传递额外的数据,false表示不使用全局搜索
startSearch(null, false, null /* appData */, false);
+ // 返回true表示处理了搜索请求
return true;
}
+ // 用于到处笔记到文本文件
private void exportNoteToText() {
+ // 获取一个BackupUtils的实例,传入当前活动的上下文
final BackupUtils backup = BackupUtils.getInstance(NotesListActivity.this);
+ // 创建一个异步任务,用于在后台线程执行导出操作
new AsyncTask() {
+ // 重写doInBackground方法,用于执行导出操作,并返回一个整数表示导出的结果
@Override
protected Integer doInBackground(Void... unused) {
return backup.exportToText();
}
+ // 重写onPostExecute方法,用于在主线程处理导出的结果
@Override
protected void onPostExecute(Integer result) {
+ // 如果导出的结果是SD卡未挂载
if (result == BackupUtils.STATE_SD_CARD_UNMOUONTED) {
+ // 创建一个对话框构造器,传入当前活动的上下文
AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
+ // 设置对话框的标题为导出失败
builder.setTitle(NotesListActivity.this
.getString(R.string.failed_sdcard_export));
+ // 设置对话框的内容为SD卡未挂载的错误信息
builder.setMessage(NotesListActivity.this
.getString(R.string.error_sdcard_unmounted));
+ // 设置对话框的确定按钮,不指定点击事件
builder.setPositiveButton(android.R.string.ok, null);
- builder.show();
+ builder.show();// 显示对话框
} else if (result == BackupUtils.STATE_SUCCESS) {
+ // 如果导出的结果是成功
+ // 创建一个对话框构造器,传入当前活动的上下文
AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
+ // 设置对话框的标题为导出成功
builder.setTitle(NotesListActivity.this
.getString(R.string.success_sdcard_export));
+ // 设置对话框的内容为导出文件的名称和位置
builder.setMessage(NotesListActivity.this.getString(
R.string.format_exported_file_location, backup
.getExportedTextFileName(), backup.getExportedTextFileDir()));
+ // 设置对话框的确定按钮,不指定点击事件
builder.setPositiveButton(android.R.string.ok, null);
builder.show();
} else if (result == BackupUtils.STATE_SYSTEM_ERROR) {
+ // 如果导出的结果是系统错误
+ // 创建一个对话框构造器,传入当前活动的上下文
AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
+ // 设置对话框的标题为导出失败
builder.setTitle(NotesListActivity.this
.getString(R.string.failed_sdcard_export));
builder.setMessage(NotesListActivity.this
@@ -863,49 +1169,79 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
- }.execute();
+ }.execute();// 调用execute方法,启动异步任务
}
+ // 用于判断是否是同步模式
private boolean isSyncMode() {
+ // 调用NotesPreferenceActivity的getSyncAccountName方法,获取同步账户的名称,并去除两端的空格,
+ // 如果长度大于0,说明有同步账户,返回true,否则返回false
return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
}
+ // 用于启动偏好设置活动
private void startPreferenceActivity() {
+ // 获取当前活动的父活动,如果没有父活动,则使用当前活动
Activity from = getParent() != null ? getParent() : this;
+ // 创建一个意图对象,指定从当前活动或父活动跳转到NotesPreferenceActivity
Intent intent = new Intent(from, NotesPreferenceActivity.class);
+ // 传入意图对象和-1表示不指定请求码,如果需要则启动活动
from.startActivityIfNeeded(intent, -1);
}
+ // 用于处理列表项的点击事件
private class OnListItemClickListener implements OnItemClickListener {
+ // 重写onItemClick方法,传入父视图,点击的视图,点击的位置和点击的id
public void onItemClick(AdapterView> parent, View view, int position, long id) {
if (view instanceof NotesListItem) {
+ // 获取该视图对应的笔记数据项
NoteItemData item = ((NotesListItem) view).getItemData();
+ // 如果笔记列表适配器处于选择模式
if (mNotesListAdapter.isInChoiceMode()) {
+ // 如果笔记数据项的类型是普通笔记
if (item.getType() == Notes.TYPE_NOTE) {
+ // 计算点击的位置,减去列表视图的头部视图数
position = position - mNotesListView.getHeaderViewsCount();
+ // 调用模式回调的onItemCheckedStateChanged方法,
+ // 传入null表示不指定操作模式,传入位置和id,以及取反后的选择状态,
+ // 用于改变列表项的选择状态
mModeCallBack.onItemCheckedStateChanged(null, position, id,
!mNotesListAdapter.isSelectedItem(position));
}
return;
}
+ // 根据当前状态进行分支判断
switch (mState) {
+ // 如果当前状态是笔记列表
case NOTE_LIST:
+ // 如果笔记数据项的类型是文件夹或系统文件夹
if (item.getType() == Notes.TYPE_FOLDER
|| item.getType() == Notes.TYPE_SYSTEM) {
+ // 调用打开文件夹的方法,传入笔记数据项
openFolder(item);
} else if (item.getType() == Notes.TYPE_NOTE) {
+ // 如果笔记数据项的类型是普通笔记
+ // 调用打开笔记的方法,传入笔记数据项
openNode(item);
} else {
+ // 如果笔记数据项的类型不属于以上任何一种
+ // 打印错误日志,显示错误的笔记类型
Log.e(TAG, "Wrong note type in NOTE_LIST");
}
break;
+ // 如果当前状态是子文件夹
case SUB_FOLDER:
+ // 或者当前状态是通话记录文件夹
case CALL_RECORD_FOLDER:
if (item.getType() == Notes.TYPE_NOTE) {
+ // 如果笔记数据项的类型是普通笔记
+ // 调用打开笔记的方法,传入笔记数据项
openNode(item);
} else {
+ // 如果笔记数据项的类型不是普通笔记
+ // 打印错误日志,显示错误的笔记类型
Log.e(TAG, "Wrong note type in SUB_FOLDER");
}
break;
@@ -917,11 +1253,18 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
+ // 用于启动查询目标文件夹的操作
private void startQueryDestinationFolders() {
+ // 用于存储查询条件,表示笔记的类型是文件夹,且父id不是回收站文件夹,且id不是当前文件夹
String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?";
+
+ // 如果当前状态是笔记列表,不改变查询条件,
+ // 否则在查询条件的基础上增加一个或条件,表示id等于根文件夹
selection = (mState == ListEditState.NOTE_LIST) ? selection:
"(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")";
+ // 调用后台查询处理器的startQuery方法,传入文件夹列表查询标记,
+ // null表示不指定cookie对象,笔记内容的uri,文件夹列表适配器的投影数组,查询条件和参数数组,以及按修改日期降序排序
mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN,
null,
Notes.CONTENT_NOTE_URI,
@@ -935,20 +1278,33 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
NoteColumns.MODIFIED_DATE + " DESC");
}
+ // 用于处理列表项的长按事件,传入父视图,长按的视图,长按的位置和长按的id
public boolean onItemLongClick(AdapterView> parent, View view, int position, long id) {
+ // 如果长按的视图是一个NotesListItem
if (view instanceof NotesListItem) {
+ // 获取该视图对应的笔记数据项,并赋值给mFocusNoteDataItem变量
mFocusNoteDataItem = ((NotesListItem) view).getItemData();
+ // 如果笔记数据项的类型是普通笔记,并且笔记列表适配器不处于选择模式
if (mFocusNoteDataItem.getType() == Notes.TYPE_NOTE && !mNotesListAdapter.isInChoiceMode()) {
+ // 如果调用列表视图的startActionMode方法,并传入模式回调对象,返回不为空
if (mNotesListView.startActionMode(mModeCallBack) != null) {
+ // 传入null表示不指定操作模式,传入位置和id,以及true表示选中该列表项
mModeCallBack.onItemCheckedStateChanged(null, position, id, true);
+ // 传入长按常量,表示触发触觉反馈
mNotesListView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
} else {
+ // 如果调用列表视图的startActionMode方法失败
+ // 打印错误日志,显示启动操作模式失败
Log.e(TAG, "startActionMode fails");
}
} else if (mFocusNoteDataItem.getType() == Notes.TYPE_FOLDER) {
+ // 如果笔记数据项的类型是文件夹
+ // 调用列表视图的setOnCreateContextMenuListener方法,
+ // 并传入文件夹创建上下文菜单监听器对象,表示设置该监听器为创建上下文菜单的监听器
mNotesListView.setOnCreateContextMenuListener(mFolderOnCreateContextMenuListener);
}
}
+ // 返回false表示不消费长按事件
return false;
}
}
diff --git a/src/ui/NotesListAdapter.java b/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java
similarity index 90%
rename from src/ui/NotesListAdapter.java
rename to app/src/main/java/net/micode/notes/ui/NotesListAdapter.java
index 51c9cb9..af6f2fd 100644
--- a/src/ui/NotesListAdapter.java
+++ b/app/src/main/java/net/micode/notes/ui/NotesListAdapter.java
@@ -31,6 +31,7 @@ import java.util.HashSet;
import java.util.Iterator;
+// 用于创建笔记应用的列表适配器
public class NotesListAdapter extends CursorAdapter {
private static final String TAG = "NotesListAdapter";
private Context mContext;
@@ -55,6 +56,7 @@ public class NotesListAdapter extends CursorAdapter {
return new NotesListItem(context);
}
+ // 用于绑定视图和数据
@Override
public void bindView(View view, Context context, Cursor cursor) {
if (view instanceof NotesListItem) {
@@ -64,20 +66,24 @@ public class NotesListAdapter extends CursorAdapter {
}
}
+ // 设置勾选框,并更新视图
public void setCheckedItem(final int position, final boolean checked) {
mSelectedIndex.put(position, checked);
notifyDataSetChanged();
}
+ // 判断单选按钮是否勾选
public boolean isInChoiceMode() {
return mChoiceMode;
}
+ // 设置单项选项框
public void setChoiceMode(boolean mode) {
mSelectedIndex.clear();
mChoiceMode = mode;
}
+ // 根据参数checked,选择或取消选择所有的便签项
public void selectAll(boolean checked) {
Cursor cursor = getCursor();
for (int i = 0; i < getCount(); i++) {
@@ -89,6 +95,7 @@ public class NotesListAdapter extends CursorAdapter {
}
}
+ // 获取所有选中的项的id
public HashSet getSelectedItemIds() {
HashSet itemSet = new HashSet();
for (Integer position : mSelectedIndex.keySet()) {
@@ -105,6 +112,7 @@ public class NotesListAdapter extends CursorAdapter {
return itemSet;
}
+ // 获取所有选中的项的小部件属性
public HashSet getSelectedWidget() {
HashSet itemSet = new HashSet();
for (Integer position : mSelectedIndex.keySet()) {
@@ -128,6 +136,7 @@ public class NotesListAdapter extends CursorAdapter {
return itemSet;
}
+ // 获取选中的项的数量,并返回一个整数。
public int getSelectedCount() {
Collection values = mSelectedIndex.values();
if (null == values) {
@@ -143,11 +152,13 @@ public class NotesListAdapter extends CursorAdapter {
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;
@@ -155,18 +166,21 @@ public class NotesListAdapter extends CursorAdapter {
return mSelectedIndex.get(position);
}
+ // 内容发生变化时,重新计算便签数量
@Override
protected void onContentChanged() {
super.onContentChanged();
calcNotesCount();
}
+ // 光标发生变动时,回调该函数计算便签数量
@Override
public void changeCursor(Cursor cursor) {
super.changeCursor(cursor);
calcNotesCount();
}
+ // 计算便签数量
private void calcNotesCount() {
mNotesCount = 0;
for (int i = 0; i < getCount(); i++) {
diff --git a/src/ui/NotesListItem.java b/app/src/main/java/net/micode/notes/ui/NotesListItem.java
similarity index 91%
rename from src/ui/NotesListItem.java
rename to app/src/main/java/net/micode/notes/ui/NotesListItem.java
index 1221e80..dad78e7 100644
--- a/src/ui/NotesListItem.java
+++ b/app/src/main/java/net/micode/notes/ui/NotesListItem.java
@@ -30,6 +30,7 @@ import net.micode.notes.tool.DataUtils;
import net.micode.notes.tool.ResourceParser.NoteItemBgResources;
+//创建便签列表项目选项
public class NotesListItem extends LinearLayout {
private ImageView mAlert;
private TextView mTitle;
@@ -38,6 +39,7 @@ public class NotesListItem extends LinearLayout {
private NoteItemData mItemData;
private CheckBox mCheckBox;
+
public NotesListItem(Context context) {
super(context);
inflate(context, R.layout.note_item, this);
@@ -48,15 +50,20 @@ public class NotesListItem extends LinearLayout {
mCheckBox = (CheckBox) findViewById(android.R.id.checkbox);
}
+ // 绑定数据和视图
public void bind(Context context, NoteItemData data, boolean choiceMode, boolean checked) {
+ // 如果是多选模式并且数据是便签类型,就将复选框设置为可见
+ // 让用户可以在多选模式下选择或取消选择便签项
if (choiceMode && data.getType() == Notes.TYPE_NOTE) {
mCheckBox.setVisibility(View.VISIBLE);
+ // 设置是否选中
mCheckBox.setChecked(checked);
} else {
mCheckBox.setVisibility(View.GONE);
}
mItemData = data;
+ // 根据数据的id和父id,设置不同的标题,时间,图标和呼叫名
if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) {
mCallName.setVisibility(View.GONE);
mAlert.setVisibility(View.VISIBLE);
@@ -99,6 +106,7 @@ public class NotesListItem extends LinearLayout {
setBackground(data);
}
+ // 根据传入的数据设置背景颜色
private void setBackground(NoteItemData data) {
int id = data.getBgColorId();
if (data.getType() == Notes.TYPE_NOTE) {
@@ -116,6 +124,7 @@ public class NotesListItem extends LinearLayout {
}
}
+ // 获取视图板顶的数据对象
public NoteItemData getItemData() {
return mItemData;
}
diff --git a/src/ui/NotesPreferenceActivity.java b/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
similarity index 92%
rename from src/ui/NotesPreferenceActivity.java
rename to app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
index 07c5f7e..5134c10 100644
--- a/src/ui/NotesPreferenceActivity.java
+++ b/app/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
@@ -69,6 +69,7 @@ public class NotesPreferenceActivity extends PreferenceActivity {
private boolean mHasAddedAccount;
+ // 在活动创建时执行一些初始化操作
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -76,6 +77,7 @@ public class NotesPreferenceActivity extends PreferenceActivity {
/* using the app icon for navigation */
getActionBar().setDisplayHomeAsUpEnabled(true);
+ // 从xml文件中加载活动的偏好设置
addPreferencesFromResource(R.xml.preferences);
mAccountCategory = (PreferenceCategory) findPreference(PREFERENCE_SYNC_ACCOUNT_KEY);
mReceiver = new GTaskReceiver();
@@ -84,7 +86,9 @@ public class NotesPreferenceActivity extends PreferenceActivity {
registerReceiver(mReceiver, filter);
mOriAccounts = null;
+ // 从xml文件中加载了一个视图,并赋值给header这个局部变量
View header = LayoutInflater.from(this).inflate(R.layout.settings_header, null);
+ // 将这个视图添加到列表的头部
getListView().addHeaderView(header, null, true);
}
@@ -112,10 +116,11 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}
}
}
-
+ // 刷新用户界面
refreshUI();
}
+ // 在活动销毁时执行一些清理操作
@Override
protected void onDestroy() {
if (mReceiver != null) {
@@ -124,6 +129,7 @@ public class NotesPreferenceActivity extends PreferenceActivity {
super.onDestroy();
}
+ // 加载账户相关的偏好设置
private void loadAccountPreference() {
mAccountCategory.removeAll();
@@ -154,6 +160,7 @@ public class NotesPreferenceActivity extends PreferenceActivity {
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);
@@ -193,29 +200,35 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}
}
+ // 刷新界面
private void refreshUI() {
loadAccountPreference();
loadSyncButton();
}
+ // 显示账户选择的对话框并进行账户的设置
private void showSelectAccountAlertDialog() {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
+ // 设置标题以及子标题内容
View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null);
TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title);
titleTextView.setText(getString(R.string.preferences_dialog_select_account_title));
TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle);
subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips));
+ // 设置对话框的自定义标题
dialogBuilder.setCustomTitle(titleView);
dialogBuilder.setPositiveButton(null, null);
+ // 获取同步账户信息
Account[] accounts = getGoogleAccounts();
String defAccount = getSyncAccountName(this);
mOriAccounts = accounts;
mHasAddedAccount = false;
+ // 如果账户不为空
if (accounts.length > 0) {
CharSequence[] items = new CharSequence[accounts.length];
final CharSequence[] itemMapping = items;
@@ -227,8 +240,10 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}
items[index++] = account.name;
}
+ // 在对话框建立一个单选的复选框
dialogBuilder.setSingleChoiceItems(items, checkedItem,
new DialogInterface.OnClickListener() {
+ //设置点击后执行的事件,包括检录新同步账户和刷新标签界面
public void onClick(DialogInterface dialog, int which) {
setSyncAccount(itemMapping[which].toString());
dialog.dismiss();
@@ -254,15 +269,18 @@ public class NotesPreferenceActivity extends PreferenceActivity {
});
}
+ // 显示一个更改账户的确认对话框
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[] {
@@ -283,11 +301,13 @@ public class NotesPreferenceActivity extends PreferenceActivity {
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);
@@ -318,6 +338,7 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}
}
+ // 删除同步账户
private void removeSyncAccount() {
SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
@@ -340,12 +361,14 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}).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);
@@ -354,12 +377,14 @@ public class NotesPreferenceActivity extends PreferenceActivity {
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);
}
+ // 接收同步状态和信息
private class GTaskReceiver extends BroadcastReceiver {
@Override
@@ -374,6 +399,7 @@ public class NotesPreferenceActivity extends PreferenceActivity {
}
}
+ // 处理菜单选项
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
diff --git a/src/widget/NoteWidgetProvider.java b/app/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java
similarity index 76%
rename from src/widget/NoteWidgetProvider.java
rename to app/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java
index ec6f819..4661c89 100644
--- a/src/widget/NoteWidgetProvider.java
+++ b/app/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java
@@ -37,33 +37,33 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
NoteColumns.ID,
NoteColumns.BG_COLOR_ID,
NoteColumns.SNIPPET
- };
+ };//定义字符串数组PROJECTION,包含IDB G_COLOR_ID SNIPPET三个元素
public static final int COLUMN_ID = 0;
public static final int COLUMN_BG_COLOR_ID = 1;
- public static final int COLUMN_SNIPPET = 2;
+ public static final int COLUMN_SNIPPET = 2;//定义三个元素初始量
private static final String TAG = "NoteWidgetProvider";
@Override
- public void onDeleted(Context context, int[] appWidgetIds) {
+ public void onDeleted(Context context, int[] appWidgetIds) {//创建一个ContentValues对象values存储键值对数据
ContentValues values = new ContentValues();
- values.put(NoteColumns.WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
+ values.put(NoteColumns.WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);//将无效小部件id存储ContentValues中
for (int i = 0; i < appWidgetIds.length; i++) {
context.getContentResolver().update(Notes.CONTENT_NOTE_URI,
values,
NoteColumns.WIDGET_ID + "=?",
- new String[] { String.valueOf(appWidgetIds[i])});
+ new String[] { String.valueOf(appWidgetIds[i])});//通过getcontent函数获取程序contentValues对象,用update方法更新
}
}
private Cursor getNoteWidgetInfo(Context context, int widgetId) {
return context.getContentResolver().query(Notes.CONTENT_NOTE_URI,
- PROJECTION,
+ PROJECTION,//获取ContentResovler对象,并用querty方法查询数据·
NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?",
new String[] { String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER) },
null);
- }
+ }//null表示默认排序方式
protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
update(context, appWidgetManager, appWidgetIds, false);
@@ -71,12 +71,12 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds,
boolean privacyMode) {
- for (int i = 0; i < appWidgetIds.length; i++) {
+ for (int i = 0; i < appWidgetIds.length; i++) {//判断当前小部件id是否合法,若合法才可进行操作
if (appWidgetIds[i] != AppWidgetManager.INVALID_APPWIDGET_ID) {
- int bgId = ResourceParser.getDefaultBgId(context);
+ int bgId = ResourceParser.getDefaultBgId(context);//获取默认背景图片id,并将其作为当前部件的背景
String snippet = "";
Intent intent = new Intent(context, NoteEditActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);//创建internet对象,设置flag标志
intent.putExtra(Notes.INTENT_EXTRA_WIDGET_ID, appWidgetIds[i]);
intent.putExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, getWidgetType());
@@ -86,14 +86,14 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
Log.e(TAG, "Multiple message with same widget id:" + appWidgetIds[i]);
c.close();
return;
- }
+ }//判断数据库查询结果c是否为空,若查询结果大于1,则记录日志错误并返回
snippet = c.getString(COLUMN_SNIPPET);
bgId = c.getInt(COLUMN_BG_COLOR_ID);
intent.putExtra(Intent.EXTRA_UID, c.getLong(COLUMN_ID));
- intent.setAction(Intent.ACTION_VIEW);
+ intent.setAction(Intent.ACTION_VIEW);//将当前记录id作为extra数据存入启动internet对象中
} else {
snippet = context.getResources().getString(R.string.widget_havenot_content);
- intent.setAction(Intent.ACTION_INSERT_OR_EDIT);
+ intent.setAction(Intent.ACTION_INSERT_OR_EDIT);//// 数据库查询结果为空或者未能成功移动到第一条记录时,将片段内容设置为默认字符串
}
if (c != null) {
@@ -107,16 +107,16 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
* Generate the pending intent to start host for the widget
*/
PendingIntent pendingIntent = null;
- if (privacyMode) {
+ if (privacyMode) {// 判断是否处于隐私模式
rv.setTextViewText(R.id.widget_text,
context.getString(R.string.widget_under_visit_mode));
pendingIntent = PendingIntent.getActivity(context, appWidgetIds[i], new Intent(
- context, NotesListActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
+ context, NotesListActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);// 如果是,将小部件文本设置为“访问模式下”,并创建一个PendingIntent,使点击小部件时跳转至NotesListActivity
} else {
rv.setTextViewText(R.id.widget_text, snippet);
pendingIntent = PendingIntent.getActivity(context, appWidgetIds[i], intent,
PendingIntent.FLAG_UPDATE_CURRENT);
- }
+ }// 如果不是,将小部件文本设置为片段内容,并创建一个PendingIntent,使点击小部件时跳转至NoteEditActivity
rv.setOnClickPendingIntent(R.id.widget_text, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds[i], rv);
@@ -128,5 +128,5 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
protected abstract int getLayoutId();
- protected abstract int getWidgetType();
+ protected abstract int getWidgetType();//获取背景资源id,布局资源id,小部件类型
}
diff --git a/src/widget/NoteWidgetProvider_2x.java b/app/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java
similarity index 76%
rename from src/widget/NoteWidgetProvider_2x.java
rename to app/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java
index adcb2f7..40dd783 100644
--- a/src/widget/NoteWidgetProvider_2x.java
+++ b/app/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java
@@ -28,20 +28,21 @@ public class NoteWidgetProvider_2x extends NoteWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.update(context, appWidgetManager, appWidgetIds);
- }
+ }//NoteWidgetProvider_2x是一个继承自NoteWidgetProvider的小部件提供者,用于显示2x大小的便签小部件。
+ //调用父类的update方法,更新小部件UI界面
@Override
protected int getLayoutId() {
return R.layout.widget_2x;
- }
+ }//获取2x大小便签小部件布局资源ID,由子类具体实现
@Override
protected int getBgResourceId(int bgId) {
return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId);
- }
+ }//获取2x大小便签小部件背景资源ID,由子类具体实现。
@Override
protected int getWidgetType() {
return Notes.TYPE_WIDGET_2X;
- }
+ }//获取小部件类型,由子类具体实现,返回值为Notes.TYPE_WIDGET_2X
}
diff --git a/src/widget/NoteWidgetProvider_4x.java b/app/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java
similarity index 76%
rename from src/widget/NoteWidgetProvider_4x.java
rename to app/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java
index c12a02e..6a3b077 100644
--- a/src/widget/NoteWidgetProvider_4x.java
+++ b/app/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java
@@ -28,19 +28,20 @@ public class NoteWidgetProvider_4x extends NoteWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.update(context, appWidgetManager, appWidgetIds);
- }
+ }//NoteWidgetProvider_4x是一个继承自NoteWidgetProvider的小部件提供者,用于显示4x大小的便签小部件。
+ //调用父类的update方法,更新小部件UI界面
protected int getLayoutId() {
return R.layout.widget_4x;
- }
+ }//获取4x大小便签小部件布局资源ID,由子类具体实现
@Override
protected int getBgResourceId(int bgId) {
return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId);
- }
+ }//获取4x大小便签小部件背景资源ID,由子类具体实现。
@Override
protected int getWidgetType() {
return Notes.TYPE_WIDGET_4X;
- }
+ }//获取小部件类型,由子类具体实现,返回值为Notes.TYPE_WIDGET_4X
}
diff --git a/app/src/main/res/color/font_color_bright_blue.xml b/app/src/main/res/color/font_color_bright_blue.xml
new file mode 100644
index 0000000..e513be1
--- /dev/null
+++ b/app/src/main/res/color/font_color_bright_blue.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/color/font_color_default.xml b/app/src/main/res/color/font_color_default.xml
new file mode 100644
index 0000000..95fdfa5
--- /dev/null
+++ b/app/src/main/res/color/font_color_default.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/color/font_color_green.xml b/app/src/main/res/color/font_color_green.xml
new file mode 100644
index 0000000..b280ca7
--- /dev/null
+++ b/app/src/main/res/color/font_color_green.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/color/font_color_red.xml b/app/src/main/res/color/font_color_red.xml
new file mode 100644
index 0000000..34af016
--- /dev/null
+++ b/app/src/main/res/color/font_color_red.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/color/primary_text_dark.xml b/app/src/main/res/color/primary_text_dark.xml
new file mode 100644
index 0000000..7c85459
--- /dev/null
+++ b/app/src/main/res/color/primary_text_dark.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/color/secondary_text_dark.xml b/app/src/main/res/color/secondary_text_dark.xml
new file mode 100644
index 0000000..c1c2384
--- /dev/null
+++ b/app/src/main/res/color/secondary_text_dark.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/bg_btn_set_color.png b/app/src/main/res/drawable-hdpi/bg_btn_set_color.png
new file mode 100644
index 0000000..5eb5d44
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/bg_btn_set_color.png differ
diff --git a/app/src/main/res/drawable-hdpi/bg_color_btn_mask.png b/app/src/main/res/drawable-hdpi/bg_color_btn_mask.png
new file mode 100644
index 0000000..100db77
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/bg_color_btn_mask.png differ
diff --git a/app/src/main/res/drawable-hdpi/call_record.png b/app/src/main/res/drawable-hdpi/call_record.png
new file mode 100644
index 0000000..fb88ca4
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/call_record.png differ
diff --git a/app/src/main/res/drawable-hdpi/clock.png b/app/src/main/res/drawable-hdpi/clock.png
new file mode 100644
index 0000000..5f2ae9a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/clock.png differ
diff --git a/app/src/main/res/drawable-hdpi/delete.png b/app/src/main/res/drawable-hdpi/delete.png
new file mode 100644
index 0000000..643de3e
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/delete.png differ
diff --git a/app/src/main/res/drawable-hdpi/dropdown_icon.9.png b/app/src/main/res/drawable-hdpi/dropdown_icon.9.png
new file mode 100644
index 0000000..5525025
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/dropdown_icon.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_blue.9.png b/app/src/main/res/drawable-hdpi/edit_blue.9.png
new file mode 100644
index 0000000..55a1856
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_blue.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_green.9.png b/app/src/main/res/drawable-hdpi/edit_green.9.png
new file mode 100644
index 0000000..2cb2d60
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_green.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_red.9.png b/app/src/main/res/drawable-hdpi/edit_red.9.png
new file mode 100644
index 0000000..bae944a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_red.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_title_blue.9.png b/app/src/main/res/drawable-hdpi/edit_title_blue.9.png
new file mode 100644
index 0000000..96e6092
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_title_blue.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_title_green.9.png b/app/src/main/res/drawable-hdpi/edit_title_green.9.png
new file mode 100644
index 0000000..08d8644
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_title_green.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_title_red.9.png b/app/src/main/res/drawable-hdpi/edit_title_red.9.png
new file mode 100644
index 0000000..9c430e5
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_title_red.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_title_white.9.png b/app/src/main/res/drawable-hdpi/edit_title_white.9.png
new file mode 100644
index 0000000..19e8d95
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_title_white.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_title_yellow.9.png b/app/src/main/res/drawable-hdpi/edit_title_yellow.9.png
new file mode 100644
index 0000000..bf8f580
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_title_yellow.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_white.9.png b/app/src/main/res/drawable-hdpi/edit_white.9.png
new file mode 100644
index 0000000..918f7a6
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_white.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/edit_yellow.9.png b/app/src/main/res/drawable-hdpi/edit_yellow.9.png
new file mode 100644
index 0000000..10cb642
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/edit_yellow.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/font_color_green.png b/app/src/main/res/drawable-hdpi/font_color_green.png
new file mode 100644
index 0000000..1f3b2fa
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_color_green.png differ
diff --git a/app/src/main/res/drawable-hdpi/font_large.png b/app/src/main/res/drawable-hdpi/font_large.png
new file mode 100644
index 0000000..78cf2e6
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_large.png differ
diff --git a/app/src/main/res/drawable-hdpi/font_normal.png b/app/src/main/res/drawable-hdpi/font_normal.png
new file mode 100644
index 0000000..9de7ced
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_normal.png differ
diff --git a/app/src/main/res/drawable-hdpi/font_size_selector_bg.9.png b/app/src/main/res/drawable-hdpi/font_size_selector_bg.9.png
new file mode 100644
index 0000000..be8e64c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_size_selector_bg.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/font_small.png b/app/src/main/res/drawable-hdpi/font_small.png
new file mode 100644
index 0000000..d3ff104
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_small.png differ
diff --git a/app/src/main/res/drawable-hdpi/font_super.png b/app/src/main/res/drawable-hdpi/font_super.png
new file mode 100644
index 0000000..85b13a1
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_super.png differ
diff --git a/app/src/main/res/drawable-hdpi/icon_app.png b/app/src/main/res/drawable-hdpi/icon_app.png
new file mode 100644
index 0000000..418aadc
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/icon_app.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_background.png b/app/src/main/res/drawable-hdpi/list_background.png
new file mode 100644
index 0000000..087e1f9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_background.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_blue_down.9.png b/app/src/main/res/drawable-hdpi/list_blue_down.9.png
new file mode 100644
index 0000000..b88eebf
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_blue_down.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_blue_middle.9.png b/app/src/main/res/drawable-hdpi/list_blue_middle.9.png
new file mode 100644
index 0000000..96b1c8b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_blue_middle.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_blue_single.9.png b/app/src/main/res/drawable-hdpi/list_blue_single.9.png
new file mode 100644
index 0000000..d7e7206
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_blue_single.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_blue_up.9.png b/app/src/main/res/drawable-hdpi/list_blue_up.9.png
new file mode 100644
index 0000000..632e88c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_blue_up.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_folder.9.png b/app/src/main/res/drawable-hdpi/list_folder.9.png
new file mode 100644
index 0000000..829f61b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_folder.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_footer_bg.9.png b/app/src/main/res/drawable-hdpi/list_footer_bg.9.png
new file mode 100644
index 0000000..5325c25
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_footer_bg.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_green_down.9.png b/app/src/main/res/drawable-hdpi/list_green_down.9.png
new file mode 100644
index 0000000..64a39d9
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_green_down.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_green_middle.9.png b/app/src/main/res/drawable-hdpi/list_green_middle.9.png
new file mode 100644
index 0000000..897325a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_green_middle.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_green_single.9.png b/app/src/main/res/drawable-hdpi/list_green_single.9.png
new file mode 100644
index 0000000..c83405f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_green_single.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_green_up.9.png b/app/src/main/res/drawable-hdpi/list_green_up.9.png
new file mode 100644
index 0000000..141f9e1
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_green_up.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_red_down.9.png b/app/src/main/res/drawable-hdpi/list_red_down.9.png
new file mode 100644
index 0000000..4224309
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_red_down.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_red_middle.9.png b/app/src/main/res/drawable-hdpi/list_red_middle.9.png
new file mode 100644
index 0000000..9988f17
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_red_middle.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_red_single.9.png b/app/src/main/res/drawable-hdpi/list_red_single.9.png
new file mode 100644
index 0000000..587c348
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_red_single.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_red_up.9.png b/app/src/main/res/drawable-hdpi/list_red_up.9.png
new file mode 100644
index 0000000..46b4757
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_red_up.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_white_down.9.png b/app/src/main/res/drawable-hdpi/list_white_down.9.png
new file mode 100644
index 0000000..29f9d8c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_white_down.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_white_middle.9.png b/app/src/main/res/drawable-hdpi/list_white_middle.9.png
new file mode 100644
index 0000000..77a4ab4
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_white_middle.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_white_single.9.png b/app/src/main/res/drawable-hdpi/list_white_single.9.png
new file mode 100644
index 0000000..3e79189
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_white_single.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_white_up.9.png b/app/src/main/res/drawable-hdpi/list_white_up.9.png
new file mode 100644
index 0000000..e23cd5c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_white_up.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_yellow_down.9.png b/app/src/main/res/drawable-hdpi/list_yellow_down.9.png
new file mode 100644
index 0000000..31cfc1e
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_yellow_down.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_yellow_middle.9.png b/app/src/main/res/drawable-hdpi/list_yellow_middle.9.png
new file mode 100644
index 0000000..b6549b2
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_yellow_middle.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_yellow_single.9.png b/app/src/main/res/drawable-hdpi/list_yellow_single.9.png
new file mode 100644
index 0000000..3faf507
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_yellow_single.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/list_yellow_up.9.png b/app/src/main/res/drawable-hdpi/list_yellow_up.9.png
new file mode 100644
index 0000000..4ae791c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_yellow_up.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/menu_delete.png b/app/src/main/res/drawable-hdpi/menu_delete.png
new file mode 100644
index 0000000..ccdfc4b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/menu_delete.png differ
diff --git a/app/src/main/res/drawable-hdpi/menu_move.png b/app/src/main/res/drawable-hdpi/menu_move.png
new file mode 100644
index 0000000..1140b71
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/menu_move.png differ
diff --git a/app/src/main/res/drawable-hdpi/new_note_normal.png b/app/src/main/res/drawable-hdpi/new_note_normal.png
new file mode 100644
index 0000000..e24e0d1
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/new_note_normal.png differ
diff --git a/app/src/main/res/drawable-hdpi/new_note_pressed.png b/app/src/main/res/drawable-hdpi/new_note_pressed.png
new file mode 100644
index 0000000..c748936
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/new_note_pressed.png differ
diff --git a/app/src/main/res/drawable-hdpi/note_edit_color_selector_panel.png b/app/src/main/res/drawable-hdpi/note_edit_color_selector_panel.png
new file mode 100644
index 0000000..fc49552
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/note_edit_color_selector_panel.png differ
diff --git a/app/src/main/res/drawable-hdpi/notification.png b/app/src/main/res/drawable-hdpi/notification.png
new file mode 100644
index 0000000..b13ab4a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/notification.png differ
diff --git a/app/src/main/res/drawable-hdpi/search_result.png b/app/src/main/res/drawable-hdpi/search_result.png
new file mode 100644
index 0000000..ff2befd
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/search_result.png differ
diff --git a/app/src/main/res/drawable-hdpi/selected.png b/app/src/main/res/drawable-hdpi/selected.png
new file mode 100644
index 0000000..b889bef
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/selected.png differ
diff --git a/app/src/main/res/drawable-hdpi/title_alert.png b/app/src/main/res/drawable-hdpi/title_alert.png
new file mode 100644
index 0000000..544ee9c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/title_alert.png differ
diff --git a/app/src/main/res/drawable-hdpi/title_bar_bg.9.png b/app/src/main/res/drawable-hdpi/title_bar_bg.9.png
new file mode 100644
index 0000000..eb6bff0
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/title_bar_bg.9.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_2x_blue.png b/app/src/main/res/drawable-hdpi/widget_2x_blue.png
new file mode 100644
index 0000000..a1707f4
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_2x_blue.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_2x_green.png b/app/src/main/res/drawable-hdpi/widget_2x_green.png
new file mode 100644
index 0000000..f86886c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_2x_green.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_2x_red.png b/app/src/main/res/drawable-hdpi/widget_2x_red.png
new file mode 100644
index 0000000..0e66c29
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_2x_red.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_2x_white.png b/app/src/main/res/drawable-hdpi/widget_2x_white.png
new file mode 100644
index 0000000..5f0619a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_2x_white.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_2x_yellow.png b/app/src/main/res/drawable-hdpi/widget_2x_yellow.png
new file mode 100644
index 0000000..12d1c2b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_2x_yellow.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_4x_blue.png b/app/src/main/res/drawable-hdpi/widget_4x_blue.png
new file mode 100644
index 0000000..9183738
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_4x_blue.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_4x_green.png b/app/src/main/res/drawable-hdpi/widget_4x_green.png
new file mode 100644
index 0000000..fa8b452
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_4x_green.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_4x_red.png b/app/src/main/res/drawable-hdpi/widget_4x_red.png
new file mode 100644
index 0000000..62de074
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_4x_red.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_4x_white.png b/app/src/main/res/drawable-hdpi/widget_4x_white.png
new file mode 100644
index 0000000..a37d67c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_4x_white.png differ
diff --git a/app/src/main/res/drawable-hdpi/widget_4x_yellow.png b/app/src/main/res/drawable-hdpi/widget_4x_yellow.png
new file mode 100644
index 0000000..d7c5fa4
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/widget_4x_yellow.png differ
diff --git a/app/src/main/res/drawable/new_note.xml b/app/src/main/res/drawable/new_note.xml
new file mode 100644
index 0000000..2154ebc
--- /dev/null
+++ b/app/src/main/res/drawable/new_note.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/account_dialog_title.xml b/app/src/main/res/layout/account_dialog_title.xml
new file mode 100644
index 0000000..7717112
--- /dev/null
+++ b/app/src/main/res/layout/account_dialog_title.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/add_account_text.xml b/app/src/main/res/layout/add_account_text.xml
new file mode 100644
index 0000000..c799178
--- /dev/null
+++ b/app/src/main/res/layout/add_account_text.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/datetime_picker.xml b/app/src/main/res/layout/datetime_picker.xml
new file mode 100644
index 0000000..f10d592
--- /dev/null
+++ b/app/src/main/res/layout/datetime_picker.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_edit_text.xml b/app/src/main/res/layout/dialog_edit_text.xml
new file mode 100644
index 0000000..361b39a
--- /dev/null
+++ b/app/src/main/res/layout/dialog_edit_text.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/folder_list_item.xml b/app/src/main/res/layout/folder_list_item.xml
new file mode 100644
index 0000000..77e8148
--- /dev/null
+++ b/app/src/main/res/layout/folder_list_item.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/note_edit.xml b/app/src/main/res/layout/note_edit.xml
new file mode 100644
index 0000000..a9caac7
--- /dev/null
+++ b/app/src/main/res/layout/note_edit.xml
@@ -0,0 +1,564 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/note_edit_list_item.xml b/app/src/main/res/layout/note_edit_list_item.xml
new file mode 100644
index 0000000..a885f9c
--- /dev/null
+++ b/app/src/main/res/layout/note_edit_list_item.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/note_item.xml b/app/src/main/res/layout/note_item.xml
new file mode 100644
index 0000000..d541f6a
--- /dev/null
+++ b/app/src/main/res/layout/note_item.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/note_list.xml b/app/src/main/res/layout/note_list.xml
new file mode 100644
index 0000000..6b25d38
--- /dev/null
+++ b/app/src/main/res/layout/note_list.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/note_list_dropdown_menu.xml b/app/src/main/res/layout/note_list_dropdown_menu.xml
new file mode 100644
index 0000000..3fa271d
--- /dev/null
+++ b/app/src/main/res/layout/note_list_dropdown_menu.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/note_list_footer.xml b/app/src/main/res/layout/note_list_footer.xml
new file mode 100644
index 0000000..5ca7b22
--- /dev/null
+++ b/app/src/main/res/layout/note_list_footer.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/settings_header.xml b/app/src/main/res/layout/settings_header.xml
new file mode 100644
index 0000000..5eb8c50
--- /dev/null
+++ b/app/src/main/res/layout/settings_header.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/widget_2x.xml b/app/src/main/res/layout/widget_2x.xml
new file mode 100644
index 0000000..55970ce
--- /dev/null
+++ b/app/src/main/res/layout/widget_2x.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/widget_4x.xml b/app/src/main/res/layout/widget_4x.xml
new file mode 100644
index 0000000..dc9bb51
--- /dev/null
+++ b/app/src/main/res/layout/widget_4x.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/menu/call_note_edit.xml b/app/src/main/res/menu/call_note_edit.xml
new file mode 100644
index 0000000..02c0528
--- /dev/null
+++ b/app/src/main/res/menu/call_note_edit.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
diff --git a/app/src/main/res/menu/call_record_folder.xml b/app/src/main/res/menu/call_record_folder.xml
new file mode 100644
index 0000000..c664346
--- /dev/null
+++ b/app/src/main/res/menu/call_record_folder.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
diff --git a/app/src/main/res/menu/note_edit.xml b/app/src/main/res/menu/note_edit.xml
new file mode 100644
index 0000000..bea5678
--- /dev/null
+++ b/app/src/main/res/menu/note_edit.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/note_list.xml b/app/src/main/res/menu/note_list.xml
new file mode 100644
index 0000000..42ea736
--- /dev/null
+++ b/app/src/main/res/menu/note_list.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
diff --git a/app/src/main/res/menu/note_list_dropdown.xml b/app/src/main/res/menu/note_list_dropdown.xml
new file mode 100644
index 0000000..7cbaadc
--- /dev/null
+++ b/app/src/main/res/menu/note_list_dropdown.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/note_list_options.xml b/app/src/main/res/menu/note_list_options.xml
new file mode 100644
index 0000000..daac008
--- /dev/null
+++ b/app/src/main/res/menu/note_list_options.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/sub_folder.xml b/app/src/main/res/menu/sub_folder.xml
new file mode 100644
index 0000000..b00de26
--- /dev/null
+++ b/app/src/main/res/menu/sub_folder.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/raw-zh-rCN/introduction b/app/src/main/res/raw-zh-rCN/introduction
new file mode 100644
index 0000000..7188359
--- /dev/null
+++ b/app/src/main/res/raw-zh-rCN/introduction
@@ -0,0 +1,7 @@
+欢迎使用MIUI便签!
+
+ 无论从软件中直接添加,还是从桌面拖出widget,MIUI便签能让你快速建立和保存便签;
+
+ 除了调整文字大小、便签背景、文件夹等基础功能外,你会发现MIUI便签也提供了清单模式、便签提醒、软件加密、导出到SD卡、同步google task的高级功能,让你的生活记录更加美好和安全;
+
+ 来分享你的使用体验吧:http://www.miui.com/index.php
diff --git a/app/src/main/res/raw/introduction b/app/src/main/res/raw/introduction
new file mode 100644
index 0000000..269cf7b
--- /dev/null
+++ b/app/src/main/res/raw/introduction
@@ -0,0 +1 @@
+Welcome to use MIUI notes!
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCN/arrays.xml b/app/src/main/res/values-zh-rCN/arrays.xml
new file mode 100644
index 0000000..a092386
--- /dev/null
+++ b/app/src/main/res/values-zh-rCN/arrays.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ 短信
+ 邮件
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..acf799c
--- /dev/null
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+ 便签
+ 便签2x2
+ 便签4x4
+ 没有关联内容,点击新建便签。
+ 访客模式下,便签内容不可见
+ ...
+ 新建便签
+ 成功删除提醒
+ 创建提醒
+ 已过期
+ yyyyMMdd
+ MM月dd日 kk:mm
+ 知道了
+ 查看
+ 呼叫电话
+ 发送邮件
+ 浏览网页
+ 打开地图
+
+ 新建文件夹
+ 导出文本
+ 同步
+ 取消同步
+ 设置
+ 搜索
+ 删除
+ 移动到文件夹
+ 选中了 %d 项
+ 没有选中项,操作无效
+ 全选
+ 取消全选
+ 文字大小
+ 小
+ 正常
+ 大
+ 超大
+ 进入清单模式
+ 退出清单模式
+ 查看文件夹
+ 刪除文件夹
+ 修改文件夹名称
+ 文件夹 %1$s 已存在,请重新命名
+ 分享
+ 发送到桌面
+ 提醒我
+ 删除提醒
+ 选择文件夹
+ 上一级文件夹
+ 已添加到桌面
+ 删除
+ 确认要删除所选的 %d 条便签吗?
+ 确认要删除该条便签吗?
+ 确认删除文件夹及所包含的便签吗?
+ 已将所选 %1$d 条便签移到 %2$s 文件夹
+
+ 更改选中文本颜色
+ SD卡被占用,不能操作
+ 导出文本时发生错误,请检查SD卡
+ 要查看的便签不存在
+ 不能为空便签设置闹钟提醒
+ 不能将空便签发送到桌面
+ 导出成功
+ 导出失败
+ 已将文本文件(%1$s)输出至SD卡(%2$s)目录
+
+ 同步便签...
+ 同步成功
+ 同步失败
+ 同步已取消
+ 与%1$s同步成功
+ 同步失败,请检查网络和帐号设置
+ 同步失败,发生内部错误
+ 同步已取消
+ 登录%1$s...
+ 正在获取服务器便签列表...
+ 正在同步本地便签...
+
+ 设置
+ 同步账号
+ 与google task同步便签记录
+ 上次同步于 %1$s
+ 添加账号
+ 更换账号
+ 删除账号
+ 取消
+ 立即同步
+ 取消同步
+ 当前帐号 %1$s
+ 如更换同步帐号,过去的帐号同步信息将被清空,再次切换的同时可能会造成数据重复
+ 同步便签
+ 请选择google帐号,便签将与该帐号的google task内容同步。
+ 正在同步中,不能修改同步帐号
+ 同步帐号已设置为%1$s
+ 新建便签背景颜色随机
+ 删除
+ 通话便签
+ 请输入名称
+ 正在搜索便签
+ 搜索便签
+ 便签中的文字
+ 便签
+ 设置
+ 取消
+ 改变文本颜色
+
+ %1$s 条符合“%2$s”的搜索结果
+
+
+
diff --git a/app/src/main/res/values-zh-rTW/arrays.xml b/app/src/main/res/values-zh-rTW/arrays.xml
new file mode 100644
index 0000000..5297209
--- /dev/null
+++ b/app/src/main/res/values-zh-rTW/arrays.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ 短信
+ 郵件
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..7c54630
--- /dev/null
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+ 便簽
+ 便簽2x2
+ 便簽4x4
+ 沒有關聯內容,點擊新建便簽。
+ 訪客模式下,便籤內容不可見
+ ...
+ 新建便簽
+ 成功刪除提醒
+ 創建提醒
+ 已過期
+ yyyyMMdd
+ MM月dd日 kk:mm
+ 知道了
+ 查看
+ 呼叫電話
+ 發送郵件
+ 浏覽網頁
+ 打開地圖
+ 已將所選 %1$d 便籤移到 %2$s 文件夾
+
+ 新建文件夾
+ 導出文本
+ 同步
+ 取消同步
+ 設置
+ 搜尋
+ 刪除
+ 移動到文件夾
+ 選中了 %d 項
+ 沒有選中項,操作無效
+ 全選
+ 取消全選
+ 文字大小
+ 小
+ 正常
+ 大
+ 超大
+ 進入清單模式
+ 退出清單模式
+ 查看文件夾
+ 刪除文件夾
+ 修改文件夾名稱
+ 文件夾 %1$s 已存在,請重新命名
+ 分享
+ 發送到桌面
+ 提醒我
+ 刪除提醒
+ 選擇文件夾
+ 上一級文件夾
+ 已添加到桌面
+ 刪除
+ 确认要刪除所選的 %d 條便籤嗎?
+ 确认要删除該條便籤嗎?
+ 確認刪除檔夾及所包含的便簽嗎?
+ 更改选中文本颜色
+ SD卡被佔用,不能操作
+ 導出TXT時發生錯誤,請檢查SD卡
+ 要查看的便籤不存在
+ 不能爲空便籤設置鬧鐘提醒
+ 不能將空便籤發送到桌面
+ 導出成功
+ 導出失敗
+ 已將文本文件(%1$s)導出至SD(%2$s)目錄
+
+ 同步便簽...
+ 同步成功
+ 同步失敗
+ 同步已取消
+ 與%1$s同步成功
+ 同步失敗,請檢查網絡和帳號設置
+ 同步失敗,發生內部錯誤
+ 同步已取消
+ 登陸%1$s...
+ 正在獲取服務器便籤列表...
+ 正在同步本地便籤...
+
+ 設置
+ 同步賬號
+ 与google task同步便簽記錄
+ 上次同步于 %1$s
+ 添加賬號
+ 更換賬號
+ 刪除賬號
+ 取消
+ 立即同步
+ 取消同步
+ 當前帳號 %1$s
+ 如更換同步帳號,過去的帳號同步信息將被清空,再次切換的同時可能會造成數據重復
+ 同步便簽
+ 請選擇google帳號,便簽將與該帳號的google task內容同步。
+ 正在同步中,不能修改同步帳號
+ 同步帳號已設置為%1$s
+ 新建便籤背景顏色隨機
+
+ 刪除
+ 通話便籤
+ 請輸入名稱
+
+ 正在搜索便籤
+ 搜索便籤
+ 便籤中的文字
+ 便籤
+ 設置
+ 取消
+ 改变文本颜色
+
+ %1$s 條符合”%2$s“的搜尋結果
+
+
+
diff --git a/app/src/main/res/values/FontColor.xml b/app/src/main/res/values/FontColor.xml
new file mode 100644
index 0000000..09f31db
--- /dev/null
+++ b/app/src/main/res/values/FontColor.xml
@@ -0,0 +1,9 @@
+
+
+ #00FF00
+ #FF0000
+ #0000FF
+ #FFFF00
+ #000000
+ #00FFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
new file mode 100644
index 0000000..e00210b
--- /dev/null
+++ b/app/src/main/res/values/arrays.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+ -%s
+ --%s
+ --%s
+ --%s
+
+
+
+ Messaging
+ Email
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..123ffbf
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ #335b5b5b
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..194e84f
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ 33sp
+ 26sp
+ 20sp
+ 17sp
+ 14sp
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..705682f
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+ Notes
+ Notes 2x2
+ Notes 4x4
+ No associated note found, click to create associated note.
+ Privacy mode,can not see note content
+ ...
+ Add note
+ Delete reminder successfully
+ Set reminder
+ Expired
+ yyyyMMdd
+ MMMd kk:mm
+ Got it
+ Take a look
+ Call
+ Send email
+ Browse web
+ Open map
+
+ /MIUI/notes/
+ notes_%s.txt
+
+ (%d)
+ New Folder
+ Export text
+ Sync
+ Cancel syncing
+ Settings
+ Search
+ Delete
+ Move to folder
+ %d selected
+ Nothing selected, the operation is invalid
+ Select all
+ Deselect all
+ Font size
+ Small
+ Medium
+ Large
+ Super
+ Enter check list
+ Leave check list
+ View folder
+ Delete folder
+ Change folder name
+ The folder %1$s exist, please rename
+ Share
+ Send to home
+ Remind me
+ Delete reminder
+ Select folder
+ Parent folder
+ Note added to home
+ Confirm to delete folder and its notes?
+ Delete selected notes
+ Confirm to delete the selected %d notes?
+ Confirm to delete this note?
+ Have moved selected %1$d notes to %2$s folder
+ Change Selected Text Color
+
+ SD card busy, not available now
+ Export failed, please check SD card
+ The note is not exist
+ Sorry, can not set clock on empty note
+ Sorry, can not send and empty note to home
+ Export successful
+ Export fail
+ Export text file (%1$s) to SD (%2$s) directory
+
+ Syncing notes...
+ Sync is successful
+ Sync is failed
+ Sync is canceled
+ Sync is successful with account %1$s
+ Sync failed, please check network and account settings
+ Sync failed, internal error occurs
+ Sync is canceled
+ Logging into %1$s...
+ Getting remote note list...
+ Synchronize local notes with Google Task...
+
+ Settings
+ Sync account
+ Sync notes with google task
+ Last sync time %1$s
+ yyyy-MM-dd hh:mm:ss
+ Add account
+ Change sync account
+ Remove sync account
+ Cancel
+ Sync immediately
+ Cancel syncing
+ Current account %1$s
+ All sync related information will be deleted, which may result in duplicated items sometime
+ Sync notes
+ Please select a google account. Local notes will be synced with google task.
+ Cannot change the account because sync is in progress
+ %1$s has been set as the sync account
+ New note background color random
+
+ Delete
+ Call notes
+ Input name
+
+ Searching Notes
+ Search notes
+ Text in your notes
+ Notes
+ set
+ cancel
+ 改变文本颜色
+
+ %1$s result for \"%2$s\"
+
+ %1$s results for \"%2$s\"
+
+
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..247d87c
--- /dev/null
+++ b/app/src/main/res/values/styles.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
new file mode 100644
index 0000000..fe58f8f
--- /dev/null
+++ b/app/src/main/res/xml/preferences.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/xml/searchable.xml b/app/src/main/res/xml/searchable.xml
new file mode 100644
index 0000000..bf74f14
--- /dev/null
+++ b/app/src/main/res/xml/searchable.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
diff --git a/app/src/main/res/xml/widget_2x_info.xml b/app/src/main/res/xml/widget_2x_info.xml
new file mode 100644
index 0000000..ac8b225
--- /dev/null
+++ b/app/src/main/res/xml/widget_2x_info.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/xml/widget_4x_info.xml b/app/src/main/res/xml/widget_4x_info.xml
new file mode 100644
index 0000000..cf79f9c
--- /dev/null
+++ b/app/src/main/res/xml/widget_4x_info.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..cdb59e3
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,17 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+ repositories {
+ google()
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:7.4.2'
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ jcenter()
+ }
+}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..e708b1c
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..903c326
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Apr 10 21:31:54 CST 2023
+distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
+distributionPath=wrapper/dists
+zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
new file mode 100644
index 0000000..4f906e0
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# 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
+#
+# https://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.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=`expr $i + 1`
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..107acd3
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/import-summary.txt b/import-summary.txt
new file mode 100644
index 0000000..8fea95f
--- /dev/null
+++ b/import-summary.txt
@@ -0,0 +1,42 @@
+ECLIPSE ANDROID PROJECT IMPORT SUMMARY
+======================================
+
+Ignored Files:
+--------------
+The following files were *not* copied into the new Gradle project; you
+should evaluate whether these are still needed in your project and if
+so manually move them:
+
+* .gitignore
+* .idea\
+* .idea\.gitignore
+* .idea\misc.xml
+* .idea\modules.xml
+* .idea\workspace.xml
+* NOTICE
+* Notes-master.iml
+* README
+
+Moved Files:
+------------
+Android Gradle projects use a different directory structure than ADT
+Eclipse projects. Here's how the projects were restructured:
+
+* AndroidManifest.xml => app\src\main\AndroidManifest.xml
+* res\ => app\src\main\res\
+* src\ => app\src\main\java\
+
+Next Steps:
+-----------
+You can now build the project. The Gradle project needs network
+connectivity to download dependencies.
+
+Bugs:
+-----
+If for some reason your project does not build, and you determine that
+it is due to a bug or limitation of the Eclipse to Gradle importer,
+please file a bug at http://b.android.com with category
+Component-Tools.
+
+(This import summary is for your information only, and can be deleted
+after import once you are satisfied with the results.)
diff --git a/local.properties b/local.properties
new file mode 100644
index 0000000..1785fb0
--- /dev/null
+++ b/local.properties
@@ -0,0 +1,7 @@
+## This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+#
+#Mon Apr 10 21:31:54 CST 2023
+sdk.dir=D\:\\Sdk
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..e7b4def
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1 @@
+include ':app'
diff --git a/src/data/Contact.java b/src/data/Contact.java
deleted file mode 100644
index 94b6b45..0000000
--- a/src/data/Contact.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.data;
-
-import android.content.Context;
-import android.database.Cursor;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.provider.ContactsContract.Data;
-import android.telephony.PhoneNumberUtils;
-import android.util.Log;
-
-import java.util.HashMap;
-
-<<<<<<< HEAD
-<<<<<<< HEAD:app/src/main/java/net/micode/notes/data/Contact.java
-public class Contact {
- private static HashMap sContactCache;//建立哈希表
- private static final String TAG = "Contact";//设置TAG值为'联系'
-=======
-public class Contact {//连接类
- private static HashMap sContactCache;//建立哈希表
- private static final String TAG = "Contact";//设置TAG的值为'连接'
->>>>>>> 0444a65d4e44c509f57ad301a5a2b59200d62177:src/data/Contact.java
-=======
-public class Contact { //连接类
- private static HashMap sContactCache; //定义连接哈希表
- private static final String TAG = "Contact"; //设置TAG的值为'连接'
->>>>>>> b12b9a8449498593360310c554053628b31cc8c9
-
- private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER
- + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'"
- + " AND " + Data.RAW_CONTACT_ID + " IN "
- + "(SELECT raw_contact_id "
- + " FROM phone_lookup"
- + " WHERE min_match = '+')"; //SQL语句
-
- public static String getContact(Context context, String phoneNumber) { //获取连接
- if(sContactCache == null) {
- sContactCache = new HashMap(); //连接哈希表为空时创建连接哈希表
- }
-
- if(sContactCache.containsKey(phoneNumber)) {
- return sContactCache.get(phoneNumber); //连接哈希表存在电话号码时获取值
- }
-
- String selection = CALLER_ID_SELECTION.replace("+",
- PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); //将电话号码进行函数处理并代替'+'符号
- Cursor cursor = context.getContentResolver().query( //用于查询的结果集
- Data.CONTENT_URI, //通话记录uri
- new String [] { Phone.DISPLAY_NAME },
- selection,
- new String[] { phoneNumber },
- null); //查询指定号码相关联系人名字
-
- if (cursor != null && cursor.moveToFirst()) {
- try { //有结果时
- String name = cursor.getString(0); //获取联系人名字
- sContactCache.put(phoneNumber, name); //缓存电话号码与联系人名字
- return name;
- } catch (IndexOutOfBoundsException e) {
- Log.e(TAG, " Cursor get string error " + e.toString()); //日志记录信息
- return null;
- } finally {
- cursor.close(); //关闭结果集
- }
- } else {
- Log.d(TAG, "No contact matched with number:" + phoneNumber); //日志记录信息
- return null; //没找到,返回NULL
- }
- }
-}
diff --git a/src/tool/GTaskStringUtils.java b/src/tool/GTaskStringUtils.java
deleted file mode 100644
index 666b729..0000000
--- a/src/tool/GTaskStringUtils.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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.tool;
-
-public class GTaskStringUtils {
-
- public final static String GTASK_JSON_ACTION_ID = "action_id";
-
- public final static String GTASK_JSON_ACTION_LIST = "action_list";
-
- public final static String GTASK_JSON_ACTION_TYPE = "action_type";
-
- public final static String GTASK_JSON_ACTION_TYPE_CREATE = "create";
-
- public final static String GTASK_JSON_ACTION_TYPE_GETALL = "get_all";
-
- public final static String GTASK_JSON_ACTION_TYPE_MOVE = "move";
-
- public final static String GTASK_JSON_ACTION_TYPE_UPDATE = "update";
-
- public final static String GTASK_JSON_CREATOR_ID = "creator_id";
-
- public final static String GTASK_JSON_CHILD_ENTITY = "child_entity";
-
- public final static String GTASK_JSON_CLIENT_VERSION = "client_version";
-
- public final static String GTASK_JSON_COMPLETED = "completed";
-
- public final static String GTASK_JSON_CURRENT_LIST_ID = "current_list_id";
-
- public final static String GTASK_JSON_DEFAULT_LIST_ID = "default_list_id";
-
- public final static String GTASK_JSON_DELETED = "deleted";
-
- public final static String GTASK_JSON_DEST_LIST = "dest_list";
-
- public final static String GTASK_JSON_DEST_PARENT = "dest_parent";
-
- public final static String GTASK_JSON_DEST_PARENT_TYPE = "dest_parent_type";
-
- public final static String GTASK_JSON_ENTITY_DELTA = "entity_delta";
-
- public final static String GTASK_JSON_ENTITY_TYPE = "entity_type";
-
- public final static String GTASK_JSON_GET_DELETED = "get_deleted";
-
- public final static String GTASK_JSON_ID = "id";
-
- public final static String GTASK_JSON_INDEX = "index";
-
- public final static String GTASK_JSON_LAST_MODIFIED = "last_modified";
-
- public final static String GTASK_JSON_LATEST_SYNC_POINT = "latest_sync_point";
-
- public final static String GTASK_JSON_LIST_ID = "list_id";
-
- public final static String GTASK_JSON_LISTS = "lists";
-
- public final static String GTASK_JSON_NAME = "name";
-
- public final static String GTASK_JSON_NEW_ID = "new_id";
-
- public final static String GTASK_JSON_NOTES = "notes";
-
- public final static String GTASK_JSON_PARENT_ID = "parent_id";
-
- public final static String GTASK_JSON_PRIOR_SIBLING_ID = "prior_sibling_id";
-
- public final static String GTASK_JSON_RESULTS = "results";
-
- public final static String GTASK_JSON_SOURCE_LIST = "source_list";
-
- public final static String GTASK_JSON_TASKS = "tasks";
-
- public final static String GTASK_JSON_TYPE = "type";
-
- public final static String GTASK_JSON_TYPE_GROUP = "GROUP";
-
- public final static String GTASK_JSON_TYPE_TASK = "TASK";
-
- public final static String GTASK_JSON_USER = "user";
-
- public final static String MIUI_FOLDER_PREFFIX = "[MIUI_Notes]";
-
- public final static String FOLDER_DEFAULT = "Default";
-
- public final static String FOLDER_CALL_NOTE = "Call_Note";
-
- public final static String FOLDER_META = "METADATA";
-
- public final static String META_HEAD_GTASK_ID = "meta_gid";
-
- public final static String META_HEAD_NOTE = "meta_note";
-
- public final static String META_HEAD_DATA = "meta_data";
-
- public final static String META_NOTE_NAME = "[META INFO] DON'T UPDATE AND DELETE";
-
-}