From b5c2399034cef7c0232a57b9a8b51ebe3562dd1e Mon Sep 17 00:00:00 2001 From: acclorite Date: Sat, 20 Apr 2024 20:33:35 +0300 Subject: [PATCH] 0.9.8 - StartScreen + Check for updates + Bug fixes + Lot more... --- .idea/inspectionProfiles/Project_Default.xml | 9 + app/build.gradle.kts | 48 ++- app/src/main/AndroidManifest.xml | 5 + .../java/ua/acclorite/book_story/Activity.kt | 274 +++++----------- .../ua/acclorite/book_story/Application.kt | 31 +- .../acclorite/book_story/data/di/AppModule.kt | 17 + .../book_story/data/di/RepositoryModule.kt | 8 + .../UpdatesNotificationService.kt | 12 + .../UpdatesNotificationServiceImpl.kt | 69 ++++ .../book_story/data/remote/GithubAPI.kt | 13 + .../data/remote/dto/ReleaseResponse.kt | 10 + .../data/repository/BookRepositoryImpl.kt | 36 ++- .../domain/repository/BookRepository.kt | 7 +- .../domain/use_case/CheckForUpdates.kt | 12 + .../domain/use_case/GetAllSettings.kt | 4 +- .../domain/util/DataStoreConstants.kt | 1 + .../components/AnimatedTopAppBar.kt | 7 +- ... => CollapsibleUntilExitScrollBehaivor.kt} | 5 +- .../components/CustomAnimatedVisibility.kt | 58 ++++ .../components/CustomCoverImage.kt | 3 + .../components/CustomSearchTextField.kt | 72 +++++ .../presentation/components/CustomSnackbar.kt | 3 +- .../presentation/components/CustomTooltip.kt | 3 + .../presentation/components/MoreDropDown.kt | 5 +- .../BottomNavigationBar.kt | 8 +- .../custom_dialog/CustomDialogWithContent.kt | 12 +- .../CustomDialogWithLazyColumn.kt | 12 +- .../custom_dialog/SelectableDialogItem.kt | 10 +- .../CustomNavigationRail.kt | 11 +- .../book_story/presentation/data/MainEvent.kt | 1 + .../{MainState.kt => MainSettingsState.kt} | 28 +- .../presentation/data/MainViewModel.kt | 31 +- .../presentation/data/Navigation.kt | 124 ++++++- .../presentation/screens/about/AboutScreen.kt | 131 ++++---- .../screens/about/components/AboutItem.kt | 16 +- .../about/components/AboutUpdateDialog.kt | 58 ++++ .../screens/about/data/AboutEvent.kt | 10 + .../screens/about/data/AboutState.kt | 10 + .../screens/about/data/AboutViewModel.kt | 44 ++- .../screens/book_info/BookInfoScreen.kt | 198 +++++++----- .../components/BookInfoDescriptionSection.kt | 7 +- .../components/BookInfoInfoSection.kt | 42 ++- .../components/BookInfoMoreDropDown.kt | 19 +- .../components/BookInfoStatisticSection.kt | 15 +- .../BookInfoChangeCoverBottomSheet.kt | 32 +- .../BookInfoChangeCoverBottomSheetItem.kt | 2 - .../BookInfoConfirmUpateDialog.kt | 34 +- .../BookInfoConfirmUpdateDialogItem.kt | 3 + .../BookInfoDetailsBottomSheet.kt | 115 +++---- .../components/dialog/BookInfoDeleteDialog.kt | 26 +- .../components/dialog/BookInfoMoveDialog.kt | 40 +-- .../screens/book_info/data/BookInfoEvent.kt | 2 + .../screens/browse/BrowseScreen.kt | 163 +++++----- .../BrowseStoragePermissionDialog.kt | 25 +- .../adding_dialog/BrowseAddingDialog.kt | 34 +- .../screens/browse/data/BrowseEvent.kt | 11 +- .../screens/browse/data/BrowseViewModel.kt | 107 ++++-- .../presentation/screens/help/HelpScreen.kt | 148 +++++++-- .../screens/help/components/HelpAnnotation.kt | 3 + .../screens/help/components/HelpItem.kt | 3 + .../help/components/items/HelpAddBooksItem.kt | 29 +- .../components/items/HelpClickMeNoteItem.kt | 26 +- .../help/components/items/HelpCustomizeApp.kt | 29 +- .../components/items/HelpCustomizeReader.kt | 29 +- .../help/components/items/HelpEditBook.kt | 29 +- .../components/items/HelpFindBooksItem.kt | 55 ++-- .../components/items/HelpManageHistory.kt | 54 ++++ .../components/items/HelpMoveOrDeleteBooks.kt | 29 +- .../help/components/items/HelpReadBook.kt | 29 +- .../help/components/items/HelpUpdateBook.kt | 29 +- .../screens/help/data/HelpEvent.kt | 5 + .../screens/help/data/HelpState.kt | 6 + .../screens/help/data/HelpViewModel.kt | 19 +- .../screens/history/HistoryScreen.kt | 155 +++++---- .../HistoryDeleteWholeHistoryDialog.kt | 12 +- .../screens/history/data/HistoryEvent.kt | 3 + .../screens/history/data/HistoryState.kt | 2 + .../screens/history/data/HistoryViewModel.kt | 6 + .../screens/library/LibraryScreen.kt | 206 ++++++------ .../library/components/LibraryTabRow.kt | 5 +- .../components/dialog/LibraryDeleteDialog.kt | 25 +- .../components/dialog/LibraryMoveDialog.kt | 29 +- .../screens/library/data/LibraryEvent.kt | 3 + .../screens/library/data/LibraryViewModel.kt | 31 +- .../screens/reader/ReaderScreen.kt | 244 ++++++++------ .../reader/components/ReaderEndItem.kt | 43 ++- .../reader/components/ReaderStartItem.kt | 14 +- .../components/app_bar/ReaderBottomBar.kt | 38 ++- .../reader/components/app_bar/ReaderTopBar.kt | 42 ++- .../ReaderSettingsBottomSheet.kt | 60 ++-- .../ReaderSettingsBottomSheetTabRow.kt | 8 +- .../screens/reader/data/ReaderEvent.kt | 2 + .../screens/settings/SettingsScreen.kt | 14 +- .../settings/components/CheckboxWIthTitle.kt | 65 +++- .../components/SettingsCategoryItem.kt | 2 - .../screens/settings/data/SettingsEvent.kt | 18 ++ .../settings/data/SettingsViewModel.kt | 85 +++++ .../nested/appearance/AppearanceSettings.kt | 78 +++-- .../AppearanceSettingsThemeSwitcher.kt | 19 +- .../AppearanceSettingsThemeSwitcherItem.kt | 4 +- .../nested/general/GeneralSettings.kt | 78 ++++- .../settings/nested/reader/ReaderSettings.kt | 61 ++-- .../presentation/screens/start/StartScreen.kt | 106 ++++++ .../start/components/StartAppearanceScreen.kt | 172 ++++++++++ .../screens/start/components/StartDone.kt | 129 ++++++++ .../start/components/StartLanguageScreen.kt | 46 +++ .../components/StartNavigationScreenItem.kt | 44 +++ .../components/StartNavigationTransition.kt | 55 ++++ .../screens/start/components/StartSettings.kt | 175 ++++++++++ .../permissions/StartPermissionItem.kt | 93 ++++++ .../permissions/StartPermissionsScreen.kt | 60 ++++ .../screens/start/data/StartEvent.kt | 39 +++ .../start/data/StartNavigationScreen.kt | 10 + .../screens/start/data/StartState.kt | 14 + .../screens/start/data/StartViewModel.kt | 305 ++++++++++++++++++ .../book_story/presentation/ui/Theme.kt | 3 +- .../book_story/presentation/ui/Transitions.kt | 18 +- .../book_story/presentation/ui/Typography.kt | 68 ---- .../res/drawable-hdpi/notification_icon.png | Bin 0 -> 347 bytes .../res/drawable-mdpi/notification_icon.png | Bin 0 -> 245 bytes .../res/drawable-xhdpi/notification_icon.png | Bin 0 -> 454 bytes .../res/drawable-xxhdpi/notification_icon.png | Bin 0 -> 689 bytes .../drawable-xxxhdpi/notification_icon.png | Bin 0 -> 898 bytes app/src/main/res/drawable/checklist.png | Bin 0 -> 15510 bytes app/src/main/res/mipmap-anydpi/app_icon.xml | 4 +- .../main/res/mipmap-anydpi/app_icon_round.xml | 4 +- app/src/main/res/values-uk/strings.xml | 78 ++++- app/src/main/res/values/strings.xml | 88 ++++- build.gradle.kts | 1 + 129 files changed, 3944 insertions(+), 1535 deletions(-) create mode 100644 app/src/main/java/ua/acclorite/book_story/data/local/notification/UpdatesNotificationService.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/local/notification/UpdatesNotificationServiceImpl.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/remote/GithubAPI.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/data/remote/dto/ReleaseResponse.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/domain/use_case/CheckForUpdates.kt rename app/src/main/java/ua/acclorite/book_story/presentation/components/{CollapsibleScrollBehaivor.kt => CollapsibleUntilExitScrollBehaivor.kt} (90%) create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/components/CustomAnimatedVisibility.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/components/CustomSearchTextField.kt rename app/src/main/java/ua/acclorite/book_story/presentation/data/{MainState.kt => MainSettingsState.kt} (87%) create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/about/components/AboutUpdateDialog.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/about/data/AboutState.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/help/components/items/HelpManageHistory.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/data/SettingsEvent.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/settings/data/SettingsViewModel.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/StartScreen.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/StartAppearanceScreen.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/StartDone.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/StartLanguageScreen.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/StartNavigationScreenItem.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/StartNavigationTransition.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/StartSettings.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/permissions/StartPermissionItem.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/components/permissions/StartPermissionsScreen.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/data/StartEvent.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/data/StartNavigationScreen.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/data/StartState.kt create mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/screens/start/data/StartViewModel.kt delete mode 100644 app/src/main/java/ua/acclorite/book_story/presentation/ui/Typography.kt create mode 100644 app/src/main/res/drawable-hdpi/notification_icon.png create mode 100644 app/src/main/res/drawable-mdpi/notification_icon.png create mode 100644 app/src/main/res/drawable-xhdpi/notification_icon.png create mode 100644 app/src/main/res/drawable-xxhdpi/notification_icon.png create mode 100644 app/src/main/res/drawable-xxxhdpi/notification_icon.png create mode 100644 app/src/main/res/drawable/checklist.png diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 103e00cb..44ca2d9b 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -3,30 +3,39 @@