diff --git a/src/.gradle/6.1.1/executionHistory/executionHistory.bin b/src/.gradle/6.1.1/executionHistory/executionHistory.bin index 1aa1b73..aac7b30 100644 Binary files a/src/.gradle/6.1.1/executionHistory/executionHistory.bin and b/src/.gradle/6.1.1/executionHistory/executionHistory.bin differ diff --git a/src/.gradle/6.1.1/executionHistory/executionHistory.lock b/src/.gradle/6.1.1/executionHistory/executionHistory.lock index ca44cfb..054f48f 100644 Binary files a/src/.gradle/6.1.1/executionHistory/executionHistory.lock and b/src/.gradle/6.1.1/executionHistory/executionHistory.lock differ diff --git a/src/.gradle/6.1.1/fileHashes/fileHashes.bin b/src/.gradle/6.1.1/fileHashes/fileHashes.bin index fd454d9..0565492 100644 Binary files a/src/.gradle/6.1.1/fileHashes/fileHashes.bin and b/src/.gradle/6.1.1/fileHashes/fileHashes.bin differ diff --git a/src/.gradle/6.1.1/fileHashes/fileHashes.lock b/src/.gradle/6.1.1/fileHashes/fileHashes.lock index c50c049..67e909e 100644 Binary files a/src/.gradle/6.1.1/fileHashes/fileHashes.lock and b/src/.gradle/6.1.1/fileHashes/fileHashes.lock differ diff --git a/src/.gradle/6.1.1/fileHashes/resourceHashesCache.bin b/src/.gradle/6.1.1/fileHashes/resourceHashesCache.bin index 51c3a12..de9ffda 100644 Binary files a/src/.gradle/6.1.1/fileHashes/resourceHashesCache.bin and b/src/.gradle/6.1.1/fileHashes/resourceHashesCache.bin differ diff --git a/src/.gradle/6.1.1/javaCompile/classAnalysis.bin b/src/.gradle/6.1.1/javaCompile/classAnalysis.bin index 259c223..fe384b5 100644 Binary files a/src/.gradle/6.1.1/javaCompile/classAnalysis.bin and b/src/.gradle/6.1.1/javaCompile/classAnalysis.bin differ diff --git a/src/.gradle/6.1.1/javaCompile/jarAnalysis.bin b/src/.gradle/6.1.1/javaCompile/jarAnalysis.bin index 2516159..c8f8c55 100644 Binary files a/src/.gradle/6.1.1/javaCompile/jarAnalysis.bin and b/src/.gradle/6.1.1/javaCompile/jarAnalysis.bin differ diff --git a/src/.gradle/6.1.1/javaCompile/javaCompile.lock b/src/.gradle/6.1.1/javaCompile/javaCompile.lock index ea3d368..ad9a833 100644 Binary files a/src/.gradle/6.1.1/javaCompile/javaCompile.lock and b/src/.gradle/6.1.1/javaCompile/javaCompile.lock differ diff --git a/src/.gradle/6.1.1/javaCompile/taskHistory.bin b/src/.gradle/6.1.1/javaCompile/taskHistory.bin index d90e796..9b45c55 100644 Binary files a/src/.gradle/6.1.1/javaCompile/taskHistory.bin and b/src/.gradle/6.1.1/javaCompile/taskHistory.bin differ diff --git a/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock index ecedbef..2694c5f 100644 Binary files a/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/src/.idea/sonarIssues.xml b/src/.idea/sonarIssues.xml index bd726aa..452a5b3 100644 --- a/src/.idea/sonarIssues.xml +++ b/src/.idea/sonarIssues.xml @@ -18,11 +18,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9 b/src/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9 index 4978033..57fba92 100644 --- a/src/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9 +++ b/src/.idea/sonarlint/issuestore/5/0/503adcf2a0be1ecdb94a15efba4433b6589877b9 @@ -1,12 +1,12 @@ -M -java:S1135c"2Complete the task associated to this TODO comment.( -K -java:S2864"4Iterate over the "entrySet" instead of the "keySet".(̯ -o -java:S22931"YReplace the type specification in this constructor call with the diamond operator ("<>").( +< java:S131h""Add a default case to this switch.( ^ java:S1126"BReplace this if-then-else statement by a single method invocation.(忥 +K +java:S2864"4Iterate over the "entrySet" instead of the "keySet".(̯ f java:S1301h"KReplace this "switch" statement by "if" statements to increase readability.( -< java:S131h""Add a default case to this switch.( \ No newline at end of file +o +java:S22931"YReplace the type specification in this constructor call with the diamond operator ("<>").( +M +java:S1135c"2Complete the task associated to this TODO comment.( \ No newline at end of file diff --git a/src/.idea/sonarlint/issuestore/5/7/577f30d26378ec8a2bd2e4a43f3c79b3f04c402c b/src/.idea/sonarlint/issuestore/5/7/577f30d26378ec8a2bd2e4a43f3c79b3f04c402c index ef00407..375c021 100644 --- a/src/.idea/sonarlint/issuestore/5/7/577f30d26378ec8a2bd2e4a43f3c79b3f04c402c +++ b/src/.idea/sonarlint/issuestore/5/7/577f30d26378ec8a2bd2e4a43f3c79b3f04c402c @@ -1,35 +1,35 @@ t java:S2293W"YReplace the type specification in this constructor call with the diamond operator ("<>").(ӏ +K +java:S2864"4Iterate over the "entrySet" instead of the "keySet".(ԇ n -java:S1450"WRemove the "mPattern" field and declare it as a local variable in the relevant methods.( -o -java:S2293q"YReplace the type specification in this constructor call with the diamond operator ("<>").( +java:S3776"RRefactor this method to reduce its Cognitive Complexity from 26 to the 15 allowed.(ݨ 8 java:S1116"Remove this empty statement.( -n -java:S3776"RRefactor this method to reduce its Cognitive Complexity from 26 to the 15 allowed.(ݨ -K -java:S2864"4Iterate over the "entrySet" instead of the "keySet".(ԇ -X -java:S1126"AReplace this if-then-else statement by a single return statement.( +q +java:S1104N"VMake tvModified a static final constant or non-public and provide accessors if needed.(ԣ +r +java:S1104R"WMake tvAlertDate a static final constant or non-public and provide accessors if needed.( t java:S2293i"YReplace the type specification in this constructor call with the diamond operator ("<>").( +k +java:S3252"MUse static access with "android.text.Spanned" for "SPAN_INCLUSIVE_EXCLUSIVE".(8. +o +java:S2293q"YReplace the type specification in this constructor call with the diamond operator ("<>").( +8 +java:S1116"Remove this empty statement.( +s +java:S1104T"XMake ibSetBgColor a static final constant or non-public and provide accessors if needed.( +n +java:S1450"WRemove the "mPattern" field and declare it as a local variable in the relevant methods.( t java:S2293`"YReplace the type specification in this constructor call with the diamond operator ("<>").( -N -java:S1135"2Complete the task associated to this TODO comment.( -r -java:S1104P"WMake ivAlertIcon a static final constant or non-public and provide accessors if needed.(න w java:S2293"YReplace the type specification in this constructor call with the diamond operator ("<>").(艥8. +X +java:S1126"AReplace this if-then-else statement by a single return statement.( r -java:S1104R"WMake tvAlertDate a static final constant or non-public and provide accessors if needed.( -s -java:S1104T"XMake ibSetBgColor a static final constant or non-public and provide accessors if needed.( -8 -java:S1116"Remove this empty statement.( -q -java:S1104N"VMake tvModified a static final constant or non-public and provide accessors if needed.(ԣ -k -java:S3252"MUse static access with "android.text.Spanned" for "SPAN_INCLUSIVE_EXCLUSIVE".(8. \ No newline at end of file +java:S1104P"WMake ivAlertIcon a static final constant or non-public and provide accessors if needed.(න +N +java:S1135"2Complete the task associated to this TODO comment.( \ No newline at end of file diff --git a/src/.idea/sonarlint/issuestore/8/7/876016634c6642b35109680ccac740dc8271b236 b/src/.idea/sonarlint/issuestore/8/7/876016634c6642b35109680ccac740dc8271b236 index f71e534..c9d9da1 100644 --- a/src/.idea/sonarlint/issuestore/8/7/876016634c6642b35109680ccac740dc8271b236 +++ b/src/.idea/sonarlint/issuestore/8/7/876016634c6642b35109680ccac740dc8271b236 @@ -1,11 +1,11 @@ -X -java:S1126"AReplace this if-then-else statement by a single return statement.( +? +java:S1125"(Remove the literal "true" boolean value.( 8 java:S2386K"Make this member "protected".(㳎 +X +java:S1126"AReplace this if-then-else statement by a single return statement.( 3 java:S2386A"Make this member "protected".( -? -java:S1125"(Remove the literal "true" boolean value.( F java:S1066"/Merge this if statement with the enclosing one.( \ No newline at end of file diff --git a/src/.idea/sonarlint/issuestore/d/d/dd970bd8ce083850fca1d4d159647ccd110e57cb b/src/.idea/sonarlint/issuestore/d/d/dd970bd8ce083850fca1d4d159647ccd110e57cb index 9044ac6..0c3e965 100644 --- a/src/.idea/sonarlint/issuestore/d/d/dd970bd8ce083850fca1d4d159647ccd110e57cb +++ b/src/.idea/sonarlint/issuestore/d/d/dd970bd8ce083850fca1d4d159647ccd110e57cb @@ -1,13 +1,13 @@ \ java:S2147"ECombine this catch with the one at line 242, which has the same body.(暩 -U -java:S1155">Use isEmpty() to check whether the collection is empty or not.( -\ -java:S1126}"AReplace this if-then-else statement by a single return statement.(Ʒ u java:S2293"YReplace the type specification in this constructor call with the diamond operator ("<>").(л +\ +java:S1126}"AReplace this if-then-else statement by a single return statement.(Ʒ +j +java:S1192?"ODefine a constant instead of duplicating this literal "Wrong note id:" 3 times.( i java:S3776"RRefactor this method to reduce its Cognitive Complexity from 23 to the 15 allowed.( -j -java:S1192?"ODefine a constant instead of duplicating this literal "Wrong note id:" 3 times.( \ No newline at end of file +U +java:S1155">Use isEmpty() to check whether the collection is empty or not.( \ No newline at end of file diff --git a/src/.idea/sonarlint/issuestore/index.pb b/src/.idea/sonarlint/issuestore/index.pb index 5057267..61c5aea 100644 --- a/src/.idea/sonarlint/issuestore/index.pb +++ b/src/.idea/sonarlint/issuestore/index.pb @@ -46,4 +46,44 @@ h u Eapp/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java,f\0\f087b1ba1b9c91b7293fea0fb071eaed62a42137 f -6app/src/main/java/net/micode/notes/tool/DataUtils.java,3\2\32360bf24febc78f20db52498c7576b3d8650d56 \ No newline at end of file +6app/src/main/java/net/micode/notes/tool/DataUtils.java,3\2\32360bf24febc78f20db52498c7576b3d8650d56 +g +7app/src/main/java/net/micode/notes/gtask/data/Task.java,d\1\d187f1271655c3d91661a39fe6de395b6a9f290a +k +;app/src/main/java/net/micode/notes/gtask/data/TaskList.java,e\0\e094aec5c3e1b6f44539adff3114f5a1ad603ddc +j +:app/src/main/java/net/micode/notes/gtask/data/SqlNote.java,f\1\f1226eeacd46c914d51f3d1a6d6f27377490d2a4 +p +@app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java,4\5\4529b3a97b0f3b19b895aa06f23bed63ff38a312 +q +Aapp/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java,a\b\ab153b0256bc5f6c194e188cec0b8e327e347a90 +h +8app/src/main/java/net/micode/notes/tool/BackupUtils.java,a\4\a446c87b1013132f8adaf83656b582028e8809af +j +:app/src/main/java/net/micode/notes/gtask/data/SqlData.java,9\3\934a4e2abf19d28a53f6aeb1dcd99248c44b6892 +d +4app/src/main/java/net/micode/notes/data/Contact.java,9\a\9a3a19793537958b8b1b03a81985999e22705a2f +j +:app/src/main/java/net/micode/notes/data/NotesProvider.java,6\a\6a65e747031f27aef20597b4181148a9fbf963d5 +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 +~ +Napp/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java,5\f\5f6162ca79fcea353b280c5dc84973a9c37d2c74 + +Oapp/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java,0\f\0f0f0549145d0e2bfb972ba1ed2e2c38bfd6d1b1 +s +Capp/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java,0\2\023468cfdd0b71d4098903b9070e364658e2fbcf +m +=app/src/main/java/net/micode/notes/tool/GTaskStringUtils.java,c\4\c42ad3cd6e664963fa1849c760a57d417d500ee7 +m +=app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java,3\e\3e688be40dc69cfd1062f41d0fc27fe261a26710 +l + + android:label="@string/app_name" > Messaging Email - #335b5b5b33sp26sp20sp17sp14spNotesNotes 2x2Notes 4x4No associated note found, click to create associated note.Privacy mode,can not see note content...Add noteDelete reminder successfullySet reminderExpiredyyyyMMddMMMd kk:mmGot itTake a lookCallSend emailBrowse webOpen map/MIUI/notes/notes_%s.txt(%d)New FolderExport textSyncCancel syncingSettingsSearchDeleteMove to folder%d selectedNothing selected, the operation is invalidSelect allDeselect allFont sizeSmallMediumLargeSuperEnter check listLeave check listView folderDelete folderChange folder nameThe folder %1$s exist, please renameShareSend to homeRemind meDelete reminderSelect folderParent folderNote added to homeConfirm to delete folder and its notes?Delete selected notesConfirm to delete the selected %d notes?Confirm to delete this note?Have moved selected %1$d notes to %2$s folderSD card busy, not available nowExport failed, please check SD cardThe note is not existSorry, can not set clock on empty noteSorry, can not send and empty note to homeExport successfulExport failExport text file (%1$s) to SD (%2$s) directorySyncing notes...Sync is successfulSync is failedSync is canceledSync is successful with account %1$sSync failed, please check network and account settingsSync failed, internal error occursSync is canceledLogging into %1$s...Getting remote note list...Synchronize local notes with Google Task...SettingsSync accountSync notes with google taskLast sync time %1$syyyy-MM-dd hh:mm:ssAdd accountChange sync accountRemove sync accountCancelSync immediatelyCancel syncingCurrent account %1$sAll sync related information will be deleted, which may result in duplicated items sometimeSync notesPlease select a google account. Local notes will be synced with google task.Cannot change the account because sync is in progress%1$s has been set as the sync accountNew note background color randomDeleteCall notesInput nameSearching NotesSearch notesText in your notesNotessetcancel + #335b5b5b33sp26sp20sp17sp14spPop messagecount how many notes are thereNotesNotes 2x2Notes 4x4No associated note found, click to create associated note.Privacy mode,can not see note content...Add noteDelete reminder successfullySet reminderExpiredyyyyMMddMMMd kk:mmGot itTake a lookCallSend emailBrowse webOpen map/MIUI/notes/notes_%s.txt(%d)New FolderExport textSyncCancel syncingSettingsSearchDeleteMove to folder%d selectedNothing selected, the operation is invalidSelect allDeselect allFont sizeSmallMediumLargeSuperEnter check listLeave check listView folderDelete folderChange folder nameThe folder %1$s exist, please renameShareSend to homeRemind meDelete reminderSelect folderParent folderNote added to homeConfirm to delete folder and its notes?Delete selected notesConfirm to delete the selected %d notes?Confirm to delete this note?Have moved selected %1$d notes to %2$s folderSD card busy, not available nowExport failed, please check SD cardThe note is not existSorry, can not set clock on empty noteSorry, can not send and empty note to homeExport successfulExport failExport text file (%1$s) to SD (%2$s) directorySyncing notes...Sync is successfulSync is failedSync is canceledSync is successful with account %1$sSync failed, please check network and account settingsSync failed, internal error occursSync is canceledLogging into %1$s...Getting remote note list...Synchronize local notes with Google Task...SettingsSync accountSync notes with google taskLast sync time %1$syyyy-MM-dd hh:mm:ssAdd accountChange sync accountRemove sync accountCancelSync immediatelyCancel syncingCurrent account %1$sAll sync related information will be deleted, which may result in duplicated items sometimeSync notesPlease select a google account. Local notes will be synced with google task.Cannot change the account because sync is in progress%1$s has been set as the sync accountNew note background color randomDeleteCall notesInput nameSearching NotesSearch notesText in your notesNotessetcancel %1$s result for \"%2$s\" %1$s results for \"%2$s\" - count how many notes are therePop message 短信 邮件 - 便签便签2x2便签4x4没有关联内容,点击新建便签。访客模式下,便签内容不可见...新建便签成功删除提醒创建提醒已过期yyyyMMddMM月dd日 kk:mm知道了查看呼叫电话发送邮件浏览网页打开地图新建文件夹导出文本同步取消同步设置搜索删除移动到文件夹选中了 %d 项没有选中项,操作无效全选取消全选文字大小正常超大进入清单模式退出清单模式查看文件夹刪除文件夹修改文件夹名称文件夹 %1$s 已存在,请重新命名分享发送到桌面提醒我删除提醒选择文件夹上一级文件夹已添加到桌面删除确认要删除所选的 %d 条便签吗?确认要删除该条便签吗?确认删除文件夹及所包含的便签吗?已将所选 %1$d 条便签移到 %2$s 文件夹SD卡被占用,不能操作导出文本时发生错误,请检查SD卡要查看的便签不存在不能为空便签设置闹钟提醒不能将空便签发送到桌面导出成功导出失败已将文本文件(%1$s)输出至SD卡(%2$s)目录同步便签...同步成功同步失败同步已取消与%1$s同步成功同步失败,请检查网络和帐号设置同步失败,发生内部错误同步已取消登录%1$s...正在获取服务器便签列表...正在同步本地便签...设置同步账号与google task同步便签记录上次同步于 %1$s添加账号更换账号删除账号取消立即同步取消同步当前帐号 %1$s如更换同步帐号,过去的帐号同步信息将被清空,再次切换的同时可能会造成数据重复同步便签请选择google帐号,便签将与该帐号的google task内容同步。正在同步中,不能修改同步帐号同步帐号已设置为%1$s新建便签背景颜色随机删除通话便签请输入名称正在搜索便签搜索便签便签中的文字便签设置取消 + 弹出自定义消息显示目前便签数量便签便签2x2便签4x4没有关联内容,点击新建便签。访客模式下,便签内容不可见...新建便签成功删除提醒创建提醒已过期yyyyMMddMM月dd日 kk:mm知道了查看呼叫电话发送邮件浏览网页打开地图新建文件夹导出文本同步取消同步设置搜索删除移动到文件夹选中了 %d 项没有选中项,操作无效全选取消全选文字大小正常超大进入清单模式退出清单模式查看文件夹刪除文件夹修改文件夹名称文件夹 %1$s 已存在,请重新命名分享发送到桌面提醒我删除提醒选择文件夹上一级文件夹已添加到桌面删除确认要删除所选的 %d 条便签吗?确认要删除该条便签吗?确认删除文件夹及所包含的便签吗?已将所选 %1$d 条便签移到 %2$s 文件夹SD卡被占用,不能操作导出文本时发生错误,请检查SD卡要查看的便签不存在不能为空便签设置闹钟提醒不能将空便签发送到桌面导出成功导出失败已将文本文件(%1$s)输出至SD卡(%2$s)目录同步便签...同步成功同步失败同步已取消与%1$s同步成功同步失败,请检查网络和帐号设置同步失败,发生内部错误同步已取消登录%1$s...正在获取服务器便签列表...正在同步本地便签...设置同步账号与google task同步便签记录上次同步于 %1$s添加账号更换账号删除账号取消立即同步取消同步当前帐号 %1$s如更换同步帐号,过去的帐号同步信息将被清空,再次切换的同时可能会造成数据重复同步便签请选择google帐号,便签将与该帐号的google task内容同步。正在同步中,不能修改同步帐号同步帐号已设置为%1$s新建便签背景颜色随机删除通话便签请输入名称正在搜索便签搜索便签便签中的文字便签设置取消 %1$s 条符合“%2$s”的搜索结果 - 弹出自定义消息显示目前便签数量 + 短信 郵件 便簽便簽2x2便簽4x4沒有關聯內容,點擊新建便簽。訪客模式下,便籤內容不可見...新建便簽成功刪除提醒創建提醒已過期yyyyMMddMM月dd日 kk:mm知道了查看呼叫電話發送郵件浏覽網頁打開地圖已將所選 %1$d 便籤移到 %2$s 文件夾新建文件夾導出文本同步取消同步設置搜尋刪除移動到文件夾選中了 %d 項沒有選中項,操作無效全選取消全選文字大小正常超大進入清單模式退出清單模式查看文件夾刪除文件夾修改文件夾名稱文件夾 %1$s 已存在,請重新命名分享發送到桌面提醒我刪除提醒選擇文件夾上一級文件夾已添加到桌面刪除确认要刪除所選的 %d 條便籤嗎?确认要删除該條便籤嗎?確認刪除檔夾及所包含的便簽嗎?SD卡被佔用,不能操作導出TXT時發生錯誤,請檢查SD卡要查看的便籤不存在不能爲空便籤設置鬧鐘提醒不能將空便籤發送到桌面導出成功導出失敗已將文本文件(%1$s)導出至SD(%2$s)目錄同步便簽...同步成功同步失敗同步已取消與%1$s同步成功同步失敗,請檢查網絡和帳號設置同步失敗,發生內部錯誤同步已取消登陸%1$s...正在獲取服務器便籤列表...正在同步本地便籤...設置同步賬號与google task同步便簽記錄上次同步于 %1$s添加賬號更換賬號刪除賬號取消立即同步取消同步當前帳號 %1$s如更換同步帳號,過去的帳號同步信息將被清空,再次切換的同時可能會造成數據重復同步便簽請選擇google帳號,便簽將與該帳號的google task內容同步。正在同步中,不能修改同步帳號同步帳號已設置為%1$s新建便籤背景顏色隨機刪除通話便籤請輸入名稱正在搜索便籤搜索便籤便籤中的文字便籤設置取消 diff --git a/src/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt b/src/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt index 9331e06..2f337fc 100644 --- a/src/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt +++ b/src/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt @@ -1,4 +1,4 @@ -#Mon Oct 26 10:05:03 CST 2020 +#Fri Oct 30 09:36:17 CST 2020 base.0=F\:\\Git\\work_room\\p3p7sqtgz\\src\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex path.0=classes.dex renamed.0=classes.dex diff --git a/src/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources b/src/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources index e9c390e..276cce5 100644 Binary files a/src/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources and b/src/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources differ diff --git a/src/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml b/src/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml index 6f908cd..29f0237 100644 --- a/src/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml +++ b/src/app/build/intermediates/instant_app_manifest/debug/AndroidManifest.xml @@ -38,8 +38,7 @@ + android:label="@string/app_name" > F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:35:9-42 -40 android:label="@string/app_name" +40 android:label="@string/app_name" > 40-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:36:9-41 -41 android:testOnly="true" > -42 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:37:9-49:20 -43 android:name="net.micode.notes.ui.NotesListActivity" -43-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:38:13-49 -44 android:configChanges="keyboardHidden|orientation|screenSize" -44-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:39:13-74 -45 android:label="@string/app_name" -45-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:40:13-45 -46 android:launchMode="singleTop" -46-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:41:13-43 -47 android:theme="@style/NoteTheme" -47-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:42:13-45 -48 android:windowSoftInputMode="adjustPan" > -48-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:43:13-52 -49 -50 -51 -51-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:45:13-48:29 -52 -52-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:46:17-69 -52-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:46:25-66 -53 -54 -54-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:47:17-77 -54-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:47:27-74 -55 -56 -57 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:51:9-79:20 -58 android:name="net.micode.notes.ui.NoteEditActivity" -58-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:52:13-48 -59 android:configChanges="keyboardHidden|orientation|screenSize" -59-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:53:13-74 -60 android:launchMode="singleTop" -60-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:54:13-43 -61 android:theme="@style/NoteTheme" > -61-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:55:13-45 -62 -62-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:57:13-62:29 -63 -63-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:58:17-69 -63-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:58:25-66 -64 -65 -65-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:17-76 -65-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:27-73 -66 -67 +41 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:37:9-49:20 +42 android:name="net.micode.notes.ui.NotesListActivity" +42-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:38:13-49 +43 android:configChanges="keyboardHidden|orientation|screenSize" +43-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:39:13-74 +44 android:label="@string/app_name" +44-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:40:13-45 +45 android:launchMode="singleTop" +45-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:41:13-43 +46 android:theme="@style/NoteTheme" +46-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:42:13-45 +47 android:windowSoftInputMode="adjustPan" > +47-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:43:13-52 +48 +49 +50 +50-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:45:13-48:29 +51 +51-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:46:17-69 +51-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:46:25-66 +52 +53 +53-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:47:17-77 +53-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:47:27-74 +54 +55 +56 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:51:9-79:20 +57 android:name="net.micode.notes.ui.NoteEditActivity" +57-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:52:13-48 +58 android:configChanges="keyboardHidden|orientation|screenSize" +58-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:53:13-74 +59 android:launchMode="singleTop" +59-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:54:13-43 +60 android:theme="@style/NoteTheme" > +60-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:55:13-45 +61 +61-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:57:13-62:29 +62 +62-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:58:17-69 +62-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:58:25-66 +63 +64 +64-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:17-76 +64-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:27-73 +65 +66 +66-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:17-78 +66-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:23-75 +67 67-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:17-78 67-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:23-75 -68 -68-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:17-78 -68-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:23-75 -69 -70 -70-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:64:13-69:29 -71 -71-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:65:17-79 -71-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:65:25-76 -72 -73 -73-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:17-76 -73-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:27-73 -74 -75 +68 +69 +69-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:64:13-69:29 +70 +70-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:65:17-79 +70-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:65:25-76 +71 +72 +72-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:17-76 +72-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:27-73 +73 +74 +74-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:17-78 +74-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:23-75 +75 75-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:17-78 75-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:23-75 -76 -76-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:17-78 -76-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:60:23-75 -77 -78 -78-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:71:13-74:29 -79 -79-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:72:17-71 -79-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:72:25-68 -80 -81 -81-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:17-76 -81-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:27-73 -82 -83 -84 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:76:13-78:54 -85 android:name="android.app.searchable" -85-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:77:17-54 -86 android:resource="@xml/searchable" /> -86-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:78:17-51 -87 -88 -89 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:81:9-84:43 -90 android:name="net.micode.notes.data.NotesProvider" -90-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:82:13-63 -91 android:authorities="micode_notes" -91-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:83:13-47 -92 android:multiprocess="true" /> -92-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:84:13-40 -93 -94 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:86:9-98:20 -95 android:name="net.micode.notes.widget.NoteWidgetProvider_2x" -95-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:87:13-57 -96 android:label="@string/app_widget2x2" > -96-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:88:13-50 -97 -97-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:89:13-93:29 -98 -98-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:17-84 -98-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:25-81 -99 -99-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:17-85 -99-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:25-82 -100 -100-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:17-85 -100-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:25-82 -101 -102 -103 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:95:13-97:58 -104 android:name="android.appwidget.provider" -104-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:96:17-58 -105 android:resource="@xml/widget_2x_info" /> -105-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:97:17-55 -106 -107 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:99:9-112:20 -108 android:name="net.micode.notes.widget.NoteWidgetProvider_4x" -108-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:100:13-57 -109 android:label="@string/app_widget4x4" > -109-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:101:13-50 -110 -110-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:89:13-93:29 -111 -111-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:17-84 -111-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:25-81 -112 -112-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:17-85 -112-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:25-82 -113 -113-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:17-85 -113-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:25-82 -114 -115 -116 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:95:13-97:58 -117 android:name="android.appwidget.provider" -117-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:96:17-58 -118 android:resource="@xml/widget_4x_info" /> -118-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:97:17-55 -119 -120 -120-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:114:9-118:20 -120-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:114:19-55 -121 -121-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:115:13-117:29 -122 -122-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:116:17-79 -122-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:116:25-76 -123 -124 -125 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:120:9-123:20 -126 android:name="net.micode.notes.ui.AlarmReceiver" -126-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:121:13-61 -127 android:process=":remote" > -127-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:122:13-38 -128 -129 -130 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:125:9-130:20 -131 android:name="net.micode.notes.ui.AlarmAlertActivity" -131-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:126:13-50 -132 android:label="@string/app_name" -132-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:127:13-45 -133 android:launchMode="singleInstance" -133-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:128:13-48 -134 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" > -134-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:129:13-75 -135 -136 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:132:9-137:20 -137 android:name="net.micode.notes.ui.NotesPreferenceActivity" -137-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:133:13-71 -138 android:label="@string/preferences_title" -138-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:134:13-54 -139 android:launchMode="singleTop" -139-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:135:13-43 -140 android:theme="@android:style/Theme.Holo.Light" > -140-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:136:13-60 -141 -142 -143 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:139:9-142:19 -144 android:name="net.micode.notes.gtask.remote.GTaskSyncService" -144-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:140:13-74 -145 android:exported="false" > -145-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:141:13-37 -146 -147 -148 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:144:9-146:52 -149 android:name="android.app.default_searchable" -149-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:145:13-58 -150 android:value=".ui.NoteEditActivity" /> -150-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:146:13-49 -151 -152 -153 +76 +77 +77-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:71:13-74:29 +78 +78-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:72:17-71 +78-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:72:25-68 +79 +80 +80-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:17-76 +80-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:59:27-73 +81 +82 +83 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:76:13-78:54 +84 android:name="android.app.searchable" +84-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:77:17-54 +85 android:resource="@xml/searchable" /> +85-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:78:17-51 +86 +87 +88 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:81:9-84:43 +89 android:name="net.micode.notes.data.NotesProvider" +89-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:82:13-63 +90 android:authorities="micode_notes" +90-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:83:13-47 +91 android:multiprocess="true" /> +91-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:84:13-40 +92 +93 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:86:9-98:20 +94 android:name="net.micode.notes.widget.NoteWidgetProvider_2x" +94-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:87:13-57 +95 android:label="@string/app_widget2x2" > +95-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:88:13-50 +96 +96-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:89:13-93:29 +97 +97-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:17-84 +97-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:25-81 +98 +98-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:17-85 +98-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:25-82 +99 +99-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:17-85 +99-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:25-82 +100 +101 +102 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:95:13-97:58 +103 android:name="android.appwidget.provider" +103-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:96:17-58 +104 android:resource="@xml/widget_2x_info" /> +104-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:97:17-55 +105 +106 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:99:9-112:20 +107 android:name="net.micode.notes.widget.NoteWidgetProvider_4x" +107-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:100:13-57 +108 android:label="@string/app_widget4x4" > +108-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:101:13-50 +109 +109-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:89:13-93:29 +110 +110-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:17-84 +110-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:90:25-81 +111 +111-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:17-85 +111-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:91:25-82 +112 +112-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:17-85 +112-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:92:25-82 +113 +114 +115 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:95:13-97:58 +116 android:name="android.appwidget.provider" +116-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:96:17-58 +117 android:resource="@xml/widget_4x_info" /> +117-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:97:17-55 +118 +119 +119-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:114:9-118:20 +119-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:114:19-55 +120 +120-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:115:13-117:29 +121 +121-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:116:17-79 +121-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:116:25-76 +122 +123 +124 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:120:9-123:20 +125 android:name="net.micode.notes.ui.AlarmReceiver" +125-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:121:13-61 +126 android:process=":remote" > +126-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:122:13-38 +127 +128 +129 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:125:9-130:20 +130 android:name="net.micode.notes.ui.AlarmAlertActivity" +130-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:126:13-50 +131 android:label="@string/app_name" +131-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:127:13-45 +132 android:launchMode="singleInstance" +132-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:128:13-48 +133 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" > +133-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:129:13-75 +134 +135 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:132:9-137:20 +136 android:name="net.micode.notes.ui.NotesPreferenceActivity" +136-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:133:13-71 +137 android:label="@string/preferences_title" +137-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:134:13-54 +138 android:launchMode="singleTop" +138-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:135:13-43 +139 android:theme="@android:style/Theme.Holo.Light" > +139-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:136:13-60 +140 +141 +142 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:139:9-142:19 +143 android:name="net.micode.notes.gtask.remote.GTaskSyncService" +143-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:140:13-74 +144 android:exported="false" > +144-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:141:13-37 +145 +146 +147 F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:144:9-146:52 +148 android:name="android.app.default_searchable" +148-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:145:13-58 +149 android:value=".ui.NoteEditActivity" /> +149-->F:\Git\work_room\p3p7sqtgz\src\app\src\main\AndroidManifest.xml:146:13-49 +150 +151 +152 diff --git a/src/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml b/src/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml index 10e0f01..eb47700 100644 --- a/src/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml +++ b/src/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml @@ -37,8 +37,7 @@ + android:label="@string/app_name" > Type: INTEGER (long)

*/ - public static final String ID = "_id"; + String ID = "_id"; /** * The parent's id for note or folder *

Type: INTEGER (long)

*/ - public static final String PARENT_ID = "parent_id"; + String PARENT_ID = "parent_id"; /** * Created data for note or folder *

Type: INTEGER (long)

*/ - public static final String CREATED_DATE = "created_date"; + String CREATED_DATE = "created_date"; /** * Latest modified date *

Type: INTEGER (long)

*/ - public static final String MODIFIED_DATE = "modified_date"; + String MODIFIED_DATE = "modified_date"; /** * Alert date *

Type: INTEGER (long)

*/ - public static final String ALERTED_DATE = "alert_date"; + String ALERTED_DATE = "alert_date"; /** * Folder's name or text content of note *

Type: TEXT

*/ - public static final String SNIPPET = "snippet"; + String SNIPPET = "snippet"; /** * Note's widget id *

Type: INTEGER (long)

*/ - public static final String WIDGET_ID = "widget_id"; + String WIDGET_ID = "widget_id"; /** * Note's widget type *

Type: INTEGER (long)

*/ - public static final String WIDGET_TYPE = "widget_type"; + String WIDGET_TYPE = "widget_type"; /** * Note's background color's id *

Type: INTEGER (long)

*/ - public static final String BG_COLOR_ID = "bg_color_id"; + String BG_COLOR_ID = "bg_color_id"; /** * For text note, it doesn't has attachment, for multi-media * note, it has at least one attachment *

Type: INTEGER

*/ - public static final String HAS_ATTACHMENT = "has_attachment"; + String HAS_ATTACHMENT = "has_attachment"; /** * Folder's count of notes *

Type: INTEGER (long)

*/ - public static final String NOTES_COUNT = "notes_count"; + String NOTES_COUNT = "notes_count"; /** * The file type: folder or note *

Type: INTEGER

*/ - public static final String TYPE = "type"; + String TYPE = "type"; /** * The last sync id *

Type: INTEGER (long)

*/ - public static final String SYNC_ID = "sync_id"; + String SYNC_ID = "sync_id"; /** * Sign to indicate local modified or not *

Type: INTEGER

*/ - public static final String LOCAL_MODIFIED = "local_modified"; + String LOCAL_MODIFIED = "local_modified"; /** * Original parent id before moving into temporary folder *

Type : INTEGER

*/ - public static final String ORIGIN_PARENT_ID = "origin_parent_id"; + String ORIGIN_PARENT_ID = "origin_parent_id"; /** * The gtask id *

Type : TEXT

*/ - public static final String GTASK_ID = "gtask_id"; + String GTASK_ID = "gtask_id"; /** * The version code *

Type : INTEGER (long)

*/ - public static final String VERSION = "version"; + String VERSION = "version"; } public interface DataColumns { @@ -172,37 +172,37 @@ public class Notes { * The unique ID for a row *

Type: INTEGER (long)

*/ - public static final String ID = "_id"; + String ID = "_id"; /** * The MIME type of the item represented by this row. *

Type: Text

*/ - public static final String MIME_TYPE = "mime_type"; + String MIME_TYPE = "mime_type"; /** * The reference id to note that this data belongs to *

Type: INTEGER (long)

*/ - public static final String NOTE_ID = "note_id"; + String NOTE_ID = "note_id"; /** * Created data for note or folder *

Type: INTEGER (long)

*/ - public static final String CREATED_DATE = "created_date"; + String CREATED_DATE = "created_date"; /** * Latest modified date *

Type: INTEGER (long)

*/ - public static final String MODIFIED_DATE = "modified_date"; + String MODIFIED_DATE = "modified_date"; /** * Data's content *

Type: TEXT

*/ - public static final String CONTENT = "content"; + String CONTENT = "content"; /** @@ -210,35 +210,35 @@ public class Notes { * integer data type *

Type: INTEGER

*/ - public static final String DATA1 = "data1"; + String DATA1 = "data1"; /** * Generic data column, the meaning is {@link #MIMETYPE} specific, used for * integer data type *

Type: INTEGER

*/ - public static final String DATA2 = "data2"; + String DATA2 = "data2"; /** * Generic data column, the meaning is {@link #MIMETYPE} specific, used for * TEXT data type *

Type: TEXT

*/ - public static final String DATA3 = "data3"; + String DATA3 = "data3"; /** * Generic data column, the meaning is {@link #MIMETYPE} specific, used for * TEXT data type *

Type: TEXT

*/ - public static final String DATA4 = "data4"; + String DATA4 = "data4"; /** * Generic data column, the meaning is {@link #MIMETYPE} specific, used for * TEXT data type *

Type: TEXT

*/ - public static final String DATA5 = "data5"; + String DATA5 = "data5"; } public static final class TextNote implements DataColumns { @@ -254,7 +254,7 @@ public class Notes { 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"); } public static final class CallNote implements DataColumns { @@ -274,6 +274,6 @@ public class Notes { 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"); } } diff --git a/src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java index ffe5d57..cb629e9 100644 --- a/src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java +++ b/src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -33,9 +33,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { private static final int DB_VERSION = 4; public interface TABLE { - public static final String NOTE = "note"; + String NOTE = "note"; - public static final String DATA = "data"; + String DATA = "data"; } private static final String TAG = "NotesDatabaseHelper"; diff --git a/src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java b/src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java index d3ec3be..cb0aabb 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java +++ b/src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java @@ -143,40 +143,45 @@ public class SqlData { js.put(DataColumns.DATA3, mDataContentData3); return js; } + public void For_Commit_mIsCreate(long noteId, boolean validateVersion, long version){ + 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) { + Log.e(TAG, "Get note id error :" + e.toString()); + throw new ActionFailureException("create note failed"); + } + } + public void For_Commit_Not_mIsCreate(long noteId, boolean validateVersion, long version){ + if (mDiffDataValues.size() > 0) { + int result = 0; + if (!validateVersion) { + 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, + " ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.VERSION + "=?)", new String[] { + String.valueOf(noteId), String.valueOf(version) + }); + } + if (result == 0) { + Log.w(TAG, "there is no update. maybe user updates note when syncing"); + } + } + } 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) { - Log.e(TAG, "Get note id error :" + e.toString()); - throw new ActionFailureException("create note failed"); - } + For_Commit_mIsCreate(noteId, validateVersion, version); } else { - if (mDiffDataValues.size() > 0) { - int result = 0; - if (!validateVersion) { - 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, - " ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE - + " WHERE " + NoteColumns.VERSION + "=?)", new String[] { - String.valueOf(noteId), String.valueOf(version) - }); - } - if (result == 0) { - Log.w(TAG, "there is no update. maybe user updates note when syncing"); - } - } + For_Commit_Not_mIsCreate(noteId, validateVersion,version); } mDiffDataValues.clear(); diff --git a/src/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java b/src/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java index 79a4095..c945838 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java +++ b/src/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java @@ -353,7 +353,7 @@ public class SqlNote { } } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); return false; } return true; @@ -402,7 +402,7 @@ public class SqlNote { return js; } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + // e.printStackTrace(); } return null; } diff --git a/src/app/src/main/java/net/micode/notes/gtask/data/Task.java b/src/app/src/main/java/net/micode/notes/gtask/data/Task.java index 6a19454..44408db 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/data/Task.java +++ b/src/app/src/main/java/net/micode/notes/gtask/data/Task.java @@ -96,7 +96,7 @@ public class Task extends Node { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("fail to generate task-create jsonobject"); } @@ -128,7 +128,7 @@ public class Task extends Node { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("fail to generate task-update jsonobject"); } @@ -169,7 +169,7 @@ public class Task extends Node { } } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("fail to get task content from jsonobject"); } } @@ -182,25 +182,29 @@ public class Task extends Node { } try { - JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); - JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + if(js != null) { + 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; - } + 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; + 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; + } } } - + else{ + Log.e(TAG, "setContentByLocalJSON: js == null"); + } } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); } } @@ -242,7 +246,7 @@ public class Task extends Node { } } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); return null; } } @@ -305,7 +309,7 @@ public class Task extends Node { } } catch (Exception e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); } return SYNC_ACTION_ERROR; diff --git a/src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java b/src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java index 4ea21c5..1611edf 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java +++ b/src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java @@ -67,7 +67,7 @@ public class TaskList extends Node { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("fail to generate tasklist-create jsonobject"); } @@ -96,7 +96,7 @@ public class TaskList extends Node { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("fail to generate tasklist-update jsonobject"); } @@ -123,7 +123,7 @@ public class TaskList extends Node { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("fail to get tasklist content from jsonobject"); } } @@ -133,27 +133,31 @@ public class TaskList extends Node { 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"); + if(js != null) { + 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) { + Log.e(TAG, e.toString()); + //e.printStackTrace(); } - } catch (JSONException e) { - Log.e(TAG, e.toString()); - e.printStackTrace(); + } + else{ + Log.e(TAG, "setContentByLocalJSON: js == null" ); } } @@ -178,7 +182,7 @@ public class TaskList extends Node { return js; } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); return null; } } @@ -200,17 +204,19 @@ public class TaskList extends Node { 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; + // local modification only + return SYNC_ACTION_UPDATE_REMOTE; } else { - // for folder conflicts, just apply local modification - return SYNC_ACTION_UPDATE_REMOTE; + // for folder conflicts, just apply local modification + return SYNC_ACTION_UPDATE_LOCAL; } + } } catch (Exception e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); } return SYNC_ACTION_ERROR; diff --git a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java index c67dfdf..2ec2728 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java +++ b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java @@ -19,7 +19,9 @@ package net.micode.notes.gtask.remote; import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerFuture; +import android.annotation.TargetApi; import android.app.Activity; +import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; @@ -112,7 +114,10 @@ public class GTaskClient { public boolean login(Activity activity) { // we suppose that the cookie would expire after 5 minutes // then we need to re-login - final long interval = 1000 * 60 * 5; + long a = 1000; + long b = 60; + long c = 5; + final long interval = a * b * c; if (mLastLoginTime + interval < System.currentTimeMillis()) { mLoggedin = false; } @@ -269,7 +274,7 @@ public class GTaskClient { mClientVersion = js.getLong("v"); } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); return false; } catch (Exception e) { // simply catch all exceptions @@ -291,6 +296,7 @@ public class GTaskClient { return httpPost; } + @TargetApi(Build.VERSION_CODES.KITKAT) private String getResponseContent(HttpEntity entity) throws IOException { String contentEncoding = null; if (entity.getContentEncoding() != null) { @@ -306,11 +312,8 @@ public class GTaskClient { input = new InflaterInputStream(entity.getContent(), inflater); } - try { - InputStreamReader isr = new InputStreamReader(input); - BufferedReader br = new BufferedReader(isr); + try(InputStreamReader isr = new InputStreamReader(input); BufferedReader br = new BufferedReader(isr);) { StringBuilder sb = new StringBuilder(); - while (true) { String buff = br.readLine(); if (buff == null) { @@ -343,19 +346,19 @@ public class GTaskClient { } catch (ClientProtocolException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new NetworkFailureException("postRequest failed"); } catch (IOException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new NetworkFailureException("postRequest failed"); } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("unable to convert response content to jsonobject"); } catch (Exception e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("error occurs when posting request"); } } @@ -381,7 +384,7 @@ public class GTaskClient { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("create task: handing jsonobject failed"); } } @@ -407,7 +410,7 @@ public class GTaskClient { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("create tasklist: handing jsonobject failed"); } } @@ -427,7 +430,7 @@ public class GTaskClient { mUpdateArray = null; } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("commit update: handing jsonobject failed"); } } @@ -481,7 +484,7 @@ public class GTaskClient { } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("move task: handing jsonobject failed"); } } @@ -504,7 +507,7 @@ public class GTaskClient { mUpdateArray = null; } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("delete node: handing jsonobject failed"); } } @@ -534,15 +537,15 @@ public class GTaskClient { return js.getJSONObject("t").getJSONArray(GTaskStringUtils.GTASK_JSON_LISTS); } catch (ClientProtocolException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new NetworkFailureException("gettasklists: httpget failed"); } catch (IOException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new NetworkFailureException("gettasklists: httpget failed"); } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("get task lists: handing jasonobject failed"); } } @@ -570,7 +573,7 @@ public class GTaskClient { return jsResponse.getJSONArray(GTaskStringUtils.GTASK_JSON_TASKS); } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("get task list: handing jsonobject failed"); } } diff --git a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java index d2b4082..650d8f9 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java +++ b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java @@ -153,7 +153,7 @@ public class GTaskManager { return STATE_INTERNAL_ERROR; } catch (Exception e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); return STATE_INTERNAL_ERROR; } finally { mGTaskListHashMap.clear(); @@ -242,7 +242,7 @@ public class GTaskManager { } } catch (JSONException e) { Log.e(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); throw new ActionFailureException("initGTaskList: handing JSONObject failed"); } } @@ -331,7 +331,12 @@ public class GTaskManager { while (iter.hasNext()) { Map.Entry entry = iter.next(); node = entry.getValue(); - doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null); + try { + doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null); + }catch(NullPointerException e){ + Log.d(TAG, "syncContent -> NullPointerException"); + } + } // mCancelled can be set by another thread, so we neet to check one by @@ -468,7 +473,11 @@ public class GTaskManager { node = entry.getValue(); if (mGTaskHashMap.containsKey(gid)) { mGTaskHashMap.remove(gid); - doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null); + try { + doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null); + }catch(NullPointerException e) { + Log.d(TAG, "syncFolder -> NullPointerException"); + } } } @@ -572,7 +581,7 @@ public class GTaskManager { } } catch (JSONException e) { Log.w(TAG, e.toString()); - e.printStackTrace(); + //e.printStackTrace(); } sqlNote.setContent(js); diff --git a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java index cca36f7..9baa4ff 100644 --- a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java +++ b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java @@ -42,10 +42,10 @@ public class GTaskSyncService extends Service { private static String mSyncProgress = ""; - private void startSync() { + private synchronized void startSync() {//防止多线程调用报错 if (mSyncTask == null) { mSyncTask = new GTaskASyncTask(this, new GTaskASyncTask.OnCompleteListener() { - public void onComplete() { + public synchronized void onComplete() { mSyncTask = null; sendBroadcast(""); stopSelf(); @@ -63,7 +63,7 @@ public class GTaskSyncService extends Service { } @Override - public void onCreate() { + public synchronized void onCreate() { mSyncTask = null; } @@ -97,7 +97,7 @@ public class GTaskSyncService extends Service { return null; } - public void sendBroadcast(String msg) { + public synchronized void sendBroadcast(String msg) { mSyncProgress = msg; Intent intent = new Intent(GTASK_SERVICE_BROADCAST_NAME); intent.putExtra(GTASK_SERVICE_BROADCAST_IS_SYNCING, mSyncTask != null); diff --git a/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java b/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java index 39f6ec4..c401896 100644 --- a/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java +++ b/src/app/src/main/java/net/micode/notes/tool/BackupUtils.java @@ -16,8 +16,10 @@ package net.micode.notes.tool; +import android.annotation.TargetApi; import android.content.Context; import android.database.Cursor; +import android.os.Build; import android.os.Environment; import android.text.TextUtils; import android.text.format.DateFormat; @@ -285,6 +287,7 @@ public class BackupUtils { /** * Get a print stream pointed to the file {@generateExportedTextFile} */ + @TargetApi(Build.VERSION_CODES.KITKAT) private PrintStream getExportToTextPrintStream() { File file = generateFileMountedOnSDcard(mContext, R.string.file_path, R.string.file_name_txt_format); @@ -295,16 +298,24 @@ public class BackupUtils { mFileName = file.getName(); mFileDirectory = mContext.getString(R.string.file_path); PrintStream ps = null; - try { - FileOutputStream fos = new FileOutputStream(file); + + try(FileOutputStream fos = new FileOutputStream(file);) { ps = new PrintStream(fos); + } catch (FileNotFoundException e) { - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "getExportToTextPrintStream: " + e.toString() ); return null; } catch (NullPointerException e) { - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "getExportToTextPrintStream: " + e.toString() ); + return null; + } catch (IOException e) { + //e.printStackTrace(); + Log.e(TAG, "getExportToTextPrintStream: " + e.toString() ); return null; } + return ps; } } @@ -328,13 +339,19 @@ public class BackupUtils { filedir.mkdir(); } if (!file.exists()) { - file.createNewFile(); + boolean Bool = file.createNewFile(); + if(Bool == false) + Log.e(TAG, "generateFileMountedOnSDcard: createNewFile false"); + else + Log.e(TAG, "generateFileMountedOnSDcard: createNewFile true"); } return file; } catch (SecurityException e) { - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "generateFileMountedOnSDcard: "+ e.toString() ); } catch (IOException e) { - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "generateFileMountedOnSDcard: " + e.toString() ); } return null; diff --git a/src/app/src/main/java/net/micode/notes/tool/ResourceParser.java b/src/app/src/main/java/net/micode/notes/tool/ResourceParser.java index 1ad3ad6..7ad3318 100644 --- a/src/app/src/main/java/net/micode/notes/tool/ResourceParser.java +++ b/src/app/src/main/java/net/micode/notes/tool/ResourceParser.java @@ -16,8 +16,12 @@ package net.micode.notes.tool; + import android.content.Context; import android.preference.PreferenceManager; +import android.util.Log; + +import java.security.SecureRandom; import net.micode.notes.R; import net.micode.notes.ui.NotesPreferenceActivity; @@ -68,7 +72,15 @@ public class ResourceParser { public static int getDefaultBgId(Context context) { if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean( NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) { - return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length); + try { + SecureRandom random = new SecureRandom(); + return (int) ( random.nextInt() * NoteBgResources.BG_EDIT_RESOURCES.length); + }catch (NullPointerException e){ + //e.printStackTrace(); + Log.e("ResourceParser", "getDefaultBgId: " + e.toString() ); + return BG_DEFAULT_COLOR; + } + } else { return BG_DEFAULT_COLOR; } diff --git a/src/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java b/src/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java index d1833e7..d84b279 100644 --- a/src/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java +++ b/src/app/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java @@ -73,7 +73,8 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info) : mSnippet; } catch (IllegalArgumentException e) { - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "onCreate: " + e.toString() ); return; } @@ -110,16 +111,20 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD mPlayer.start(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "playAlarmSound: " + e.toString() ); } catch (SecurityException e) { // TODO Auto-generated catch block - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "playAlarmSound: " + e.toString() ); } catch (IllegalStateException e) { // TODO Auto-generated catch block - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "playAlarmSound: " + e.toString() ); } catch (IOException e) { // TODO Auto-generated catch block - e.printStackTrace(); + //e.printStackTrace(); + Log.e(TAG, "playAlarmSound: " + e.toString() ); } } diff --git a/src/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java index 2c47ba4..fde6666 100644 --- a/src/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java +++ b/src/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java @@ -77,7 +77,7 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME; - flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR; + flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_12HOUR; setTitle(DateUtils.formatDateTime(this.getContext(), date, flag)); } diff --git a/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java b/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java index 628490a..bf8ac3f 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java +++ b/src/app/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -116,6 +116,8 @@ public class NoteEditText extends EditText { int off = layout.getOffsetForHorizontal(line, x); Selection.setSelection(getText(), off); break; + default: + break; } return super.onTouchEvent(event); diff --git a/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java index 4d7d080..aa1b000 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -16,6 +16,7 @@ package net.micode.notes.ui; +import android.annotation.TargetApi; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; @@ -29,6 +30,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.database.Cursor; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.text.Editable; @@ -163,6 +165,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt //try语句允许我们定义在执行时进行错误测试的代码块。 //catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。 //finally 语句在 try 和 catch 之后无论有无异常都会执行。 + @TargetApi(Build.VERSION_CODES.KITKAT) private void setAppInfoFromRawRes() { //作用:从res中的raw文件夹中导入资源,具体来说,载入一开始的便签的内容 SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); @@ -172,29 +175,37 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt InputStream in = null; try { in = getResources().openRawResource(R.raw.introduction);//加载Welcome to use MIUI notes! - if (in != null) { - InputStreamReader isr = new InputStreamReader(in);//使用指定的字符集读取字节并将它们解码为字符 - BufferedReader br = new BufferedReader(isr);//缓冲区流读入 + //if (in != null) { + try(InputStreamReader isr = new InputStreamReader(in);BufferedReader br = new BufferedReader(isr);){ + //使用指定的字符集读取字节并将它们解码为字符 + //缓冲区流读入 char [] buf = new char[1024]; int len = 0; while ((len = br.read(buf)) > 0) {//read读取一个字符,若读取到末尾则返回-1,这里是加载到buf中 sb.append(buf, 0, len);//从buf0开始的len长度的字符串加载到sb后 } - } else { + + } + /*} else { Log.e(TAG, "Read introduction file error"); return; - } + }*/ + } catch (IOException e) {//把捕获的异常交给e - e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因 + //e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因 + Log.e(TAG, "setAppInfoFromRawRes: " + e.toString() ); return; } finally { + if(in != null) { try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block - e.printStackTrace();//同上,异常处理 + //e.printStackTrace();//同上,异常处理 + Log.e(TAG, "setAppInfoFromRawRes: " + e.toString() ); } + } } @@ -985,4 +996,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } return false; } + + } diff --git a/src/build/sonar/report-task.txt b/src/build/sonar/report-task.txt index e721f36..64d8d92 100644 --- a/src/build/sonar/report-task.txt +++ b/src/build/sonar/report-task.txt @@ -1,6 +1,6 @@ -projectKey=M +projectKey=M14 serverUrl=http://localhost:9000 serverVersion=8.4.2.36762 -dashboardUrl=http://localhost:9000/dashboard?id=M -ceTaskId=AXUg6oqD3AQF4RuQEzc0 -ceTaskUrl=http://localhost:9000/api/ce/task?id=AXUg6oqD3AQF4RuQEzc0 +dashboardUrl=http://localhost:9000/dashboard?id=M14 +ceTaskId=AXVtKx8-8VdBfVXHH4Ab +ceTaskUrl=http://localhost:9000/api/ce/task?id=AXVtKx8-8VdBfVXHH4Ab