diff --git a/src/xiaomi/.idea/sonarlint/issuestore/0/4/0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e b/src/xiaomi/.idea/sonarlint/issuestore/0/4/0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e
new file mode 100644
index 0000000..ead3490
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/0/4/0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e
@@ -0,0 +1,29 @@
+
+g
+java:S1301‰"KReplace this "switch" statement by "if" statements to increase readability.(öÛ«°þÿÿÿÿ
+X
+java:S18749"=Remove this use of "FLAG_SHOW_WHEN_LOCKED"; it is deprecated.(÷±µÁúÿÿÿÿ
+Q
+java:S1874=";Remove this use of "FLAG_TURN_SCREEN_ON"; it is deprecated.(ƒìýè
+Z
+java:S1874?"?Remove this use of "FLAG_LAYOUT_INSET_DECOR"; it is deprecated.(‹”‡Ñúÿÿÿÿ
+H
+java:S1874["2Remove this use of "isScreenOn"; it is deprecated.(¤® ²
+O
+java:S1874e":Remove this use of "setAudioStreamType"; it is deprecated.(¡Ìé0
+U
+java:S1874g":Remove this use of "setAudioStreamType"; it is deprecated.(†Å¨ªùÿÿÿÿ
+`
+java:S2147q"ECombine this catch with the one at line 110, which has the same body.(ÿëÛßúÿÿÿÿ
+[
+java:S2147t"ECombine this catch with the one at line 113, which has the same body.(‚ùïÄ
+[
+java:S2147w"ECombine this catch with the one at line 116, which has the same body.(ï­£Ä
+M
+java:S1135o"2Complete the task associated to this TODO comment.(ÕÌ�®þÿÿÿÿ
+M
+java:S1135r"2Complete the task associated to this TODO comment.(ÕÌ�®þÿÿÿÿ
+M
+java:S1135u"2Complete the task associated to this TODO comment.(ÕÌ�®þÿÿÿÿ
+M
+java:S1135x"2Complete the task associated to this TODO comment.(ÕÌ�®þÿÿÿÿ
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/issuestore/0/8/08962fe591286696ecd017e3adc4630c1217309b b/src/xiaomi/.idea/sonarlint/issuestore/0/8/08962fe591286696ecd017e3adc4630c1217309b
new file mode 100644
index 0000000..280a82e
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/0/8/08962fe591286696ecd017e3adc4630c1217309b
@@ -0,0 +1,11 @@
+
+t
+java:S2293)"YReplace the type specification in this constructor call with the diamond operator ("<>").(�½ñäÿÿÿÿÿ
+P
+java:S1118":Add a private constructor to hide the implicit public one.(ãÛÒÛ
+q
+java:S3252!"VUse static access with "android.provider.ContactsContract$DataColumns" for "MIMETYPE".(‡ù¯–ÿÿÿÿÿ
+r
+java:S3252""\Use static access with "android.provider.ContactsContract$DataColumns" for "RAW_CONTACT_ID".(Ðäç÷
+t
+java:S32524"^Use static access with "android.provider.ContactsContract$ContactsColumns" for "DISPLAY_NAME".(Úÿ†Ø
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/issuestore/1/9/19661b4b3ff75e064358871f8409e1a1eef63bf6 b/src/xiaomi/.idea/sonarlint/issuestore/1/9/19661b4b3ff75e064358871f8409e1a1eef63bf6
new file mode 100644
index 0000000..2b0284e
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/1/9/19661b4b3ff75e064358871f8409e1a1eef63bf6
@@ -0,0 +1,9 @@
+
+m
+java:S37764"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(üßú–ùÿÿÿÿ
+O
+java:S1874@"9Remove this use of "setTextAppearance"; it is deprecated.(¤ñÝ×
+O
+java:S1874G"9Remove this use of "setTextAppearance"; it is deprecated.(Á†�ö
+O
+java:S1874Q"9Remove this use of "setTextAppearance"; it is deprecated.(¤ñÝ×
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/issuestore/1/a/1a4e3da7b86cbac8cbaa0189939fbddcc15fe216 b/src/xiaomi/.idea/sonarlint/issuestore/1/a/1a4e3da7b86cbac8cbaa0189939fbddcc15fe216
new file mode 100644
index 0000000..1adb464
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/1/a/1a4e3da7b86cbac8cbaa0189939fbddcc15fe216
@@ -0,0 +1,16 @@
+
+V	java:S125"<This block of commented-out lines of code should be removed.(Í›�¸ýÿÿÿÿ
+€
+java:S3008&"eRename this field "GTASK_SYNC_NOTIFICATION_ID" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ëíÅÍúÿÿÿÿ
+L
+java:S1874$"1Remove this use of "AsyncTask"; it is deprecated.(¯ÚÔËúÿÿÿÿ
+N
+java:S3878A"8Remove this array creation and simply pass the elements.(‘ÀßŽ
+M
+java:S1874A"7Remove this use of "publishProgress"; it is deprecated.(‘ÀßŽ
+e
+java:S1874f"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(Ã«•·ÿÿÿÿÿ
+e
+java:S1874n"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(÷á‰½ûÿÿÿÿ
+H
+java:S1068."2Remove this unused "mNotifiManager" private field.(ºíØÛ
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/issuestore/3/2/32e993b9c4de8af917eefa04505aeda3d70c1aff b/src/xiaomi/.idea/sonarlint/issuestore/3/2/32e993b9c4de8af917eefa04505aeda3d70c1aff
new file mode 100644
index 0000000..9861197
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/3/2/32e993b9c4de8af917eefa04505aeda3d70c1aff
@@ -0,0 +1,39 @@
+
+t
+java:S22930"YReplace the type specification in this constructor call with the diamond operator ("<>").(àÉ™âùÿÿÿÿ
+o
+java:S2293d"YReplace the type specification in this constructor call with the diamond operator ("<>").(œ€ÄÑ
+o
+java:S2293t"YReplace the type specification in this constructor call with the diamond operator ("<>").(¾�Èª
+J
+java:S1066\"/Merge this if statement with the enclosing one.(ßÚ§µúÿÿÿÿ
+ˆ
+java:S1319c"mThe return type of this method should be an interface such as "Set" rather than the implementation "HashSet".(“Ÿóßûÿÿÿÿ
+ˆ
+java:S1319s"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:S5411f"(Use a primitive boolean expression here.(É¯ÀÐüÿÿÿÿ
+C
+java:S5411v"(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 "<init>"; it is deprecated.(ÌÖçü
+J
+java:S2864e"4Iterate over the "entrySet" instead of the "keySet".(à¨·â
+B
+java:S1125f"'Remove the unnecessary boolean literal.(É¯ÀÐüÿÿÿÿ
+J
+java:S2864u"4Iterate over the "entrySet" instead of the "keySet".(à¨·â
+B
+java:S1125v"'Remove the unnecessary boolean literal.(É¯ÀÐüÿÿÿÿ
+B
+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/src/xiaomi/.idea/sonarlint/issuestore/4/1/41b8b7f348f46f3b57551e41c1bbe95463dbc90e b/src/xiaomi/.idea/sonarlint/issuestore/4/1/41b8b7f348f46f3b57551e41c1bbe95463dbc90e
new file mode 100644
index 0000000..7181765
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/4/1/41b8b7f348f46f3b57551e41c1bbe95463dbc90e
@@ -0,0 +1,13 @@
+
+f
+java:S11929"KDefine a constant instead of duplicating this literal "content://" 4 times.(š¨ú¯üÿÿÿÿ
+U
+java:S11181":Add a private constructor to hide the implicit public one.(ž’Í“úÿÿÿÿ
+^
+java:S1214@"CMove constants defined in this interfaces to another class or enum.(Éâ¸«úÿÿÿÿ
+Z
+java:S1214ª"CMove constants defined in this interfaces to another class or enum.(ŠÉôŸ
+V
+java:S1118ô":Add a private constructor to hide the implicit public one.(�”‹ˆþÿÿÿÿ
+Q
+java:S1118„":Add a private constructor to hide the implicit public one.(ß€°•
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/issuestore/9/b/9b151666a10c2718f853e6607b8d80e85becee16 b/src/xiaomi/.idea/sonarlint/issuestore/9/b/9b151666a10c2718f853e6607b8d80e85becee16
index 72d562c..940b772 100644
--- a/src/xiaomi/.idea/sonarlint/issuestore/9/b/9b151666a10c2718f853e6607b8d80e85becee16
+++ b/src/xiaomi/.idea/sonarlint/issuestore/9/b/9b151666a10c2718f853e6607b8d80e85becee16
@@ -1,72 +1,74 @@
 
 w
-java:S2293ˆ"YReplace the type specification in this constructor call with the diamond operator ("<>").(è‰¥ð8—©æÛª1
+java:S2293¡"YReplace the type specification in this constructor call with the diamond operator ("<>").(è‰¥ð8Ž³”‚¬1
 n
-java:S1301¶"KReplace this "switch" statement by "if" statements to increase readability.(×“¾ñùÿÿÿÿ8ž©æÛª1
+java:S1301Ï"KReplace this "switch" statement by "if" statements to increase readability.(×“¾ñùÿÿÿÿ8‘³”‚¬1
 >
-java:S1116e"Remove this empty statement.(ôŸŽìúÿÿÿÿ8ÅªæÛª1
+java:S1116e"Remove this empty statement.(ôŸŽìúÿÿÿÿ8ü´”‚¬1
 h
-java:S1124Œ"EReorder the modifiers to comply with the Java Language Specification.(¹úæµûÿÿÿÿ8ÇªæÛª1
+java:S1124Œ"EReorder the modifiers to comply with the Java Language Specification.(¹úæµûÿÿÿÿ8ý´”‚¬1
 b
-java:S1124�"EReorder the modifiers to comply with the Java Language Specification.(ìÑ¾k8ÇªæÛª1
+java:S1124�"EReorder the modifiers to comply with the Java Language Specification.(ìÑ¾k8ý´”‚¬1
 u
-java:S3776¥"RRefactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.(áé–Þÿÿÿÿÿ8ÑªæÛª1
+java:S3776¥"RRefactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.(áé–Þÿÿÿÿÿ8ÿ´”‚¬1
 9
-java:S3626¶"Remove this redundant jump.(ûÁÝ…8ÑªæÛª1
+java:S3626¶"Remove this redundant jump.(ûÁÝ…8€µ”‚¬1
 9
-java:S3626º"Remove this redundant jump.(ûÁÝ…8ÑªæÛª1
+java:S3626º"Remove this redundant jump.(ûÁÝ…8€µ”‚¬1
 9
-java:S3626Î"Remove this redundant jump.(ûÁÝ…8ÒªæÛª1
+java:S3626Î"Remove this redundant jump.(ûÁÝ…8€µ”‚¬1
 W
-java:S1874¦"9Remove this use of "PreferenceManager"; it is deprecated.(Â­©Ð8ÕªæÛª1
+java:S1874¦"9Remove this use of "PreferenceManager"; it is deprecated.(Â­©Ð8€µ”‚¬1
 a
-java:S1874¦"CRemove this use of "getDefaultSharedPreferences"; it is deprecated.(Â­©Ð8ÖªæÛª1
+java:S1874¦"CRemove this use of "getDefaultSharedPreferences"; it is deprecated.(Â­©Ð8€µ”‚¬1
 U
-java:S1135À"2Complete the task associated to this TODO comment.(ÕÌ�®þÿÿÿÿ8ÞªæÛª1
+java:S1135À"2Complete the task associated to this TODO comment.(ÕÌ�®þÿÿÿÿ8…µ”‚¬1
 M
-java:S2093ª"*Change this "try" to a try-with-resources.(¡»¢üùÿÿÿÿ8ÞªæÛª1
+java:S2093ª"*Change this "try" to a try-with-resources.(¡»¢üùÿÿÿÿ8…µ”‚¬1
 v
-java:S1450ò"XRemove the "mMoveMenu" field and declare it as a local variable in the relevant methods.(ž¢—ò8ëªæÛª1
+java:S1450ò"XRemove the "mMoveMenu" field and declare it as a local variable in the relevant methods.(ž¢—ò8‹µ”‚¬1
 u
-java:S3252ï"RUse static access with "android.widget.AbsListView" for "MultiChoiceModeListener".(¦Ûî„úÿÿÿÿ8íªæÛª1
+java:S3252ï"RUse static access with "android.widget.AbsListView" for "MultiChoiceModeListener".(¦Ûî„úÿÿÿÿ8‹µ”‚¬1
 U
-java:S1135§"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8‹«æÛª1
+java:S1135«"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8“µ”‚¬1
 U
-java:S1135¬"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8Œ«æÛª1
+java:S1135°"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8“µ”‚¬1
 \
-java:S1874ç"9Remove this use of "getDefaultDisplay"; it is deprecated.(Ä¸¬Ìýÿÿÿÿ8—«æÛª1
+java:S1874ó"9Remove this use of "getDefaultDisplay"; it is deprecated.(Ä¸¬Ìýÿÿÿÿ8œµ”‚¬1
 T
-java:S1874è"1Remove this use of "getHeight"; it is deprecated.(·¡ªÃýÿÿÿÿ8˜«æÛª1
+java:S1874ô"1Remove this use of "getHeight"; it is deprecated.(·¡ªÃýÿÿÿÿ8œµ”‚¬1
 ?
-java:S1116ž"Remove this empty statement.(ôŸŽìúÿÿÿÿ8�«æÛª1
+java:S1116ª"Remove this empty statement.(ôŸŽìúÿÿÿÿ8Ÿµ”‚¬1
 p
-java:S3776Ý"RRefactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.(ãìîí8ª«æÛª1
+java:S3776ö"RRefactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.(ãìîí8³µ”‚¬1
 J
-java:S1874Þ".Remove this use of "<init>"; it is deprecated.(ýî?8¬«æÛª1
-F	java:S108ä")Either remove or fill this block of code.(žûÊ¥8°«æÛª1
+java:S1874÷".Remove this use of "<init>"; it is deprecated.(ýî?8³µ”‚¬1
+F	java:S108ý")Either remove or fill this block of code.(žûÊ¥8´µ”‚¬1
+h
+java:S1874�"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(§Í¿Â8ö©èß¬1
 R
-java:S1874ÿ"/Remove this use of "execute"; it is deprecated.( å«�ûÿÿÿÿ8²«æÛª1
+java:S1874˜"/Remove this use of "execute"; it is deprecated.( å«�ûÿÿÿÿ8¶µ”‚¬1
 o
-java:S3776Ë"RRefactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.(ÅôÉ#8¾«æÛª1
+java:S3776ä"RRefactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.(ÅôÉ#8¾µ”‚¬1
 U
-java:S1135�"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8Í«æÛª1
+java:S1135¦"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8Æµ”‚¬1
 e
-java:S1126’"BReplace this if-then-else statement by a single method invocation.(çŽ’¦ýÿÿÿÿ8Î«æÛª1
+java:S1126«"BReplace this if-then-else statement by a single method invocation.(çŽ’¦ýÿÿÿÿ8Çµ”‚¬1
 U
-java:S1135š"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8Ð«æÛª1
+java:S1135³"2Complete the task associated to this TODO comment.(» æžÿÿÿÿÿ8Çµ”‚¬1
 Q
-java:S1874Â".Remove this use of "<init>"; it is deprecated.(Ð§ðÛýÿÿÿÿ8æ«æÛª1
+java:S1874Û".Remove this use of "<init>"; it is deprecated.(Ð§ðÛýÿÿÿÿ8Öµ”‚¬1
 m
-java:S1874Ê"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(÷á‰½ûÿÿÿÿ8è«æÛª1
+java:S1874ã"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(÷á‰½ûÿÿÿÿ8æÊØà¬1
 R
-java:S1874ç"/Remove this use of "execute"; it is deprecated.( å«�ûÿÿÿÿ8í«æÛª1
+java:S1874€"/Remove this use of "execute"; it is deprecated.( å«�ûÿÿÿÿ8Ùµ”‚¬1
 o
-java:S3776ö"RRefactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.(ôŒùb8ó«æÛª1
+java:S3776�"RRefactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.(ôŒùb8Ûµ”‚¬1
 C
-java:S3398Ý"%Move this method into "ModeCallback".(ãìîí8ý«æÛª1
+java:S3398ö"%Move this method into "ModeCallback".(ãìîí8àµ”‚¬1
 H
-java:S3398�"%Move this method into "ModeCallback".(“ðÉçýÿÿÿÿ8ý«æÛª1
+java:S3398¶"%Move this method into "ModeCallback".(“ðÉçýÿÿÿÿ8àµ”‚¬1
 R
-java:S3398Á"/Move this method into "BackgroundQueryHandler".(—÷õŽüÿÿÿÿ8ý«æÛª1
+java:S3398Ú"/Move this method into "BackgroundQueryHandler".(—÷õŽüÿÿÿÿ8àµ”‚¬1
 N
-java:S3398�"0Move this method into "OnListItemClickListener".(‘ðð¡8ý«æÛª1
\ No newline at end of file
+java:S3398¶"0Move this method into "OnListItemClickListener".(‘ðð¡8àµ”‚¬1
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/issuestore/d/6/d63b8495246ee14beb91a1f887d1ff4a009634d3 b/src/xiaomi/.idea/sonarlint/issuestore/d/6/d63b8495246ee14beb91a1f887d1ff4a009634d3
new file mode 100644
index 0000000..c100822
--- /dev/null
+++ b/src/xiaomi/.idea/sonarlint/issuestore/d/6/d63b8495246ee14beb91a1f887d1ff4a009634d3
@@ -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/src/xiaomi/.idea/sonarlint/issuestore/index.pb b/src/xiaomi/.idea/sonarlint/issuestore/index.pb
index 104075c..d1e682a 100644
--- a/src/xiaomi/.idea/sonarlint/issuestore/index.pb
+++ b/src/xiaomi/.idea/sonarlint/issuestore/index.pb
@@ -6,4 +6,18 @@ Tapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/DropdownMenu
 <
 build.gradle,f\0\f07866736216be0ee2aba49e392191aeae700a35
 @
-local.properties,0\7\0712df971a99ac4d2fccb8e0fb19f377f3374cca
\ No newline at end of file
+local.properties,0\7\0712df971a99ac4d2fccb8e0fb19f377f3374cca
+�
+Qapp/src/main/java/com/example/notes_master/src/net/micode/notes/data/Contact.java,0\8\08962fe591286696ecd017e3adc4630c1217309b
+�
+`app/src/main/java/com/example/notes_master/src/net/micode/notes/gtask/remote/GTaskASyncTask.java,1\a\1a4e3da7b86cbac8cbaa0189939fbddcc15fe216
+Š
+Zapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/AlarmAlertActivity.java,0\4\0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e
+„
+Tapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NoteItemData.java,d\6\d63b8495246ee14beb91a1f887d1ff4a009634d3
+ˆ
+Xapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListAdapter.java,3\2\32e993b9c4de8af917eefa04505aeda3d70c1aff
+
+Oapp/src/main/java/com/example/notes_master/src/net/micode/notes/data/Notes.java,4\1\41b8b7f348f46f3b57551e41c1bbe95463dbc90e
+…
+Uapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListItem.java,1\9\19661b4b3ff75e064358871f8409e1a1eef63bf6
\ No newline at end of file
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/0/4/0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e b/src/xiaomi/.idea/sonarlint/securityhotspotstore/0/4/0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/0/8/08962fe591286696ecd017e3adc4630c1217309b b/src/xiaomi/.idea/sonarlint/securityhotspotstore/0/8/08962fe591286696ecd017e3adc4630c1217309b
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/1/9/19661b4b3ff75e064358871f8409e1a1eef63bf6 b/src/xiaomi/.idea/sonarlint/securityhotspotstore/1/9/19661b4b3ff75e064358871f8409e1a1eef63bf6
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/1/a/1a4e3da7b86cbac8cbaa0189939fbddcc15fe216 b/src/xiaomi/.idea/sonarlint/securityhotspotstore/1/a/1a4e3da7b86cbac8cbaa0189939fbddcc15fe216
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/3/2/32e993b9c4de8af917eefa04505aeda3d70c1aff b/src/xiaomi/.idea/sonarlint/securityhotspotstore/3/2/32e993b9c4de8af917eefa04505aeda3d70c1aff
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/4/1/41b8b7f348f46f3b57551e41c1bbe95463dbc90e b/src/xiaomi/.idea/sonarlint/securityhotspotstore/4/1/41b8b7f348f46f3b57551e41c1bbe95463dbc90e
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/d/6/d63b8495246ee14beb91a1f887d1ff4a009634d3 b/src/xiaomi/.idea/sonarlint/securityhotspotstore/d/6/d63b8495246ee14beb91a1f887d1ff4a009634d3
new file mode 100644
index 0000000..e69de29
diff --git a/src/xiaomi/.idea/sonarlint/securityhotspotstore/index.pb b/src/xiaomi/.idea/sonarlint/securityhotspotstore/index.pb
index 104075c..d675dbb 100644
--- a/src/xiaomi/.idea/sonarlint/securityhotspotstore/index.pb
+++ b/src/xiaomi/.idea/sonarlint/securityhotspotstore/index.pb
@@ -6,4 +6,18 @@ Tapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/DropdownMenu
 <
 build.gradle,f\0\f07866736216be0ee2aba49e392191aeae700a35
 @
-local.properties,0\7\0712df971a99ac4d2fccb8e0fb19f377f3374cca
\ No newline at end of file
+local.properties,0\7\0712df971a99ac4d2fccb8e0fb19f377f3374cca
+�
+Qapp/src/main/java/com/example/notes_master/src/net/micode/notes/data/Contact.java,0\8\08962fe591286696ecd017e3adc4630c1217309b
+�
+`app/src/main/java/com/example/notes_master/src/net/micode/notes/gtask/remote/GTaskASyncTask.java,1\a\1a4e3da7b86cbac8cbaa0189939fbddcc15fe216
+Š
+Zapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/AlarmAlertActivity.java,0\4\0443b0f98e2a8a605b866a1b1bef7e47c8c8ea8e
+„
+Tapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NoteItemData.java,d\6\d63b8495246ee14beb91a1f887d1ff4a009634d3
+
+Oapp/src/main/java/com/example/notes_master/src/net/micode/notes/data/Notes.java,4\1\41b8b7f348f46f3b57551e41c1bbe95463dbc90e
+ˆ
+Xapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListAdapter.java,3\2\32e993b9c4de8af917eefa04505aeda3d70c1aff
+…
+Uapp/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListItem.java,1\9\19661b4b3ff75e064358871f8409e1a1eef63bf6
\ No newline at end of file
diff --git a/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NoteItemData.java b/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NoteItemData.java
index c76ac25..fccb419 100644
--- a/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NoteItemData.java
+++ b/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NoteItemData.java
@@ -218,6 +218,11 @@ public class NoteItemData {
         return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber));
     }
 
+    /**
+     * ä»Žæ¸¸æ ‡å¯¹è±¡ä¸­èŽ·å�–ä¾¿ç­¾ç±»åž‹
+     * @param cursor
+     * @return
+     */
     public static int getNoteType(Cursor cursor) {
         return cursor.getInt(TYPE_COLUMN);
     }
diff --git a/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListActivity.java b/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListActivity.java
index 8ed8a56..1417f9f 100644
--- a/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListActivity.java
+++ b/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListActivity.java
@@ -84,9 +84,9 @@ import java.util.HashSet;
 
 
 public class NotesListActivity extends AppCompatActivity implements OnClickListener, OnItemLongClickListener {
-    private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
+    private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;//æŸ¥è¯¢æ–‡ä»¶å¤¹ä¸­çš„ä¾¿ç­¾åˆ—è¡¨
 
-    private static final int FOLDER_LIST_QUERY_TOKEN      = 1;
+    private static final int FOLDER_LIST_QUERY_TOKEN      = 1;//æŸ¥è¯¢æ–‡ä»¶å¤¹åˆ—è¡¨
 
     private static final int MENU_FOLDER_DELETE = 0;
 
@@ -217,17 +217,17 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
     private void initResources() {
         mContentResolver = this.getContentResolver();
         mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver());
-        mCurrentFolderId = Notes.ID_ROOT_FOLDER;
+        mCurrentFolderId = Notes.ID_ROOT_FOLDER;//0
         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);
+        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());
+        mAddNewNote.setOnClickListener(this);//â€œæ·»åŠ ä¾¿ç­¾â€�æŒ‰é’®çš„ç›‘å�¬å™¨
+        mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener());//ç»™æŒ‰é’®ç»‘å®šè‡ªå®šä¹‰çš„è§¦æ‘¸ç›‘å�¬å™¨
         mDispatch = false;
         mDispatchY = 0;
         mOriginY = 0;
@@ -235,14 +235,15 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
         mState = ListEditState.NOTE_LIST;
         mModeCallBack = new ModeCallback();
     }
-
+    //å†…éƒ¨ç±»
     private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener {
         private DropdownMenu mDropDownMenu;
         private ActionMode mActionMode;
         private MenuItem mMoveMenu;
 
         public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-            getMenuInflater().inflate(R.menu.note_list_options, menu);
+            getMenuInflater().inflate(R.menu.note_list_options, 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
@@ -253,8 +254,8 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
                 mMoveMenu.setOnMenuItemClickListener(this);
             }
             mActionMode = mode;
-            mNotesListAdapter.setChoiceMode(true);
-            mNotesListView.setLongClickable(false);
+            mNotesListAdapter.setChoiceMode(true);//è®¾ç½®åˆ—è¡¨é€‚é…�å™¨çš„é€‰æ‹©æ¨¡å¼�ä¸º trueï¼Œä»¥å�¯ç”¨å¤šé€‰æ¨¡å¼�ã€‚
+            mNotesListView.setLongClickable(false);//å°†åˆ—è¡¨è§†å›¾çš„é•¿æŒ‰ç‚¹å‡»åŠŸèƒ½ç¦�ç”¨ã€‚
             mAddNewNote.setVisibility(View.GONE);
 
             View customView = LayoutInflater.from(NotesListActivity.this).inflate(
@@ -274,10 +275,13 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
             return true;
         }
 
+        /**
+         * ç”¨äºŽæ›´æ–°è�œå�•é¡¹å’Œä¸‹æ‹‰è�œå�•ã€‚
+         */
         private void updateMenu() {
-            int selectedCount = mNotesListAdapter.getSelectedCount();
+            int selectedCount = mNotesListAdapter.getSelectedCount();//å¤šé€‰æ—¶é€‰çš„é¡¹æ•°
             // Update dropdown menu
-            String format = getResources().getString(R.string.menu_select_title, selectedCount);
+            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) {
@@ -286,7 +290,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
                     item.setTitle(R.string.menu_deselect_all);
                 } else {
                     item.setChecked(false);
-                    item.setTitle(R.string.menu_select_all);
+                    item.setTitle(R.string.menu_select_all);//å…¨é€‰
                 }
             }
         }
@@ -311,6 +315,14 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
             mActionMode.finish();
         }
 
+        /**
+         * è¢«å‹¾é€‰äº†ï¼Œæˆ–å�–æ¶ˆå‹¾é€‰äº†ï¼Œå°±æ”¹å�˜hashmapé‡Œçš„è¯¥é¡¹çš„valueçš„booleanå€¼
+         * @param mode The {@link ActionMode} providing the selection mode
+         * @param position Adapter position of the item that was checked or unchecked
+         * @param id Adapter ID of the item that was checked or unchecked
+         * @param checked <code>true</code> if the item is now checked, <code>false</code>
+         *                if the item is now unchecked.
+         */
         public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
                 boolean checked) {
             mNotesListAdapter.setCheckedItem(position, checked);
@@ -320,11 +332,11 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
         public boolean onMenuItemClick(MenuItem item) {
             if (mNotesListAdapter.getSelectedCount() == 0) {
                 Toast.makeText(NotesListActivity.this, getString(R.string.menu_select_none),
-                        Toast.LENGTH_SHORT).show();
+                        Toast.LENGTH_SHORT).show();//æ²¡æœ‰é€‰ä¸­é¡¹ï¼Œæ“�ä½œæ— æ•ˆ
                 return true;
             }
 
-            switch (item.getItemId()) {
+            switch (item.getItemId()) {//é€‰ä¸­çš„ä¸‹æ‹‰è�œå�•ä¸­çš„è�œå�•é¡¹
                 case R.id.delete:
                     AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
                     builder.setTitle(getString(R.string.alert_title_delete));
@@ -422,19 +434,32 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
                 }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
     }
 
+    /*
+    è‡ªå®šä¹‰å¼‚æ­¥å¤„ç�†æŸ¥è¯¢ç±»ï¼Œç”¨äºŽåœ¨å�Žå�°æ‰§è¡ŒæŸ¥è¯¢æ“�ä½œå¹¶å¤„ç�†æŸ¥è¯¢ç»“æžœ
+    è¿™ä¸ªç±»æ˜¯ä¸ºäº†é�¿å…�åœ¨ä¸»çº¿ç¨‹ä¸­æ‰§è¡Œè€—æ—¶çš„æ•°æ�®åº“æŸ¥è¯¢æˆ–ä¸Žå†…å®¹æ��ä¾›è€…äº¤äº’çš„æ“�ä½œï¼Œä»¥ç¡®ä¿�åº”ç”¨ç¨‹åº�çš„ç•Œé�¢å“�åº”æ€§èƒ½ã€‚
+     */
     private final class BackgroundQueryHandler extends AsyncQueryHandler {
         public BackgroundQueryHandler(ContentResolver contentResolver) {
             super(contentResolver);
         }
 
+        /**
+         * token å�‚æ•°è¡¨ç¤ºæŸ¥è¯¢æ“�ä½œçš„æ ‡è¯†ç¬¦ï¼Œç”¨äºŽåŒºåˆ†ä¸�å�Œçš„æŸ¥è¯¢æ“�ä½œã€‚
+         * cookie å�‚æ•°æ˜¯ä¸€ä¸ªå�¯é€‰çš„å¯¹è±¡ï¼Œç”¨äºŽåœ¨å�‘èµ·æŸ¥è¯¢æ—¶ä¼ é€’é¢�å¤–çš„æ•°æ�®ï¼Œåœ¨æŸ¥è¯¢å®Œæˆ�å�ŽåŽŸæ ·è¿”å›žï¼Œå�¯ä»¥ç”¨äºŽæ ‡è¯†æŸ¥è¯¢æ“�ä½œçš„ä¸Šä¸‹æ–‡æˆ–å…¶ä»–éœ€è¦�çš„ä¿¡æ�¯ã€‚
+         * cursor å�‚æ•°æ˜¯æŸ¥è¯¢è¿”å›žçš„ç»“æžœé›†ï¼Œå®ƒæ˜¯ä¸€ä¸ªæ¸¸æ ‡å¯¹è±¡ï¼ˆCursorï¼‰ï¼Œç”¨äºŽé��åŽ†æŸ¥è¯¢ç»“æžœçš„æ•°æ�®ã€‚
+         * @param token the token to identify the query, passed in from
+         *            {@link #startQuery}.
+         * @param cookie the cookie object passed in from {@link #startQuery}.
+         * @param cursor The cursor holding the results from the query.
+         */
         @Override
         protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
             switch (token) {
-                case FOLDER_NOTE_LIST_QUERY_TOKEN:
+                case FOLDER_NOTE_LIST_QUERY_TOKEN://0   å¯¹æ–‡ä»¶å¤¹å†…çš„ç¬”è®°åˆ—è¡¨è¿›è¡ŒæŸ¥è¯¢æ“�ä½œ
                     mNotesListAdapter.changeCursor(cursor);
                     break;
-                case FOLDER_LIST_QUERY_TOKEN:
-                    if (cursor != null && cursor.getCount() > 0) {
+                case FOLDER_LIST_QUERY_TOKEN://1    å¯¹æ–‡ä»¶å¤¹åˆ—è¡¨è¿›è¡ŒæŸ¥è¯¢æ“�ä½œ
+                    if (cursor != null && cursor.getCount() > 0) {//æœ‰æ–‡ä»¶å¤¹
                         showFolderListMenu(cursor);
                     } else {
                         Log.e(TAG, "Query folder failed");
@@ -448,7 +473,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
 
     private void showFolderListMenu(Cursor cursor) {
         AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this);
-        builder.setTitle(R.string.menu_title_select_folder);
+        builder.setTitle(R.string.menu_title_select_folder);//é€‰æ‹©æ–‡ä»¶å¤¹
         final FoldersListAdapter adapter = new FoldersListAdapter(this, cursor);
         builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
 
@@ -458,9 +483,9 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
                 Toast.makeText(
                         NotesListActivity.this,
                         getString(R.string.format_move_notes_to_folder,
-                                mNotesListAdapter.getSelectedCount(),
+                                mNotesListAdapter.getSelectedCount(),//é€‰ä¸­çš„è¦�ç§»åˆ°çš„ä¾¿ç­¾æ•°é‡�
                                 adapter.getFolderName(NotesListActivity.this, which)),
-                        Toast.LENGTH_SHORT).show();
+                        Toast.LENGTH_SHORT).show();//å½“æŠŠæ–‡ä»¶å¤¹ä¸­çš„ä¾¿ç­¾ç§»åˆ°æ–‡ä»¶å¤¹å¤–æ—¶ï¼Œæ˜¾ç¤ºToastæ¶ˆæ�¯â€œâ€�å·²å°†æ‰€é€‰+n+æ�¡ä¾¿ç­¾ç§»åˆ°ä¸Šä¸€çº§æ–‡ä»¶å¤¹
                 mModeCallBack.finishActionMode();
             }
         });
@@ -886,21 +911,21 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
         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) {
+                if (mNotesListAdapter.isInChoiceMode()) {//å¤„äºŽé€‰æ‹©çŠ¶æ€�
+                    if (item.getType() == Notes.TYPE_NOTE) {//æ˜¯ä¾¿ç­¾è¢«é€‰ä¸­ï¼Œåˆ™ä¿®æ”¹å®ƒçš„è¢«é€‰æ‹©çš„çŠ¶æ€�
                         position = position - mNotesListView.getHeaderViewsCount();
                         mModeCallBack.onItemCheckedStateChanged(null, position, id,
                                 !mNotesListAdapter.isSelectedItem(position));
                     }
                     return;
                 }
-
+                //ä»¥ä¸‹æ˜¯ä¸�å¤„äºŽé€‰æ‹©æ¨¡å¼�
                 switch (mState) {
                     case NOTE_LIST:
-                        if (item.getType() == Notes.TYPE_FOLDER
+                        if (item.getType() == Notes.TYPE_FOLDER//æ˜¯æ–‡ä»¶å¤¹è¢«é€‰ä¸­ï¼Œåˆ™æ‰“å¼€æ–‡ä»¶å¤¹
                                 || item.getType() == Notes.TYPE_SYSTEM) {
                             openFolder(item);
-                        } else if (item.getType() == Notes.TYPE_NOTE) {
+                        } else if (item.getType() == Notes.TYPE_NOTE) {//æ˜¯ä¾¿ç­¾è¢«é€‰ä¸­ï¼Œåˆ™æ‰“å¼€è¯¥ä¾¿ç­¾
                             openNode(item);
                         } else {
                             Log.e(TAG, "Wrong note type in NOTE_LIST");
diff --git a/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListAdapter.java b/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListAdapter.java
index 44bd3c8..e145bb1 100644
--- a/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListAdapter.java
+++ b/src/xiaomi/app/src/main/java/com/example/notes_master/src/net/micode/notes/ui/NotesListAdapter.java
@@ -35,7 +35,7 @@ public class NotesListAdapter extends CursorAdapter {
     private static final String TAG = "NotesListAdapter";
     private Context mContext;
     private HashMap<Integer, Boolean> mSelectedIndex;
-    private int mNotesCount;
+    private int mNotesCount;//æ–‡ä»¶å¤¹å¤–çš„ä¾¿ç­¾æ•°é‡�
     private boolean mChoiceMode;
 
     public static class AppWidgetAttribute {
@@ -55,6 +55,13 @@ public class NotesListAdapter extends CursorAdapter {
         return new NotesListItem(context);
     }
 
+    /**
+     * åœ¨ bindView() æ–¹æ³•ä¸­ï¼Œæ‚¨å�¯ä»¥èŽ·å�– Cursor ä¸­çš„æ•°æ�®ï¼Œå¹¶å°†å…¶è®¾ç½®åˆ°ç›¸åº”çš„ç•Œé�¢å…ƒç´ ä¸Šï¼Œä¾‹å¦‚ TextViewã€�ImageView ç­‰ã€‚
+     * @param view Existing view, returned earlier by newView
+     * @param context Interface to application's global information
+     * @param cursor The cursor from which to get the data. The cursor is already
+     * moved to the correct position.
+     */
     @Override
     public void bindView(View view, Context context, Cursor cursor) {
         if (view instanceof NotesListItem) {
@@ -128,12 +135,18 @@ public class NotesListAdapter extends CursorAdapter {
         return itemSet;
     }
 
+    /**
+     *è¿”å›žé€‰ä¸­çš„ä¾¿ç­¾ä¸ªæ•°ï¼ˆmSelectedIndexçš„valueä¸ºtrueçš„å…ƒç´ ä¸ªæ•°ï¼‰
+     * @return
+     */
     public int getSelectedCount() {
-        Collection<Boolean> values = mSelectedIndex.values();
+        Collection<Boolean> values = mSelectedIndex.values();//åœ¨ HashMap ä¸­ï¼Œæ¯�ä¸ªé”®éƒ½å…³è�”ä¸€ä¸ªå€¼ã€‚
+        // values æ–¹æ³•è¿”å›žçš„æ˜¯æ‰€æœ‰é”®å€¼å¯¹ä¸­çš„å€¼ç»„æˆ�çš„é›†å�ˆï¼Œè€Œä¸�åŒ…æ‹¬é”®ã€‚
+        // è¯¥é›†å�ˆæ˜¯ä¸€ä¸ª Collection ç±»åž‹ï¼Œå�¯ä»¥é��åŽ†ã€�è¿­ä»£æˆ–è¿›è¡Œå…¶ä»–æ“�ä½œã€‚
         if (null == values) {
             return 0;
         }
-        Iterator<Boolean> iter = values.iterator();
+        Iterator<Boolean> iter = values.iterator();//è¿”å›žä¸€ä¸ªè¿­ä»£å™¨å¯¹è±¡ï¼ˆIteratorç±»åž‹ï¼‰ç”¨äºŽé��åŽ†é›†å�ˆä¸­çš„å…ƒç´ 
         int count = 0;
         while (iter.hasNext()) {
             if (true == iter.next()) {
@@ -164,15 +177,15 @@ public class NotesListAdapter extends CursorAdapter {
     @Override
     public void changeCursor(Cursor cursor) {
         super.changeCursor(cursor);
-        calcNotesCount();
+        calcNotesCount();//ä¸ºäº†ç»™mNotesCountèµ‹å€¼ï¼Œä¹Ÿå°±æ˜¯è®¡ç®—å‡ºä¾¿ç­¾æ•°é‡�
     }
 
     private void calcNotesCount() {
-        mNotesCount = 0;
-        for (int i = 0; i < getCount(); i++) {
+        mNotesCount = 0;//ä¾¿ç­¾æ•°é‡�å…ˆèµ‹ä¸º0
+        for (int i = 0; i < getCount(); i++) {//getCount()æ–¹æ³•æ˜¯CursorAdapterä¸­çš„æ–¹æ³•ï¼Œç”¨äºŽè¿”å›žæ¸¸æ ‡é›†ä¸­å…ƒç´ ä¸ªæ•°
             Cursor c = (Cursor) getItem(i);
             if (c != null) {
-                if (NoteItemData.getNoteType(c) == Notes.TYPE_NOTE) {
+                if (NoteItemData.getNoteType(c) == Notes.TYPE_NOTE) {//0ã€‚æ˜¯å�•çº¯çš„ä¾¿ç­¾å°±ä¾¿ç­¾æ•°é‡�++
                     mNotesCount++;
                 }
             } else {
