Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Iskandar 816d7815e9 "Updates" widget for Galaxy Z Flip5 cover screen (#9892) 2023-09-02 09:37:25 -04:00
Ivan Iskandar 627f07408e Add private extension install method (#9710)
* Add private extension install method

Private extensions are put inside private data directory of the running app, so
this kind of extensions can only be used by the running app and not shared with
other apps.

One limitation of private extension is the lack of deeplink handlers (if there's
any) since the extension APK is not installed to the system.

When both kinds of extensions are installed with a same package name, shared
extension (the one installed to the system) will be used unless the version
codes are different. In that case the one with higher version code will be used.

* update
2023-08-05 12:15:52 -04:00
Ivan Iskandar af0fdfa3b7 ReaderViewModel: Fix saved state (#9807)
Also save page index
2023-08-05 09:47:02 -04:00
Ivan Iskandar 5c73045aa4 Don't require deeplink ext target to be pinned (#9740) 2023-07-19 19:54:06 -04:00
Ivan Iskandar 0759936226 Remove scrollable animation workaround (#9690)
Reverts ba93060e59
Related https://android-review.googlesource.com/c/platform/frameworks/support/+/2239762
2023-07-09 14:08:58 -04:00
Ivan Iskandar 8287c9d193 MangaChapterListItem: Replace swipe action method (#9682)
Using swipe (the library) and added haptic feedback
2023-07-08 10:02:20 -04:00
Ivan Iskandar 7c90fe0f7d AdaptiveSheet: Migrate deprecated swipeable (#9642) 2023-06-26 22:20:08 -04:00
Ivan Iskandar 25b0458930 composed Modifier changes (#9631)
Referring at the examples and other internal usages, the
resulting stateful Modifier should be separated from
all the previous Modifier chain.
2023-06-23 17:54:01 -04:00
Ivan Iskandar 6808fbbb21 Use lite compose-ui-tooling module on release builds (#9630)
The size reduction is minuscule but it's there.
2023-06-23 08:26:35 -04:00
Ivan Iskandar b4393ff741 Update core-splashscreen (#9629) 2023-06-22 21:59:17 -04:00
Ivan Iskandar b8af1621b5 Update Compose BOM v2023.06.00-alpha01 (#9628) 2023-06-22 21:50:18 -04:00
Ivan Iskandar 4a75f82a6f Update Paging and match version (#9626) 2023-06-22 14:20:33 -04:00
Ivan Iskandar 740e370465 Bump compile SDK version 34 (#9625) 2023-06-22 14:20:12 -04:00
Ivan Iskandar 9ec8d770ea MangaChapterListItem: Increase swipe action touch slop (#9598) 2023-06-10 12:48:03 -04:00
Ivan Iskandar 39e4568460 ReaderProgressIndicator: Convert to Compose (#9574) 2023-06-03 13:11:41 -04:00
Ivan Iskandar a458bd9fdb Update Glance v1.0.0-beta01 (#9551) 2023-05-27 22:59:21 -04:00
Ivan Iskandar 0189fc1f66 Bump Compose BOM version 2023.04.00-beta01.1 (#9548) 2023-05-27 09:17:31 -04:00
Ivan Iskandar 73118d4af7 DownloadCache: Fix freezing on initial loading of cache file (#9523) 2023-05-19 22:06:06 -04:00
Ivan Iskandar 6263a52777 Fix navigation backstack (#9497)
Partial revert of dbbf6c5de0
2023-05-13 14:22:02 -04:00
Ivan Iskandar 96defd6b05 Replace our custom Pager (#9494)
Turns out that changing the pagerSnapDistance
is enough to achieve the same result.
2023-05-13 12:06:00 -04:00
Ivan Iskandar 8df9bce1b4 Upgrade Kotlin 1.8.21 (#9495) 2023-05-13 12:05:19 -04:00
Ivan Iskandar 84acae27b7 ChapterNavigator: Fix rounding error when changing page with slider (#9477)
ChapterNavigator: Fix rounding error when changing page from slider
2023-05-08 09:00:05 -04:00
Ivan Iskandar d36cf5ce15 Chapter transition tweaks (#9470)
* Chapter transition tweaks

* Chapter transition cleanups
2023-05-07 10:08:33 -04:00
Ivan Iskandar f0dd33ee4c ChapterNavigator: Always show buttons and fix steps visual (#9461) 2023-05-06 11:15:39 -04:00
Ivan Iskandar fce9cb820c ChapterNavigator: Fix haptic feedback (#9458) 2023-05-05 22:15:56 -04:00
Ivan Iskandar 08e4863d94 ChapterNavigator: Fix background color (#9450) 2023-05-04 13:55:53 -04:00
Ivan Iskandar 2c6e025063 Add more info to debug screen (#9357)
* App version
* WebView version
* ART profile status
* Device model
* Android version
2023-04-18 22:59:27 -04:00
Ivan Iskandar 60d8650860 WheelPicker: Add manual input (#9338) 2023-04-15 09:26:33 -04:00
Ivan Iskandar a2627d70af WheelPicker: Add haptic feedback (#9322) 2023-04-14 21:58:57 -04:00
Ivan Iskandar c1e23ec18e GlobalSearchScreen: Skip result screen when using search intent (#9299) 2023-04-07 22:18:48 -04:00
Ivan Iskandar 182e642cfc SearchToolbar: Check initial search query to open keyboard by default (#9297) 2023-04-05 22:15:56 -04:00
Ivan Iskandar 7a1b599462 Adjust SearchToolbar soft keyboard behavior (#9282)
* Show soft keyboard when the text field is composed (a redo)
* Clear focus on text field when soft keyboard is hidden
* Request focus on text field and show soft keyboard
when clear button is clicked
2023-03-31 09:24:44 -04:00
Ivan Iskandar 6f1099b710 AdaptiveSheet: Wrap inside Dialog (#9279)
Because of Compose issue, the style of the sheet surface is adjusted as
a workaround

Ref https://issuetracker.google.com/issues/246909281
2023-03-29 22:34:32 -04:00
Ivan Iskandar 18e55aa25f Adjust tab indicator visual (#9219)
Now behaves like the non-compose indicator by showing the swipe progress too
2023-03-16 22:20:25 -04:00
Ivan Iskandar 4d3e13b0d1 Initialize download index disk cache (#9179) 2023-03-16 22:18:11 -04:00
Ivan Iskandar c0f94ae8af Revert "Fix banners-related issues" (#9186)
Revert "Fix banners-related issues (#9143)"

This reverts commit 63048d2f0b.
2023-03-09 22:10:49 -05:00
Ivan Iskandar 17ed4873e8 Bump compose-bom version 2023.02.00-rc02 (#9185) 2023-03-08 22:41:14 -05:00
Ivan Iskandar 63048d2f0b Fix banners-related issues (#9143)
This is most likely Compose issue so these changes will
be reevaluated when new Compose ver is out.
2023-02-25 14:44:35 -05:00
Ivan Iskandar ec3ce74af8 TrackDateSelectorScreen: Use M3 date picker (#9138) 2023-02-24 15:22:23 -05:00
Ivan Iskandar 36ae388332 Bump compose-bom version 2023.02.00-beta02 (#9137) 2023-02-23 22:29:38 -05:00
Ivan Iskandar 6b03dca5f4 Use Compose Foundation's flow layout (#9123) 2023-02-21 12:04:11 -05:00
Ivan Iskandar bd7b21337c Add minLines to comfortable grid item title (#9122) 2023-02-21 11:44:56 -05:00
Ivan Iskandar 60a3ba5a5c Use non-stable Compose BOM (#9120) 2023-02-21 10:41:56 -05:00
Ivan Iskandar c58b495433 MainActivity: Avoid navigator-related crash when handling onNewIntent (#9104)
(cherry picked from commit d3dadf71e8)
2023-02-19 11:51:44 -05:00
Ivan Iskandar f9e43f574f MangaCoverDialog: Disable memory cache (#9066)
(cherry picked from commit 1671a56f42)
2023-02-19 11:49:51 -05:00
Ivan Iskandar 48546c3db4 Scaffold: Fix snackbar bottom inset (#9052)
(cherry picked from commit 34a586ce48)
2023-02-19 11:49:38 -05:00
Ivan Iskandar 4d87ed496c Remove FAB extra padding in DownloadQueueScreen (#9053)
(cherry picked from commit ad762f8303)
2023-02-19 11:49:32 -05:00
Ivan Iskandar d3dadf71e8 MainActivity: Avoid navigator-related crash when handling onNewIntent (#9104) 2023-02-18 10:08:37 -05:00
Ivan Iskandarandarkon be4072c86b Rework on the wheel picker (#8559)
* Rework the wheel picker

doesn't need for the animation to stop to change the value

* fix

---------

Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-02-12 23:10:47 -05:00
Ivan Iskandar 1671a56f42 MangaCoverDialog: Disable memory cache (#9066) 2023-02-10 22:38:59 -05:00
Ivan Iskandar 34a586ce48 Scaffold: Fix snackbar bottom inset (#9052) 2023-02-08 09:37:12 -05:00
Ivan Iskandar ad762f8303 Remove FAB extra padding in DownloadQueueScreen (#9053) 2023-02-08 09:37:04 -05:00
Ivan Iskandarandarkon ef9dacde79 Fully utilize WorkManager for library updates (#9007)
No more trampolining, and stuff.

It's pretty much straight copy-paste from the service, with
some changes related to cancellation handling. Manual updates
will also runs with workman job so auto update work
scheduling need some adjustments too.

Bumped version code to re-enqueue auto update job with the
new spec.

Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-02-07 22:37:20 -05:00
Ivan Iskandar ab61a65b4a Add worker info screen (#8774)
Mainly for debug purpose, might help with support.
2023-01-02 21:58:11 -05:00
Ivan Iskandar 94a410f50f TrackDateRemoverScreen: Fix pop behavior after confirming removal (#8792) 2022-12-23 09:29:01 -05:00
Ivan Iskandar 8e1b5b4803 Pager: Bring back previous snapping behavior (#8776)
New default LazyList snap behavior is optimized for non-pager use.
2022-12-20 09:16:43 -05:00
Ivan Iskandar 8552838bda Update WorkManager (#8772) 2022-12-18 12:14:06 -05:00
Ivan Iskandar 9d2d78ae5b AdaptiveSheet: Don't blindly consume back event (#8760) 2022-12-17 12:56:19 -05:00
Ivan Iskandar 235bc77457 Fix indexing notif not showing (#8758) 2022-12-17 10:32:49 -05:00
Ivan Iskandar e20c66b156 App state banner tweaks (#8746)
* Move download indexing notification to this banner group
* Animate state changes
2022-12-16 22:18:17 -05:00
Ivan Iskandar ca500da4d8 Adjust insets handling in tablet UI (#8711)
* Adds startBar slot in Scaffold to handle nav rail
* Consumes unneeded insets in settings
2022-12-10 10:02:13 -05:00
Ivan Iskandar 820ed6a468 Move system bar color set to the main composable (#8710)
This one doesn't check navbar location before adding a scrim, doesn't really
matter since now no body component is being drawn below the system bar.
2022-12-10 10:01:16 -05:00
Ivan Iskandar 82a3a98a5a Adjust screen transitions (#8707)
* Fade transition between main navigation tabs
* Shared axis X between screen stacks

Activity transition is using a "close enough" shared axis X xml animation
2022-12-09 17:23:00 -05:00
Ivan Iskandar d97eab0328 Move app state banner to the very top (#8706)
This moves the banners to the root composable and so eliminates the need to
track the app states in every screen.
2022-12-09 11:20:13 -05:00
Ivan Iskandarandarkon f7a92cf6ac Replace reader's Presenter with ViewModel (#8698)
includes:
* Use coroutines in more places
* Use domain Manga data class and effectively changing the state system
* Replace deprecated onBackPress method

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-12-07 23:00:01 -05:00
Ivan Iskandar f05e251991 GlobalSearchScreen: Add unique key (#8693)
Avoids crash when an old screen is being replaced by a new one
2022-12-07 08:27:54 -05:00
Ivan Iskandar c288e6b8fa Fix ANR when opening from notification/widget (#8683) 2022-12-05 09:00:30 -05:00
Ivan Iskandar 8945ef8880 Change source preference theming fix (#8679) 2022-12-05 00:10:11 -05:00
Ivan Iskandar be854b3e90 Fix appbar back button in Settings screen (#8674) 2022-12-04 10:27:14 -05:00
Ivan Iskandar 47f079891f Track sheet fixes (#8673)
* Fix Track sheet not being disposed properly

* Change insets handling
2022-12-04 10:27:02 -05:00
Ivan Iskandar 7be9b49143 Fix BrowseSourceScreen list/grid unnecessary reloads (#8661) 2022-12-03 14:43:52 -05:00
Ivan Iskandar 1a70ebe7ea Fix crash when opening chapter from BrowseSourceScreen (#8657) 2022-12-03 00:26:11 -05:00
Ivan Iskandar 3d66eaea83 Merge Voyager screens (#8656)
* Merge Voyager screens

* cleanups
2022-12-02 22:35:30 -05:00
Ivan Iskandar 5b189a909b Use Voyager on Source Preference screen (#8651) 2022-12-02 13:14:18 -05:00
Ivan Iskandar 94d1b68598 Use Voyager on BrowseSource and SourceSearch screen (#8650)
Some navigation janks will be dealt with when the migration is complete
2022-11-30 23:05:11 -05:00
Ivan Iskandar cd13e187cf Use Voyager on Downloads screen (#8640) 2022-11-28 09:23:11 -05:00
Ivan Iskandar bcc21e55bd Complete Settings migration to Voyager (#8639)
Now the Controller wrapper can be yeeted anytime
2022-11-28 09:21:18 -05:00
Ivan Iskandar 217b03a292 Fix library not loading when not logged in to any tracker (#8629) 2022-11-26 21:37:22 -05:00
Ivan Iskandar e14909fff4 Use Voyager on Library tab (#8620) 2022-11-26 15:48:57 -05:00
Ivan Iskandar f4ac754d02 Use Voyager on Browse tab (#8605) 2022-11-23 22:28:25 -05:00
Ivan Iskandar acc2312384 Use Voyager on Updates tab (#8603)
* Use Voyager on Updates tab

* Fix back press

* Fix selection
2022-11-23 09:22:20 -05:00
Ivan Iskandar 7d34ff214c Change settings screen to object (#8604) 2022-11-23 09:14:55 -05:00
Ivan Iskandar d60367768b Fix monochrome launcher icon not applied when non-round shape is used (#8552) 2022-11-17 12:23:48 -05:00
Ivan Iskandar acd43005df SearchToolbar: Better physical keyboard support (#8529)
Make enter keys behave like search key of on-screen keyboard
2022-11-13 10:59:23 -05:00
Ivan Iskandar acc65529a0 Replace numberpicker with wheelpicker (#8501)
* Replace numberpicker with wheelpicker

* cleanups
2022-11-11 15:02:45 -05:00
Ivan Iskandar 340357d158 Voyager on More tab (#8498) 2022-11-10 22:08:18 -05:00
Ivan Iskandar 11ed47397d Remove top bar workaround (#8497)
Fixed upstream and we currently using small top bar which doesn't affected
2022-11-10 21:26:56 -05:00
Ivan Iskandar 18ccde082d Full Compose MangaController (#8452)
* Full Compose MangaController

* unique key

* Use StateScreenModel

* dismiss

* rebase fix

* toShareIntent
2022-11-09 22:31:56 -05:00
Ivan Iskandar bc3bb82651 Voyager on History tab (#8481) 2022-11-09 09:26:29 -05:00
Ivan Iskandar 156191af44 Tabs: Don't explicitly set text color in the text (#8365)
The container already provides color option for both states
2022-10-30 12:04:46 -04:00
Ivan Iskandar 16f9fb2f40 Rebase Scaffold fork (#8353)
This adds content window insets supports that will be passed to
all components used except top and bottom bar.
2022-10-30 09:59:50 -04:00
Ivan Iskandar 6bfaa85e84 MoreScreen: Add navbar padding (#8349) 2022-10-29 23:10:18 -04:00
Ivan Iskandar 054bf8ec5d MangaScreen: Apply bottom content padding to large screen info column (#8347) 2022-10-29 22:57:19 -04:00
Ivan Iskandar f9c25b350e New Pager implementation (#8323)
Minimal implementation using new Compose SnapFlingBehavior
2022-10-29 12:32:55 -04:00
Ivan Iskandar 3e86cb094b PreferenceModel: Add subtitle provider to ListPreference (#8322)
* PreferenceModel: Add subtitle provider to ListPreference

So that it's possible to avoid value formatting when needed

* cleanups
2022-10-29 09:44:12 -04:00
Ivan Iskandar 9fbd3fe33f build: Add param to generate Compose compiler metrics (#8330)
./gradlew assembledevPreview -Ptachiyomi.enableComposeCompilerMetrics=true
2022-10-29 09:37:48 -04:00
Ivan Iskandar 87391832ba Touch up manga grid/list items (#8307)
* Touch up library item touch indicator

Now the touch indicator has the same coverage as the selection indicator.
Experimental Modifier.Node API is used to draw the selection indicator

* Unify library and browse source list item layouts
2022-10-28 11:46:10 -04:00
Ivan Iskandar 187e9f94aa Set source id when inserting to db (#8300) 2022-10-27 22:34:21 -04:00
Ivan Iskandar 5b3f9e082e Use new Compose BOM 2022.10.00 (#8295) 2022-10-26 18:12:32 -04:00
Ivan Iskandar 3fb42b6ce9 Use Syer's Voyager fork (#8288)
with fixes needed for further migration
also revert back jvm target to 1.8
2022-10-26 09:22:38 -04:00