liuyitao 11 months ago
commit 7a9a5f0b5f

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="ea760280-047e-4f31-b484-7ed20301a8d6" />
</component>
</module>

@ -7,11 +7,40 @@
<deviceKey> <deviceKey>
<Key> <Key>
<type value="VIRTUAL_DEVICE_PATH" /> <type value="VIRTUAL_DEVICE_PATH" />
<<<<<<< HEAD
<<<<<<< HEAD
<value value="D:\Android\Sdk\.android\.android\avd\Pixel_2_API_24XM.avd" /> <value value="D:\Android\Sdk\.android\.android\avd\Pixel_2_API_24XM.avd" />
=======
<value value="D:\Android\Sdk\.android\.android\avd\Pixel_3.avd" />
>>>>>>> liuyitao-branch
=======
<value value="D:\Android\Sdk\.android\.android\avd\Pixel_3.avd" />
>>>>>>> liuyitao-branch
</Key> </Key>
</deviceKey> </deviceKey>
</Target> </Target>
</targetSelectedWithDropDown> </targetSelectedWithDropDown>
<<<<<<< HEAD
<<<<<<< HEAD
<timeTargetWasSelectedWithDropDown value="2023-12-10T15:25:18.755958200Z" /> <timeTargetWasSelectedWithDropDown value="2023-12-10T15:25:18.755958200Z" />
=======
=======
>>>>>>> liuyitao-branch
<timeTargetWasSelectedWithDropDown value="2023-12-26T13:14:02.597971200Z" />
<targetsSelectedWithDialog>
<Target>
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="D:\Android\Sdk\.android\.android\avd\Pixel_2_API_24XM.avd" />
</Key>
</deviceKey>
</Target>
</targetsSelectedWithDialog>
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
</component> </component>
</project> </project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="6b4337fa-976a-4320-bbb7-5fde90e12341" />
</component>
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="65164790-ae08-46eb-a87a-d0771f0195d1" />
</component>
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="5aff190d-9f7a-48bc-9662-f376bceba398" />
</component>
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="c4b3ba2a-0c06-4504-a4f8-4631a148ebae" />
</component>
</module>

@ -0,0 +1,21 @@
>
java:S1604t"(Make this anonymous inner class a lambda(Éãî
V java:S125"<This block of commented-out lines of code should be removed.(Í<C38D>¸ýÿÿÿÿ

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:S3878="8Remove this array creation and simply pass the elements.(‘Àߎ
M
java:S1874="7Remove this use of "publishProgress"; it is deprecated.(‘Àߎ
C
java:S1172B".Remove this unused method parameter "content".(ÖÔ¥R
K
java:S1874E"0Remove this use of "defaults"; it is deprecated.(±æÝÈûÿÿÿÿ
V java:S125Q"<This block of commented-out lines of code should be removed.(ëœôùþÿÿÿÿ
e
java:S1874^"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(ë•·ÿÿÿÿÿ
e
java:S1874f"JDon't override a deprecated method or explicitly mark it as "@Deprecated".(÷ችûÿÿÿÿ

@ -0,0 +1,117 @@
u
java:S2293Î"YReplace the type specification in this constructor call with the diamond operator ("<>").(æå<C3A6>„þÿÿÿÿ
a
java:S2184s"FCast one of the operands of this multiplication operation to a "long".(⣛Úùÿÿÿÿ
T
java:S1874K"9Remove this use of "DefaultHttpClient"; it is deprecated.(믥ìþÿÿÿÿ
H
java:S1874ç"2Remove this use of "HttpParams"; it is deprecated.(ŸÅE
M
java:S1874ç"7Remove this use of "BasicHttpParams"; it is deprecated.(ŸÅE
X
java:S1874è"<Remove this use of "HttpConnectionParams"; it is deprecated.(­Ú¬Ùùÿÿÿÿ
X
java:S1874è"<Remove this use of "setConnectionTimeout"; it is deprecated.(­Ú¬Ùùÿÿÿÿ
X
java:S1874é"<Remove this use of "HttpConnectionParams"; it is deprecated.(åÙµÌûÿÿÿÿ
P
java:S1874é"4Remove this use of "setSoTimeout"; it is deprecated.(åÙµÌûÿÿÿÿ
O
java:S1874ê"9Remove this use of "DefaultHttpClient"; it is deprecated.(ÛÔÇ/
T
java:S1874ë"8Remove this use of "BasicCookieStore"; it is deprecated.(º„˜³øÿÿÿÿ
T
java:S1874ë"8Remove this use of "BasicCookieStore"; it is deprecated.(º„˜³øÿÿÿÿ
L
java:S1874ì"6Remove this use of "setCookieStore"; it is deprecated.(Žä•6
V
java:S1874í":Remove this use of "HttpProtocolParams"; it is deprecated.(Õêøÿÿÿÿÿ
X
java:S1874í"<Remove this use of "setUseExpectContinue"; it is deprecated.(Õêøÿÿÿÿÿ
M
java:S1874í"1Remove this use of "getParams"; it is deprecated.(Õêøÿÿÿÿÿ
F
java:S1874ò"/Remove this use of "HttpGet"; it is deprecated.(<28>ÿŽ¡
F
java:S1874ò"/Remove this use of "HttpGet"; it is deprecated.(<28>ÿŽ¡
P
java:S1874ó"4Remove this use of "HttpResponse"; it is deprecated.(Òø±¾þÿÿÿÿ
F
java:S1874ô"/Remove this use of "execute"; it is deprecated.(œä¯ª
J
java:S1874÷".Remove this use of "Cookie"; it is deprecated.(Жí˜ÿÿÿÿÿ
R
java:S1874÷"6Remove this use of "getCookieStore"; it is deprecated.(Жí˜ÿÿÿÿÿ
N
java:S1874÷"2Remove this use of "getCookies"; it is deprecated.(Жí˜ÿÿÿÿÿ
J
java:S1874ù".Remove this use of "Cookie"; it is deprecated.(<28>èý¯ûÿÿÿÿ
F
java:S1874ú"/Remove this use of "getName"; it is deprecated.(æëü 
H
java:S1874ƒ"1Remove this use of "getEntity"; it is deprecated.(ѽ›è
L
java:S1874Ÿ"0Remove this use of "HttpPost"; it is deprecated.(÷îäÐøÿÿÿÿ
L
java:S1874 "0Remove this use of "HttpPost"; it is deprecated.(‹äÏÒÿÿÿÿÿ
L
java:S1874 "0Remove this use of "HttpPost"; it is deprecated.(‹äÏÒÿÿÿÿÿ
M
java:S1874¡"1Remove this use of "setHeader"; it is deprecated.(†€‡ïúÿÿÿÿ
H
java:S1874¢"1Remove this use of "setHeader"; it is deprecated.(Þûå®
I
java:S1874¦"2Remove this use of "HttpEntity"; it is deprecated.(Û…­ñ
V
java:S1874¨":Remove this use of "getContentEncoding"; it is deprecated.(ëãèÉýÿÿÿÿ
V
java:S1874©":Remove this use of "getContentEncoding"; it is deprecated.(<28>—¯Üýÿÿÿÿ
L
java:S1874©"0Remove this use of "getValue"; it is deprecated.(<28>—¯Üýÿÿÿÿ
N
java:S1874­"2Remove this use of "getContent"; it is deprecated.(ý˜Çöüÿÿÿÿ
N
java:S1874¯"2Remove this use of "getContent"; it is deprecated.(<28>±Š¦ûÿÿÿÿ
I
java:S1874²"2Remove this use of "getContent"; it is deprecated.(øŒËñ
F
java:S2093µ"*Change this "try" to a try-with-resources.(¡»¢üùÿÿÿÿ
G
java:S1874Ì"0Remove this use of "HttpPost"; it is deprecated.(ê ¶É
\
java:S2147Ü"ECombine this catch with the one at line 344, which has the same body.(ï­£Ä
V
java:S1874Î":Remove this use of "BasicNameValuePair"; it is deprecated.(æå<C3A6>„þÿÿÿÿ
V
java:S1874Î":Remove this use of "BasicNameValuePair"; it is deprecated.(æå<C3A6>„þÿÿÿÿ
V
java:S1874Ï":Remove this use of "BasicNameValuePair"; it is deprecated.(ø³®ñýÿÿÿÿ
S
java:S1874Ð"<Remove this use of "UrlEncodedFormEntity"; it is deprecated.(«„¿Œ
S
java:S1874Ð"<Remove this use of "UrlEncodedFormEntity"; it is deprecated.(«„¿Œ
M
java:S1874Ñ"1Remove this use of "setEntity"; it is deprecated.(èæ¡…üÿÿÿÿ
P
java:S1874Ô"4Remove this use of "HttpResponse"; it is deprecated.(¬±ó<C2B1>ûÿÿÿÿ
K
java:S1874Ô"/Remove this use of "execute"; it is deprecated.(¬±ó<C2B1>ûÿÿÿÿ
H
java:S1874Õ"1Remove this use of "getEntity"; it is deprecated.(¯ºÐ‡
[
java:S1874Ø"?Remove this use of "ClientProtocolException"; it is deprecated.(‡¤“Óûÿÿÿÿ
\
java:S2147"ECombine this catch with the one at line 535, which has the same body.(ï­£Ä
F
java:S1874"/Remove this use of "HttpGet"; it is deprecated.(”ëÚê
F
java:S1874"/Remove this use of "HttpGet"; it is deprecated.(”ëÚê
P
java:S1874ˆ"4Remove this use of "HttpResponse"; it is deprecated.(Òø±¾þÿÿÿÿ
F
java:S1874"/Remove this use of "execute"; it is deprecated.(œä¯ª
H
java:S1874Œ"1Remove this use of "getEntity"; it is deprecated.(ѽ›è
[
java:S1874"?Remove this use of "ClientProtocolException"; it is deprecated.(‡¤“Óûÿÿÿÿ

@ -0,0 +1,43 @@
o
java:S2293]"YReplace the type specification in this constructor call with the diamond operator ("<>").(²¿›ž
t
java:S2293^"YReplace the type specification in this constructor call with the diamond operator ("<>").(‘´ÂÞþÿÿÿÿ
t
java:S2293_"YReplace the type specification in this constructor call with the diamond operator ("<>").(±€šˆþÿÿÿÿ
o
java:S2293a"YReplace the type specification in this constructor call with the diamond operator ("<>").(ÈüùÌ
t
java:S2293b"YReplace the type specification in this constructor call with the diamond operator ("<>").(ðˆâ³ùÿÿÿÿ
t
java:S2293c"YReplace the type specification in this constructor call with the diamond operator ("<>").(ž’»Ðýÿÿÿÿ
]
java:S1192©"FDefine a constant instead of duplicating this literal " DESC" 3 times.(©ÍÔ±
K
java:S1066ˆ"/Merge this if statement with the enclosing one.(¾¶†–þÿÿÿÿ
K
java:S1066Õ"/Merge this if statement with the enclosing one.(˼֓ùÿÿÿÿ
i
java:S3776«"RRefactor this method to reduce its Cognitive Complexity from 29 to the 15 allowed.(«Ã¾á
I
java:S1905Á"-Remove this unnecessary cast to "JSONObject".(ï½€—ýÿÿÿÿ
C
java:S1905ç"-Remove this unnecessary cast to "JSONObject".(Ø›¶
i
java:S3776ú"RRefactor this method to reduce its Cognitive Complexity from 28 to the 15 allowed.(ðúæŠ
n
java:S3776â"RRefactor this method to reduce its Cognitive Complexity from 41 to the 15 allowed.(…Ë°±ýÿÿÿÿ
n
java:S3776<18>"RRefactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.(ÿ»É¸ûÿÿÿÿ
5
java:S2129â"Remove this "Long" constructor(Ï­¨Ã
C
java:S1874â",Remove this use of "Long"; it is deprecated.(Ï­¨Ã
n
java:S3776î"RRefactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.(ƶؠüÿÿÿÿ
G
java:S1172î"+Remove this unused method parameter "node".(ƶؠüÿÿÿÿ
C
java:S1905ƒ"'Remove this unnecessary cast to "Node".(±¼ÇÒûÿÿÿÿ
>
java:S1905©"'Remove this unnecessary cast to "Node".(íé¥Ç

@ -0,0 +1,27 @@
>
java:S1604/"(Make this anonymous inner class a lambda(«ÑŽð
`
java:S1124"EReorder the modifiers to comply with the Java Language Specification.(Ö<C396>¿ùÿÿÿÿ
`
java:S1124"EReorder the modifiers to comply with the Java Language Specification.(êŲôûÿÿÿÿ
`
java:S1124"EReorder the modifiers to comply with the Java Language Specification.(šØ²Ãùÿÿÿÿ
`
java:S1124!"EReorder the modifiers to comply with the Java Language Specification.(°àº¿øÿÿÿÿ
[
java:S1124#"EReorder the modifiers to comply with the Java Language Specification.(ôÕ³Þ
[
java:S1124%"EReorder the modifiers to comply with the Java Language Specification.(ߪäË
[
java:S1124'"EReorder the modifiers to comply with the Java Language Specification.(¹‹¶È
L
java:S2696/"6Make the enclosing method "static" or remove this set.(«ÑŽð
L
java:S26961"6Make the enclosing method "static" or remove this set.(ÙÊãÚ
E
java:S18747"/Remove this use of "execute"; it is deprecated.(¡íŠþ
L
java:S2696C"6Make the enclosing method "static" or remove this set.(ÙÊãÚ
K
java:S2696e"6Make the enclosing method "static" or remove this set.(„ò<E2809E>

@ -0,0 +1,21 @@
p
@app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java,1\e\1eb2363b523dbcae43d3c6e4790c64436af61b13
b
2app/src/main/java/net/micode/notes/data/Notes.java,a\7\a7641cfac724321d508c2a284223a711011a93f5
j
:app/src/main/java/net/micode/notes/data/NotesProvider.java,6\a\6a65e747031f27aef20597b4181148a9fbf963d5
d
4app/src/main/java/net/micode/notes/data/Contact.java,9\a\9a3a19793537958b8b1b03a81985999e22705a2f
k
;app/src/main/java/net/micode/notes/gtask/data/MetaData.java,c\1\c182d0c9c237ea8a46a92ccaae9bb5c751923a88
g
7app/src/main/java/net/micode/notes/gtask/data/Node.java,3\a\3aac5305cb73bfbdeb8078cd264d04323fa80e92
u
Eapp/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java,f\0\f087b1ba1b9c91b7293fea0fb071eaed62a42137
q
Aapp/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java,a\b\ab153b0256bc5f6c194e188cec0b8e327e347a90
p
@app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java,4\5\4529b3a97b0f3b19b895aa06f23bed63ff38a312
s
Capp/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java,0\2\023468cfdd0b71d4098903b9070e364658e2fbcf

@ -0,0 +1,21 @@
p
@app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java,1\e\1eb2363b523dbcae43d3c6e4790c64436af61b13
b
2app/src/main/java/net/micode/notes/data/Notes.java,a\7\a7641cfac724321d508c2a284223a711011a93f5
j
:app/src/main/java/net/micode/notes/data/NotesProvider.java,6\a\6a65e747031f27aef20597b4181148a9fbf963d5
d
4app/src/main/java/net/micode/notes/data/Contact.java,9\a\9a3a19793537958b8b1b03a81985999e22705a2f
k
;app/src/main/java/net/micode/notes/gtask/data/MetaData.java,c\1\c182d0c9c237ea8a46a92ccaae9bb5c751923a88
g
7app/src/main/java/net/micode/notes/gtask/data/Node.java,3\a\3aac5305cb73bfbdeb8078cd264d04323fa80e92
u
Eapp/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java,f\0\f087b1ba1b9c91b7293fea0fb071eaed62a42137
q
Aapp/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java,a\b\ab153b0256bc5f6c194e188cec0b8e327e347a90
p
@app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java,4\5\4529b3a97b0f3b19b895aa06f23bed63ff38a312
s
Capp/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java,0\2\023468cfdd0b71d4098903b9070e364658e2fbcf

@ -1,3 +1,5 @@
<<<<<<< HEAD
<<<<<<< HEAD
#Thu Dec 21 01:11:46 CST 2023 #Thu Dec 21 01:11:46 CST 2023
net.micode.notes.app-main-6\:/color/primary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat net.micode.notes.app-main-6\:/color/primary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat
net.micode.notes.app-main-6\:/color/secondary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat net.micode.notes.app-main-6\:/color/secondary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat
@ -94,3 +96,106 @@ net.micode.notes.app-main-6\:/xml/preferences.xml=C\:\\Users\\lenovo\\Desktop\\g
net.micode.notes.app-main-6\:/xml/searchable.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat net.micode.notes.app-main-6\:/xml/searchable.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat
net.micode.notes.app-main-6\:/xml/widget_2x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat net.micode.notes.app-main-6\:/xml/widget_2x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat
net.micode.notes.app-main-6\:/xml/widget_4x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat net.micode.notes.app-main-6\:/xml/widget_4x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat
=======
=======
>>>>>>> liuyitao-branch
#Sun Dec 10 23:29:21 CST 2023
net.micode.notes.app-main-6\:/color/primary_text_dark.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat
net.micode.notes.app-main-6\:/color/secondary_text_dark.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat
net.micode.notes.app-main-6\:/drawable-hdpi/bg_btn_set_color.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_btn_set_color.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/bg_color_btn_mask.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_color_btn_mask.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/call_record.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/clock.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_clock.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/delete.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_delete.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/dropdown_icon.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_dropdown_icon.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_blue.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_blue.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_green.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_green.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_red.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_red.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_blue.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_blue.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_green.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_green.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_red.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_red.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_white.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_white.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_yellow.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_yellow.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_white.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_white.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_yellow.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_yellow.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_large.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_large.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_normal.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_normal.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_size_selector_bg.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_size_selector_bg.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_small.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_small.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_super.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_super.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/icon_app.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_icon_app.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_background.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_background.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_folder.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_folder.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_footer_bg.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_footer_bg.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/menu_delete.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_delete.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/menu_move.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_move.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/new_note_normal.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/new_note_pressed.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_pressed.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/note_edit_color_selector_panel.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_note_edit_color_selector_panel.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/notification.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_notification.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/search_result.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_search_result.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/selected.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_selected.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/title_alert.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_alert.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/title_bar_bg.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_bar_bg.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_blue.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_blue.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_green.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_green.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_red.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_red.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_white.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_white.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_yellow.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_yellow.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_blue.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_blue.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_green.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_green.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_red.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_red.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_white.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_white.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_yellow.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_yellow.png.flat
net.micode.notes.app-main-6\:/drawable/new_note.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable_new_note.xml.flat
net.micode.notes.app-main-6\:/layout/account_dialog_title.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_account_dialog_title.xml.flat
net.micode.notes.app-main-6\:/layout/add_account_text.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_add_account_text.xml.flat
net.micode.notes.app-main-6\:/layout/datetime_picker.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_datetime_picker.xml.flat
net.micode.notes.app-main-6\:/layout/dialog_edit_text.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_dialog_edit_text.xml.flat
net.micode.notes.app-main-6\:/layout/folder_list_item.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_folder_list_item.xml.flat
net.micode.notes.app-main-6\:/layout/note_edit.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit.xml.flat
net.micode.notes.app-main-6\:/layout/note_edit_list_item.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit_list_item.xml.flat
net.micode.notes.app-main-6\:/layout/note_item.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_item.xml.flat
net.micode.notes.app-main-6\:/layout/note_list.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list.xml.flat
net.micode.notes.app-main-6\:/layout/note_list_dropdown_menu.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_dropdown_menu.xml.flat
net.micode.notes.app-main-6\:/layout/note_list_footer.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_footer.xml.flat
net.micode.notes.app-main-6\:/layout/settings_header.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_settings_header.xml.flat
net.micode.notes.app-main-6\:/layout/widget_2x.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_2x.xml.flat
net.micode.notes.app-main-6\:/layout/widget_4x.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_4x.xml.flat
net.micode.notes.app-main-6\:/menu/call_note_edit.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_call_note_edit.xml.flat
net.micode.notes.app-main-6\:/menu/call_record_folder.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_call_record_folder.xml.flat
net.micode.notes.app-main-6\:/menu/note_edit.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_edit.xml.flat
net.micode.notes.app-main-6\:/menu/note_list.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list.xml.flat
net.micode.notes.app-main-6\:/menu/note_list_dropdown.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_dropdown.xml.flat
net.micode.notes.app-main-6\:/menu/note_list_options.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_options.xml.flat
net.micode.notes.app-main-6\:/menu/sub_folder.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_sub_folder.xml.flat
net.micode.notes.app-main-6\:/raw-zh-rCN/introduction=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\raw-zh-rCN_introduction.flat
net.micode.notes.app-main-6\:/raw/introduction=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\raw_introduction.flat
net.micode.notes.app-main-6\:/xml/preferences.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_preferences.xml.flat
net.micode.notes.app-main-6\:/xml/searchable.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat
net.micode.notes.app-main-6\:/xml/widget_2x_info.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat
net.micode.notes.app-main-6\:/xml/widget_4x_info.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch

@ -1,3 +1,5 @@
<<<<<<< HEAD
<<<<<<< HEAD
#Thu Dec 21 01:11:49 CST 2023 #Thu Dec 21 01:11:49 CST 2023
net.micode.notes.app-main-5\:/color/primary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\primary_text_dark.xml net.micode.notes.app-main-5\:/color/primary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\primary_text_dark.xml
net.micode.notes.app-main-5\:/color/secondary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\secondary_text_dark.xml net.micode.notes.app-main-5\:/color/secondary_text_dark.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\secondary_text_dark.xml
@ -94,3 +96,106 @@ net.micode.notes.app-main-5\:/xml/preferences.xml=C\:\\Users\\lenovo\\Desktop\\g
net.micode.notes.app-main-5\:/xml/searchable.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\searchable.xml net.micode.notes.app-main-5\:/xml/searchable.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\searchable.xml
net.micode.notes.app-main-5\:/xml/widget_2x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_2x_info.xml net.micode.notes.app-main-5\:/xml/widget_2x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_2x_info.xml
net.micode.notes.app-main-5\:/xml/widget_4x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_4x_info.xml net.micode.notes.app-main-5\:/xml/widget_4x_info.xml=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_4x_info.xml
=======
=======
>>>>>>> liuyitao-branch
#Sun Dec 10 23:29:22 CST 2023
net.micode.notes.app-main-5\:/color/primary_text_dark.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\primary_text_dark.xml
net.micode.notes.app-main-5\:/color/secondary_text_dark.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\secondary_text_dark.xml
net.micode.notes.app-main-5\:/drawable-hdpi/bg_btn_set_color.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\bg_btn_set_color.png
net.micode.notes.app-main-5\:/drawable-hdpi/bg_color_btn_mask.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\bg_color_btn_mask.png
net.micode.notes.app-main-5\:/drawable-hdpi/call_record.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\call_record.png
net.micode.notes.app-main-5\:/drawable-hdpi/clock.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\clock.png
net.micode.notes.app-main-5\:/drawable-hdpi/delete.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\delete.png
net.micode.notes.app-main-5\:/drawable-hdpi/dropdown_icon.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\dropdown_icon.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_blue.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_blue.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_green.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_green.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_red.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_red.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_blue.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_blue.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_green.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_green.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_red.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_red.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_white.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_white.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_yellow.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_yellow.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_white.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_white.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_yellow.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_yellow.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_large.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_large.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_normal.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_normal.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_size_selector_bg.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_size_selector_bg.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_small.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_small.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_super.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_super.png
net.micode.notes.app-main-5\:/drawable-hdpi/icon_app.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\icon_app.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_background.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_background.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_folder.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_folder.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_footer_bg.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_footer_bg.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_down.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_middle.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_single.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_up.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/menu_delete.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\menu_delete.png
net.micode.notes.app-main-5\:/drawable-hdpi/menu_move.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\menu_move.png
net.micode.notes.app-main-5\:/drawable-hdpi/new_note_normal.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\new_note_normal.png
net.micode.notes.app-main-5\:/drawable-hdpi/new_note_pressed.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\new_note_pressed.png
net.micode.notes.app-main-5\:/drawable-hdpi/note_edit_color_selector_panel.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\note_edit_color_selector_panel.png
net.micode.notes.app-main-5\:/drawable-hdpi/notification.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\notification.png
net.micode.notes.app-main-5\:/drawable-hdpi/search_result.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\search_result.png
net.micode.notes.app-main-5\:/drawable-hdpi/selected.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\selected.png
net.micode.notes.app-main-5\:/drawable-hdpi/title_alert.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\title_alert.png
net.micode.notes.app-main-5\:/drawable-hdpi/title_bar_bg.9.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\title_bar_bg.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_blue.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_blue.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_green.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_green.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_red.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_red.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_white.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_white.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_yellow.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_yellow.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_blue.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_blue.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_green.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_green.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_red.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_red.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_white.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_white.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_yellow.png=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_yellow.png
net.micode.notes.app-main-5\:/drawable/new_note.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable\\new_note.xml
net.micode.notes.app-main-5\:/layout/account_dialog_title.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\account_dialog_title.xml
net.micode.notes.app-main-5\:/layout/add_account_text.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\add_account_text.xml
net.micode.notes.app-main-5\:/layout/datetime_picker.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\datetime_picker.xml
net.micode.notes.app-main-5\:/layout/dialog_edit_text.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\dialog_edit_text.xml
net.micode.notes.app-main-5\:/layout/folder_list_item.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\folder_list_item.xml
net.micode.notes.app-main-5\:/layout/note_edit.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_edit.xml
net.micode.notes.app-main-5\:/layout/note_edit_list_item.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_edit_list_item.xml
net.micode.notes.app-main-5\:/layout/note_item.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_item.xml
net.micode.notes.app-main-5\:/layout/note_list.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_list.xml
net.micode.notes.app-main-5\:/layout/note_list_dropdown_menu.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_list_dropdown_menu.xml
net.micode.notes.app-main-5\:/layout/note_list_footer.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_list_footer.xml
net.micode.notes.app-main-5\:/layout/settings_header.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\settings_header.xml
net.micode.notes.app-main-5\:/layout/widget_2x.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\widget_2x.xml
net.micode.notes.app-main-5\:/layout/widget_4x.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\widget_4x.xml
net.micode.notes.app-main-5\:/menu/call_note_edit.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\call_note_edit.xml
net.micode.notes.app-main-5\:/menu/call_record_folder.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\call_record_folder.xml
net.micode.notes.app-main-5\:/menu/note_edit.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_edit.xml
net.micode.notes.app-main-5\:/menu/note_list.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_list.xml
net.micode.notes.app-main-5\:/menu/note_list_dropdown.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_list_dropdown.xml
net.micode.notes.app-main-5\:/menu/note_list_options.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_list_options.xml
net.micode.notes.app-main-5\:/menu/sub_folder.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\sub_folder.xml
net.micode.notes.app-main-5\:/raw-zh-rCN/introduction=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\raw-zh-rCN\\introduction
net.micode.notes.app-main-5\:/raw/introduction=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\raw\\introduction
net.micode.notes.app-main-5\:/xml/preferences.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\preferences.xml
net.micode.notes.app-main-5\:/xml/searchable.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\searchable.xml
net.micode.notes.app-main-5\:/xml/widget_2x_info.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_2x_info.xml
net.micode.notes.app-main-5\:/xml/widget_4x_info.xml=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_4x_info.xml
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch

@ -1 +1,9 @@
<<<<<<< HEAD
<<<<<<< HEAD
#Thu Dec 21 01:11:50 CST 2023 #Thu Dec 21 01:11:50 CST 2023
=======
#Wed Dec 20 23:43:26 CST 2023
>>>>>>> liuyitao-branch
=======
#Wed Dec 20 23:43:26 CST 2023
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest" generated-set="androidTest$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug" generated-set="androidTestDebug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><mergedItems/></merger> <merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest" generated-set="androidTest$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug" generated-set="androidTestDebug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><mergedItems/></merger>
=======
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest" generated-set="androidTest$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug" generated-set="androidTestDebug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><mergedItems/></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTest" generated-set="androidTest$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="androidTestDebug" generated-set="androidTestDebug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug"/></dataSet><mergedItems/></merger>
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\assets"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debugAndroidTest\out"/></dataSet></merger> <merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\assets"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debugAndroidTest\out"/></dataSet></merger>
=======
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\assets"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debugAndroidTest\out"/></dataSet></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\assets"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debugAndroidTest\out"/></dataSet></merger>
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\jniLibs"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\jniLibs"/></dataSet></merger> <merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\jniLibs"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\jniLibs"/></dataSet></merger>
=======
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\jniLibs"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\jniLibs"/></dataSet></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\jniLibs"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\jniLibs"/></dataSet></merger>
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\shaders"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\shaders"/></dataSet></merger> <merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTest\shaders"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\androidTestDebug\shaders"/></dataSet></merger>
=======
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\shaders"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\shaders"/></dataSet></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet config="androidTest" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTest\shaders"/></dataSet><dataSet config="androidTestDebug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\androidTestDebug\shaders"/></dataSet></merger>
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debug\out"/></dataSet></merger> <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debug\out"/></dataSet></merger>
=======
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debug\out"/></dataSet></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\shader_assets\debug\out"/></dataSet></merger>
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\jniLibs"/></dataSet></merger> <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\jniLibs"/></dataSet></merger>
=======
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\debug\jniLibs"/></dataSet></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\debug\jniLibs"/></dataSet></merger>
>>>>>>> liuyitao-branch

@ -1,2 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<<<<<<< HEAD
<<<<<<< HEAD
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\shaders"/></dataSet></merger> <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\shaders"/></dataSet></merger>
=======
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\debug\shaders"/></dataSet></merger>
>>>>>>> liuyitao-branch
=======
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Project1\MiNotes\src\Notes-master\app\src\debug\shaders"/></dataSet></merger>
>>>>>>> liuyitao-branch

@ -1,4 +1,14 @@
<<<<<<< HEAD
<<<<<<< HEAD
#Tue Dec 26 23:16:26 CST 2023 #Tue Dec 26 23:16:26 CST 2023
base.0=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex base.0=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
=======
#Tue Dec 26 21:40:43 CST 2023
base.0=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
>>>>>>> liuyitao-branch
=======
#Tue Dec 26 21:40:43 CST 2023
base.0=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
>>>>>>> liuyitao-branch
path.0=classes.dex path.0=classes.dex
renamed.0=classes.dex renamed.0=classes.dex

@ -1,4 +1,14 @@
<<<<<<< HEAD
<<<<<<< HEAD
#Thu Dec 21 01:11:55 CST 2023 #Thu Dec 21 01:11:55 CST 2023
base.0=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debugAndroidTest\\mergeDexDebugAndroidTest\\classes.dex base.0=C\:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debugAndroidTest\\mergeDexDebugAndroidTest\\classes.dex
=======
#Wed Dec 20 23:43:30 CST 2023
base.0=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debugAndroidTest\\mergeDexDebugAndroidTest\\classes.dex
>>>>>>> liuyitao-branch
=======
#Wed Dec 20 23:43:30 CST 2023
base.0=D\:\\Project1\\MiNotes\\src\\Notes-master\\app\\build\\intermediates\\dex\\debugAndroidTest\\mergeDexDebugAndroidTest\\classes.dex
>>>>>>> liuyitao-branch
path.0=classes.dex path.0=classes.dex
renamed.0=classes.dex renamed.0=classes.dex

@ -20,6 +20,8 @@
20 android:versionName="0.1" > 20 android:versionName="0.1" >
21 21
22 <uses-sdk 22 <uses-sdk
<<<<<<< HEAD
<<<<<<< HEAD
22-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:5-44 22-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:5-44
23 android:minSdkVersion="14" 23 android:minSdkVersion="14"
23-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:15-41 23-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:15-41
@ -266,6 +268,259 @@
147-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:146:13-58 147-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:146:13-58
148 android:value=".ui.NoteEditActivity" /> 148 android:value=".ui.NoteEditActivity" />
148-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:147:13-49 148-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:147:13-49
=======
=======
>>>>>>> liuyitao-branch
22-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:5-44
23 android:minSdkVersion="14"
23-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:15-41
24 android:targetSdkVersion="14" />
25
26 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
26-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:25:5-81
26-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:25:22-78
27 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
27-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:26:5-88
27-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:26:22-85
28 <uses-permission android:name="android.permission.INTERNET" />
28-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:27:5-67
28-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:27:22-64
29 <uses-permission android:name="android.permission.READ_CONTACTS" />
29-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:28:5-72
29-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:28:22-69
30 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
30-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:29:5-74
30-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:29:22-71
31 <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
31-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:30:5-80
31-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:30:22-77
32 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
32-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:31:5-71
32-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:31:22-68
33 <uses-permission android:name="android.permission.USE_CREDENTIALS" />
33-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:32:5-74
33-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:32:22-71
34 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
34-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:33:5-81
34-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:33:22-78
35
36 <application
36-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:35:5-148:19
37 android:debuggable="true"
38 android:extractNativeLibs="true"
39 android:icon="@drawable/icon_app"
39-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:36:9-42
40 android:label="@string/app_name"
40-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:37:9-41
41 android:testOnly="true" >
42 <activity
42-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:38:9-50:20
43 android:name="net.micode.notes.ui.NotesListActivity"
43-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:39:13-49
44 android:configChanges="keyboardHidden|orientation|screenSize"
44-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:40:13-74
45 android:label="@string/app_name"
45-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:41:13-45
46 android:launchMode="singleTop"
46-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:42:13-43
47 android:theme="@style/NoteTheme"
47-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:43:13-45
48 android:windowSoftInputMode="adjustPan" >
48-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:44:13-52
49 <intent-filter>
49-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:46:13-49:29
50 <action android:name="android.intent.action.MAIN" />
50-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:47:17-69
50-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:47:25-66
51
52 <category android:name="android.intent.category.LAUNCHER" />
52-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:48:17-77
52-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:48:27-74
53 </intent-filter>
54 </activity>
55 <activity
55-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:52:9-80:20
56 android:name="net.micode.notes.ui.NoteEditActivity"
56-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:53:13-48
57 android:configChanges="keyboardHidden|orientation|screenSize"
57-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:54:13-74
58 android:launchMode="singleTop"
58-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:55:13-43
59 android:theme="@style/NoteTheme" >
59-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:56:13-45
60 <intent-filter>
60-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:58:13-63:29
61 <action android:name="android.intent.action.VIEW" />
61-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:59:17-69
61-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:59:25-66
62
63 <category android:name="android.intent.category.DEFAULT" />
63-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:17-76
63-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:27-73
64
65 <data android:mimeType="vnd.android.cursor.item/text_note" />
65-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:17-78
65-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:23-75
66 <data android:mimeType="vnd.android.cursor.item/call_note" />
66-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:17-78
66-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:23-75
67 </intent-filter>
68 <intent-filter>
68-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:65:13-70:29
69 <action android:name="android.intent.action.INSERT_OR_EDIT" />
69-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:66:17-79
69-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:66:25-76
70
71 <category android:name="android.intent.category.DEFAULT" />
71-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:17-76
71-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:27-73
72
73 <data android:mimeType="vnd.android.cursor.item/text_note" />
73-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:17-78
73-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:23-75
74 <data android:mimeType="vnd.android.cursor.item/call_note" />
74-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:17-78
74-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:23-75
75 </intent-filter>
76 <intent-filter>
76-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:72:13-75:29
77 <action android:name="android.intent.action.SEARCH" />
77-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:73:17-71
77-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:73:25-68
78
79 <category android:name="android.intent.category.DEFAULT" />
79-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:17-76
79-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:27-73
80 </intent-filter>
81
82 <meta-data
82-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:77:13-79:54
83 android:name="android.app.searchable"
83-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:78:17-54
84 android:resource="@xml/searchable" />
84-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:79:17-51
85 </activity>
86
87 <provider
87-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:82:9-85:43
88 android:name="net.micode.notes.data.NotesProvider"
88-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:83:13-63
89 android:authorities="micode_notes"
89-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:84:13-47
90 android:multiprocess="true" />
90-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:85:13-40
91
92 <receiver
92-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:87:9-99:20
93 android:name="net.micode.notes.widget.NoteWidgetProvider_2x"
93-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:88:13-57
94 android:label="@string/app_widget2x2" >
94-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:89:13-50
95 <intent-filter>
95-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:90:13-94:29
96 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
96-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:91:17-84
96-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:91:25-81
97 <action android:name="android.appwidget.action.APPWIDGET_DELETED" />
97-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:92:17-85
97-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:92:25-82
98 <action android:name="android.intent.action.PRIVACY_MODE_CHANGED" />
98-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:93:17-85
98-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:93:25-82
99 </intent-filter>
100
101 <meta-data
101-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:96:13-98:58
102 android:name="android.appwidget.provider"
102-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:97:17-58
103 android:resource="@xml/widget_2x_info" />
103-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:98:17-55
104 </receiver>
105 <receiver
105-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:100:9-113:20
106 android:name="net.micode.notes.widget.NoteWidgetProvider_4x"
106-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:101:13-57
107 android:label="@string/app_widget4x4" >
107-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:102:13-50
108 <intent-filter>
108-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:90:13-94:29
109 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
109-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:91:17-84
109-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:91:25-81
110 <action android:name="android.appwidget.action.APPWIDGET_DELETED" />
110-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:92:17-85
110-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:92:25-82
111 <action android:name="android.intent.action.PRIVACY_MODE_CHANGED" />
111-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:93:17-85
111-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:93:25-82
112 </intent-filter>
113
114 <meta-data
114-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:96:13-98:58
115 android:name="android.appwidget.provider"
115-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:97:17-58
116 android:resource="@xml/widget_4x_info" />
116-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:98:17-55
117 </receiver>
118 <receiver android:name="net.micode.notes.ui.AlarmInitReceiver" >
118-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:115:9-119:20
118-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:115:19-55
119 <intent-filter>
119-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:116:13-118:29
120 <action android:name="android.intent.action.BOOT_COMPLETED" />
120-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:117:17-79
120-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:117:25-76
121 </intent-filter>
122 </receiver>
123 <receiver
123-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:121:9-124:20
124 android:name="net.micode.notes.ui.AlarmReceiver"
124-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:122:13-61
125 android:process=":remote" >
125-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:123:13-38
126 </receiver>
127
128 <activity
128-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:126:9-131:20
129 android:name="net.micode.notes.ui.AlarmAlertActivity"
129-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:127:13-50
130 android:label="@string/app_name"
130-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:128:13-45
131 android:launchMode="singleInstance"
131-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:129:13-48
132 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" >
132-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:130:13-75
133 </activity>
134 <activity
134-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:133:9-138:20
135 android:name="net.micode.notes.ui.NotesPreferenceActivity"
135-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:134:13-71
136 android:label="@string/preferences_title"
136-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:135:13-54
137 android:launchMode="singleTop"
137-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:136:13-43
138 android:theme="@android:style/Theme.Holo.Light" >
138-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:137:13-60
139 </activity>
140
141 <service
141-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:140:9-143:19
142 android:name="net.micode.notes.gtask.remote.GTaskSyncService"
142-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:141:13-74
143 android:exported="false" >
143-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:142:13-37
144 </service>
145
146 <meta-data
146-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:145:9-147:52
147 android:name="android.app.default_searchable"
147-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:146:13-58
148 android:value=".ui.NoteEditActivity" />
148-->D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:147:13-49
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
149 </application> 149 </application>
150 150
151</manifest> 151</manifest>

@ -3,6 +3,8 @@
3 package="net.micode.notes.test" > 3 package="net.micode.notes.test" >
4 4
5 <uses-sdk 5 <uses-sdk
<<<<<<< HEAD
<<<<<<< HEAD
5-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:5:5-74 5-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:5:5-74
6 android:minSdkVersion="14" 6 android:minSdkVersion="14"
6-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:5:15-41 6-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:5:15-41
@ -29,6 +31,39 @@
19 <uses-library android:name="android.test.runner" /> 19 <uses-library android:name="android.test.runner" />
19-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:8:9-60 19-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:8:9-60
19-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:8:23-57 19-->C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest17019964075785161646.xml:8:23-57
=======
=======
>>>>>>> liuyitao-branch
5-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:5:5-74
6 android:minSdkVersion="14"
6-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:5:15-41
7 android:targetSdkVersion="14" />
7-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:5:42-71
8
9 <instrumentation
9-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:11:5-15:66
10 android:name="android.test.InstrumentationTestRunner"
10-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:11:22-75
11 android:functionalTest="false"
11-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:14:22-52
12 android:handleProfiling="false"
12-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:13:22-53
13 android:label="Tests for net.micode.notes"
13-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:15:22-64
14 android:targetPackage="net.micode.notes" />
14-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:12:22-62
15
16 <application
16-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:7:5-9:19
17 android:debuggable="true"
18 android:extractNativeLibs="true" >
19 <uses-library android:name="android.test.runner" />
19-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:8:9-60
19-->D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\tmp\manifest\androidTest\debug\tempFile1ProcessTestManifest15820545187547679684.xml:8:23-57
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
20 </application> 20 </application>
21 21
22</manifest> 22</manifest>

@ -1,6 +1,8 @@
{ {
"logs": [ "logs": [
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"outputFile": "net.micode.notes.app-merged_res-4:/values-zh-rCN_values-zh-rCN.arsc.flat", "outputFile": "net.micode.notes.app-merged_res-4:/values-zh-rCN_values-zh-rCN.arsc.flat",
"map": [ "map": [
{ {
@ -31,6 +33,24 @@
"endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,22,23", "endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,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,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", "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,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": "6827,3634,3560,3493,3419,881,930,979,6235,6293,6647,6592,1282,4001,4079,3932,3872,3806,4732,4676,4615,4190,2992,1446,1509,4276,3716,6344,3368,3135,1884,2161,2420,1935,2931,2870,2816,2612,2565,2469,2516,2660,2711,2207,3308,2764,3188,2117,2368,2320,2263,3091,2073,3035,1977,2028,3248,1392,1701,1799,1651,1749,1603,1555,1219,1167,5134,5058,5259,6189,5582,5517,5661,5772,5951,5846,5201,5447,5325,5391,4998,6035,6114,6541,6439,6393,6502,1340,4135,4551,4859,4791,4922,4491,4442,4396,4347,1046,1113" "endOffsets": "6827,3634,3560,3493,3419,881,930,979,6235,6293,6647,6592,1282,4001,4079,3932,3872,3806,4732,4676,4615,4190,2992,1446,1509,4276,3716,6344,3368,3135,1884,2161,2420,1935,2931,2870,2816,2612,2565,2469,2516,2660,2711,2207,3308,2764,3188,2117,2368,2320,2263,3091,2073,3035,1977,2028,3248,1392,1701,1799,1651,1749,1603,1555,1219,1167,5134,5058,5259,6189,5582,5517,5661,5772,5951,5846,5201,5447,5325,5391,4998,6035,6114,6541,6439,6393,6502,1340,4135,4551,4859,4791,4922,4491,4442,4396,4347,1046,1113"
=======
=======
>>>>>>> liuyitao-branch
"outputFile": "C:\\Users\\刘\\.gradle\\daemon\\8.0\\net.micode.notes.app-merged_res-4:\\values-zh-rCN_values-zh-rCN.arsc.flat",
"map": [
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rCN\\strings.xml",
"from": {
"startLines": "121,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,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",
"startOffsets": "6532,3495,3429,3356,3306,827,867,915,6083,6128,6478,6428,1199,3861,3929,3802,3737,3674,4592,4532,4469,4061,2877,1369,1422,4115,3568,6185,3247,3034,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,4967,4908,5108,6009,5419,5350,5483,5561,5744,5671,5042,5295,5165,5230,4859,5848,5931,6390,6283,6235,6328,1261,4006,4410,4705,4647,4772,4362,4317,4269,4218,963,1029",
"endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,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,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": "6704,3563,3490,3424,3351,862,910,958,6123,6180,6527,6473,1256,3924,4001,3856,3797,3732,4642,4587,4527,4110,2932,1417,1479,4195,3644,6230,3301,3072,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,5037,4962,5160,6078,5478,5414,5556,5666,5843,5739,5103,5345,5225,5290,4903,5926,6004,6423,6323,6278,6385,1313,4056,4464,4767,4700,4829,4405,4357,4312,4264,1024,1090"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "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", "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",
@ -40,6 +60,34 @@
"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,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", "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,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,2155,2198,2249,2299,2359,2412,2463,2509,2557,2605,2651,2698,2748,2793,2852,2904,2956,2999,3046,3102,3157,3212,3256,3298,3339,3389,3448,3499,3548,3597,3644,3691,3738,3783,3834,3887,3962,4021,4078,4152,4216,4285,4363,4473,4577,4650,4716,4771,4836,4901,4950,5033,5111,5149,5194,5242,5304,5361,5416,5475,5542,5600,5662,5710,5755,5803,5854,5920,5986" "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,2155,2198,2249,2299,2359,2412,2463,2509,2557,2605,2651,2698,2748,2793,2852,2904,2956,2999,3046,3102,3157,3212,3256,3298,3339,3389,3448,3499,3548,3597,3644,3691,3738,3783,3834,3887,3962,4021,4078,4152,4216,4285,4363,4473,4577,4650,4716,4771,4836,4901,4950,5033,5111,5149,5194,5242,5304,5361,5416,5475,5542,5600,5662,5710,5755,5803,5854,5920,5986"
} }
<<<<<<< HEAD
<<<<<<< HEAD
=======
=======
>>>>>>> liuyitao-branch
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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"
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
] ]
}, },
@ -47,6 +95,8 @@
"outputFile": "net.micode.notes.app-merged_res-4:/values_values.arsc.flat", "outputFile": "net.micode.notes.app-merged_res-4:/values_values.arsc.flat",
"map": [ "map": [
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\dimens.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\dimens.xml",
"from": { "from": {
"startLines": "19,20,21,22,18", "startLines": "19,20,21,22,18",
@ -89,6 +139,18 @@
"endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,22,23", "endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,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,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", "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,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": "8544,4061,4312,4228,4131,884,937,990,7668,7732,8130,8071,1387,4783,4892,4688,4616,4531,5729,5662,5578,5023,2100,2037,3534,1563,1624,5129,2192,4415,7788,3964,3693,2251,2561,2879,2309,3455,3383,3321,3088,3037,2933,2984,3139,3200,2615,3892,3263,3757,2513,2819,2763,2674,3643,2465,3580,2353,2414,3825,1509,1834,1942,1778,1888,1730,1673,1302,1246,6210,6125,6434,7616,6813,6738,6903,7067,7292,7147,6286,6369,6656,6515,6596,6057,7415,7519,8019,7902,7848,7977,1453,4961,5475,5880,5799,5975,5388,5328,5272,5209,1101,1192" "endOffsets": "8544,4061,4312,4228,4131,884,937,990,7668,7732,8130,8071,1387,4783,4892,4688,4616,4531,5729,5662,5578,5023,2100,2037,3534,1563,1624,5129,2192,4415,7788,3964,3693,2251,2561,2879,2309,3455,3383,3321,3088,3037,2933,2984,3139,3200,2615,3892,3263,3757,2513,2819,2763,2674,3643,2465,3580,2353,2414,3825,1509,1834,1942,1778,1888,1730,1673,1302,1246,6210,6125,6434,7616,6813,6738,6903,7067,7292,7147,6286,6369,6656,6515,6596,6057,7415,7519,8019,7902,7848,7977,1453,4961,5475,5880,5799,5975,5388,5328,5272,5209,1101,1192"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\strings.xml",
"from": {
"startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "18,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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124", "startLines": "18,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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124",
@ -100,6 +162,8 @@
} }
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\arrays.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\arrays.xml",
"from": { "from": {
"startLines": "19,26", "startLines": "19,26",
@ -108,6 +172,18 @@
"endLines": "24,29", "endLines": "24,29",
"endColumns": "19,19", "endColumns": "19,19",
"endOffsets": "1065,1191" "endOffsets": "1065,1191"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\arrays.xml",
"from": {
"startLines": "-1,-1",
"startColumns": "-1,-1",
"startOffsets": "-1,-1"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "2,8", "startLines": "2,8",
@ -119,6 +195,8 @@
} }
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml",
"from": { "from": {
"startLines": "50,55,64,60,22,26,30,35,40,18,45", "startLines": "50,55,64,60,22,26,30,35,40,18,45",
@ -127,6 +205,21 @@
"endLines": "53,58,67,62,25,29,33,38,43,21,48", "endLines": "53,58,67,62,25,29,33,38,43,21,48",
"endColumns": "12,12,12,12,12,12,12,12,12,12,12", "endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "2314,2531,2913,2696,1098,1287,1476,1685,1897,911,2104" "endOffsets": "2314,2531,2913,2696,1098,1287,1476,1685,1897,911,2104"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml",
"from": {
"startLines": "-1,-1,64,-1,-1,-1,-1,-1,-1,-1,-1",
"startColumns": "-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1",
"startOffsets": "-1,-1,2640,-1,-1,-1,-1,-1,-1,-1,-1",
"endLines": "-1,-1,67,-1,-1,-1,-1,-1,-1,-1,-1",
"endColumns": "-1,-1,12,-1,-1,-1,-1,-1,-1,-1,-1",
"endOffsets": "-1,-1,2846,-1,-1,-1,-1,-1,-1,-1,-1"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "125,129,133,137,140,144,148,152,156,160,164", "startLines": "125,129,133,137,140,144,148,152,156,160,164",
@ -136,10 +229,51 @@
"endColumns": "12,12,12,12,12,12,12,12,12,12,12", "endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "8323,8534,8744,8904,9087,9272,9457,9660,9866,10049,10250" "endOffsets": "8323,8534,8744,8904,9087,9272,9457,9660,9866,10049,10250"
} }
<<<<<<< HEAD
<<<<<<< HEAD
=======
=======
>>>>>>> liuyitao-branch
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\colors.xml",
"from": {
"startLines": "-1",
"startColumns": "-1",
"startOffsets": "-1"
},
"to": {
"startLines": "12",
"startColumns": "4",
"startOffsets": "420",
"endColumns": "56",
"endOffsets": "472"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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": "13,14,15,16,17",
"startColumns": "4,4,4,4,4",
"startOffsets": "477,529,582,635,687",
"endColumns": "51,52,52,51,51",
"endOffsets": "524,577,630,682,734"
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
] ]
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"outputFile": "net.micode.notes.app-merged_res-4:/values-zh-rTW_values-zh-rTW.arsc.flat", "outputFile": "net.micode.notes.app-merged_res-4:/values-zh-rTW_values-zh-rTW.arsc.flat",
"map": [ "map": [
{ {
@ -151,6 +285,120 @@
"endLines": "21", "endLines": "21",
"endColumns": "19", "endColumns": "19",
"endOffsets": "838" "endOffsets": "838"
=======
=======
>>>>>>> liuyitao-branch
"outputFile": "C:\\Users\\刘\\.gradle\\daemon\\8.0\\net.micode.notes.app-merged_res-4:\\values_values.arsc.flat",
"map": [
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\strings.xml",
"from": {
"startLines": "128,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,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",
"startOffsets": "8008,3898,4159,4063,3994,827,870,922,7506,7555,7950,7899,1282,4613,4707,4542,4458,4375,5574,5491,5389,4883,2004,1953,3397,1486,1539,4944,2097,4242,7618,3827,3582,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,6030,5963,6271,7409,6635,6554,6709,6798,7040,6961,6114,6189,6495,6335,6415,5908,7184,7306,7858,7731,7674,7784,1366,4815,5303,5709,5640,5789,5244,5189,5127,5067,974,1084",
"endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,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,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": "8412,3989,4237,4154,4058,865,917,969,7550,7613,8003,7945,1361,4702,4810,4608,4537,4453,5635,5569,5486,4939,2061,1999,3470,1534,1594,5044,2151,4339,7668,3893,3626,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,6109,6025,6330,7500,6704,6630,6793,6956,7179,7035,6184,6266,6549,6410,6490,5958,7301,7404,7894,7779,7726,7853,1426,4878,5384,5784,5704,5878,5298,5239,5184,5122,1079,1169"
},
"to": {
"startLines": "18,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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124",
"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",
"startOffsets": "739,1092,1188,1271,1367,1436,1479,1531,1583,1632,1695,1753,1804,1888,1982,2090,2161,2245,2328,2394,2477,2579,2640,2702,2753,2831,2884,2944,3049,3108,3210,3265,3336,3385,3443,3490,3549,3606,3677,3738,3795,3845,3897,3950,4000,4050,4110,4163,4229,4291,4354,4401,4456,4544,4602,4664,4714,4759,4802,4862,4929,4984,5039,5092,5139,5192,5248,5296,5351,5404,5488,5555,5619,5715,5789,5870,5959,6122,6266,6345,6420,6502,6561,6641,6721,6776,6898,7001,7042,7095,7152,7226,7291,7359,7445,7525,7594,7688,7747,7802,7864,7924,8034",
"endLines": "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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124",
"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,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": "1087,1183,1266,1362,1431,1474,1526,1578,1627,1690,1748,1799,1883,1977,2085,2156,2240,2323,2389,2472,2574,2635,2697,2748,2826,2879,2939,3044,3103,3205,3260,3331,3380,3438,3485,3544,3601,3672,3733,3790,3840,3892,3945,3995,4045,4105,4158,4224,4286,4349,4396,4451,4539,4597,4659,4709,4754,4797,4857,4924,4979,5034,5087,5134,5187,5243,5291,5346,5399,5483,5550,5614,5710,5784,5865,5954,6117,6261,6340,6415,6497,6556,6636,6716,6771,6893,6996,7037,7090,7147,7221,7286,7354,7440,7520,7589,7683,7742,7797,7859,7919,8029,8119"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml",
"from": {
"startLines": "50,55,64,60,22,26,30,35,40,18,45",
"startColumns": "4,4,4,4,4,4,4,4,4,4,4",
"startOffsets": "2062,2267,2640,2479,895,1078,1263,1449,1653,712,1860",
"endLines": "53,58,67,62,25,29,33,38,43,21,48",
"endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "2261,2473,2843,2634,1073,1258,1443,1647,1854,890,2056"
},
"to": {
"startLines": "125,129,133,137,140,144,148,152,156,160,164",
"startColumns": "4,4,4,4,4,4,4,4,4,4,4",
"startOffsets": "8124,8328,8539,8746,8906,9089,9274,9459,9662,9868,10051",
"endLines": "128,132,136,139,143,147,151,155,159,163,167",
"endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "8323,8534,8741,8901,9084,9269,9454,9657,9863,10046,10247"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\colors.xml",
"from": {
"startLines": "18",
"startColumns": "4",
"startOffsets": "712",
"endColumns": "56",
"endOffsets": "764"
},
"to": {
"startLines": "12",
"startColumns": "4",
"startOffsets": "420",
"endColumns": "56",
"endOffsets": "472"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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": "13,14,15,16,17",
"startColumns": "4,4,4,4,4",
"startOffsets": "477,529,582,635,687",
"endColumns": "51,52,52,51,51",
"endOffsets": "524,577,630,682,734"
}
}
]
},
{
"outputFile": "C:\\Users\\刘\\.gradle\\daemon\\8.0\\net.micode.notes.app-merged_res-4:\\values-zh-rTW_values-zh-rTW.arsc.flat",
"map": [
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
"from": {
"startLines": "18",
"startColumns": "4",
"startOffsets": "712",
"endLines": "21",
"endColumns": "19",
"endOffsets": "817"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "2", "startLines": "2",
@ -162,6 +410,8 @@
} }
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\strings.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
"from": { "from": {
"startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", "startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23",
@ -170,6 +420,21 @@
"endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", "endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,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,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", "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,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": "6803,3714,3641,3574,3500,881,930,979,6209,6267,6623,6568,1282,3974,4052,3905,3845,3778,4704,4648,4587,4163,3073,1446,1509,4248,1880,6318,3449,3216,1965,2242,2501,2016,3012,2951,2897,2693,2646,2550,2597,2741,2792,2288,3389,2845,3269,2198,2449,2401,2344,3172,2154,3116,2058,2109,3329,1392,1701,1799,1651,1749,1603,1555,1219,1167,5106,5030,5231,6161,5554,5489,5633,5744,5923,5818,5173,5419,5297,5363,4970,6007,6086,6517,6415,6369,6478,1340,4108,4523,4831,4763,4894,4463,4414,4368,4319,1046,1113" "endOffsets": "6803,3714,3641,3574,3500,881,930,979,6209,6267,6623,6568,1282,3974,4052,3905,3845,3778,4704,4648,4587,4163,3073,1446,1509,4248,1880,6318,3449,3216,1965,2242,2501,2016,3012,2951,2897,2693,2646,2550,2597,2741,2792,2288,3389,2845,3269,2198,2449,2401,2344,3172,2154,3116,2058,2109,3329,1392,1701,1799,1651,1749,1603,1555,1219,1167,5106,5030,5231,6161,5554,5489,5633,5744,5923,5818,5173,5419,5297,5363,4970,6007,6086,6517,6415,6369,6478,1340,4108,4523,4831,4763,4894,4463,4414,4368,4319,1046,1113"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
"from": {
"startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,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",
"startOffsets": "6507,3575,3509,3436,3386,827,867,915,6057,6102,6453,6403,1199,3835,3903,3776,3710,3647,4565,4505,4442,4035,2957,1369,1422,4089,1768,6159,3327,3114,1878,2159,2405,1931,2897,2844,2793,2598,2550,2456,2504,2644,2691,2202,3268,2741,3157,2116,2358,2302,2247,3059,2072,3017,1981,2022,3209,1318,1623,1719,1576,1672,1529,1484,1148,1095,4940,4881,5081,5982,5392,5323,5456,5534,5717,5644,5015,5268,5138,5203,4832,5821,5904,6365,6258,6210,6303,1261,3980,4383,4678,4620,4745,4335,4290,4242,4191,963,1029",
"endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,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,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": "6679,3642,3570,3504,3431,862,910,958,6097,6154,6502,6448,1256,3898,3975,3830,3771,3705,4615,4560,4500,4084,3012,1417,1479,4168,1843,6204,3381,3152,1926,2197,2451,1976,2952,2892,2839,2639,2593,2499,2545,2686,2736,2242,3322,2788,3204,2154,2400,2353,2297,3109,2111,3054,2017,2067,3263,1364,1667,1763,1618,1714,1571,1524,1194,1143,5010,4935,5133,6051,5451,5387,5529,5639,5816,5712,5076,5318,5198,5263,4876,5899,5977,6398,6298,6253,6360,1313,4030,4437,4740,4673,4802,4378,4330,4285,4237,1024,1090"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "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", "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",

@ -4,6 +4,8 @@
"outputFile": "net.micode.notes.app-mergeDebugResources-2:/values-zh-rCN/values-zh-rCN.xml", "outputFile": "net.micode.notes.app-mergeDebugResources-2:/values-zh-rCN/values-zh-rCN.xml",
"map": [ "map": [
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rCN\\arrays.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rCN\\arrays.xml",
"from": { "from": {
"startLines": "18", "startLines": "18",
@ -31,6 +33,21 @@
"endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,22,23", "endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,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,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", "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,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": "6827,3634,3560,3493,3419,881,930,979,6235,6293,6647,6592,1282,4001,4079,3932,3872,3806,4732,4676,4615,4190,2992,1446,1509,4276,3716,6344,3368,3135,1884,2161,2420,1935,2931,2870,2816,2612,2565,2469,2516,2660,2711,2207,3308,2764,3188,2117,2368,2320,2263,3091,2073,3035,1977,2028,3248,1392,1701,1799,1651,1749,1603,1555,1219,1167,5134,5058,5259,6189,5582,5517,5661,5772,5951,5846,5201,5447,5325,5391,4998,6035,6114,6541,6439,6393,6502,1340,4135,4551,4859,4791,4922,4491,4442,4396,4347,1046,1113" "endOffsets": "6827,3634,3560,3493,3419,881,930,979,6235,6293,6647,6592,1282,4001,4079,3932,3872,3806,4732,4676,4615,4190,2992,1446,1509,4276,3716,6344,3368,3135,1884,2161,2420,1935,2931,2870,2816,2612,2565,2469,2516,2660,2711,2207,3308,2764,3188,2117,2368,2320,2263,3091,2073,3035,1977,2028,3248,1392,1701,1799,1651,1749,1603,1555,1219,1167,5134,5058,5259,6189,5582,5517,5661,5772,5951,5846,5201,5447,5325,5391,4998,6035,6114,6541,6439,6393,6502,1340,4135,4551,4859,4791,4922,4491,4442,4396,4347,1046,1113"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rCN\\strings.xml",
"from": {
"startLines": "121,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,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",
"startOffsets": "6532,3495,3429,3356,3306,827,867,915,6083,6128,6478,6428,1199,3861,3929,3802,3737,3674,4592,4532,4469,4061,2877,1369,1422,4115,3568,6185,3247,3034,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,4967,4908,5108,6009,5419,5350,5483,5561,5744,5671,5042,5295,5165,5230,4859,5848,5931,6390,6283,6235,6328,1261,4006,4410,4705,4647,4772,4362,4317,4269,4218,963,1029",
"endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,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,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,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,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": "6704,3563,3490,3424,3351,862,910,958,6123,6180,6527,6473,1256,3924,4001,3856,3797,3732,4642,4587,4527,4110,2932,1417,1479,4195,3644,6230,3301,3072,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,5037,4962,5160,6078,5478,5414,5556,5666,5843,5739,5103,5345,5225,5290,4903,5926,6004,6423,6323,6278,6385,1313,4056,4464,4767,4700,4829,4405,4357,4312,4264,1024,1090"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "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", "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",
@ -40,6 +57,34 @@
"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,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", "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,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,2155,2198,2249,2299,2359,2412,2463,2509,2557,2605,2651,2698,2748,2793,2852,2904,2956,2999,3046,3102,3157,3212,3256,3298,3339,3389,3448,3499,3548,3597,3644,3691,3738,3783,3834,3887,3962,4021,4078,4152,4216,4285,4363,4473,4577,4650,4716,4771,4836,4901,4950,5033,5111,5149,5194,5242,5304,5361,5416,5475,5542,5600,5662,5710,5755,5803,5854,5920,5986" "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,2155,2198,2249,2299,2359,2412,2463,2509,2557,2605,2651,2698,2748,2793,2852,2904,2956,2999,3046,3102,3157,3212,3256,3298,3339,3389,3448,3499,3548,3597,3644,3691,3738,3783,3834,3887,3962,4021,4078,4152,4216,4285,4363,4473,4577,4650,4716,4771,4836,4901,4950,5033,5111,5149,5194,5242,5304,5361,5416,5475,5542,5600,5662,5710,5755,5803,5854,5920,5986"
} }
<<<<<<< HEAD
<<<<<<< HEAD
=======
=======
>>>>>>> liuyitao-branch
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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"
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
] ]
} }

@ -4,6 +4,8 @@
"outputFile": "net.micode.notes.app-mergeDebugResources-2:/values-zh-rTW/values-zh-rTW.xml", "outputFile": "net.micode.notes.app-mergeDebugResources-2:/values-zh-rTW/values-zh-rTW.xml",
"map": [ "map": [
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
"from": { "from": {
"startLines": "18", "startLines": "18",
@ -12,6 +14,21 @@
"endLines": "21", "endLines": "21",
"endColumns": "19", "endColumns": "19",
"endOffsets": "838" "endOffsets": "838"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\arrays.xml",
"from": {
"startLines": "18",
"startColumns": "4",
"startOffsets": "712",
"endLines": "21",
"endColumns": "19",
"endOffsets": "817"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "2", "startLines": "2",
@ -23,6 +40,8 @@
} }
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\strings.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
"from": { "from": {
"startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", "startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23",
@ -31,6 +50,21 @@
"endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", "endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,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,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", "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,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": "6803,3714,3641,3574,3500,881,930,979,6209,6267,6623,6568,1282,3974,4052,3905,3845,3778,4704,4648,4587,4163,3073,1446,1509,4248,1880,6318,3449,3216,1965,2242,2501,2016,3012,2951,2897,2693,2646,2550,2597,2741,2792,2288,3389,2845,3269,2198,2449,2401,2344,3172,2154,3116,2058,2109,3329,1392,1701,1799,1651,1749,1603,1555,1219,1167,5106,5030,5231,6161,5554,5489,5633,5744,5923,5818,5173,5419,5297,5363,4970,6007,6086,6517,6415,6369,6478,1340,4108,4523,4831,4763,4894,4463,4414,4368,4319,1046,1113" "endOffsets": "6803,3714,3641,3574,3500,881,930,979,6209,6267,6623,6568,1282,3974,4052,3905,3845,3778,4704,4648,4587,4163,3073,1446,1509,4248,1880,6318,3449,3216,1965,2242,2501,2016,3012,2951,2897,2693,2646,2550,2597,2741,2792,2288,3389,2845,3269,2198,2449,2401,2344,3172,2154,3116,2058,2109,3329,1392,1701,1799,1651,1749,1603,1555,1219,1167,5106,5030,5231,6161,5554,5489,5633,5744,5923,5818,5173,5419,5297,5363,4970,6007,6086,6517,6415,6369,6478,1340,4108,4523,4831,4763,4894,4463,4414,4368,4319,1046,1113"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values-zh-rTW\\strings.xml",
"from": {
"startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,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",
"startOffsets": "6507,3575,3509,3436,3386,827,867,915,6057,6102,6453,6403,1199,3835,3903,3776,3710,3647,4565,4505,4442,4035,2957,1369,1422,4089,1768,6159,3327,3114,1878,2159,2405,1931,2897,2844,2793,2598,2550,2456,2504,2644,2691,2202,3268,2741,3157,2116,2358,2302,2247,3059,2072,3017,1981,2022,3209,1318,1623,1719,1576,1672,1529,1484,1148,1095,4940,4881,5081,5982,5392,5323,5456,5534,5717,5644,5015,5268,5138,5203,4832,5821,5904,6365,6258,6210,6303,1261,3980,4383,4678,4620,4745,4335,4290,4242,4191,963,1029",
"endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,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,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,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,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": "6679,3642,3570,3504,3431,862,910,958,6097,6154,6502,6448,1256,3898,3975,3830,3771,3705,4615,4560,4500,4084,3012,1417,1479,4168,1843,6204,3381,3152,1926,2197,2451,1976,2952,2892,2839,2639,2593,2499,2545,2686,2736,2242,3322,2788,3204,2154,2400,2353,2297,3109,2111,3054,2017,2067,3263,1364,1667,1763,1618,1714,1571,1524,1194,1143,5010,4935,5133,6051,5451,5387,5529,5639,5816,5712,5076,5318,5198,5263,4876,5899,5977,6398,6298,6253,6360,1313,4030,4437,4740,4673,4802,4378,4330,4285,4237,1024,1090"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "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", "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",

@ -4,6 +4,8 @@
"outputFile": "net.micode.notes.app-mergeDebugResources-2:/values/values.xml", "outputFile": "net.micode.notes.app-mergeDebugResources-2:/values/values.xml",
"map": [ "map": [
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\dimens.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\dimens.xml",
"from": { "from": {
"startLines": "19,20,21,22,18", "startLines": "19,20,21,22,18",
@ -46,6 +48,18 @@
"endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,22,23", "endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,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,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", "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,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": "8544,4061,4312,4228,4131,884,937,990,7668,7732,8130,8071,1387,4783,4892,4688,4616,4531,5729,5662,5578,5023,2100,2037,3534,1563,1624,5129,2192,4415,7788,3964,3693,2251,2561,2879,2309,3455,3383,3321,3088,3037,2933,2984,3139,3200,2615,3892,3263,3757,2513,2819,2763,2674,3643,2465,3580,2353,2414,3825,1509,1834,1942,1778,1888,1730,1673,1302,1246,6210,6125,6434,7616,6813,6738,6903,7067,7292,7147,6286,6369,6656,6515,6596,6057,7415,7519,8019,7902,7848,7977,1453,4961,5475,5880,5799,5975,5388,5328,5272,5209,1101,1192" "endOffsets": "8544,4061,4312,4228,4131,884,937,990,7668,7732,8130,8071,1387,4783,4892,4688,4616,4531,5729,5662,5578,5023,2100,2037,3534,1563,1624,5129,2192,4415,7788,3964,3693,2251,2561,2879,2309,3455,3383,3321,3088,3037,2933,2984,3139,3200,2615,3892,3263,3757,2513,2819,2763,2674,3643,2465,3580,2353,2414,3825,1509,1834,1942,1778,1888,1730,1673,1302,1246,6210,6125,6434,7616,6813,6738,6903,7067,7292,7147,6286,6369,6656,6515,6596,6057,7415,7519,8019,7902,7848,7977,1453,4961,5475,5880,5799,5975,5388,5328,5272,5209,1101,1192"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\strings.xml",
"from": {
"startLines": "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "18,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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124", "startLines": "18,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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124",
@ -57,6 +71,8 @@
} }
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\arrays.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\arrays.xml",
"from": { "from": {
"startLines": "19,26", "startLines": "19,26",
@ -65,6 +81,18 @@
"endLines": "24,29", "endLines": "24,29",
"endColumns": "19,19", "endColumns": "19,19",
"endOffsets": "1065,1191" "endOffsets": "1065,1191"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\arrays.xml",
"from": {
"startLines": "-1,-1",
"startColumns": "-1,-1",
"startOffsets": "-1,-1"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "2,8", "startLines": "2,8",
@ -76,6 +104,8 @@
} }
}, },
{ {
<<<<<<< HEAD
<<<<<<< HEAD
"source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml", "source": "C:\\Users\\lenovo\\Desktop\\git1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml",
"from": { "from": {
"startLines": "50,55,64,60,22,26,30,35,40,18,45", "startLines": "50,55,64,60,22,26,30,35,40,18,45",
@ -84,6 +114,21 @@
"endLines": "53,58,67,62,25,29,33,38,43,21,48", "endLines": "53,58,67,62,25,29,33,38,43,21,48",
"endColumns": "12,12,12,12,12,12,12,12,12,12,12", "endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "2314,2531,2913,2696,1098,1287,1476,1685,1897,911,2104" "endOffsets": "2314,2531,2913,2696,1098,1287,1476,1685,1897,911,2104"
=======
=======
>>>>>>> liuyitao-branch
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml",
"from": {
"startLines": "-1,-1,64,-1,-1,-1,-1,-1,-1,-1,-1",
"startColumns": "-1,-1,4,-1,-1,-1,-1,-1,-1,-1,-1",
"startOffsets": "-1,-1,2640,-1,-1,-1,-1,-1,-1,-1,-1",
"endLines": "-1,-1,67,-1,-1,-1,-1,-1,-1,-1,-1",
"endColumns": "-1,-1,12,-1,-1,-1,-1,-1,-1,-1,-1",
"endOffsets": "-1,-1,2846,-1,-1,-1,-1,-1,-1,-1,-1"
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
}, },
"to": { "to": {
"startLines": "125,129,133,137,140,144,148,152,156,160,164", "startLines": "125,129,133,137,140,144,148,152,156,160,164",
@ -93,6 +138,141 @@
"endColumns": "12,12,12,12,12,12,12,12,12,12,12", "endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "8323,8534,8744,8904,9087,9272,9457,9660,9866,10049,10250" "endOffsets": "8323,8534,8744,8904,9087,9272,9457,9660,9866,10049,10250"
} }
<<<<<<< HEAD
<<<<<<< HEAD
=======
=======
>>>>>>> liuyitao-branch
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\colors.xml",
"from": {
"startLines": "-1",
"startColumns": "-1",
"startOffsets": "-1"
},
"to": {
"startLines": "12",
"startColumns": "4",
"startOffsets": "420",
"endColumns": "56",
"endOffsets": "472"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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": "13,14,15,16,17",
"startColumns": "4,4,4,4,4",
"startOffsets": "477,529,582,635,687",
"endColumns": "51,52,52,51,51",
"endOffsets": "524,577,630,682,734"
}
}
]
},
{
"outputFile": "C:\\Users\\刘\\.gradle\\daemon\\8.0\\net.micode.notes.app-mergeDebugResources-2:\\values\\values.xml",
"map": [
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\strings.xml",
"from": {
"startLines": "128,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,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",
"startOffsets": "8008,3898,4159,4063,3994,827,870,922,7506,7555,7950,7899,1282,4613,4707,4542,4458,4375,5574,5491,5389,4883,2004,1953,3397,1486,1539,4944,2097,4242,7618,3827,3582,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,6030,5963,6271,7409,6635,6554,6709,6798,7040,6961,6114,6189,6495,6335,6415,5908,7184,7306,7858,7731,7674,7784,1366,4815,5303,5709,5640,5789,5244,5189,5127,5067,974,1084",
"endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,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,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,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,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": "8412,3989,4237,4154,4058,865,917,969,7550,7613,8003,7945,1361,4702,4810,4608,4537,4453,5635,5569,5486,4939,2061,1999,3470,1534,1594,5044,2151,4339,7668,3893,3626,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,6109,6025,6330,7500,6704,6630,6793,6956,7179,7035,6184,6266,6549,6410,6490,5958,7301,7404,7894,7779,7726,7853,1426,4878,5384,5784,5704,5878,5298,5239,5184,5122,1079,1169"
},
"to": {
"startLines": "18,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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124",
"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",
"startOffsets": "739,1092,1188,1271,1367,1436,1479,1531,1583,1632,1695,1753,1804,1888,1982,2090,2161,2245,2328,2394,2477,2579,2640,2702,2753,2831,2884,2944,3049,3108,3210,3265,3336,3385,3443,3490,3549,3606,3677,3738,3795,3845,3897,3950,4000,4050,4110,4163,4229,4291,4354,4401,4456,4544,4602,4664,4714,4759,4802,4862,4929,4984,5039,5092,5139,5192,5248,5296,5351,5404,5488,5555,5619,5715,5789,5870,5959,6122,6266,6345,6420,6502,6561,6641,6721,6776,6898,7001,7042,7095,7152,7226,7291,7359,7445,7525,7594,7688,7747,7802,7864,7924,8034",
"endLines": "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,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124",
"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,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": "1087,1183,1266,1362,1431,1474,1526,1578,1627,1690,1748,1799,1883,1977,2085,2156,2240,2323,2389,2472,2574,2635,2697,2748,2826,2879,2939,3044,3103,3205,3260,3331,3380,3438,3485,3544,3601,3672,3733,3790,3840,3892,3945,3995,4045,4105,4158,4224,4286,4349,4396,4451,4539,4597,4659,4709,4754,4797,4857,4924,4979,5034,5087,5134,5187,5243,5291,5346,5399,5483,5550,5614,5710,5784,5865,5954,6117,6261,6340,6415,6497,6556,6636,6716,6771,6893,6996,7037,7090,7147,7221,7286,7354,7440,7520,7589,7683,7742,7797,7859,7919,8029,8119"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\styles.xml",
"from": {
"startLines": "50,55,64,60,22,26,30,35,40,18,45",
"startColumns": "4,4,4,4,4,4,4,4,4,4,4",
"startOffsets": "2062,2267,2640,2479,895,1078,1263,1449,1653,712,1860",
"endLines": "53,58,67,62,25,29,33,38,43,21,48",
"endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "2261,2473,2843,2634,1073,1258,1443,1647,1854,890,2056"
},
"to": {
"startLines": "125,129,133,137,140,144,148,152,156,160,164",
"startColumns": "4,4,4,4,4,4,4,4,4,4,4",
"startOffsets": "8124,8328,8539,8746,8906,9089,9274,9459,9662,9868,10051",
"endLines": "128,132,136,139,143,147,151,155,159,163,167",
"endColumns": "12,12,12,12,12,12,12,12,12,12,12",
"endOffsets": "8323,8534,8741,8901,9084,9269,9454,9657,9863,10046,10247"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\app\\src\\main\\res\\values\\colors.xml",
"from": {
"startLines": "18",
"startColumns": "4",
"startOffsets": "712",
"endColumns": "56",
"endOffsets": "764"
},
"to": {
"startLines": "12",
"startColumns": "4",
"startOffsets": "420",
"endColumns": "56",
"endOffsets": "472"
}
},
{
"source": "D:\\Project1\\MiNotes\\src\\Notes-master\\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": "13,14,15,16,17",
"startColumns": "4,4,4,4,4",
"startOffsets": "477,529,582,635,687",
"endColumns": "51,52,52,51,51",
"endOffsets": "524,577,630,682,734"
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
] ]
} }

@ -1,3 +1,5 @@
<<<<<<< HEAD
<<<<<<< HEAD
net.micode.notes.app-pngs-0 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\pngs\debug net.micode.notes.app-pngs-0 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\pngs\debug
net.micode.notes.app-resValues-1 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\debug net.micode.notes.app-resValues-1 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\debug
net.micode.notes.app-packageDebugResources-2 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debug\packageDebugResources\merged.dir net.micode.notes.app-packageDebugResources-2 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debug\packageDebugResources\merged.dir
@ -5,3 +7,17 @@ net.micode.notes.app-packageDebugResources-3 C:\Users\lenovo\Desktop\git1\MiNote
net.micode.notes.app-merged_res-4 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\merged_res\debug net.micode.notes.app-merged_res-4 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\merged_res\debug
net.micode.notes.app-debug-5 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\res net.micode.notes.app-debug-5 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\debug\res
net.micode.notes.app-main-6 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\res net.micode.notes.app-main-6 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\res
=======
=======
>>>>>>> liuyitao-branch
net.micode.notes.app-pngs-0 D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\pngs\debug
net.micode.notes.app-resValues-1 D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\resValues\debug
net.micode.notes.app-packageDebugResources-2 D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debug\packageDebugResources\merged.dir
net.micode.notes.app-packageDebugResources-3 D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debug\packageDebugResources\stripped.dir
net.micode.notes.app-merged_res-4 D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\merged_res\debug
net.micode.notes.app-debug-5 D:\Project1\MiNotes\src\Notes-master\app\src\debug\res
net.micode.notes.app-main-6 D:\Project1\MiNotes\src\Notes-master\app\src\main\res
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch

@ -1,4 +1,17 @@
<<<<<<< HEAD
<<<<<<< HEAD
net.micode.notes.test.app-androidTest-0 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug net.micode.notes.test.app-androidTest-0 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug
net.micode.notes.test.app-mergeDebugAndroidTestResources-1 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debugAndroidTest\mergeDebugAndroidTestResources\merged.dir net.micode.notes.test.app-mergeDebugAndroidTestResources-1 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debugAndroidTest\mergeDebugAndroidTestResources\merged.dir
net.micode.notes.test.app-mergeDebugAndroidTestResources-2 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debugAndroidTest\mergeDebugAndroidTestResources\stripped.dir net.micode.notes.test.app-mergeDebugAndroidTestResources-2 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debugAndroidTest\mergeDebugAndroidTestResources\stripped.dir
net.micode.notes.test.app-merged_res-3 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\merged_res\debugAndroidTest net.micode.notes.test.app-merged_res-3 C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\build\intermediates\merged_res\debugAndroidTest
=======
=======
>>>>>>> liuyitao-branch
net.micode.notes.test.app-androidTest-0 D:\Project1\MiNotes\src\Notes-master\app\build\generated\res\resValues\androidTest\debug
net.micode.notes.test.app-mergeDebugAndroidTestResources-1 D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debugAndroidTest\mergeDebugAndroidTestResources\merged.dir
net.micode.notes.test.app-mergeDebugAndroidTestResources-2 D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\incremental\debugAndroidTest\mergeDebugAndroidTestResources\stripped.dir
net.micode.notes.test.app-merged_res-3 D:\Project1\MiNotes\src\Notes-master\app\build\intermediates\merged_res\debugAndroidTest
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch

@ -1,5 +1,7 @@
-- Merging decision tree log --- -- Merging decision tree log ---
manifest manifest
<<<<<<< HEAD
<<<<<<< HEAD
ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12 ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
INJECTED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12 INJECTED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
INJECTED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12 INJECTED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
@ -223,3 +225,233 @@ ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\An
ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:147:13-49 ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:147:13-49
android:name android:name
ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:146:13-58 ADDED from C:\Users\lenovo\Desktop\git1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:146:13-58
=======
=======
>>>>>>> liuyitao-branch
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:1-149:12
package
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:19:5-31
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml
android:versionName
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:21:5-30
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml
xmlns:android
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:18:11-69
android:versionCode
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:20:5-28
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml
uses-sdk
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:5-44
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:5-44
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:5-44
android:targetSdkVersion
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml
android:minSdkVersion
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:23:15-41
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:25:5-81
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:25:22-78
uses-permission#com.android.launcher.permission.INSTALL_SHORTCUT
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:26:5-88
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:26:22-85
uses-permission#android.permission.INTERNET
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:27:5-67
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:27:22-64
uses-permission#android.permission.READ_CONTACTS
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:28:5-72
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:28:22-69
uses-permission#android.permission.MANAGE_ACCOUNTS
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:29:5-74
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:29:22-71
uses-permission#android.permission.AUTHENTICATE_ACCOUNTS
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:30:5-80
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:30:22-77
uses-permission#android.permission.GET_ACCOUNTS
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:31:5-71
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:31:22-68
uses-permission#android.permission.USE_CREDENTIALS
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:32:5-74
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:32:22-71
uses-permission#android.permission.RECEIVE_BOOT_COMPLETED
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:33:5-81
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:33:22-78
application
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:35:5-148:19
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:35:5-148:19
android:extractNativeLibs
INJECTED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml
android:label
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:37:9-41
android:icon
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:36:9-42
activity#net.micode.notes.ui.NotesListActivity
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:38:9-50:20
android:label
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:41:13-45
android:launchMode
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:42:13-43
android:windowSoftInputMode
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:44:13-52
android:configChanges
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:40:13-74
android:theme
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:43:13-45
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:39:13-49
intent-filter#action:name:android.intent.action.MAIN+category:name:android.intent.category.LAUNCHER
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:46:13-49:29
action#android.intent.action.MAIN
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:47:17-69
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:47:25-66
category#android.intent.category.LAUNCHER
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:48:17-77
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:48:27-74
activity#net.micode.notes.ui.NoteEditActivity
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:52:9-80:20
android:launchMode
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:55:13-43
android:configChanges
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:54:13-74
android:theme
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:56:13-45
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:53: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 D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:58:13-63:29
action#android.intent.action.VIEW
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:59:17-69
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:59:25-66
category#android.intent.category.DEFAULT
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:17-76
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:60:27-73
data
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61:17-78
android:mimeType
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:61: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 D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:65:13-70:29
action#android.intent.action.INSERT_OR_EDIT
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:66:17-79
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:66:25-76
intent-filter#action:name:android.intent.action.SEARCH+category:name:android.intent.category.DEFAULT
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:72:13-75:29
action#android.intent.action.SEARCH
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:73:17-71
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:73:25-68
meta-data#android.app.searchable
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:77:13-79:54
android:resource
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:79:17-51
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:78:17-54
provider#net.micode.notes.data.NotesProvider
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:82:9-85:43
android:authorities
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:84:13-47
android:multiprocess
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:85:13-40
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:83:13-63
receiver#net.micode.notes.widget.NoteWidgetProvider_2x
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:87:9-99:20
android:label
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:89:13-50
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:88: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 D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:90:13-94:29
action#android.appwidget.action.APPWIDGET_UPDATE
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:91:17-84
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:91:25-81
action#android.appwidget.action.APPWIDGET_DELETED
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:92:17-85
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:92:25-82
action#android.intent.action.PRIVACY_MODE_CHANGED
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:93:17-85
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:93:25-82
meta-data#android.appwidget.provider
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:96:13-98:58
android:resource
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:98:17-55
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:97:17-58
receiver#net.micode.notes.widget.NoteWidgetProvider_4x
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:100:9-113:20
android:label
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:102:13-50
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:101:13-57
receiver#net.micode.notes.ui.AlarmInitReceiver
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:115:9-119:20
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:115:19-55
intent-filter#action:name:android.intent.action.BOOT_COMPLETED
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:116:13-118:29
action#android.intent.action.BOOT_COMPLETED
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:117:17-79
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:117:25-76
receiver#net.micode.notes.ui.AlarmReceiver
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:121:9-124:20
android:process
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:123:13-38
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:122:13-61
activity#net.micode.notes.ui.AlarmAlertActivity
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:126:9-131:20
android:label
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:128:13-45
android:launchMode
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:129:13-48
android:theme
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:130:13-75
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:127:13-50
activity#net.micode.notes.ui.NotesPreferenceActivity
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:133:9-138:20
android:label
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:135:13-54
android:launchMode
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:136:13-43
android:theme
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:137:13-60
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:134:13-71
service#net.micode.notes.gtask.remote.GTaskSyncService
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:140:9-143:19
android:exported
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:142:13-37
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:141:13-74
meta-data#android.app.default_searchable
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:145:9-147:52
android:value
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:147:13-49
android:name
ADDED from D:\Project1\MiNotes\src\Notes-master\app\src\main\AndroidManifest.xml:146:13-58
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch

@ -1,73 +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;
public class Contact {
private static HashMap<String, String> 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<String, String>();
}
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;
}
}
}

@ -0,0 +1,92 @@
/*
* 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<String, String> sContactCache;// sContactCache 是一个静态的 HashMap用于缓存联系人信息用于缓存联系人信息的HashMap
private static final String TAG = "Contact";// TAG 日志标签
// 定义字符串CALLER_ID_SELECTION
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<String, String>();// 初始化联系人缓存
}
/*
* HashMapphoneNumber
*/
if(sContactCache.containsKey(phoneNumber)) {// 如果在缓存中找到了电话号码对应的联系人信息
return sContactCache.get(phoneNumber);// 直接从缓存中返回联系人信息
}
String selection = CALLER_ID_SELECTION.replace("+",
PhoneNumberUtils.toCallerIDMinMatch(phoneNumber));//PhoneNumberUtils.toCallerIDMinMatch() 方法将电话号码转换为最小匹配模式,构建带有电话号码的查询条件
/*
* phoneNumber
* */
Cursor cursor = context.getContentResolver().query(
Data.CONTENT_URI,// 联系人数据的URI
new String [] { Phone.DISPLAY_NAME },// 要查询的字段,这里是联系人名字
selection,// 查询条件
new String[] { phoneNumber },// 查询条件中的占位符对应的值
null);// 不指定排序
/*
* moveToFirst()
* */
if (cursor != null && cursor.moveToFirst()) {
try {// 找到相关信息
String name = cursor.getString(0);// 获取联系人名字
sContactCache.put(phoneNumber, name);// 将联系人名字放入缓存
return name;// 返回联系人名字
} catch (IndexOutOfBoundsException e) {// 捕获IndexOutOfBoundsException异常
Log.e(TAG, " Cursor get string error " + e.toString());// 记录异常日志
return null;// 返回null
} finally {
cursor.close();// 关闭查询结果的Cursor
}
// 未找到相关信息
} else {
Log.d(TAG, "No contact matched with number:" + phoneNumber);// 记录未找到联系人信息的日志
return null;
}
}
}

@ -17,12 +17,18 @@
package net.micode.notes.data; package net.micode.notes.data;
import android.net.Uri; import android.net.Uri;
/*
*便便
*/
public class Notes { public class Notes {
public static final String AUTHORITY = "micode_notes"; public static final String AUTHORITY = "micode_notes"; // 定义内容提供器的权限
public static final String TAG = "Notes"; public static final String TAG = "Notes";// 定义日志标签
public static final int TYPE_NOTE = 0;
public static final int TYPE_FOLDER = 1; //以下三个常量对NoteColumns.TYPE的值进行设置对应不同的便签类型
public static final int TYPE_SYSTEM = 2; public static final int TYPE_NOTE = 0;// 便签类型为普通便签
public static final int TYPE_FOLDER = 1;// 便签类型为文件夹
public static final int TYPE_SYSTEM = 2;// 便签类型为系统文件夹
/** /**
* Following IDs are system folders' identifiers * Following IDs are system folders' identifiers
@ -30,179 +36,198 @@ public class Notes {
* {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder * {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder
* {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records * {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records
*/ */
public static final int ID_ROOT_FOLDER = 0;
public static final int ID_TEMPARAY_FOLDER = -1;
public static final int ID_CALL_RECORD_FOLDER = -2;
public static final int ID_TRASH_FOLER = -3;
public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date"; /*
public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id"; *
public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id"; * */
public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type"; public static final int ID_ROOT_FOLDER = 0;// 默认文件夹
public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id"; public static final int ID_TEMPARAY_FOLDER = -1;// 没有所属文件夹的便签
public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date"; public static final int ID_CALL_RECORD_FOLDER = -2;// 存储通话记录的文件夹
public static final int ID_TRASH_FOLER = -3;// 垃圾箱文件夹
public static final int TYPE_WIDGET_INVALIDE = -1; /*
public static final int TYPE_WIDGET_2X = 0; *
public static final int TYPE_WIDGET_4X = 1; * */
public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date";// 提醒日期
public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id";// 背景颜色ID
public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id";// Widget ID
public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type";// Widget类型
public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id";// 文件夹ID
public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date"; // 通话日期
/*
* Widget
* */
public static final int TYPE_WIDGET_INVALIDE = -1;// 无效的Widget类型
public static final int TYPE_WIDGET_2X = 0;// 2x2大小的Widget
public static final int TYPE_WIDGET_4X = 1;// 4x4大小的Widget
/*
* 便
* */
public static class DataConstants { public static class DataConstants {
public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; public static final String NOTE = TextNote.CONTENT_ITEM_TYPE;// 文本便签数据类型
public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE;// 电话便签数据类型
} }
/** /**
* Uri to query all notes and folders * Uri to query all notes and folders
*/ */
public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");// 查询所有便签和文件夹的标识符
/** /**
* Uri to query data * Uri to query data
*/ */
public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");// 查询数据的标识符
/*
* NoteColumns
*/
public interface NoteColumns { public interface NoteColumns {
/** /**
* The unique ID for a row * The unique ID for a row
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String ID = "_id"; public static final String ID = "_id";// 行的唯一标识符
/** /**
* The parent's id for note or folder * The parent's id for note or folder
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String PARENT_ID = "parent_id"; public static final String PARENT_ID = "parent_id";// 父级的ID
/** /**
* Created data for note or folder * Created data for note or folder
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String CREATED_DATE = "created_date"; public static final String CREATED_DATE = "created_date";// 创建日期
/** /**
* Latest modified date * Latest modified date
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String MODIFIED_DATE = "modified_date"; public static final String MODIFIED_DATE = "modified_date";// 最后修改日期
/** /**
* Alert date * Alert date
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String ALERTED_DATE = "alert_date"; public static final String ALERTED_DATE = "alert_date";// 提醒日期
/** /**
* Folder's name or text content of note * Folder's name or text content of note
* <P> Type: TEXT </P> * <P> Type: TEXT </P>
*/ */
public static final String SNIPPET = "snippet"; public static final String SNIPPET = "snippet";// 文件夹名称或便签的文本内容
/** /**
* Note's widget id * Note's widget id
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String WIDGET_ID = "widget_id"; public static final String WIDGET_ID = "widget_id";// 便签的Widget ID
/** /**
* Note's widget type * Note's widget type
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String WIDGET_TYPE = "widget_type"; public static final String WIDGET_TYPE = "widget_type";// 便签的Widget类型
/** /**
* Note's background color's id * Note's background color's id
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String BG_COLOR_ID = "bg_color_id"; public static final String BG_COLOR_ID = "bg_color_id";// 便签的背景颜色ID
/** /**
* For text note, it doesn't has attachment, for multi-media * For text note, it doesn't has attachment, for multi-media
* note, it has at least one attachment * note, it has at least one attachment
* <P> Type: INTEGER </P> * <P> Type: INTEGER </P>
*/ */
public static final String HAS_ATTACHMENT = "has_attachment"; public static final String HAS_ATTACHMENT = "has_attachment";// 是否有附件
/** /**
* Folder's count of notes * Folder's count of notes
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String NOTES_COUNT = "notes_count"; public static final String NOTES_COUNT = "notes_count";// 文件夹中的便签数量
/** /**
* The file type: folder or note * The file type: folder or note
* <P> Type: INTEGER </P> * <P> Type: INTEGER </P>
*/ */
public static final String TYPE = "type"; public static final String TYPE = "type";// 文件类型:文件夹或便签
/** /**
* The last sync id * The last sync id
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String SYNC_ID = "sync_id"; public static final String SYNC_ID = "sync_id";// 最后同步的ID
/** /**
* Sign to indicate local modified or not * Sign to indicate local modified or not
* <P> Type: INTEGER </P> * <P> Type: INTEGER </P>
*/ */
public static final String LOCAL_MODIFIED = "local_modified"; public static final String LOCAL_MODIFIED = "local_modified";// 标识是否本地修改
/** /**
* Original parent id before moving into temporary folder * Original parent id before moving into temporary folder
* <P> Type : INTEGER </P> * <P> Type : INTEGER </P>
*/ */
public static final String ORIGIN_PARENT_ID = "origin_parent_id"; public static final String ORIGIN_PARENT_ID = "origin_parent_id";// 移动到临时文件夹之前的原始父级ID
/** /**
* The gtask id * The gtask id
* <P> Type : TEXT </P> * <P> Type : TEXT </P>
*/ */
public static final String GTASK_ID = "gtask_id"; public static final String GTASK_ID = "gtask_id";// Google任务ID
/** /**
* The version code * The version code
* <P> Type : INTEGER (long) </P> * <P> Type : INTEGER (long) </P>
*/ */
public static final String VERSION = "version"; public static final String VERSION = "version";// 版本号
} }
/*
* DataColumns
*/
public interface DataColumns { public interface DataColumns {
/** /**
* The unique ID for a row * The unique ID for a row
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String ID = "_id"; public static final String ID = "_id";// 标识符
/** /**
* The MIME type of the item represented by this row. * The MIME type of the item represented by this row.
* <P> Type: Text </P> * <P> Type: Text </P>
*/ */
public static final String MIME_TYPE = "mime_type"; public static final String MIME_TYPE = "mime_type";// 数据的MIME类型
/** /**
* The reference id to note that this data belongs to * The reference id to note that this data belongs to
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String NOTE_ID = "note_id"; public static final String NOTE_ID = "note_id";// 数据ID
/** /**
* Created data for note or folder * Created data for note or folder
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String CREATED_DATE = "created_date"; public static final String CREATED_DATE = "created_date";// 创建日期
/** /**
* Latest modified date * Latest modified date
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String MODIFIED_DATE = "modified_date"; public static final String MODIFIED_DATE = "modified_date";// 最后修改日期
/** /**
* Data's content * Data's content
* <P> Type: TEXT </P> * <P> Type: TEXT </P>
*/ */
public static final String CONTENT = "content"; public static final String CONTENT = "content";// 内容
/** /**
@ -210,70 +235,76 @@ public class Notes {
* integer data type * integer data type
* <P> Type: INTEGER </P> * <P> Type: INTEGER </P>
*/ */
public static final String DATA1 = "data1"; public static final String DATA1 = "data1";// 通用数据1
/** /**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for * Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* integer data type * integer data type
* <P> Type: INTEGER </P> * <P> Type: INTEGER </P>
*/ */
public static final String DATA2 = "data2"; public static final String DATA2 = "data2";// 通用数据2
/** /**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for * Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type * TEXT data type
* <P> Type: TEXT </P> * <P> Type: TEXT </P>
*/ */
public static final String DATA3 = "data3"; public static final String DATA3 = "data3";// 通用数据3
/** /**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for * Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type * TEXT data type
* <P> Type: TEXT </P> * <P> Type: TEXT </P>
*/ */
public static final String DATA4 = "data4"; public static final String DATA4 = "data4";// 通用数据4
/** /**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for * Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type * TEXT data type
* <P> Type: TEXT </P> * <P> Type: TEXT </P>
*/ */
public static final String DATA5 = "data5"; public static final String DATA5 = "data5";// 通用数据5
} }
/*
* 便
*/
public static final class TextNote implements DataColumns { public static final class TextNote implements DataColumns {
/** /**
* Mode to indicate the text in check list mode or not * Mode to indicate the text in check list mode or not
* <P> Type: Integer 1:check list mode 0: normal mode </P> * <P> Type: Integer 1:check list mode 0: normal mode </P>
*/ */
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_TYPE = "vnd.android.cursor.dir/text_note";// 内容类型
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/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"); public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");// 查询文本便签的URI
} }
/*
* 便
*/
public static final class CallNote implements DataColumns { public static final class CallNote implements DataColumns {
/** /**
* Call date for this record * Call date for this record
* <P> Type: INTEGER (long) </P> * <P> Type: INTEGER (long) </P>
*/ */
public static final String CALL_DATE = DATA1; public static final String CALL_DATE = DATA1;// 通话日期
/** /**
* Phone number for this record * Phone number for this record
* <P> Type: TEXT </P> * <P> Type: TEXT </P>
*/ */
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_TYPE = "vnd.android.cursor.dir/call_note";// 内容类型
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/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"); public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note");// 查询电话便签的URI
} }
} }

@ -16,68 +16,88 @@
package net.micode.notes.data; package net.micode.notes.data;
import android.content.ContentValues;
import android.content.Context; import android.content.ContentValues;//就是用于保存一些数据string boolean byte double float int long short ...)信息,这些信息可以被数据库操作时使用。
import android.database.sqlite.SQLiteDatabase; import android.content.Context;//加载和访问资源。android中主要是这两个功能但是这里具体不清楚
import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase;//主要提供了对应于添加、删除、更新、查询的操作方法: insert()、delete()、update()和query()。配合content.values
import android.database.sqlite.SQLiteOpenHelper;//用来管理数据的创建和版本更新
import android.util.Log; import android.util.Log;
import net.micode.notes.data.Notes.DataColumns; import net.micode.notes.data.Notes.DataColumns;
import net.micode.notes.data.Notes.DataConstants; import net.micode.notes.data.Notes.DataConstants;
import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.NoteColumns;
/*
* SQLOpenhelper,note
*/
public class NotesDatabaseHelper extends SQLiteOpenHelper { public class NotesDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "note.db"; private static final String DB_NAME = "note.db";// 数据库名
private static final int DB_VERSION = 4; private static final int DB_VERSION = 4;// 版本号
public interface TABLE { public interface TABLE {
/*
* notedata,
* */
public static final String NOTE = "note"; public static final String NOTE = "note";
public static final String DATA = "data"; public static final String DATA = "data";
} }
private static final String TAG = "NotesDatabaseHelper"; private static final String TAG = "NotesDatabaseHelper";// 日志标签,用于在日志中标识数据库操作的相关信息
/*
* NotesDatabaseHelper getInstance() NotesDatabaseHelper
* 使
*/
private static NotesDatabaseHelper mInstance; private static NotesDatabaseHelper mInstance;
/*
* TABLE.NOTE便
*/
private static final String CREATE_NOTE_TABLE_SQL = private static final String CREATE_NOTE_TABLE_SQL =
"CREATE TABLE " + TABLE.NOTE + "(" + "CREATE TABLE " + TABLE.NOTE + "(" +
NoteColumns.ID + " INTEGER PRIMARY KEY," + NoteColumns.ID + " INTEGER PRIMARY KEY," +// 便签ID
NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," +// 便签父级的ID
NoteColumns.ALERTED_DATE + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.ALERTED_DATE + " INTEGER NOT NULL DEFAULT 0," +// 便签的提醒日期
NoteColumns.BG_COLOR_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.BG_COLOR_ID + " INTEGER NOT NULL DEFAULT 0," + // 便签的背景颜色ID
NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + // 便签的创建日期
NoteColumns.HAS_ATTACHMENT + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.HAS_ATTACHMENT + " INTEGER NOT NULL DEFAULT 0," +// 便签是否有附件
NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," +// 便签的最后修改日期
NoteColumns.NOTES_COUNT + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.NOTES_COUNT + " INTEGER NOT NULL DEFAULT 0," +// 文件夹中的便签数量
NoteColumns.SNIPPET + " TEXT NOT NULL DEFAULT ''," + NoteColumns.SNIPPET + " TEXT NOT NULL DEFAULT ''," +// 文件夹名称或便签的文本内容
NoteColumns.TYPE + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.TYPE + " INTEGER NOT NULL DEFAULT 0," +// 便签的类型
NoteColumns.WIDGET_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.WIDGET_ID + " INTEGER NOT NULL DEFAULT 0," +// 便签的Widget ID
NoteColumns.WIDGET_TYPE + " INTEGER NOT NULL DEFAULT -1," + NoteColumns.WIDGET_TYPE + " INTEGER NOT NULL DEFAULT -1," +// 便签的Widget类型
NoteColumns.SYNC_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.SYNC_ID + " INTEGER NOT NULL DEFAULT 0," +// 便签的同步ID
NoteColumns.LOCAL_MODIFIED + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.LOCAL_MODIFIED + " INTEGER NOT NULL DEFAULT 0," +// 便签的本地修改标记
NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," +// 原始父级便签的ID
NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," + NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," +// 便签在Google任务中的ID
NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" +// 便签的版本号
")"; ")";
/*
* TABLE.DATA便
*/
private static final String CREATE_DATA_TABLE_SQL = private static final String CREATE_DATA_TABLE_SQL =
"CREATE TABLE " + TABLE.DATA + "(" + "CREATE TABLE " + TABLE.DATA + "(" +
DataColumns.ID + " INTEGER PRIMARY KEY," + DataColumns.ID + " INTEGER PRIMARY KEY," +// 数据ID
DataColumns.MIME_TYPE + " TEXT NOT NULL," + DataColumns.MIME_TYPE + " TEXT NOT NULL," +// 数据ID数据的MIME类型
DataColumns.NOTE_ID + " INTEGER NOT NULL DEFAULT 0," + DataColumns.NOTE_ID + " INTEGER NOT NULL DEFAULT 0," +// 数据所属的便签的ID
NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," +// 数据的创建日期
NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," +// 数据的最后修改日期
DataColumns.CONTENT + " TEXT NOT NULL DEFAULT ''," + DataColumns.CONTENT + " TEXT NOT NULL DEFAULT ''," +// 数据的内容
DataColumns.DATA1 + " INTEGER," + DataColumns.DATA1 + " INTEGER," +// 数据的附加信息1
DataColumns.DATA2 + " INTEGER," + DataColumns.DATA2 + " INTEGER," +// 数据的附加信息2
DataColumns.DATA3 + " TEXT NOT NULL DEFAULT ''," + DataColumns.DATA3 + " TEXT NOT NULL DEFAULT ''," +// 数据的附加信息3
DataColumns.DATA4 + " TEXT NOT NULL DEFAULT ''," + DataColumns.DATA4 + " TEXT NOT NULL DEFAULT ''," +// 数据的附加信息4
DataColumns.DATA5 + " TEXT NOT NULL DEFAULT ''" + DataColumns.DATA5 + " TEXT NOT NULL DEFAULT ''" +// 数据的附加信息5
")"; ")";
/*
* note_id_index TABLE.DATA DataColumns.NOTE_ID
*/
private static final String CREATE_DATA_NOTE_ID_INDEX_SQL = private static final String CREATE_DATA_NOTE_ID_INDEX_SQL =
"CREATE INDEX IF NOT EXISTS note_id_index ON " + "CREATE INDEX IF NOT EXISTS note_id_index ON " +
TABLE.DATA + "(" + DataColumns.NOTE_ID + ");"; TABLE.DATA + "(" + DataColumns.NOTE_ID + ");";
@ -85,6 +105,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Increase folder's note count when move note to the folder * Increase folder's note count when move note to the folder
*/ */
/*
* TABLE.NOTE NoteColumns.PARENT_ID 便
* TABLE.NOTE NoteColumns.NOTES_COUNT 1
*/
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
"CREATE TRIGGER increase_folder_count_on_update "+ "CREATE TRIGGER increase_folder_count_on_update "+
" AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE +
@ -97,6 +122,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Decrease folder's note count when move note from folder * Decrease folder's note count when move note from folder
*/ */
/*
* TABLE.NOTE NoteColumns.PARENT_ID 便
* TABLE.NOTE NoteColumns.NOTES_COUNT 1
*/
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
"CREATE TRIGGER decrease_folder_count_on_update " + "CREATE TRIGGER decrease_folder_count_on_update " +
" AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE +
@ -110,6 +140,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Increase folder's note count when insert new note to the folder * Increase folder's note count when insert new note to the folder
*/ */
/*
* TABLE.NOTE 便便
* TABLE.NOTE NoteColumns.NOTES_COUNT 1
*/
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER = private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER =
"CREATE TRIGGER increase_folder_count_on_insert " + "CREATE TRIGGER increase_folder_count_on_insert " +
" AFTER INSERT ON " + TABLE.NOTE + " AFTER INSERT ON " + TABLE.NOTE +
@ -122,6 +157,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Decrease folder's note count when delete note from the folder * Decrease folder's note count when delete note from the folder
*/ */
/*
* TABLE.NOTE 便便
* TABLE.NOTE NoteColumns.NOTES_COUNT 1
*/
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER = private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER =
"CREATE TRIGGER decrease_folder_count_on_delete " + "CREATE TRIGGER decrease_folder_count_on_delete " +
" AFTER DELETE ON " + TABLE.NOTE + " AFTER DELETE ON " + TABLE.NOTE +
@ -135,6 +175,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Update note's content when insert data with type {@link DataConstants#NOTE} * Update note's content when insert data with type {@link DataConstants#NOTE}
*/ */
/*
* TABLE.DATA DataConstants.NOTE 便
* TABLE.NOTE NoteColumns.SNIPPET
*/
private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER = private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER =
"CREATE TRIGGER update_note_content_on_insert " + "CREATE TRIGGER update_note_content_on_insert " +
" AFTER INSERT ON " + TABLE.DATA + " AFTER INSERT ON " + TABLE.DATA +
@ -148,6 +193,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Update note's content when data with {@link DataConstants#NOTE} type has changed * Update note's content when data with {@link DataConstants#NOTE} type has changed
*/ */
/*
* DataConstants.NOTE 便
* TABLE.DATA 便
*/
private static final String DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER = private static final String DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER =
"CREATE TRIGGER update_note_content_on_update " + "CREATE TRIGGER update_note_content_on_update " +
" AFTER UPDATE ON " + TABLE.DATA + " AFTER UPDATE ON " + TABLE.DATA +
@ -161,6 +211,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Update note's content when data with {@link DataConstants#NOTE} type has deleted * Update note's content when data with {@link DataConstants#NOTE} type has deleted
*/ */
/*
* DataConstants.NOTE 便
* TABLE.DATA 便
*/
private static final String DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER = private static final String DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER =
"CREATE TRIGGER update_note_content_on_delete " + "CREATE TRIGGER update_note_content_on_delete " +
" AFTER delete ON " + TABLE.DATA + " AFTER delete ON " + TABLE.DATA +
@ -174,6 +229,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Delete datas belong to note which has been deleted * Delete datas belong to note which has been deleted
*/ */
/*
* 便便
* TABLE.NOTE 便便
*/
private static final String NOTE_DELETE_DATA_ON_DELETE_TRIGGER = private static final String NOTE_DELETE_DATA_ON_DELETE_TRIGGER =
"CREATE TRIGGER delete_data_on_delete " + "CREATE TRIGGER delete_data_on_delete " +
" AFTER DELETE ON " + TABLE.NOTE + " AFTER DELETE ON " + TABLE.NOTE +
@ -185,6 +245,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Delete notes belong to folder which has been deleted * Delete notes belong to folder which has been deleted
*/ */
/*
* 便
* TABLE.NOTE 便
*/
private static final String FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER = private static final String FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER =
"CREATE TRIGGER folder_delete_notes_on_delete " + "CREATE TRIGGER folder_delete_notes_on_delete " +
" AFTER DELETE ON " + TABLE.NOTE + " AFTER DELETE ON " + TABLE.NOTE +
@ -196,6 +261,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* Move notes belong to folder which has been moved to trash folder * Move notes belong to folder which has been moved to trash folder
*/ */
/*
* 便
* TABLE.NOTE 便IDID
*/
private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER = private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER =
"CREATE TRIGGER folder_move_notes_on_trash " + "CREATE TRIGGER folder_move_notes_on_trash " +
" AFTER UPDATE ON " + TABLE.NOTE + " AFTER UPDATE ON " + TABLE.NOTE +
@ -206,10 +276,16 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" +
" END"; " END";
/*
*
*/
public NotesDatabaseHelper(Context context) { public NotesDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION); super(context, DB_NAME, null, DB_VERSION);
} }
/*
*
*/
public void createNoteTable(SQLiteDatabase db) { public void createNoteTable(SQLiteDatabase db) {
db.execSQL(CREATE_NOTE_TABLE_SQL); db.execSQL(CREATE_NOTE_TABLE_SQL);
reCreateNoteTableTriggers(db); reCreateNoteTableTriggers(db);
@ -217,7 +293,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
Log.d(TAG, "note table has been created"); Log.d(TAG, "note table has been created");
} }
/*
*
*/
private void reCreateNoteTableTriggers(SQLiteDatabase db) { private void reCreateNoteTableTriggers(SQLiteDatabase db) {
// 通过执行SQL语句DROP TRIGGER IF EXISTS来删除已存在的触发器以确保不会重复创建
db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_update"); 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_update");
db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete"); db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete");
@ -225,22 +305,28 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_insert"); db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_insert");
db.execSQL("DROP TRIGGER IF EXISTS folder_delete_notes_on_delete"); db.execSQL("DROP TRIGGER IF EXISTS folder_delete_notes_on_delete");
db.execSQL("DROP TRIGGER IF EXISTS folder_move_notes_on_trash"); db.execSQL("DROP TRIGGER IF EXISTS folder_move_notes_on_trash");
// 创建新的触发器
db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER);// 增加文件夹计数的触发器
db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER);// 减少文件夹计数的触发器
db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER); db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER);// 删除文件夹计数的触发器
db.execSQL(NOTE_DELETE_DATA_ON_DELETE_TRIGGER); db.execSQL(NOTE_DELETE_DATA_ON_DELETE_TRIGGER);// 在删除时同时删除数据的触发器
db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER); db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER);// 增加文件夹计数的触发器
db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER); db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER);// 在删除时同时删除文件夹中的笔记的触发器
db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER); db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER);// 将笔记移动到垃圾箱的触发器
} }
/*
* NoteColumns
*/
private void createSystemFolder(SQLiteDatabase db) { private void createSystemFolder(SQLiteDatabase db) {
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
/** /**
* call record foler for call notes * call record foler for call notes
*/ */
/*
*
*/
values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER); values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values); db.insert(TABLE.NOTE, null, values);
@ -248,6 +334,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* root folder which is default folder * root folder which is default folder
*/ */
/*
*
*/
values.clear(); values.clear();
values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER); values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
@ -256,6 +345,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* temporary folder which is used for moving note * temporary folder which is used for moving note
*/ */
/*
*
*/
values.clear(); values.clear();
values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER); values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
@ -264,19 +356,28 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/** /**
* create trash folder * create trash folder
*/ */
/*
*
*/
values.clear(); values.clear();
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values); db.insert(TABLE.NOTE, null, values);
} }
/*
*
*/
public void createDataTable(SQLiteDatabase db) { public void createDataTable(SQLiteDatabase db) {
db.execSQL(CREATE_DATA_TABLE_SQL); db.execSQL(CREATE_DATA_TABLE_SQL);// 执行 CREATE_DATA_TABLE_SQL 的 SQL 语句来创建数据表
reCreateDataTableTriggers(db); reCreateDataTableTriggers(db);// 调用 reCreateDataTableTriggers() 方法重新创建数据表中的触发器
db.execSQL(CREATE_DATA_NOTE_ID_INDEX_SQL); db.execSQL(CREATE_DATA_NOTE_ID_INDEX_SQL);// 执行 CREATE_DATA_NOTE_ID_INDEX_SQL 的 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_insert");
db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_update"); db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_update");
@ -287,6 +388,12 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER); db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER);
} }
/*
*
* 线.
* 使
* 使
*/
static synchronized NotesDatabaseHelper getInstance(Context context) { static synchronized NotesDatabaseHelper getInstance(Context context) {
if (mInstance == null) { if (mInstance == null) {
mInstance = new NotesDatabaseHelper(context); mInstance = new NotesDatabaseHelper(context);
@ -295,59 +402,93 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
} }
@Override @Override
/*
*
*/
public void onCreate(SQLiteDatabase db) { public void onCreate(SQLiteDatabase db) {
createNoteTable(db); createNoteTable(db);
createDataTable(db); createDataTable(db);
} }
@Override @Override
/*
*
*/
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
boolean reCreateTriggers = false; boolean reCreateTriggers = false;
boolean skipV2 = false; boolean skipV2 = false;// 是否进行V2升级
/*
* 1upgradeToV2
*/
if (oldVersion == 1) { if (oldVersion == 1) {
upgradeToV2(db); upgradeToV2(db);
skipV2 = true; // this upgrade including the upgrade from v2 to v3 skipV2 = true; // this upgrade including the upgrade from v2 to v3
oldVersion++; oldVersion++;
} }
/*
* 2V2upgradeToV3
*/
if (oldVersion == 2 && !skipV2) { if (oldVersion == 2 && !skipV2) {
upgradeToV3(db); upgradeToV3(db);
reCreateTriggers = true; reCreateTriggers = true;
oldVersion++; oldVersion++;
} }
/*
* 3upgradeToV4
*/
if (oldVersion == 3) { if (oldVersion == 3) {
upgradeToV4(db); upgradeToV4(db);
oldVersion++; oldVersion++;
} }
/*
* reCreateNoteTableTriggersreCreateDataTableTriggers
*/
if (reCreateTriggers) { if (reCreateTriggers) {
reCreateNoteTableTriggers(db); reCreateNoteTableTriggers(db);
reCreateDataTableTriggers(db); reCreateDataTableTriggers(db);
} }
/*
*
*/
if (oldVersion != newVersion) { if (oldVersion != newVersion) {
throw new IllegalStateException("Upgrade notes database to version " + newVersion throw new IllegalStateException("Upgrade notes database to version " + newVersion
+ "fails"); + "fails");
} }
} }
/*
* V2
* */
private void upgradeToV2(SQLiteDatabase db) { private void upgradeToV2(SQLiteDatabase db) {
/*
* SQLDROP TABLE IF EXISTSNOTEDATA
* */
db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE); db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE);
db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA); db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA);
createNoteTable(db); createNoteTable(db);// 调用createNoteTable和createDataTable方法来创建新的NOTE表格
createDataTable(db); createDataTable(db);// 调用createNoteTable和createDataTable方法来创建新的DATA表格
} }
/*
* V3
* */
private void upgradeToV3(SQLiteDatabase db) { private void upgradeToV3(SQLiteDatabase db) {
/*
* SQLDROP TRIGGER IF EXISTS使
* */
// drop unused triggers // drop unused triggers
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert"); db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert");
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_delete"); db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_delete");
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_update"); db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_update");
/*
* ALTER TABLENOTEGTASK_IDTEXT''
* */
// add a column for gtask id // add a column for gtask id
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_ID db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_ID
+ " TEXT NOT NULL DEFAULT ''"); + " TEXT NOT NULL DEFAULT ''");
/*
* ContentValuesNOTE
* */
// add a trash system folder // add a trash system folder
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
@ -355,8 +496,11 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
db.insert(TABLE.NOTE, null, values); db.insert(TABLE.NOTE, null, values);
} }
/*
* V4
* */
private void upgradeToV4(SQLiteDatabase db) { private void upgradeToV4(SQLiteDatabase db) {
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION
+ " INTEGER NOT NULL DEFAULT 0"); + " INTEGER NOT NULL DEFAULT 0");// 通过执行ALTER TABLE语句向NOTE表格中添加一个新的列VERSION该列的类型是INTEGER并设置默认值为0
} }
} }

@ -34,15 +34,17 @@ import net.micode.notes.data.Notes.DataColumns;
import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.data.NotesDatabaseHelper.TABLE; import net.micode.notes.data.NotesDatabaseHelper.TABLE;
/*
* 便便 ContentResolver 访便
* */
public class NotesProvider extends ContentProvider { public class NotesProvider extends ContentProvider {
private static final UriMatcher mMatcher; private static final UriMatcher mMatcher;// UriMatcher用于匹配Uri
private NotesDatabaseHelper mHelper; private NotesDatabaseHelper mHelper;// 数据库帮助类
private static final String TAG = "NotesProvider"; private static final String TAG = "NotesProvider";// 标签
private static final int URI_NOTE = 1; private static final int URI_NOTE = 1;// Uri匹配码
private static final int URI_NOTE_ITEM = 2; private static final int URI_NOTE_ITEM = 2;
private static final int URI_DATA = 3; private static final int URI_DATA = 3;
private static final int URI_DATA_ITEM = 4; private static final int URI_DATA_ITEM = 4;
@ -51,20 +53,27 @@ public class NotesProvider extends ContentProvider {
private static final int URI_SEARCH_SUGGEST = 6; private static final int URI_SEARCH_SUGGEST = 6;
static { static {
mMatcher = new UriMatcher(UriMatcher.NO_MATCH); mMatcher = new UriMatcher(UriMatcher.NO_MATCH);// 创建UriMatcher时调用UriMatcher(UriMatcher.NO_MATCH)表示不匹配任何路径的返回码
mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE); /*
mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM); * Uri
mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA); * */
mMatcher.addURI(Notes.AUTHORITY, "data/#", URI_DATA_ITEM); mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE);// 便签列表的路径
mMatcher.addURI(Notes.AUTHORITY, "search", URI_SEARCH); mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM);// 便签详情的路径,其中 "#" 表示数字,表示具体的便签 ID
mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY, URI_SEARCH_SUGGEST); mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA);// 数据列表的路径
mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", URI_SEARCH_SUGGEST); mMatcher.addURI(Notes.AUTHORITY, "data/#", URI_DATA_ITEM);// 数据详情的路径,其中 "#" 表示数字,表示具体的数据 ID
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);// 带搜索关键字的搜索建议的路径
} }
/** /**
* x'0A' represents the '\n' character in sqlite. For title and content in the search result, * 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. * we will trim '\n' and white space in order to show more information.
*/ */
/*
* 便 ID
* */
private static final String NOTES_SEARCH_PROJECTION = NoteColumns.ID + "," private static final String NOTES_SEARCH_PROJECTION = NoteColumns.ID + ","
+ NoteColumns.ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA + "," + 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_1 + ","
@ -73,6 +82,9 @@ public class NotesProvider extends ContentProvider {
+ "'" + Intent.ACTION_VIEW + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_ACTION + "," + "'" + 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 private static String NOTES_SNIPPET_SEARCH_QUERY = "SELECT " + NOTES_SEARCH_PROJECTION
+ " FROM " + TABLE.NOTE + " FROM " + TABLE.NOTE
+ " WHERE " + NoteColumns.SNIPPET + " LIKE ?" + " WHERE " + NoteColumns.SNIPPET + " LIKE ?"
@ -80,226 +92,268 @@ public class NotesProvider extends ContentProvider {
+ " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE; + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE;
@Override @Override
/*
*onCreate()ContextmHelper
* */
public boolean onCreate() { public boolean onCreate() {
mHelper = NotesDatabaseHelper.getInstance(getContext()); mHelper = NotesDatabaseHelper.getInstance(getContext());
return true; return true;
} }
@Override @Override
/*
* Uri
* */
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
String sortOrder) { String sortOrder) {
Cursor c = null; Cursor c = null;// 定义一个Cursor对象用于存放查询结果
SQLiteDatabase db = mHelper.getReadableDatabase(); SQLiteDatabase db = mHelper.getReadableDatabase();// 获取可读数据库实例
String id = null; String id = null;// 用于存放ID值
/*
* Uri使Matcher
* */
switch (mMatcher.match(uri)) { switch (mMatcher.match(uri)) {
case URI_NOTE: case URI_NOTE:
c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null, c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null,
sortOrder); sortOrder);// 查询便签列表
break; break;
case URI_NOTE_ITEM: case URI_NOTE_ITEM:
id = uri.getPathSegments().get(1); id = uri.getPathSegments().get(1);// 获取Uri中的ID值
c = db.query(TABLE.NOTE, projection, NoteColumns.ID + "=" + id c = db.query(TABLE.NOTE, projection, NoteColumns.ID + "=" + id
+ parseSelection(selection), selectionArgs, null, null, sortOrder); + parseSelection(selection), selectionArgs, null, null, sortOrder);// 查询特定ID的便签详情
break; break;
case URI_DATA: case URI_DATA:
c = db.query(TABLE.DATA, projection, selection, selectionArgs, null, null, c = db.query(TABLE.DATA, projection, selection, selectionArgs, null, null,
sortOrder); sortOrder);// 查询数据列表
break; break;
case URI_DATA_ITEM: case URI_DATA_ITEM:
id = uri.getPathSegments().get(1); id = uri.getPathSegments().get(1); // 获取Uri中的ID值
c = db.query(TABLE.DATA, projection, DataColumns.ID + "=" + id c = db.query(TABLE.DATA, projection, DataColumns.ID + "=" + id
+ parseSelection(selection), selectionArgs, null, null, sortOrder); + parseSelection(selection), selectionArgs, null, null, sortOrder);// 查询特定ID的数据详情
break; break;
case URI_SEARCH: case URI_SEARCH:
case URI_SEARCH_SUGGEST: case URI_SEARCH_SUGGEST:
if (sortOrder != null || projection != null) { if (sortOrder != null || projection != null) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"do not specify sortOrder, selection, selectionArgs, or projection" + "with this query"); "do not specify sortOrder, selection, selectionArgs, or projection" + "with this query");// 如果存在不合法的参数则抛出异常
} }
String searchString = null; String searchString = null;
if (mMatcher.match(uri) == URI_SEARCH_SUGGEST) { if (mMatcher.match(uri) == URI_SEARCH_SUGGEST) {
if (uri.getPathSegments().size() > 1) { if (uri.getPathSegments().size() > 1) {
searchString = uri.getPathSegments().get(1); searchString = uri.getPathSegments().get(1); // 获取搜索关键字
} }
} else { } else {
searchString = uri.getQueryParameter("pattern"); searchString = uri.getQueryParameter("pattern"); // 获取搜索关键字
} }
if (TextUtils.isEmpty(searchString)) { if (TextUtils.isEmpty(searchString)) {
return null; return null;// 如果搜索关键字为空则直接返回null
} }
try { try {
searchString = String.format("%%%s%%", searchString); searchString = String.format("%%%s%%", searchString);// 格式化搜索关键字
c = db.rawQuery(NOTES_SNIPPET_SEARCH_QUERY, c = db.rawQuery(NOTES_SNIPPET_SEARCH_QUERY,
new String[] { searchString }); new String[] { searchString });// 执行搜索查询
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
Log.e(TAG, "got exception: " + ex.toString()); Log.e(TAG, "got exception: " + ex.toString());// 捕获异常
} }
break; break;
default: default:
throw new IllegalArgumentException("Unknown URI " + uri); throw new IllegalArgumentException("Unknown URI " + uri);// 对于未知的Uri抛出异常
} }
if (c != null) { if (c != null) {
c.setNotificationUri(getContext().getContentResolver(), uri); c.setNotificationUri(getContext().getContentResolver(), uri);// 设置查询结果的变更通知URI
} }
return c; return c;// 返回查询结果的Cursor对象
} }
@Override @Override
/*
*
* uri URIvalues
* */
public Uri insert(Uri uri, ContentValues values) { public Uri insert(Uri uri, ContentValues values) {
SQLiteDatabase db = mHelper.getWritableDatabase(); SQLiteDatabase db = mHelper.getWritableDatabase();// 获得可写的数据库
long dataId = 0, noteId = 0, insertedId = 0; long dataId = 0, noteId = 0, insertedId = 0;// 定义三个id值变量
/*
* Uri使Matcher
* */
switch (mMatcher.match(uri)) { switch (mMatcher.match(uri)) {
case URI_NOTE: case URI_NOTE:
insertedId = noteId = db.insert(TABLE.NOTE, null, values); insertedId = noteId = db.insert(TABLE.NOTE, null, values);// 在便签表中插入新记录
break; break;
case URI_DATA: case URI_DATA:
if (values.containsKey(DataColumns.NOTE_ID)) { if (values.containsKey(DataColumns.NOTE_ID)) {
noteId = values.getAsLong(DataColumns.NOTE_ID); noteId = values.getAsLong(DataColumns.NOTE_ID);// 如果数据内容包含NOTE_ID字段获取NOTE_ID值
} else { } 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); insertedId = dataId = db.insert(TABLE.DATA, null, values);// 在数据表中插入新记录
break; break;
default: default:
throw new IllegalArgumentException("Unknown URI " + uri); throw new IllegalArgumentException("Unknown URI " + uri);// 对于未知的Uri抛出异常
} }
// Notify the note uri // Notify the note uri
if (noteId > 0) { if (noteId > 0) {// 如果是便签新增操作
getContext().getContentResolver().notifyChange( getContext().getContentResolver().notifyChange(
ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null); ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null);// 通过ContentResolver对象发送通知更新便签的变更通知URI
} }
// Notify the data uri // Notify the data uri
if (dataId > 0) { if (dataId > 0) {// 如果是数据新增操作
getContext().getContentResolver().notifyChange( getContext().getContentResolver().notifyChange(
ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null); ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null);// 通过ContentResolver对象发送通知更新数据的变更通知URI
} }
return ContentUris.withAppendedId(uri, insertedId); return ContentUris.withAppendedId(uri, insertedId);// 返回插入的uri的路径
} }
@Override @Override
/*
*
* uri URIselection selectionArgs
* */
public int delete(Uri uri, String selection, String[] selectionArgs) { public int delete(Uri uri, String selection, String[] selectionArgs) {
int count = 0; //Uri代表要操作的数据Android上可用的每种资源 -包括 图像、视频片段、音频资源等都可以用Uri来表示
String id = null; int count = 0;// 定义计数变量
SQLiteDatabase db = mHelper.getWritableDatabase(); String id = null;// 定义id字符串变量
boolean deleteData = false; SQLiteDatabase db = mHelper.getWritableDatabase();// 获取可写数据库实例
boolean deleteData = false;// 是否删除数据标志位
/*
* Uri使Matcher
* */
switch (mMatcher.match(uri)) { switch (mMatcher.match(uri)) {
case URI_NOTE: case URI_NOTE:
selection = "(" + selection + ") AND " + NoteColumns.ID + ">0 "; selection = "(" + selection + ") AND " + NoteColumns.ID + ">0 ";// 对于便签的删除操作,添加额外的条件限制
count = db.delete(TABLE.NOTE, selection, selectionArgs); count = db.delete(TABLE.NOTE, selection, selectionArgs);// 在便签表中删除符合条件的记录
break; break;
case URI_NOTE_ITEM: case URI_NOTE_ITEM:
id = uri.getPathSegments().get(1); id = uri.getPathSegments().get(1);// 获取Uri中的ID参数
/** /**
* ID that smaller than 0 is system folder which is not allowed to * ID that smaller than 0 is system folder which is not allowed to
* trash * trash
*/ */
long noteId = Long.valueOf(id); long noteId = Long.valueOf(id);
if (noteId <= 0) { if (noteId <= 0) {// 如果ID小于等于0则不允许删除
break; break;
} }
count = db.delete(TABLE.NOTE, count = db.delete(TABLE.NOTE,
NoteColumns.ID + "=" + id + parseSelection(selection), selectionArgs); NoteColumns.ID + "=" + id + parseSelection(selection), selectionArgs);// 在便签表中删除指定ID的记录
break; break;
case URI_DATA: case URI_DATA:
count = db.delete(TABLE.DATA, selection, selectionArgs); count = db.delete(TABLE.DATA, selection, selectionArgs);// 在数据表中删除符合条件的记录
deleteData = true; deleteData = true;// 设置删除数据标志位为true
break; break;
case URI_DATA_ITEM: case URI_DATA_ITEM:
id = uri.getPathSegments().get(1); id = uri.getPathSegments().get(1);// 获取Uri中的ID参数
count = db.delete(TABLE.DATA, count = db.delete(TABLE.DATA,
DataColumns.ID + "=" + id + parseSelection(selection), selectionArgs); DataColumns.ID + "=" + id + parseSelection(selection), selectionArgs);// 在数据表中删除指定ID的记录
deleteData = true; deleteData = true;// 设置删除数据标志位为true
break; break;
default: default:
throw new IllegalArgumentException("Unknown URI " + uri); throw new IllegalArgumentException("Unknown URI " + uri);// 对于未知的Uri抛出异常
} }
if (count > 0) { if (count > 0) {// 如果删除记录数大于0
if (deleteData) { if (deleteData) {
getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null);// 通过ContentResolver对象发送通知更新便签变更通知URI
} }
getContext().getContentResolver().notifyChange(uri, null); getContext().getContentResolver().notifyChange(uri, null);// 通过ContentResolver对象发送通知更新变更通知URI
} }
return count; return count;// 返回删除的记录数
} }
@Override @Override
/*
*
* uri URIvalues selection selectionArgs
* */
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
int count = 0; int count = 0;// 定义计数变量
String id = null; String id = null;// 定义id字符串变量
SQLiteDatabase db = mHelper.getWritableDatabase(); SQLiteDatabase db = mHelper.getWritableDatabase();// 获取可写数据库实例
boolean updateData = false; boolean updateData = false;// 是否更新数据标志位
/*
* Uri使Matcher
* */
switch (mMatcher.match(uri)) { switch (mMatcher.match(uri)) {
case URI_NOTE: case URI_NOTE:
increaseNoteVersion(-1, selection, selectionArgs); increaseNoteVersion(-1, selection, selectionArgs);// 增加便签版本号,针对便签的更新操作,添加额外的条件限制
count = db.update(TABLE.NOTE, values, selection, selectionArgs); count = db.update(TABLE.NOTE, values, selection, selectionArgs);// 在便签表中更新符合条件的记录
break; break;
case URI_NOTE_ITEM: case URI_NOTE_ITEM:
id = uri.getPathSegments().get(1); id = uri.getPathSegments().get(1);// 获取Uri中的ID参数
increaseNoteVersion(Long.valueOf(id), selection, selectionArgs); increaseNoteVersion(Long.valueOf(id), selection, selectionArgs);// 增加便签版本号,针对便签的更新操作,添加额外的条件限制
count = db.update(TABLE.NOTE, values, NoteColumns.ID + "=" + id count = db.update(TABLE.NOTE, values, NoteColumns.ID + "=" + id
+ parseSelection(selection), selectionArgs); + parseSelection(selection), selectionArgs);// 在便签表中更新指定ID的记录
break; break;
case URI_DATA: case URI_DATA:
count = db.update(TABLE.DATA, values, selection, selectionArgs); count = db.update(TABLE.DATA, values, selection, selectionArgs);// 在数据表中更新符合条件的记录
updateData = true; updateData = true;// 设置更新数据标志位为tru
break; break;
case URI_DATA_ITEM: case URI_DATA_ITEM:
id = uri.getPathSegments().get(1); id = uri.getPathSegments().get(1);// 获取Uri中的ID参数
count = db.update(TABLE.DATA, values, DataColumns.ID + "=" + id count = db.update(TABLE.DATA, values, DataColumns.ID + "=" + id
+ parseSelection(selection), selectionArgs); + parseSelection(selection), selectionArgs);// 在数据表中更新指定ID的记录
updateData = true; updateData = true;// 设置更新数据标志位为true
break; break;
default: default:
throw new IllegalArgumentException("Unknown URI " + uri); throw new IllegalArgumentException("Unknown URI " + uri);// 对于未知的Uri抛出异常
} }
if (count > 0) { if (count > 0) {// 如果更新记录数大于0
if (updateData) { if (updateData) {
getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null);// 通过ContentResolver对象发送通知更新便签变更通知URI
} }
getContext().getContentResolver().notifyChange(uri, null); getContext().getContentResolver().notifyChange(uri, null);// 通过ContentResolver对象发送通知更新变更通知URI
} }
return count; return count;// 返回更新的记录数
} }
/*
* selectionselection" AND "SQL
* */
private String parseSelection(String selection) { private String parseSelection(String selection) {
return (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""); return (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : "");
} }
/*
* idselection1
* */
private void increaseNoteVersion(long id, String selection, String[] selectionArgs) { private void increaseNoteVersion(long id, String selection, String[] selectionArgs) {
StringBuilder sql = new StringBuilder(120); StringBuilder sql = new StringBuilder(120);// 创建一个StringBuilder对象用于构建SQL语句
sql.append("UPDATE "); sql.append("UPDATE ");// 构建UPDATE语句指定要更新的表名
sql.append(TABLE.NOTE); sql.append(TABLE.NOTE);// 表名
sql.append(" SET "); sql.append(" SET ");// 指定要更新的字段和新的值
sql.append(NoteColumns.VERSION); sql.append(NoteColumns.VERSION);// 字段名
sql.append("=" + NoteColumns.VERSION + "+1 "); sql.append("=" + NoteColumns.VERSION + "+1 ");// 将版本号加1
if (id > 0 || !TextUtils.isEmpty(selection)) { if (id > 0 || !TextUtils.isEmpty(selection)) {
sql.append(" WHERE "); sql.append(" WHERE ");// 根据传入的参数决定是否添加WHERE子句
} }
if (id > 0) { if (id > 0) {
sql.append(NoteColumns.ID + "=" + String.valueOf(id)); sql.append(NoteColumns.ID + "=" + String.valueOf(id)); // 如果传入的id大于0则表示只更新指定id的记录
} }
if (!TextUtils.isEmpty(selection)) { if (!TextUtils.isEmpty(selection)) {// 如果传入的selection不为空则根据它来确定要更新的记录
String selectString = id > 0 ? parseSelection(selection) : selection; String selectString = id > 0 ? parseSelection(selection) : selection;// 调用parseSelection方法将selection转换为SQL语句中的WHERE子句
for (String args : selectionArgs) { for (String args : selectionArgs) {
selectString = selectString.replaceFirst("\\?", args); selectString = selectString.replaceFirst("\\?", args);// 替换WHERE子句中的问号占位符为实际的参数值
} }
sql.append(selectString); sql.append(selectString);// 添加WHERE子句到SQL语句中
} }
mHelper.getWritableDatabase().execSQL(sql.toString()); // execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句
mHelper.getWritableDatabase().execSQL(sql.toString());// 添加WHERE子句到SQL语句中
} }
@Override @Override
/*
* URI MIME
* uri URI
*
* */
public String getType(Uri uri) { public String getType(Uri uri) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
} }

@ -26,6 +26,8 @@ import org.json.JSONObject;
public class MetaData extends Task { public class MetaData extends Task {
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* TAG * TAG
* getSimpleName () * getSimpleName ()
@ -50,10 +52,28 @@ public class MetaData extends Task {
/* /*
* *
*/ */
=======
=======
>>>>>>> liuyitao-branch
private final static String TAG = MetaData.class.getSimpleName();
private String mRelatedGid = null;
public void setMeta(String gid, JSONObject metaInfo) {
try {
metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid);
} catch (JSONException e) {
Log.e(TAG, "failed to put related gid");
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
setNotes(metaInfo.toString()); setNotes(metaInfo.toString());
setName(GTaskStringUtils.META_NOTE_NAME); setName(GTaskStringUtils.META_NOTE_NAME);
} }
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* Gid * Gid
*/ */
@ -63,15 +83,35 @@ public class MetaData extends Task {
/* /*
* *
*/ */
=======
=======
>>>>>>> liuyitao-branch
public String getRelatedGid() {
return mRelatedGid;
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
@Override @Override
public boolean isWorthSaving() { public boolean isWorthSaving() {
return getNotes() != null; return getNotes() != null;
} }
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* 使json * 使json
* TasksetContentByRemoteJSON () * TasksetContentByRemoteJSON ()
* *
*/ */
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
@Override @Override
public void setContentByRemoteJSON(JSONObject js) { public void setContentByRemoteJSON(JSONObject js) {
super.setContentByRemoteJSON(js); super.setContentByRemoteJSON(js);
@ -81,21 +121,37 @@ public class MetaData extends Task {
mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID);
} catch (JSONException e) { } catch (JSONException e) {
Log.w(TAG, "failed to get related gid"); Log.w(TAG, "failed to get related gid");
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* *
*/ */
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
mRelatedGid = null; mRelatedGid = null;
} }
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* 使json * 使json
*/ */
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
@Override @Override
public void setContentByLocalJSON(JSONObject js) { public void setContentByLocalJSON(JSONObject js) {
// this function should not be called // this function should not be called
throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called"); throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called");
} }
<<<<<<< HEAD
<<<<<<< HEAD
@Override @Override
public JSONObject getLocalJSONFromContent() { public JSONObject getLocalJSONFromContent() {
throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called"); throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called");
@ -113,4 +169,22 @@ public class MetaData extends Task {
*/ */
} }
=======
=======
>>>>>>> liuyitao-branch
@Override
public JSONObject getLocalJSONFromContent() {
throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called");
}
@Override
public int getSyncAction(Cursor c) {
throw new IllegalAccessError("MetaData:getSyncAction should not be called");
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }

@ -20,6 +20,8 @@ import android.database.Cursor;
import org.json.JSONObject; import org.json.JSONObject;
<<<<<<< HEAD
<<<<<<< HEAD
/** /**
* *
* abstract * abstract
@ -43,11 +45,38 @@ public abstract class Node {
public static final int SYNC_ACTION_UPDATE_CONFLICT = 7;// 同步出现冲突 public static final int SYNC_ACTION_UPDATE_CONFLICT = 7;// 同步出现冲突
public static final int SYNC_ACTION_ERROR = 8;// 同步出现错误 public static final int SYNC_ACTION_ERROR = 8;// 同步出现错误
=======
=======
>>>>>>> liuyitao-branch
public abstract class Node {
public static final int SYNC_ACTION_NONE = 0;
public static final int SYNC_ACTION_ADD_REMOTE = 1;
public static final int SYNC_ACTION_ADD_LOCAL = 2;
public static final int SYNC_ACTION_DEL_REMOTE = 3;
public static final int SYNC_ACTION_DEL_LOCAL = 4;
public static final int SYNC_ACTION_UPDATE_REMOTE = 5;
public static final int SYNC_ACTION_UPDATE_LOCAL = 6;
public static final int SYNC_ACTION_UPDATE_CONFLICT = 7;
public static final int SYNC_ACTION_ERROR = 8;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
private String mGid; private String mGid;
private String mName; private String mName;
<<<<<<< HEAD
<<<<<<< HEAD
private long mLastModified;//记录最后一次修改时间 private long mLastModified;//记录最后一次修改时间
private boolean mDeleted;//表征是否被删除 private boolean mDeleted;//表征是否被删除
@ -102,4 +131,66 @@ public abstract class Node {
public boolean getDeleted() { public boolean getDeleted() {
return this.mDeleted; // 返回 mDeleted 的取值 return this.mDeleted; // 返回 mDeleted 的取值
} }
=======
=======
>>>>>>> liuyitao-branch
private long mLastModified;
private boolean mDeleted;
public Node() {
mGid = null;
mName = "";
mLastModified = 0;
mDeleted = false;
}
public abstract JSONObject getCreateAction(int actionId);
public abstract JSONObject getUpdateAction(int actionId);
public abstract void setContentByRemoteJSON(JSONObject js);
public abstract void setContentByLocalJSON(JSONObject js);
public abstract JSONObject getLocalJSONFromContent();
public abstract int getSyncAction(Cursor c);
public void setGid(String gid) {
this.mGid = gid;
}
public void setName(String name) {
this.mName = name;
}
public void setLastModified(long lastModified) {
this.mLastModified = lastModified;
}
public void setDeleted(boolean deleted) {
this.mDeleted = deleted;
}
public String getGid() {
return this.mGid;
}
public String getName() {
return this.mName;
}
public long getLastModified() {
return this.mLastModified;
}
public boolean getDeleted() {
return this.mDeleted;
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }

@ -14,6 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* Description便sqlnotedatanote * Description便sqlnotedatanote
* SqlData * SqlData
@ -25,6 +27,12 @@ package net.micode.notes.gtask.data;
* *
* *
*/ */
=======
package net.micode.notes.gtask.data;
>>>>>>> liuyitao-branch
=======
package net.micode.notes.gtask.data;
>>>>>>> liuyitao-branch
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.ContentUris; import android.content.ContentUris;
@ -46,6 +54,8 @@ import org.json.JSONObject;
public class SqlData { public class SqlData {
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* TAG * TAG
* getSimpleName () * getSimpleName ()
@ -59,10 +69,23 @@ public class SqlData {
*/ */
// 集合了interface DataColumns中所有SF常量 // 集合了interface DataColumns中所有SF常量
=======
=======
>>>>>>> liuyitao-branch
private static final String TAG = SqlData.class.getSimpleName();
private static final int INVALID_ID = -99999;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
public static final String[] PROJECTION_DATA = new String[] { public static final String[] PROJECTION_DATA = new String[] {
DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1, DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1,
DataColumns.DATA3 DataColumns.DATA3
}; };
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* sql5 * sql5
*/ */
@ -102,6 +125,44 @@ public class SqlData {
mContentResolver = context.getContentResolver(); mContentResolver = context.getContentResolver();
mIsCreate = true; mIsCreate = true;
mDataId = INVALID_ID;//mDataId置初始值-99999 mDataId = INVALID_ID;//mDataId置初始值-99999
=======
=======
>>>>>>> liuyitao-branch
public static final int DATA_ID_COLUMN = 0;
public static final int DATA_MIME_TYPE_COLUMN = 1;
public static final int DATA_CONTENT_COLUMN = 2;
public static final int DATA_CONTENT_DATA_1_COLUMN = 3;
public static final int DATA_CONTENT_DATA_3_COLUMN = 4;
private ContentResolver mContentResolver;
private boolean mIsCreate;
private long mDataId;
private String mDataMimeType;
private String mDataContent;
private long mDataContentData1;
private String mDataContentData3;
private ContentValues mDiffDataValues;
public SqlData(Context context) {
mContentResolver = context.getContentResolver();
mIsCreate = true;
mDataId = INVALID_ID;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
mDataMimeType = DataConstants.NOTE; mDataMimeType = DataConstants.NOTE;
mDataContent = ""; mDataContent = "";
mDataContentData1 = 0; mDataContentData1 = 0;
@ -109,6 +170,8 @@ public class SqlData {
mDiffDataValues = new ContentValues(); mDiffDataValues = new ContentValues();
} }
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* *
@ -216,6 +279,87 @@ public class SqlData {
mDataId = Long.valueOf(uri.getPathSegments().get(1)); mDataId = Long.valueOf(uri.getPathSegments().get(1));
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
// 如果获取ID出错则输出错误日志并抛出ActionFailureException异常 // 如果获取ID出错则输出错误日志并抛出ActionFailureException异常
=======
=======
>>>>>>> liuyitao-branch
public SqlData(Context context, Cursor c) {
mContentResolver = context.getContentResolver();
mIsCreate = false;
loadFromCursor(c);
mDiffDataValues = new ContentValues();
}
private void loadFromCursor(Cursor c) {
mDataId = c.getLong(DATA_ID_COLUMN);
mDataMimeType = c.getString(DATA_MIME_TYPE_COLUMN);
mDataContent = c.getString(DATA_CONTENT_COLUMN);
mDataContentData1 = c.getLong(DATA_CONTENT_DATA_1_COLUMN);
mDataContentData3 = c.getString(DATA_CONTENT_DATA_3_COLUMN);
}
public void setContent(JSONObject js) throws JSONException {
long dataId = js.has(DataColumns.ID) ? js.getLong(DataColumns.ID) : INVALID_ID;
if (mIsCreate || mDataId != dataId) {
mDiffDataValues.put(DataColumns.ID, dataId);
}
mDataId = dataId;
String dataMimeType = js.has(DataColumns.MIME_TYPE) ? js.getString(DataColumns.MIME_TYPE)
: DataConstants.NOTE;
if (mIsCreate || !mDataMimeType.equals(dataMimeType)) {
mDiffDataValues.put(DataColumns.MIME_TYPE, dataMimeType);
}
mDataMimeType = dataMimeType;
String dataContent = js.has(DataColumns.CONTENT) ? js.getString(DataColumns.CONTENT) : "";
if (mIsCreate || !mDataContent.equals(dataContent)) {
mDiffDataValues.put(DataColumns.CONTENT, dataContent);
}
mDataContent = dataContent;
long dataContentData1 = js.has(DataColumns.DATA1) ? js.getLong(DataColumns.DATA1) : 0;
if (mIsCreate || mDataContentData1 != dataContentData1) {
mDiffDataValues.put(DataColumns.DATA1, dataContentData1);
}
mDataContentData1 = dataContentData1;
String dataContentData3 = js.has(DataColumns.DATA3) ? js.getString(DataColumns.DATA3) : "";
if (mIsCreate || !mDataContentData3.equals(dataContentData3)) {
mDiffDataValues.put(DataColumns.DATA3, dataContentData3);
}
mDataContentData3 = dataContentData3;
}
public JSONObject getContent() throws JSONException {
if (mIsCreate) {
Log.e(TAG, "it seems that we haven't created this in database yet");
return null;
}
JSONObject js = new JSONObject();
js.put(DataColumns.ID, mDataId);
js.put(DataColumns.MIME_TYPE, mDataMimeType);
js.put(DataColumns.CONTENT, mDataContent);
js.put(DataColumns.DATA1, mDataContentData1);
js.put(DataColumns.DATA3, mDataContentData3);
return js;
}
public void commit(long noteId, boolean validateVersion, long version) {
if (mIsCreate) {
if (mDataId == INVALID_ID && mDiffDataValues.containsKey(DataColumns.ID)) {
mDiffDataValues.remove(DataColumns.ID);
}
mDiffDataValues.put(DataColumns.NOTE_ID, noteId);
Uri uri = mContentResolver.insert(Notes.CONTENT_DATA_URI, mDiffDataValues);
try {
mDataId = Long.valueOf(uri.getPathSegments().get(1));
} catch (NumberFormatException e) {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.e(TAG, "Get note id error :" + e.toString()); Log.e(TAG, "Get note id error :" + e.toString());
throw new ActionFailureException("create note failed"); throw new ActionFailureException("create note failed");
} }
@ -223,6 +367,8 @@ public class SqlData {
if (mDiffDataValues.size() > 0) { if (mDiffDataValues.size() > 0) {
int result = 0; int result = 0;
if (!validateVersion) { if (!validateVersion) {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果不需要验证版本则直接通过mDataId更新mDiffDataValues到数据库中 // 如果不需要验证版本则直接通过mDataId更新mDiffDataValues到数据库中
result = mContentResolver.update(ContentUris.withAppendedId( result = mContentResolver.update(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, null, null); Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, null, null);
@ -230,18 +376,38 @@ public class SqlData {
// 如果需要验证版本则通过noteId和version进行更新 // 如果需要验证版本则通过noteId和version进行更新
result = mContentResolver.update(ContentUris.withAppendedId( result = mContentResolver.update(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues,
=======
=======
>>>>>>> liuyitao-branch
result = mContentResolver.update(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, null, null);
} else {
result = mContentResolver.update(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues,
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
" ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE " ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE
+ " WHERE " + NoteColumns.VERSION + "=?)", new String[] { + " WHERE " + NoteColumns.VERSION + "=?)", new String[] {
String.valueOf(noteId), String.valueOf(version) String.valueOf(noteId), String.valueOf(version)
}); });
} }
if (result == 0) { if (result == 0) {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果没有更新任何数据,则输出警告日志 // 如果没有更新任何数据,则输出警告日志
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.w(TAG, "there is no update. maybe user updates note when syncing"); Log.w(TAG, "there is no update. maybe user updates note when syncing");
} }
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 清空差异数据 // 清空差异数据
mDiffDataValues.clear(); mDiffDataValues.clear();
// 将新建标记设为false // 将新建标记设为false
@ -255,4 +421,18 @@ public class SqlData {
return mDataId; return mDataId;
} }
=======
=======
>>>>>>> liuyitao-branch
mDiffDataValues.clear();
mIsCreate = false;
}
public long getId() {
return mDataId;
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }

@ -43,6 +43,8 @@ public class SqlNote {
private static final int INVALID_ID = -99999; private static final int INVALID_ID = -99999;
<<<<<<< HEAD
<<<<<<< HEAD
// 定义查询笔记的投影,包含需要查询的列 // 定义查询笔记的投影,包含需要查询的列
public static final String[] PROJECTION_NOTE = new String[] { public static final String[] PROJECTION_NOTE = new String[] {
NoteColumns.ID, // 笔记ID NoteColumns.ID, // 笔记ID
@ -148,11 +150,146 @@ public class SqlNote {
Cursor c = null;// 初始化游标对象 Cursor c = null;// 初始化游标对象
try { try {
// 通过 ID 查询笔记数据 // 通过 ID 查询笔记数据
=======
=======
>>>>>>> liuyitao-branch
public static final String[] PROJECTION_NOTE = new String[] {
NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID,
NoteColumns.CREATED_DATE, NoteColumns.HAS_ATTACHMENT, NoteColumns.MODIFIED_DATE,
NoteColumns.NOTES_COUNT, NoteColumns.PARENT_ID, NoteColumns.SNIPPET, NoteColumns.TYPE,
NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, NoteColumns.SYNC_ID,
NoteColumns.LOCAL_MODIFIED, NoteColumns.ORIGIN_PARENT_ID, NoteColumns.GTASK_ID,
NoteColumns.VERSION
};
public static final int ID_COLUMN = 0;
public static final int ALERTED_DATE_COLUMN = 1;
public static final int BG_COLOR_ID_COLUMN = 2;
public static final int CREATED_DATE_COLUMN = 3;
public static final int HAS_ATTACHMENT_COLUMN = 4;
public static final int MODIFIED_DATE_COLUMN = 5;
public static final int NOTES_COUNT_COLUMN = 6;
public static final int PARENT_ID_COLUMN = 7;
public static final int SNIPPET_COLUMN = 8;
public static final int TYPE_COLUMN = 9;
public static final int WIDGET_ID_COLUMN = 10;
public static final int WIDGET_TYPE_COLUMN = 11;
public static final int SYNC_ID_COLUMN = 12;
public static final int LOCAL_MODIFIED_COLUMN = 13;
public static final int ORIGIN_PARENT_ID_COLUMN = 14;
public static final int GTASK_ID_COLUMN = 15;
public static final int VERSION_COLUMN = 16;
private Context mContext;
private ContentResolver mContentResolver;
private boolean mIsCreate;
private long mId;
private long mAlertDate;
private int mBgColorId;
private long mCreatedDate;
private int mHasAttachment;
private long mModifiedDate;
private long mParentId;
private String mSnippet;
private int mType;
private int mWidgetId;
private int mWidgetType;
private long mOriginParent;
private long mVersion;
private ContentValues mDiffNoteValues;
private ArrayList<SqlData> mDataList;
public SqlNote(Context context) {
mContext = context;
mContentResolver = context.getContentResolver();
mIsCreate = true;
mId = INVALID_ID;
mAlertDate = 0;
mBgColorId = ResourceParser.getDefaultBgId(context);
mCreatedDate = System.currentTimeMillis();
mHasAttachment = 0;
mModifiedDate = System.currentTimeMillis();
mParentId = 0;
mSnippet = "";
mType = Notes.TYPE_NOTE;
mWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
mWidgetType = Notes.TYPE_WIDGET_INVALIDE;
mOriginParent = 0;
mVersion = 0;
mDiffNoteValues = new ContentValues();
mDataList = new ArrayList<SqlData>();
}
public SqlNote(Context context, Cursor c) {
mContext = context;
mContentResolver = context.getContentResolver();
mIsCreate = false;
loadFromCursor(c);
mDataList = new ArrayList<SqlData>();
if (mType == Notes.TYPE_NOTE)
loadDataContent();
mDiffNoteValues = new ContentValues();
}
public SqlNote(Context context, long id) {
mContext = context;
mContentResolver = context.getContentResolver();
mIsCreate = false;
loadFromCursor(id);
mDataList = new ArrayList<SqlData>();
if (mType == Notes.TYPE_NOTE)
loadDataContent();
mDiffNoteValues = new ContentValues();
}
private void loadFromCursor(long id) {
Cursor c = null;
try {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
c = mContentResolver.query(Notes.CONTENT_NOTE_URI, PROJECTION_NOTE, "(_id=?)", c = mContentResolver.query(Notes.CONTENT_NOTE_URI, PROJECTION_NOTE, "(_id=?)",
new String[] { new String[] {
String.valueOf(id) String.valueOf(id)
}, null); }, null);
if (c != null) { if (c != null) {
<<<<<<< HEAD
<<<<<<< HEAD
c.moveToNext(); // 移动到第一条数据 c.moveToNext(); // 移动到第一条数据
loadFromCursor(c); // 载入数据 loadFromCursor(c); // 载入数据
} else { } else {
@ -161,10 +298,27 @@ public class SqlNote {
} finally { } finally {
if (c != null) if (c != null)
c.close(); // 关闭游标 c.close(); // 关闭游标
=======
=======
>>>>>>> liuyitao-branch
c.moveToNext();
loadFromCursor(c);
} else {
Log.w(TAG, "loadFromCursor: cursor = null");
}
} finally {
if (c != null)
c.close();
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }
private void loadFromCursor(Cursor c) { private void loadFromCursor(Cursor c) {
<<<<<<< HEAD
<<<<<<< HEAD
mId = c.getLong(ID_COLUMN); // 从游标中获取并设置 ID mId = c.getLong(ID_COLUMN); // 从游标中获取并设置 ID
mAlertDate = c.getLong(ALERTED_DATE_COLUMN); // 从游标中获取并设置提醒日期 mAlertDate = c.getLong(ALERTED_DATE_COLUMN); // 从游标中获取并设置提醒日期
mBgColorId = c.getInt(BG_COLOR_ID_COLUMN); // 从游标中获取并设置背景色ID mBgColorId = c.getInt(BG_COLOR_ID_COLUMN); // 从游标中获取并设置背景色ID
@ -185,12 +339,39 @@ public class SqlNote {
try { try {
// 通过笔记ID查询数据内容 // 通过笔记ID查询数据内容
=======
=======
>>>>>>> liuyitao-branch
mId = c.getLong(ID_COLUMN);
mAlertDate = c.getLong(ALERTED_DATE_COLUMN);
mBgColorId = c.getInt(BG_COLOR_ID_COLUMN);
mCreatedDate = c.getLong(CREATED_DATE_COLUMN);
mHasAttachment = c.getInt(HAS_ATTACHMENT_COLUMN);
mModifiedDate = c.getLong(MODIFIED_DATE_COLUMN);
mParentId = c.getLong(PARENT_ID_COLUMN);
mSnippet = c.getString(SNIPPET_COLUMN);
mType = c.getInt(TYPE_COLUMN);
mWidgetId = c.getInt(WIDGET_ID_COLUMN);
mWidgetType = c.getInt(WIDGET_TYPE_COLUMN);
mVersion = c.getLong(VERSION_COLUMN);
}
private void loadDataContent() {
Cursor c = null;
mDataList.clear();
try {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
c = mContentResolver.query(Notes.CONTENT_DATA_URI, SqlData.PROJECTION_DATA, c = mContentResolver.query(Notes.CONTENT_DATA_URI, SqlData.PROJECTION_DATA,
"(note_id=?)", new String[] { "(note_id=?)", new String[] {
String.valueOf(mId) String.valueOf(mId)
}, null); }, null);
if (c != null) { if (c != null) {
if (c.getCount() == 0) { if (c.getCount() == 0) {
<<<<<<< HEAD
<<<<<<< HEAD
Log.w(TAG, "it seems that the note has not data");// 输出警告日志 Log.w(TAG, "it seems that the note has not data");// 输出警告日志
return; return;
} }
@ -204,11 +385,33 @@ public class SqlNote {
} finally { } finally {
if (c != null) if (c != null)
c.close();// 关闭游标 c.close();// 关闭游标
=======
=======
>>>>>>> liuyitao-branch
Log.w(TAG, "it seems that the note has not data");
return;
}
while (c.moveToNext()) {
SqlData data = new SqlData(mContext, c);
mDataList.add(data);
}
} else {
Log.w(TAG, "loadDataContent: cursor = null");
}
} finally {
if (c != null)
c.close();
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }
public boolean setContent(JSONObject js) { public boolean setContent(JSONObject js) {
try { try {
<<<<<<< HEAD
<<<<<<< HEAD
// 解析JSON对象中的note字段 // 解析JSON对象中的note字段
JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
// 检查note的类型 // 检查note的类型
@ -221,6 +424,20 @@ public class SqlNote {
String snippet = note.has(NoteColumns.SNIPPET) ? note String snippet = note.has(NoteColumns.SNIPPET) ? note
.getString(NoteColumns.SNIPPET) : ""; .getString(NoteColumns.SNIPPET) : "";
// 如果正在创建一个新的note或者之前的snippet和当前传入的snippet不相等则更新snippet字段 // 如果正在创建一个新的note或者之前的snippet和当前传入的snippet不相等则更新snippet字段
=======
=======
>>>>>>> liuyitao-branch
JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) {
Log.w(TAG, "cannot set system folder");
} else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) {
// for folder we can only update the snnipet and type
String snippet = note.has(NoteColumns.SNIPPET) ? note
.getString(NoteColumns.SNIPPET) : "";
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (mIsCreate || !mSnippet.equals(snippet)) { if (mIsCreate || !mSnippet.equals(snippet)) {
mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); mDiffNoteValues.put(NoteColumns.SNIPPET, snippet);
} }
@ -228,50 +445,167 @@ public class SqlNote {
int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE)
: Notes.TYPE_NOTE; : Notes.TYPE_NOTE;
<<<<<<< HEAD
<<<<<<< HEAD
// 如果正在创建一个新的note或者之前的type和当前传入的type不相等则更新type字段 // 如果正在创建一个新的note或者之前的type和当前传入的type不相等则更新type字段
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (mIsCreate || mType != type) { if (mIsCreate || mType != type) {
mDiffNoteValues.put(NoteColumns.TYPE, type); mDiffNoteValues.put(NoteColumns.TYPE, type);
} }
mType = type; mType = type;
<<<<<<< HEAD
<<<<<<< HEAD
}else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) { }else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) {
// 如果类型为笔记类型则解析data数组 // 如果类型为笔记类型则解析data数组
JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
// 获取note的ID字段如果没有则设置为INVALID_ID常量值 // 获取note的ID字段如果没有则设置为INVALID_ID常量值
long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID; long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID;
// 如果正在创建一个新的note或者之前的id和当前传入的id不相等则更新ID字段 // 如果正在创建一个新的note或者之前的id和当前传入的id不相等则更新ID字段
=======
} else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) {
JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID;
>>>>>>> liuyitao-branch
=======
} else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) {
JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID;
>>>>>>> liuyitao-branch
if (mIsCreate || mId != id) { if (mIsCreate || mId != id) {
mDiffNoteValues.put(NoteColumns.ID, id); mDiffNoteValues.put(NoteColumns.ID, id);
} }
mId = id; mId = id;
<<<<<<< HEAD
<<<<<<< HEAD
// 解析并更新其他成员变量 // 解析并更新其他成员变量
long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note.getLong(NoteColumns.ALERTED_DATE) : 0; long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note.getLong(NoteColumns.ALERTED_DATE) : 0;
=======
long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note
.getLong(NoteColumns.ALERTED_DATE) : 0;
>>>>>>> liuyitao-branch
=======
long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note
.getLong(NoteColumns.ALERTED_DATE) : 0;
>>>>>>> liuyitao-branch
if (mIsCreate || mAlertDate != alertDate) { if (mIsCreate || mAlertDate != alertDate) {
mDiffNoteValues.put(NoteColumns.ALERTED_DATE, alertDate); mDiffNoteValues.put(NoteColumns.ALERTED_DATE, alertDate);
} }
mAlertDate = alertDate; mAlertDate = alertDate;
<<<<<<< HEAD
<<<<<<< HEAD
// 解析snippet和type字段 // 解析snippet和type字段
String snippet = note.has(NoteColumns.SNIPPET) ? note.getString(NoteColumns.SNIPPET) : ""; String snippet = note.has(NoteColumns.SNIPPET) ? note.getString(NoteColumns.SNIPPET) : "";
// 如果正在创建一个新的note或者之前的snippet和当前传入的snippet不相等则更新snippet字段 // 如果正在创建一个新的note或者之前的snippet和当前传入的snippet不相等则更新snippet字段
=======
=======
>>>>>>> liuyitao-branch
int bgColorId = note.has(NoteColumns.BG_COLOR_ID) ? note
.getInt(NoteColumns.BG_COLOR_ID) : ResourceParser.getDefaultBgId(mContext);
if (mIsCreate || mBgColorId != bgColorId) {
mDiffNoteValues.put(NoteColumns.BG_COLOR_ID, bgColorId);
}
mBgColorId = bgColorId;
long createDate = note.has(NoteColumns.CREATED_DATE) ? note
.getLong(NoteColumns.CREATED_DATE) : System.currentTimeMillis();
if (mIsCreate || mCreatedDate != createDate) {
mDiffNoteValues.put(NoteColumns.CREATED_DATE, createDate);
}
mCreatedDate = createDate;
int hasAttachment = note.has(NoteColumns.HAS_ATTACHMENT) ? note
.getInt(NoteColumns.HAS_ATTACHMENT) : 0;
if (mIsCreate || mHasAttachment != hasAttachment) {
mDiffNoteValues.put(NoteColumns.HAS_ATTACHMENT, hasAttachment);
}
mHasAttachment = hasAttachment;
long modifiedDate = note.has(NoteColumns.MODIFIED_DATE) ? note
.getLong(NoteColumns.MODIFIED_DATE) : System.currentTimeMillis();
if (mIsCreate || mModifiedDate != modifiedDate) {
mDiffNoteValues.put(NoteColumns.MODIFIED_DATE, modifiedDate);
}
mModifiedDate = modifiedDate;
long parentId = note.has(NoteColumns.PARENT_ID) ? note
.getLong(NoteColumns.PARENT_ID) : 0;
if (mIsCreate || mParentId != parentId) {
mDiffNoteValues.put(NoteColumns.PARENT_ID, parentId);
}
mParentId = parentId;
String snippet = note.has(NoteColumns.SNIPPET) ? note
.getString(NoteColumns.SNIPPET) : "";
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (mIsCreate || !mSnippet.equals(snippet)) { if (mIsCreate || !mSnippet.equals(snippet)) {
mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); mDiffNoteValues.put(NoteColumns.SNIPPET, snippet);
} }
mSnippet = snippet; mSnippet = snippet;
<<<<<<< HEAD
<<<<<<< HEAD
int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) : Notes.TYPE_NOTE; int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) : Notes.TYPE_NOTE;
// 如果正在创建一个新的note或者之前的type和当前传入的type不相等则更新type字段 // 如果正在创建一个新的note或者之前的type和当前传入的type不相等则更新type字段
=======
int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE)
: Notes.TYPE_NOTE;
>>>>>>> liuyitao-branch
=======
int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE)
: Notes.TYPE_NOTE;
>>>>>>> liuyitao-branch
if (mIsCreate || mType != type) { if (mIsCreate || mType != type) {
mDiffNoteValues.put(NoteColumns.TYPE, type); mDiffNoteValues.put(NoteColumns.TYPE, type);
} }
mType = type; mType = type;
<<<<<<< HEAD
<<<<<<< HEAD
// 遍历data数组 // 遍历data数组
for (int i = 0; i < dataArray.length(); i++) { for (int i = 0; i < dataArray.length(); i++) {
JSONObject data = dataArray.getJSONObject(i); JSONObject data = dataArray.getJSONObject(i);
SqlData sqlData = null; SqlData sqlData = null;
// 检查data数组中的id字段并查找对应的SqlData对象 // 检查data数组中的id字段并查找对应的SqlData对象
=======
=======
>>>>>>> liuyitao-branch
int widgetId = note.has(NoteColumns.WIDGET_ID) ? note.getInt(NoteColumns.WIDGET_ID)
: AppWidgetManager.INVALID_APPWIDGET_ID;
if (mIsCreate || mWidgetId != widgetId) {
mDiffNoteValues.put(NoteColumns.WIDGET_ID, widgetId);
}
mWidgetId = widgetId;
int widgetType = note.has(NoteColumns.WIDGET_TYPE) ? note
.getInt(NoteColumns.WIDGET_TYPE) : Notes.TYPE_WIDGET_INVALIDE;
if (mIsCreate || mWidgetType != widgetType) {
mDiffNoteValues.put(NoteColumns.WIDGET_TYPE, widgetType);
}
mWidgetType = widgetType;
long originParent = note.has(NoteColumns.ORIGIN_PARENT_ID) ? note
.getLong(NoteColumns.ORIGIN_PARENT_ID) : 0;
if (mIsCreate || mOriginParent != originParent) {
mDiffNoteValues.put(NoteColumns.ORIGIN_PARENT_ID, originParent);
}
mOriginParent = originParent;
for (int i = 0; i < dataArray.length(); i++) {
JSONObject data = dataArray.getJSONObject(i);
SqlData sqlData = null;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (data.has(DataColumns.ID)) { if (data.has(DataColumns.ID)) {
long dataId = data.getLong(DataColumns.ID); long dataId = data.getLong(DataColumns.ID);
for (SqlData temp : mDataList) { for (SqlData temp : mDataList) {
@ -281,22 +615,42 @@ public class SqlNote {
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 如果未找到对应的SqlData对象则创建一个新的对象并添加到数据列表中 // 如果未找到对应的SqlData对象则创建一个新的对象并添加到数据列表中
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (sqlData == null) { if (sqlData == null) {
sqlData = new SqlData(mContext); sqlData = new SqlData(mContext);
mDataList.add(sqlData); mDataList.add(sqlData);
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 调用SqlData对象的setContent方法传递JSON数据进行处理 // 调用SqlData对象的setContent方法传递JSON数据进行处理
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
sqlData.setContent(data); sqlData.setContent(data);
} }
} }
} catch (JSONException e) { } catch (JSONException e) {
<<<<<<< HEAD
<<<<<<< HEAD
// 处理异常情况打印错误信息并返回false // 处理异常情况打印错误信息并返回false
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.e(TAG, e.toString()); Log.e(TAG, e.toString());
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 返回true表示设置内容成功 // 返回true表示设置内容成功
return true; return true;
@ -356,16 +710,82 @@ public class SqlNote {
} }
// 如果出现异常,则返回 null // 如果出现异常,则返回 null
return null; // 返回null return null; // 返回null
=======
=======
>>>>>>> liuyitao-branch
return true;
}
public JSONObject getContent() {
try {
JSONObject js = new JSONObject();
if (mIsCreate) {
Log.e(TAG, "it seems that we haven't created this in database yet");
return null;
}
JSONObject note = new JSONObject();
if (mType == Notes.TYPE_NOTE) {
note.put(NoteColumns.ID, mId);
note.put(NoteColumns.ALERTED_DATE, mAlertDate);
note.put(NoteColumns.BG_COLOR_ID, mBgColorId);
note.put(NoteColumns.CREATED_DATE, mCreatedDate);
note.put(NoteColumns.HAS_ATTACHMENT, mHasAttachment);
note.put(NoteColumns.MODIFIED_DATE, mModifiedDate);
note.put(NoteColumns.PARENT_ID, mParentId);
note.put(NoteColumns.SNIPPET, mSnippet);
note.put(NoteColumns.TYPE, mType);
note.put(NoteColumns.WIDGET_ID, mWidgetId);
note.put(NoteColumns.WIDGET_TYPE, mWidgetType);
note.put(NoteColumns.ORIGIN_PARENT_ID, mOriginParent);
js.put(GTaskStringUtils.META_HEAD_NOTE, note);
JSONArray dataArray = new JSONArray();
for (SqlData sqlData : mDataList) {
JSONObject data = sqlData.getContent();
if (data != null) {
dataArray.put(data);
}
}
js.put(GTaskStringUtils.META_HEAD_DATA, dataArray);
} else if (mType == Notes.TYPE_FOLDER || mType == Notes.TYPE_SYSTEM) {
note.put(NoteColumns.ID, mId);
note.put(NoteColumns.TYPE, mType);
note.put(NoteColumns.SNIPPET, mSnippet);
js.put(GTaskStringUtils.META_HEAD_NOTE, note);
}
return js;
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
}
return null;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
public void setParentId(long id) { public void setParentId(long id) {
mParentId = id; mParentId = id;
mDiffNoteValues.put(NoteColumns.PARENT_ID, id); mDiffNoteValues.put(NoteColumns.PARENT_ID, id);
<<<<<<< HEAD
<<<<<<< HEAD
}//设置父节点ID }//设置父节点ID
=======
}
>>>>>>> liuyitao-branch
=======
}
>>>>>>> liuyitao-branch
public void setGtaskId(String gid) { public void setGtaskId(String gid) {
mDiffNoteValues.put(NoteColumns.GTASK_ID, gid); mDiffNoteValues.put(NoteColumns.GTASK_ID, gid);
} }
<<<<<<< HEAD
<<<<<<< HEAD
//设置Google任务ID //设置Google任务ID
public void setSyncId(long syncId) { public void setSyncId(long syncId) {
mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId); mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId);
@ -405,6 +825,46 @@ public class SqlNote {
try { try {
// 将Uri路径中的第二个片段转换为long类型并赋值给mId // 将Uri路径中的第二个片段转换为long类型并赋值给mId
=======
=======
>>>>>>> liuyitao-branch
public void setSyncId(long syncId) {
mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId);
}
public void resetLocalModified() {
mDiffNoteValues.put(NoteColumns.LOCAL_MODIFIED, 0);
}
public long getId() {
return mId;
}
public long getParentId() {
return mParentId;
}
public String getSnippet() {
return mSnippet;
}
public boolean isNoteType() {
return mType == Notes.TYPE_NOTE;
}
public void commit(boolean validateVersion) {
if (mIsCreate) {
if (mId == INVALID_ID && mDiffNoteValues.containsKey(NoteColumns.ID)) {
mDiffNoteValues.remove(NoteColumns.ID);
}
Uri uri = mContentResolver.insert(Notes.CONTENT_NOTE_URI, mDiffNoteValues);
try {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
mId = Long.valueOf(uri.getPathSegments().get(1)); mId = Long.valueOf(uri.getPathSegments().get(1));
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
Log.e(TAG, "Get note id error :" + e.toString()); Log.e(TAG, "Get note id error :" + e.toString());
@ -414,14 +874,26 @@ public class SqlNote {
throw new IllegalStateException("Create thread id failed"); throw new IllegalStateException("Create thread id failed");
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 如果是笔记类型,则循环提交数据内容更改 // 如果是笔记类型,则循环提交数据内容更改
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (mType == Notes.TYPE_NOTE) { if (mType == Notes.TYPE_NOTE) {
for (SqlData sqlData : mDataList) { for (SqlData sqlData : mDataList) {
sqlData.commit(mId, false, -1); sqlData.commit(mId, false, -1);
} }
} }
} else { } else {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果不是新建笔记 // 如果不是新建笔记
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (mId <= 0 && mId != Notes.ID_ROOT_FOLDER && mId != Notes.ID_CALL_RECORD_FOLDER) { if (mId <= 0 && mId != Notes.ID_ROOT_FOLDER && mId != Notes.ID_CALL_RECORD_FOLDER) {
Log.e(TAG, "No such note"); Log.e(TAG, "No such note");
throw new IllegalStateException("Try to update note with invalid id"); throw new IllegalStateException("Try to update note with invalid id");
@ -430,6 +902,8 @@ public class SqlNote {
mVersion ++; mVersion ++;
int result = 0; int result = 0;
if (!validateVersion) { if (!validateVersion) {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果不需要验证版本则直接通过mId更新mDiffNoteValues到数据库中 // 如果不需要验证版本则直接通过mId更新mDiffNoteValues到数据库中
result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "("
+ NoteColumns.ID + "=?)", new String[] { + NoteColumns.ID + "=?)", new String[] {
@ -439,6 +913,20 @@ public class SqlNote {
// 如果需要验证版本则通过mId和mVersion进行更新 // 如果需要验证版本则通过mId和mVersion进行更新
result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "("
+ NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)", + NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)",
=======
=======
>>>>>>> liuyitao-branch
result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "("
+ NoteColumns.ID + "=?)", new String[] {
String.valueOf(mId)
});
} else {
result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "("
+ NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)",
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
new String[] { new String[] {
String.valueOf(mId), String.valueOf(mVersion) String.valueOf(mId), String.valueOf(mVersion)
}); });
@ -448,7 +936,13 @@ public class SqlNote {
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 如果是笔记类型,则循环提交数据内容更改 // 如果是笔记类型,则循环提交数据内容更改
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (mType == Notes.TYPE_NOTE) { if (mType == Notes.TYPE_NOTE) {
for (SqlData sqlData : mDataList) { for (SqlData sqlData : mDataList) {
sqlData.commit(mId, validateVersion, mVersion); sqlData.commit(mId, validateVersion, mVersion);
@ -456,12 +950,26 @@ public class SqlNote {
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 刷新本地信息 // 刷新本地信息
=======
// refresh local info
>>>>>>> liuyitao-branch
=======
// refresh local info
>>>>>>> liuyitao-branch
loadFromCursor(mId); loadFromCursor(mId);
if (mType == Notes.TYPE_NOTE) if (mType == Notes.TYPE_NOTE)
loadDataContent(); loadDataContent();
<<<<<<< HEAD
<<<<<<< HEAD
// 清空mDiffNoteValues和将mIsCreate设置为false // 清空mDiffNoteValues和将mIsCreate设置为false
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
mDiffNoteValues.clear(); mDiffNoteValues.clear();
mIsCreate = false; mIsCreate = false;
} }

@ -33,6 +33,8 @@ import org.json.JSONObject;
public class Task extends Node { public class Task extends Node {
<<<<<<< HEAD
<<<<<<< HEAD
private static final String TAG = Task.class.getSimpleName(); // 定义一个私有静态常量TAG值为Task.class.getSimpleName() private static final String TAG = Task.class.getSimpleName(); // 定义一个私有静态常量TAG值为Task.class.getSimpleName()
private boolean mCompleted; // 定义一个私有的boolean类型变量mCompleted private boolean mCompleted; // 定义一个私有的boolean类型变量mCompleted
@ -144,36 +146,195 @@ public class Task extends Node {
if (js != null) { // 如果参数不为空 if (js != null) { // 如果参数不为空
try { try {
// 获取Google Task的ID并设置到本地笔记或任务中 // 获取Google Task的ID并设置到本地笔记或任务中
=======
=======
>>>>>>> liuyitao-branch
private static final String TAG = Task.class.getSimpleName();
private boolean mCompleted;
private String mNotes;
private JSONObject mMetaInfo;
private Task mPriorSibling;
private TaskList mParent;
public Task() {
super();
mCompleted = false;
mNotes = null;
mPriorSibling = null;
mParent = null;
mMetaInfo = null;
}
public JSONObject getCreateAction(int actionId) {
JSONObject js = new JSONObject();
try {
// action_type
js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE,
GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE);
// action_id
js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId);
// index
js.put(GTaskStringUtils.GTASK_JSON_INDEX, mParent.getChildTaskIndex(this));
// entity_delta
JSONObject entity = new JSONObject();
entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName());
entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null");
entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE,
GTaskStringUtils.GTASK_JSON_TYPE_TASK);
if (getNotes() != null) {
entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes());
}
js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity);
// parent_id
js.put(GTaskStringUtils.GTASK_JSON_PARENT_ID, mParent.getGid());
// dest_parent_type
js.put(GTaskStringUtils.GTASK_JSON_DEST_PARENT_TYPE,
GTaskStringUtils.GTASK_JSON_TYPE_GROUP);
// list_id
js.put(GTaskStringUtils.GTASK_JSON_LIST_ID, mParent.getGid());
// prior_sibling_id
if (mPriorSibling != null) {
js.put(GTaskStringUtils.GTASK_JSON_PRIOR_SIBLING_ID, mPriorSibling.getGid());
}
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("fail to generate task-create jsonobject");
}
return js;
}
public JSONObject getUpdateAction(int actionId) {
JSONObject js = new JSONObject();
try {
// action_type
js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE,
GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE);
// action_id
js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId);
// id
js.put(GTaskStringUtils.GTASK_JSON_ID, getGid());
// entity_delta
JSONObject entity = new JSONObject();
entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName());
if (getNotes() != null) {
entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes());
}
entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted());
js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity);
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("fail to generate task-update jsonobject");
}
return js;
}
public void setContentByRemoteJSON(JSONObject js) {
if (js != null) {
try {
// id
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { if (js.has(GTaskStringUtils.GTASK_JSON_ID)) {
setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID));
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 获取Google Task的最后修改时间戳并设置到本地笔记或任务中 // 获取Google Task的最后修改时间戳并设置到本地笔记或任务中
=======
// last_modified
>>>>>>> liuyitao-branch
=======
// last_modified
>>>>>>> liuyitao-branch
if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) {
setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED));
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 获取Google Task的名称并设置到本地笔记或任务中 // 获取Google Task的名称并设置到本地笔记或任务中
=======
// name
>>>>>>> liuyitao-branch
=======
// name
>>>>>>> liuyitao-branch
if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) {
setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME));
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 获取Google Task的备注信息并设置到本地笔记或任务中 // 获取Google Task的备注信息并设置到本地笔记或任务中
=======
// notes
>>>>>>> liuyitao-branch
=======
// notes
>>>>>>> liuyitao-branch
if (js.has(GTaskStringUtils.GTASK_JSON_NOTES)) { if (js.has(GTaskStringUtils.GTASK_JSON_NOTES)) {
setNotes(js.getString(GTaskStringUtils.GTASK_JSON_NOTES)); setNotes(js.getString(GTaskStringUtils.GTASK_JSON_NOTES));
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 获取Google Task的删除状态并设置到本地笔记或任务中 // 获取Google Task的删除状态并设置到本地笔记或任务中
=======
// deleted
>>>>>>> liuyitao-branch
=======
// deleted
>>>>>>> liuyitao-branch
if (js.has(GTaskStringUtils.GTASK_JSON_DELETED)) { if (js.has(GTaskStringUtils.GTASK_JSON_DELETED)) {
setDeleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_DELETED)); setDeleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_DELETED));
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 获取Google Task的完成状态并设置到本地笔记或任务中 // 获取Google Task的完成状态并设置到本地笔记或任务中
if (js.has(GTaskStringUtils.GTASK_JSON_COMPLETED)) { if (js.has(GTaskStringUtils.GTASK_JSON_COMPLETED)) {
setCompleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_COMPLETED)); setCompleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_COMPLETED));
} }
} catch (JSONException e) { // 如果解析过程出现异常 } catch (JSONException e) { // 如果解析过程出现异常
// 记录异常日志并抛出异常 // 记录异常日志并抛出异常
=======
=======
>>>>>>> liuyitao-branch
// completed
if (js.has(GTaskStringUtils.GTASK_JSON_COMPLETED)) {
setCompleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_COMPLETED));
}
} catch (JSONException e) {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.e(TAG, e.toString()); Log.e(TAG, e.toString());
e.printStackTrace(); e.printStackTrace();
throw new ActionFailureException("fail to get task content from jsonobject"); throw new ActionFailureException("fail to get task content from jsonobject");
@ -183,6 +344,8 @@ public class Task extends Node {
public void setContentByLocalJSON(JSONObject js) { public void setContentByLocalJSON(JSONObject js) {
if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE) if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)
<<<<<<< HEAD
<<<<<<< HEAD
|| !js.has(GTaskStringUtils.META_HEAD_DATA)) { // 如果参数为空或缺少必要的数据字段 || !js.has(GTaskStringUtils.META_HEAD_DATA)) { // 如果参数为空或缺少必要的数据字段
Log.w(TAG, "setContentByLocalJSON: nothing is available"); // 记录警告日志 Log.w(TAG, "setContentByLocalJSON: nothing is available"); // 记录警告日志
} }
@ -211,10 +374,43 @@ public class Task extends Node {
} catch (JSONException e) { // 如果解析过程出现异常 } catch (JSONException e) { // 如果解析过程出现异常
Log.e(TAG, e.toString()); // 记录异常日志 Log.e(TAG, e.toString()); // 记录异常日志
e.printStackTrace(); // 打印异常堆栈信息 e.printStackTrace(); // 打印异常堆栈信息
=======
=======
>>>>>>> liuyitao-branch
|| !js.has(GTaskStringUtils.META_HEAD_DATA)) {
Log.w(TAG, "setContentByLocalJSON: nothing is avaiable");
}
try {
JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
if (note.getInt(NoteColumns.TYPE) != Notes.TYPE_NOTE) {
Log.e(TAG, "invalid type");
return;
}
for (int i = 0; i < dataArray.length(); i++) {
JSONObject data = dataArray.getJSONObject(i);
if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) {
setName(data.getString(DataColumns.CONTENT));
break;
}
}
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }
public JSONObject getLocalJSONFromContent() { public JSONObject getLocalJSONFromContent() {
<<<<<<< HEAD
<<<<<<< HEAD
String name = getName(); // 获取名称 String name = getName(); // 获取名称
try { try {
if (mMetaInfo == null) { // 如果元信息为空 if (mMetaInfo == null) { // 如果元信息为空
@ -225,15 +421,41 @@ public class Task extends Node {
} }
// 创建JSON对象并填充数据 // 创建JSON对象并填充数据
=======
=======
>>>>>>> liuyitao-branch
String name = getName();
try {
if (mMetaInfo == null) {
// new task created from web
if (name == null) {
Log.w(TAG, "the note seems to be an empty one");
return null;
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
JSONObject js = new JSONObject(); JSONObject js = new JSONObject();
JSONObject note = new JSONObject(); JSONObject note = new JSONObject();
JSONArray dataArray = new JSONArray(); JSONArray dataArray = new JSONArray();
JSONObject data = new JSONObject(); JSONObject data = new JSONObject();
<<<<<<< HEAD
<<<<<<< HEAD
data.put(DataColumns.CONTENT, name); // 设置数据内容为名称 data.put(DataColumns.CONTENT, name); // 设置数据内容为名称
=======
data.put(DataColumns.CONTENT, name);
>>>>>>> liuyitao-branch
=======
data.put(DataColumns.CONTENT, name);
>>>>>>> liuyitao-branch
dataArray.put(data); dataArray.put(data);
js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); js.put(GTaskStringUtils.META_HEAD_DATA, dataArray);
note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); note.put(NoteColumns.TYPE, Notes.TYPE_NOTE);
js.put(GTaskStringUtils.META_HEAD_NOTE, note); js.put(GTaskStringUtils.META_HEAD_NOTE, note);
<<<<<<< HEAD
<<<<<<< HEAD
return js; // 返回JSON对象 return js; // 返回JSON对象
} else { } else {
// 同步的任务 // 同步的任务
@ -247,35 +469,91 @@ public class Task extends Node {
if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) {
data.put(DataColumns.CONTENT, getName()); // 设置数据内容为名称 data.put(DataColumns.CONTENT, getName()); // 设置数据内容为名称
break; // 跳出循环 break; // 跳出循环
=======
=======
>>>>>>> liuyitao-branch
return js;
} else {
// synced task
JSONObject note = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
JSONArray dataArray = mMetaInfo.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
for (int i = 0; i < dataArray.length(); i++) {
JSONObject data = dataArray.getJSONObject(i);
if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) {
data.put(DataColumns.CONTENT, getName());
break;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }
note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); note.put(NoteColumns.TYPE, Notes.TYPE_NOTE);
<<<<<<< HEAD
<<<<<<< HEAD
return mMetaInfo; // 返回元信息对象 return mMetaInfo; // 返回元信息对象
} }
} catch (JSONException e) { // 如果解析过程出现异常 } catch (JSONException e) { // 如果解析过程出现异常
Log.e(TAG, e.toString()); // 记录异常日志 Log.e(TAG, e.toString()); // 记录异常日志
e.printStackTrace(); // 打印异常堆栈信息 e.printStackTrace(); // 打印异常堆栈信息
return null; // 返回null return null; // 返回null
=======
=======
>>>>>>> liuyitao-branch
return mMetaInfo;
}
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
return null;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }
public void setMetaInfo(MetaData metaData) { public void setMetaInfo(MetaData metaData) {
<<<<<<< HEAD
<<<<<<< HEAD
if (metaData != null && metaData.getNotes() != null) { // 如果元数据不为空且笔记不为空 if (metaData != null && metaData.getNotes() != null) { // 如果元数据不为空且笔记不为空
try { try {
mMetaInfo = new JSONObject(metaData.getNotes()); // 将笔记转换为JSON对象 mMetaInfo = new JSONObject(metaData.getNotes()); // 将笔记转换为JSON对象
} catch (JSONException e) { // 如果转换过程出现异常 } catch (JSONException e) { // 如果转换过程出现异常
Log.w(TAG, e.toString()); // 记录警告日志 Log.w(TAG, e.toString()); // 记录警告日志
mMetaInfo = null; // 设置元信息为空 mMetaInfo = null; // 设置元信息为空
=======
=======
>>>>>>> liuyitao-branch
if (metaData != null && metaData.getNotes() != null) {
try {
mMetaInfo = new JSONObject(metaData.getNotes());
} catch (JSONException e) {
Log.w(TAG, e.toString());
mMetaInfo = null;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
//获取同步操作类型 //获取同步操作类型
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
public int getSyncAction(Cursor c) { public int getSyncAction(Cursor c) {
try { try {
JSONObject noteInfo = null; JSONObject noteInfo = null;
if (mMetaInfo != null && mMetaInfo.has(GTaskStringUtils.META_HEAD_NOTE)) { if (mMetaInfo != null && mMetaInfo.has(GTaskStringUtils.META_HEAD_NOTE)) {
<<<<<<< HEAD
<<<<<<< HEAD
noteInfo = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); // 获取笔记信息对象 noteInfo = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); // 获取笔记信息对象
} }
@ -360,5 +638,97 @@ public class Task extends Node {
public TaskList getParent() { public TaskList getParent() {
return this.mParent; return this.mParent;
}//获取任务的父任务列表 }//获取任务的父任务列表
=======
=======
>>>>>>> liuyitao-branch
noteInfo = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
}
if (noteInfo == null) {
Log.w(TAG, "it seems that note meta has been deleted");
return SYNC_ACTION_UPDATE_REMOTE;
}
if (!noteInfo.has(NoteColumns.ID)) {
Log.w(TAG, "remote note id seems to be deleted");
return SYNC_ACTION_UPDATE_LOCAL;
}
// validate the note id now
if (c.getLong(SqlNote.ID_COLUMN) != noteInfo.getLong(NoteColumns.ID)) {
Log.w(TAG, "note id doesn't match");
return SYNC_ACTION_UPDATE_LOCAL;
}
if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) {
// there is no local update
if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) {
// no update both side
return SYNC_ACTION_NONE;
} else {
// apply remote to local
return SYNC_ACTION_UPDATE_LOCAL;
}
} else {
// validate gtask id
if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) {
Log.e(TAG, "gtask id doesn't match");
return SYNC_ACTION_ERROR;
}
if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) {
// local modification only
return SYNC_ACTION_UPDATE_REMOTE;
} else {
return SYNC_ACTION_UPDATE_CONFLICT;
}
}
} catch (Exception e) {
Log.e(TAG, e.toString());
e.printStackTrace();
}
return SYNC_ACTION_ERROR;
}
public boolean isWorthSaving() {
return mMetaInfo != null || (getName() != null && getName().trim().length() > 0)
|| (getNotes() != null && getNotes().trim().length() > 0);
}
public void setCompleted(boolean completed) {
this.mCompleted = completed;
}
public void setNotes(String notes) {
this.mNotes = notes;
}
public void setPriorSibling(Task priorSibling) {
this.mPriorSibling = priorSibling;
}
public void setParent(TaskList parent) {
this.mParent = parent;
}
public boolean getCompleted() {
return this.mCompleted;
}
public String getNotes() {
return this.mNotes;
}
public Task getPriorSibling() {
return this.mPriorSibling;
}
public TaskList getParent() {
return this.mParent;
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }

@ -31,6 +31,8 @@ import java.util.ArrayList;
public class TaskList extends Node { public class TaskList extends Node {
<<<<<<< HEAD
<<<<<<< HEAD
private static final String TAG = TaskList.class.getSimpleName(); // TAG用于在日志中标识类名 private static final String TAG = TaskList.class.getSimpleName(); // TAG用于在日志中标识类名
private int mIndex; // 任务列表的索引 private int mIndex; // 任务列表的索引
@ -88,10 +90,62 @@ public class TaskList extends Node {
} }
=======
=======
>>>>>>> liuyitao-branch
private static final String TAG = TaskList.class.getSimpleName();
private int mIndex;
private ArrayList<Task> mChildren;
public TaskList() {
super();
mChildren = new ArrayList<Task>();
mIndex = 1;
}
public JSONObject getCreateAction(int actionId) {
JSONObject js = new JSONObject();
try {
// action_type
js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE,
GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE);
// action_id
js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId);
// index
js.put(GTaskStringUtils.GTASK_JSON_INDEX, mIndex);
// entity_delta
JSONObject entity = new JSONObject();
entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName());
entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null");
entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE,
GTaskStringUtils.GTASK_JSON_TYPE_GROUP);
js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity);
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("fail to generate tasklist-create jsonobject");
}
return js;
}
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
public JSONObject getUpdateAction(int actionId) { public JSONObject getUpdateAction(int actionId) {
JSONObject js = new JSONObject(); JSONObject js = new JSONObject();
try { try {
<<<<<<< HEAD
<<<<<<< HEAD
// 设置操作类型为更新 // 设置操作类型为更新
js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE);
@ -119,6 +173,32 @@ public class TaskList extends Node {
e.printStackTrace(); e.printStackTrace();
// 抛出自定义异常 // 抛出自定义异常
=======
=======
>>>>>>> liuyitao-branch
// action_type
js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE,
GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE);
// action_id
js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId);
// id
js.put(GTaskStringUtils.GTASK_JSON_ID, getGid());
// entity_delta
JSONObject entity = new JSONObject();
entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName());
entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted());
js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity);
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
throw new ActionFailureException("fail to generate tasklist-update jsonobject"); throw new ActionFailureException("fail to generate tasklist-update jsonobject");
} }
@ -130,34 +210,64 @@ public class TaskList extends Node {
try { try {
// id // id
if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { if (js.has(GTaskStringUtils.GTASK_JSON_ID)) {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果JSON对象包含ID字段则将ID设置为相应的值 // 如果JSON对象包含ID字段则将ID设置为相应的值
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID));
} }
// last_modified // last_modified
if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果JSON对象包含last_modified字段则将last_modified设置为相应的值 // 如果JSON对象包含last_modified字段则将last_modified设置为相应的值
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED));
} }
// name // name
if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) {
<<<<<<< HEAD
<<<<<<< HEAD
// 如果JSON对象包含name字段则将name设置为相应的值 // 如果JSON对象包含name字段则将name设置为相应的值
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME));
} }
} catch (JSONException e) { } catch (JSONException e) {
<<<<<<< HEAD
<<<<<<< HEAD
// 打印异常信息 // 打印异常信息
Log.e(TAG, e.toString()); Log.e(TAG, e.toString());
e.printStackTrace(); e.printStackTrace();
// 抛出自定义异常 // 抛出自定义异常
=======
Log.e(TAG, e.toString());
e.printStackTrace();
>>>>>>> liuyitao-branch
=======
Log.e(TAG, e.toString());
e.printStackTrace();
>>>>>>> liuyitao-branch
throw new ActionFailureException("fail to get tasklist content from jsonobject"); throw new ActionFailureException("fail to get tasklist content from jsonobject");
} }
} }
} }
public void setContentByLocalJSON(JSONObject js) { public void setContentByLocalJSON(JSONObject js) {
<<<<<<< HEAD
<<<<<<< HEAD
// 检查传入的JSON对象是否为空或者不包含指定的字段 // 检查传入的JSON对象是否为空或者不包含指定的字段
if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) { if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) {
// 如果不满足条件,则打印警告信息 // 如果不满足条件,则打印警告信息
@ -192,11 +302,42 @@ public class TaskList extends Node {
} }
} catch (JSONException e) { } catch (JSONException e) {
// 打印异常信息 // 打印异常信息
=======
=======
>>>>>>> liuyitao-branch
if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) {
Log.w(TAG, "setContentByLocalJSON: nothing is avaiable");
}
try {
JSONObject folder = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) {
String name = folder.getString(NoteColumns.SNIPPET);
setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + name);
} else if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) {
if (folder.getLong(NoteColumns.ID) == Notes.ID_ROOT_FOLDER)
setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT);
else if (folder.getLong(NoteColumns.ID) == Notes.ID_CALL_RECORD_FOLDER)
setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX
+ GTaskStringUtils.FOLDER_CALL_NOTE);
else
Log.e(TAG, "invalid system folder");
} else {
Log.e(TAG, "error type");
}
} catch (JSONException e) {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.e(TAG, e.toString()); Log.e(TAG, e.toString());
e.printStackTrace(); e.printStackTrace();
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* JSON * JSON
*/ */
@ -217,12 +358,31 @@ public class TaskList extends Node {
folder.put(NoteColumns.SNIPPET, folderName); folder.put(NoteColumns.SNIPPET, folderName);
// 检查文件夹名称是否为默认文件夹或通话笔记文件夹,如果是,则设置文件夹类型为系统类型,否则设置为文件夹类型 // 检查文件夹名称是否为默认文件夹或通话笔记文件夹,如果是,则设置文件夹类型为系统类型,否则设置为文件夹类型
=======
=======
>>>>>>> liuyitao-branch
public JSONObject getLocalJSONFromContent() {
try {
JSONObject js = new JSONObject();
JSONObject folder = new JSONObject();
String folderName = getName();
if (getName().startsWith(GTaskStringUtils.MIUI_FOLDER_PREFFIX))
folderName = folderName.substring(GTaskStringUtils.MIUI_FOLDER_PREFFIX.length(),
folderName.length());
folder.put(NoteColumns.SNIPPET, folderName);
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (folderName.equals(GTaskStringUtils.FOLDER_DEFAULT) if (folderName.equals(GTaskStringUtils.FOLDER_DEFAULT)
|| folderName.equals(GTaskStringUtils.FOLDER_CALL_NOTE)) || folderName.equals(GTaskStringUtils.FOLDER_CALL_NOTE))
folder.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); folder.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
else else
folder.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); folder.put(NoteColumns.TYPE, Notes.TYPE_FOLDER);
<<<<<<< HEAD
<<<<<<< HEAD
// 将文件夹JSON对象放入根JSON对象中的头部注释字段中 // 将文件夹JSON对象放入根JSON对象中的头部注释字段中
js.put(GTaskStringUtils.META_HEAD_NOTE, folder); js.put(GTaskStringUtils.META_HEAD_NOTE, folder);
@ -233,10 +393,25 @@ public class TaskList extends Node {
Log.e(TAG, e.toString()); Log.e(TAG, e.toString());
e.printStackTrace(); e.printStackTrace();
// 返回空值 // 返回空值
=======
=======
>>>>>>> liuyitao-branch
js.put(GTaskStringUtils.META_HEAD_NOTE, folder);
return js;
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
return null; return null;
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
* *
* @param c * @param c
@ -255,24 +430,65 @@ public class TaskList extends Node {
} }
} else { } else {
// 验证gtask id // 验证gtask id
=======
=======
>>>>>>> liuyitao-branch
public int getSyncAction(Cursor c) {
try {
if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) {
// there is no local update
if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) {
// no update both side
return SYNC_ACTION_NONE;
} else {
// apply remote to local
return SYNC_ACTION_UPDATE_LOCAL;
}
} else {
// validate gtask id
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) {
Log.e(TAG, "gtask id doesn't match"); Log.e(TAG, "gtask id doesn't match");
return SYNC_ACTION_ERROR; return SYNC_ACTION_ERROR;
} }
if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) {
<<<<<<< HEAD
<<<<<<< HEAD
// 仅有本地修改 // 仅有本地修改
return SYNC_ACTION_UPDATE_REMOTE; return SYNC_ACTION_UPDATE_REMOTE;
} else { } else {
// 对于文件夹冲突,只应用本地修改 // 对于文件夹冲突,只应用本地修改
=======
=======
>>>>>>> liuyitao-branch
// local modification only
return SYNC_ACTION_UPDATE_REMOTE;
} else {
// for folder conflicts, just apply local modification
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
return SYNC_ACTION_UPDATE_REMOTE; return SYNC_ACTION_UPDATE_REMOTE;
} }
} }
} catch (Exception e) { } catch (Exception e) {
<<<<<<< HEAD
<<<<<<< HEAD
// 打印异常信息 // 打印异常信息
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.e(TAG, e.toString()); Log.e(TAG, e.toString());
e.printStackTrace(); e.printStackTrace();
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 返回错误的同步操作类型 // 返回错误的同步操作类型
return SYNC_ACTION_ERROR; return SYNC_ACTION_ERROR;
} }
@ -299,11 +515,33 @@ public class TaskList extends Node {
ret = mChildren.add(task); ret = mChildren.add(task);
if (ret) { if (ret) {
// 设置子任务的前一个兄弟和父任务 // 设置子任务的前一个兄弟和父任务
=======
=======
>>>>>>> liuyitao-branch
return SYNC_ACTION_ERROR;
}
public int getChildTaskCount() {
return mChildren.size();
}
public boolean addChildTask(Task task) {
boolean ret = false;
if (task != null && !mChildren.contains(task)) {
ret = mChildren.add(task);
if (ret) {
// need to set prior sibling and parent
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
task.setPriorSibling(mChildren.isEmpty() ? null : mChildren task.setPriorSibling(mChildren.isEmpty() ? null : mChildren
.get(mChildren.size() - 1)); .get(mChildren.size() - 1));
task.setParent(this); task.setParent(this);
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 返回是否成功添加子任务的信息 // 返回是否成功添加子任务的信息
return ret; return ret;
} }
@ -318,10 +556,24 @@ public class TaskList extends Node {
// 判断子任务应该插入的位置是否合法 // 判断子任务应该插入的位置是否合法
if (index < 0 || index > mChildren.size()) { if (index < 0 || index > mChildren.size()) {
// 如果不合法,则记录日志,返回失败 // 如果不合法,则记录日志,返回失败
=======
=======
>>>>>>> liuyitao-branch
return ret;
}
public boolean addChildTask(Task task, int index) {
if (index < 0 || index > mChildren.size()) {
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Log.e(TAG, "add child task: invalid index"); Log.e(TAG, "add child task: invalid index");
return false; return false;
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 查找子任务是否已经在列表中 // 查找子任务是否已经在列表中
int pos = mChildren.indexOf(task); int pos = mChildren.indexOf(task);
// 如果子任务不为空且不在列表中,则执行以下操作 // 如果子任务不为空且不在列表中,则执行以下操作
@ -330,6 +582,18 @@ public class TaskList extends Node {
mChildren.add(index, task); mChildren.add(index, task);
// 更新任务列表 // 更新任务列表
=======
=======
>>>>>>> liuyitao-branch
int pos = mChildren.indexOf(task);
if (task != null && pos == -1) {
mChildren.add(index, task);
// update the task list
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
Task preTask = null; Task preTask = null;
Task afterTask = null; Task afterTask = null;
if (index != 0) if (index != 0)
@ -337,12 +601,20 @@ public class TaskList extends Node {
if (index != mChildren.size() - 1) if (index != mChildren.size() - 1)
afterTask = mChildren.get(index + 1); afterTask = mChildren.get(index + 1);
<<<<<<< HEAD
<<<<<<< HEAD
// 设置前一个兄弟和后一个兄弟 // 设置前一个兄弟和后一个兄弟
=======
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
task.setPriorSibling(preTask); task.setPriorSibling(preTask);
if (afterTask != null) if (afterTask != null)
afterTask.setPriorSibling(task); afterTask.setPriorSibling(task);
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 返回是否成功添加子任务的信息 // 返回是否成功添加子任务的信息
return true; return true;
} }
@ -390,11 +662,52 @@ public class TaskList extends Node {
int pos = mChildren.indexOf(task); // 查找子任务在列表中的位置 int pos = mChildren.indexOf(task); // 查找子任务在列表中的位置
// 如果子任务不在列表中,则记录日志,返回失败 // 如果子任务不在列表中,则记录日志,返回失败
=======
=======
>>>>>>> liuyitao-branch
return true;
}
public boolean removeChildTask(Task task) {
boolean ret = false;
int index = mChildren.indexOf(task);
if (index != -1) {
ret = mChildren.remove(task);
if (ret) {
// reset prior sibling and parent
task.setPriorSibling(null);
task.setParent(null);
// update the task list
if (index != mChildren.size()) {
mChildren.get(index).setPriorSibling(
index == 0 ? null : mChildren.get(index - 1));
}
}
}
return ret;
}
public boolean moveChildTask(Task task, int index) {
if (index < 0 || index >= mChildren.size()) {
Log.e(TAG, "move child task: invalid index");
return false;
}
int pos = mChildren.indexOf(task);
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
if (pos == -1) { if (pos == -1) {
Log.e(TAG, "move child task: the task should in the list"); Log.e(TAG, "move child task: the task should in the list");
return false; return false;
} }
<<<<<<< HEAD
<<<<<<< HEAD
// 如果子任务本来就在目标位置上,则直接返回成功 // 如果子任务本来就在目标位置上,则直接返回成功
if (pos == index) if (pos == index)
return true; return true;
@ -475,5 +788,57 @@ public class TaskList extends Node {
*/ */
public int getIndex() { public int getIndex() {
return this.mIndex; // 返回索引位置 return this.mIndex; // 返回索引位置
=======
=======
>>>>>>> liuyitao-branch
if (pos == index)
return true;
return (removeChildTask(task) && addChildTask(task, index));
}
public Task findChildTaskByGid(String gid) {
for (int i = 0; i < mChildren.size(); i++) {
Task t = mChildren.get(i);
if (t.getGid().equals(gid)) {
return t;
}
}
return null;
}
public int getChildTaskIndex(Task task) {
return mChildren.indexOf(task);
}
public Task getChildTaskByIndex(int index) {
if (index < 0 || index >= mChildren.size()) {
Log.e(TAG, "getTaskByIndex: invalid index");
return null;
}
return mChildren.get(index);
}
public Task getChilTaskByGid(String gid) {
for (Task task : mChildren) {
if (task.getGid().equals(gid))
return task;
}
return null;
}
public ArrayList<Task> getChildTaskList() {
return this.mChildren;
}
public void setIndex(int index) {
this.mIndex = index;
}
public int getIndex() {
return this.mIndex;
<<<<<<< HEAD
>>>>>>> liuyitao-branch
=======
>>>>>>> liuyitao-branch
} }
} }

@ -2,7 +2,19 @@
# as it contains information specific to your local configuration. # as it contains information specific to your local configuration.
# #
# Location of the SDK. This is only used by Gradle. # Location of the SDK. This is only used by Gradle.
<<<<<<< HEAD
<<<<<<< HEAD
# For customization when using a Version Control System, please read the # For customization when using a Version Control System, please read the
# header note. # header note.
#Thu Dec 21 01:09:02 CST 2023 #Thu Dec 21 01:09:02 CST 2023
sdk.dir=C\:\\Users\\lenovo\\AppData\\Local\\Android\\Sdk sdk.dir=C\:\\Users\\lenovo\\AppData\\Local\\Android\\Sdk
=======
#
#Thu Nov 09 19:48:40 CST 2023
sdk.dir=D\:\\Android\\Sdk
>>>>>>> liuyitao-branch
=======
#
#Thu Nov 09 19:48:40 CST 2023
sdk.dir=D\:\\Android\\Sdk
>>>>>>> liuyitao-branch

Loading…
Cancel
Save