From 00b70fd93f86e8bf5609a6987adaad275120146b Mon Sep 17 00:00:00 2001 From: NightFish <101402767+dmzz-yyhyy@users.noreply.github.com> Date: Sun, 6 Oct 2024 20:02:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A8=E5=B1=80=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AF=BC=E5=87=BA=E4=B8=8E=E5=AF=BC=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/dataSources.xml | 4 +- .idea/deploymentTargetSelector.xml | 4 +- .idea/dictionaries/NightFish.xml | 1 + .../lightnovelreader/data/BookRepository.kt | 24 ++ .../data/UserDataRepository.kt | 14 + .../data/bookshelf/BookshelfRepository.kt | 51 +-- .../data/json/AppUserDataJson.kt | 5 +- .../data/json/BookUserData.kt | 15 +- .../data/json/UserDataData.kt | 12 +- .../data/local/LocalBookDataSource.kt | 13 + .../data/local/room/dao/UserDataDao.kt | 5 + .../data/userdata/UserDataPath.kt | 5 +- .../data/web/zaicomic/ZaiComic.kt | 264 ++++++++++++ .../web/zaicomic/json/ComicChapterComic.kt | 23 + .../data/web/zaicomic/json/DetailData.kt | 86 ++++ .../data/web/zaicomic/json/SearchItem.kt | 5 + .../data/web/zaicomic/json/ZaiComicData.kt | 15 + .../data/work/ExportDataWork.kt | 90 ++++ .../data/work/ImportDataWork.kt | 37 +- .../data/work/SaveBookshelfWork.kt | 1 + .../lightnovelreader/ui/components/Dialog.kt | 207 ++++++--- .../lightnovelreader/ui/components/Item.kt | 45 ++ .../ui/components/SettingsEntry.kt | 52 ++- .../lightnovelreader/ui/home/HomeScreen.kt | 1 + .../bookshelf/home/BookshelfHomeScreen.kt | 6 +- .../ui/home/reading/ReadingScreen.kt | 8 +- .../ui/home/settings/SettingsScreen.kt | 16 + .../ui/home/settings/SettingsViewModel.kt | 85 +++- .../ui/home/settings/list/DataSettingsList.kt | 102 +++++ app/src/main/res/drawable/hard_disk_24px.xml | 10 + app/src/main/res/drawable/output_24px.xml | 10 + .../lightnovelreader/BookshelfSortType.kt | 9 - .../lightnovelreader/ChapterContent.kt | 7 - .../lightnovelreader/ExplorationBooksRow.kt | 10 - .../ExplorationDisplayBook.kt | 7 - .../dmzz_yyhyy/lightnovelreader/GsonTest.kt | 154 ------- .../indi/dmzz_yyhyy/lightnovelreader/Test.kt | 128 ------ .../{ => data/book}/BookInformation.kt | 9 +- .../{ => data/book}/BookVolumes.kt | 2 +- .../data/book/ChapterContent.kt | 15 + .../{ => data/book}/ChapterInformation.kt | 2 +- .../{ => data/book}/UserReadingData.kt | 16 +- .../{ => data/book}/Volume.kt | 2 +- .../data/web/WebBookDataSource.kt | 116 +++++ .../ExplorationExpandedPageDataSource.kt | 14 + .../exploration/ExplorationPageDataSource.kt | 7 + .../data/web/exploration/filter/Filter.kt | 6 + .../web/exploration/filter/FilterTypes.kt | 7 + .../filter/IsCompletedSwitchFilter.kt | 10 + .../web/exploration/filter/LocalFilter.kt | 7 + .../exploration/filter/SingleChoiceFilter.kt | 21 + .../web/exploration/filter/SliderFilter.kt | 24 ++ .../web/exploration/filter/SwitchFilter.kt | 15 + .../web/exploration/filter/WordCountFilter.kt | 23 + .../data/web/wenku8/Wenku8Api.kt | 395 ++++++++++++++++++ .../exploration/Wenku8AllExplorationPage.kt | 100 +++++ .../exploration/Wenku8HomeExplorationPage.kt | 60 +++ .../exploration/Wenku8TagsExplorationPage.kt | 78 ++++ .../AllBookExpandPageDataSource.kt | 80 ++++ .../filter/FirstLetterSingleChoiceFilter.kt | 12 + .../PublishingHouseSingleChoiceFilter.kt | 17 + .../lightnovelreader/zaicomic/ZaiComic.kt | 275 ++++++++++++ .../zaicomic/json/ComicChapterComic.kt | 23 + .../zaicomic/json/DetailData.kt | 86 ++++ .../zaicomic/json/SearchItem.kt | 5 + .../zaicomic/json/ZaiComicData.kt | 15 + 66 files changed, 2519 insertions(+), 454 deletions(-) create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/data/web/zaicomic/ZaiComic.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/data/web/zaicomic/json/ComicChapterComic.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/data/web/zaicomic/json/DetailData.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/data/web/zaicomic/json/SearchItem.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/data/web/zaicomic/json/ZaiComicData.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/data/work/ExportDataWork.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/ui/components/Item.kt create mode 100644 app/src/main/kotlin/indi/dmzz_yyhyy/lightnovelreader/ui/home/settings/list/DataSettingsList.kt create mode 100644 app/src/main/res/drawable/hard_disk_24px.xml create mode 100644 app/src/main/res/drawable/output_24px.xml delete mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/BookshelfSortType.kt delete mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/ChapterContent.kt delete mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/ExplorationBooksRow.kt delete mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/ExplorationDisplayBook.kt delete mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/GsonTest.kt delete mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/Test.kt rename app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/{ => data/book}/BookInformation.kt (75%) rename app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/{ => data/book}/BookVolumes.kt (72%) create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/book/ChapterContent.kt rename app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/{ => data/book}/ChapterInformation.kt (58%) rename app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/{ => data/book}/UserReadingData.kt (54%) rename app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/{ => data/book}/Volume.kt (69%) create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/WebBookDataSource.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/ExplorationExpandedPageDataSource.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/ExplorationPageDataSource.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/Filter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/FilterTypes.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/IsCompletedSwitchFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/LocalFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/SingleChoiceFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/SliderFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/SwitchFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/exploration/filter/WordCountFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/Wenku8Api.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/exploration/Wenku8AllExplorationPage.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/exploration/Wenku8HomeExplorationPage.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/exploration/Wenku8TagsExplorationPage.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/exploration/expanedpage/AllBookExpandPageDataSource.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/exploration/expanedpage/filter/FirstLetterSingleChoiceFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/data/web/wenku8/exploration/expanedpage/filter/PublishingHouseSingleChoiceFilter.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/zaicomic/ZaiComic.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/zaicomic/json/ComicChapterComic.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/zaicomic/json/DetailData.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/zaicomic/json/SearchItem.kt create mode 100644 app/src/test/java/indi/dmzz_yyhyy/lightnovelreader/zaicomic/json/ZaiComicData.kt diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 25dca05..f9913b3 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,11 +1,11 @@ - + sqlite.xerial true org.sqlite.JDBC - jdbc:sqlite:F:\Downloads\light_novel_reader_database + jdbc:sqlite:C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2024.2\device-explorer\NightFish 2009\_\data\data\indi.dmzz_yyhyy.lightnovelreader.debug\databases\light_novel_reader_database diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 8a6d3e7..af0ff16 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,10 +4,10 @@