From aa9479de7c59b92b1afb2a3351881bf197efe151 Mon Sep 17 00:00:00 2001 From: Josiah Campbell <9521010+jocmp@users.noreply.github.com> Date: Wed, 26 Jun 2024 20:32:39 -0500 Subject: [PATCH] Add local source (#122) --- .idea/gradle.xml | 1 + README.md | 2 +- .../com/jocmp/capyreader/KoinSetupModules.kt | 2 +- .../java/com/jocmp/capyreader/MainActivity.kt | 2 +- .../main/java/com/jocmp/capyreader/ui/App.kt | 7 +- .../java/com/jocmp/capyreader/ui/Route.kt | 2 + .../{login => accounts}/AccountNavigation.kt | 16 +- .../ui/accounts/AddAccountScreen.kt | 19 + .../capyreader/ui/accounts/AddAccountView.kt | 59 + .../ui/accounts/AddAccountViewModel.kt | 24 + .../ui/{login => accounts}/AuthFields.kt | 8 +- .../ui/{login => accounts}/LoginModule.kt | 8 +- .../ui/{login => accounts}/LoginScreen.kt | 3 +- .../ui/{login => accounts}/LoginView.kt | 6 +- .../ui/{login => accounts}/LoginViewModel.kt | 4 +- .../capyreader/ui/articles/AddFeedView.kt | 2 + .../capyreader/ui/articles/ArticleRow.kt | 12 +- .../ui/articles/UpdateAuthDialog.kt | 2 +- .../capyreader/ui/articles/UpdateAuthView.kt | 2 +- .../ui/articles/detail/ArticleTopBar.kt | 16 +- .../ui/articles/detail/ExtractedContent.kt | 2 - .../articles/list/ArticleActionBottomSheet.kt | 10 +- .../ui/components/NavGraphBuilderExt.kt | 39 + capy/build.gradle.kts | 2 + capy/src/main/java/com/jocmp/capy/Account.kt | 29 +- .../java/com/jocmp/capy/AccountDelegate.kt | 2 +- .../java/com/jocmp/capy/AccountManager.kt | 21 +- .../java/com/jocmp/capy/AccountPreferences.kt | 5 + .../capy/accounts/FeedbinAccountDelegate.kt | 25 +- .../capy/accounts/FeedbinOkHttpClient.kt | 2 +- .../capy/accounts/LocalAccountDelegate.kt | 187 + .../java/com/jocmp/capy/accounts/Source.kt | 6 + .../jocmp/capy/common/DataseTransactionExt.kt | 1 + .../jocmp/capy/persistence/TaggingRecords.kt | 14 +- .../com/jocmp/capy/db/4_AddTaggings.sqm | 2 +- .../sqldelight/com/jocmp/capy/db/articles.sq | 18 +- .../sqldelight/com/jocmp/capy/db/taggings.sq | 4 +- .../java/com/jocmp/capy/AccountManagerTest.kt | 5 +- .../capy/accounts/LocalAccountDelegateTest.kt | 213 + .../com/jocmp/capy/fixtures/ArticleFixture.kt | 3 +- .../com/jocmp/capy/fixtures/FeedFixture.kt | 2 +- feedfinder/.gitignore | 1 + feedfinder/build.gradle.kts | 22 + .../com/jocmp/feedfinder/DefaultFeedFinder.kt | 81 + .../com/jocmp/feedfinder/DefaultRequest.kt | 58 + .../java/com/jocmp/feedfinder/FeedError.kt | 12 + .../java/com/jocmp/feedfinder/FeedFinder.kt | 10 + .../main/java/com/jocmp/feedfinder/Request.kt | 7 + .../java/com/jocmp/feedfinder/Response.kt | 21 + .../java/com/jocmp/feedfinder/parser/Feed.kt | 13 + .../com/jocmp/feedfinder/parser/Parser.kt | 44 + .../com/jocmp/feedfinder/parser/XMLFeed.kt | 41 + .../com/jocmp/feedfinder/sources/BodyLinks.kt | 44 + .../com/jocmp/feedfinder/sources/Guess.kt | 32 + .../com/jocmp/feedfinder/sources/MetaLinks.kt | 54 + .../feedfinder/sources/ResponseDocumentExt.kt | 15 + .../com/jocmp/feedfinder/sources/Source.kt | 11 + .../java/com/jocmp/feedfinder/sources/XML.kt | 22 + .../java/com/jocmp/feedfinder/TestRequest.kt | 18 + .../test/java/com/jocmp/feedfinder/helpers.kt | 11 + .../jocmp/feedfinder/parser/XMLFeedTest.kt | 18 + .../jocmp/feedfinder/sources/BodyLinksTest.kt | 52 + .../com/jocmp/feedfinder/sources/GuessTest.kt | 45 + .../jocmp/feedfinder/sources/MetaLinksTest.kt | 54 + .../com/jocmp/feedfinder/sources/XMLTest.kt | 19 + .../src/test/resources/arstechnica.html | 1679 +++++ .../src/test/resources/arstechnica_feed.xml | 745 +++ feedfinder/src/test/resources/theverge.html | 5415 +++++++++++++++++ .../src/test/resources/theverge_feed.xml | 255 + settings.gradle.kts | 4 +- 70 files changed, 9507 insertions(+), 85 deletions(-) rename app/src/main/java/com/jocmp/capyreader/ui/{login => accounts}/AccountNavigation.kt (74%) create mode 100644 app/src/main/java/com/jocmp/capyreader/ui/accounts/AddAccountScreen.kt create mode 100644 app/src/main/java/com/jocmp/capyreader/ui/accounts/AddAccountView.kt create mode 100644 app/src/main/java/com/jocmp/capyreader/ui/accounts/AddAccountViewModel.kt rename app/src/main/java/com/jocmp/capyreader/ui/{login => accounts}/AuthFields.kt (94%) rename app/src/main/java/com/jocmp/capyreader/ui/{login => accounts}/LoginModule.kt (62%) rename app/src/main/java/com/jocmp/capyreader/ui/{login => accounts}/LoginScreen.kt (86%) rename app/src/main/java/com/jocmp/capyreader/ui/{login => accounts}/LoginView.kt (94%) rename app/src/main/java/com/jocmp/capyreader/ui/{login => accounts}/LoginViewModel.kt (95%) create mode 100644 app/src/main/java/com/jocmp/capyreader/ui/components/NavGraphBuilderExt.kt create mode 100644 capy/src/main/java/com/jocmp/capy/accounts/LocalAccountDelegate.kt create mode 100644 capy/src/main/java/com/jocmp/capy/accounts/Source.kt create mode 100644 capy/src/test/java/com/jocmp/capy/accounts/LocalAccountDelegateTest.kt create mode 100644 feedfinder/.gitignore create mode 100644 feedfinder/build.gradle.kts create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/DefaultFeedFinder.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/DefaultRequest.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/FeedError.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/FeedFinder.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/Request.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/Response.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/parser/Feed.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/parser/Parser.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/parser/XMLFeed.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/sources/BodyLinks.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/sources/Guess.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/sources/MetaLinks.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/sources/ResponseDocumentExt.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/sources/Source.kt create mode 100644 feedfinder/src/main/java/com/jocmp/feedfinder/sources/XML.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/TestRequest.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/helpers.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/parser/XMLFeedTest.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/sources/BodyLinksTest.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/sources/GuessTest.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/sources/MetaLinksTest.kt create mode 100644 feedfinder/src/test/java/com/jocmp/feedfinder/sources/XMLTest.kt create mode 100644 feedfinder/src/test/resources/arstechnica.html create mode 100644 feedfinder/src/test/resources/arstechnica_feed.xml create mode 100644 feedfinder/src/test/resources/theverge.html create mode 100644 feedfinder/src/test/resources/theverge_feed.xml diff --git a/.idea/gradle.xml b/.idea/gradle.xml index f207c823..4a634e47 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -12,6 +12,7 @@