Ivan Iskandar
3b62396442
Setup Baseline Profile ( #8135 )
...
* Setup Baseline Profile
Adds Baseline Profile generator and startup time test.
Readme included in macrobenchmark module to run the generator.
* changes
2022-10-04 09:22:55 -04:00
Ivan Iskandar
1cf1b34e7f
Fix regular scrollbar ( #8139 )
...
At some point the scrollbar stops responding to
scroll changes. Not too confident with this fix
but it works.
2022-10-03 23:03:33 -04:00
Ivan Iskandar
42b0e3e438
HistoryScreen: Remove paging ( #8125 )
...
* HistoryScreen: Remove paging
Per my testing performance-wise there's virtually no
difference in loading time.
* cleanups
* add key and contentType
2022-10-01 10:50:25 -04:00
Ivan Iskandar
58c47c4c50
ExtensionScreen: Adjust item visual ( #8120 )
...
* ExtensionScreen: Adjust item visual
* Move install status view and add progress indicator
* Add secondary item modifier to info texts
* Wrap info texts with FlowRow in case of unavailable space
* Remove language text in non-installed items
Extra content:
* Change the list key to be more consistent
* General cleanups
* typo
2022-10-01 10:32:08 -04:00
Ivan Iskandar
6b1d597d34
MangaScreen: Adjust insets ( #8097 )
...
I should have done this when Scaffold was rebased
2022-09-27 22:20:10 -04:00
Ivan Iskandar
98a4f6cccb
manga-refresh-state ( #8090 )
2022-09-27 17:49:21 -04:00
Ivan Iskandar
633bd6eb46
UpdatesScreen: Fix selection state after deleting download ( #8100 )
2022-09-27 17:44:41 -04:00
Ivan Iskandar
f19c288bec
Fix missing focus when single TextField shown ( #8098 )
2022-09-27 17:44:06 -04:00
Ivan Iskandar
0190c36d20
BrowseSourceScreen: Adjust browse mode chips placement ( #8076 )
...
The chips row is now scrollable too and filter fab is removed
2022-09-25 10:15:01 -04:00
Ivan Iskandar
0fabe4bd01
GlobalSearchController: Auto focus search view when initial query is empty ( #8073 )
2022-09-25 08:53:34 -04:00
Ivan Iskandar
f98b4f4e39
DownloadController: Fix first active download status not updating ( #8069 )
2022-09-24 11:59:11 -04:00
Ivan Iskandar
467ceacb17
SecureActivityDelegate: Fix cold-start only lock behavior ( #8066 )
2022-09-24 10:46:35 -04:00
Ivan Iskandar
747cbd24cb
Adjust source-api R8 rules ( #8064 )
2022-09-24 10:13:58 -04:00
Ivan Iskandar
4a3070265a
Upgrade AGP 7.3.0 ( #8016 )
2022-09-17 10:26:02 -04:00
Ivan Iskandar
f54adb49a1
ExtensionsPresenter: Use StateFlow for extensions list ( #8017 )
2022-09-16 08:35:15 -04:00
Ivan Iskandar
ec30026333
Fix always-on app lock on cold start ( #8018 )
2022-09-16 08:34:46 -04:00
Ivan Iskandar
6865c21c75
Fix derivedStateOf errors ( #8008 )
2022-09-14 11:36:13 -04:00
Ivan Iskandar
7270c48f26
LibraryItem: Fix equality check ( #7999 )
...
Proper equality check is needed by compose for state changes.
2022-09-12 12:29:28 -04:00
Ivan Iskandar
fb9791f597
DownloadController: Partial Compose conversion ( #7969 )
...
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.
2022-09-09 22:29:40 -04:00
Ivan Iskandar
032b377de7
WebViewScreen: Use Scaffold ( #7958 )
2022-09-07 16:59:44 -04:00
Ivan Iskandar
99270e370e
Fix missing downloaded only/incognito banners in Browse Source ( #7936 )
2022-09-04 11:14:37 -04:00
Ivan Iskandar
3fa68ed217
Rebase Scaffold fork ( #7929 )
...
This changes content insets handling
2022-09-03 10:33:22 -04:00
Ivan Iskandar
774a87a42a
Adjust app lock mechanism ( #7924 )
...
Now uses enum to also handle timed lock
2022-09-02 11:48:48 -04:00
Ivan Iskandar
655fa25b51
Bump Compose M3 to 1.0.0-beta01 ( #7867 )
2022-08-26 09:19:47 -04:00
Ivan Iskandar
763288ab13
LibrarySettingsSheet: Fix race condition when applying sort mode ( #7805 )
...
Also fix sort direction can't be changed for default category
2022-08-20 10:15:53 -04:00
Ivan Iskandar
2d690a09b3
Reinstate in-app language picker ( #7493 )
...
Also add required config for android 13 system picker
2022-08-14 11:52:46 -04:00
Ivan Iskandar
9dbc1aa7a3
UpdatesScreen: use custom LazyColumn with animation fix ( #7758 )
2022-08-14 10:12:31 -04:00
Ivan Iskandar
b0520df1dd
Use application context to create toast ( #7756 )
2022-08-14 08:44:24 -04:00
Ivan Iskandar
5f378e28b6
UpdatesPresenter: Prevent unnecessary screen recompose ( #7742 )
2022-08-13 14:34:51 -04:00
Ivan Iskandar
4ebceac07f
UpdatesScreen: Fix inset related issue ( #7741 )
2022-08-13 14:27:07 -04:00
Ivan Iskandar
aab5a56892
MangaFullCoverDialog: Use the new image picker when available ( #7740 )
2022-08-13 13:25:48 -04:00
Ivan Iskandar
441e7bf8b1
MainActivity: Fix crash on back pressed ( #7731 )
2022-08-12 12:20:39 -04:00
Ivan Iskandar
f7b11f2ce9
MangaPresenter: Fix incorrect range selection ( #7709 )
2022-08-09 09:11:12 -04:00
Ivan Iskandar
b4e15263db
Fix issues related to Manga screen slow load ( #7708 )
...
* Fix back handling when manga is still loading
* MangaPresenter: Show what we have earlier to reduce percepted slowness
2022-08-09 09:10:48 -04:00
Ivan Iskandar
16abfeeff0
Glance widget fixes ( #7706 )
...
* Fix glance failing when there's too much children
* Adjust cover error placeholder
2022-08-08 09:20:45 -04:00
Ivan Iskandar
b3426f37e7
ExtensionPresenter: Fix crash on first launch ( #7685 )
...
* Revert "Use SharedFlow for available extensions to always emit the value (#7609 )"
This reverts commit 73901f50c0 .
* ExtensionPresenter: Explicitly set refreshing status
* Scope coroutines job to presenter
* cleanup
* fix toast
2022-08-04 15:44:37 -04:00
Ivan Iskandar
afceac15c8
Add scroll overlay to LibraryToolbar ( #7669 )
...
Works when category tab is not shown
2022-08-03 17:41:15 -04:00
Ivan Iskandar
737cf9898d
Reimplement appbar color overlay on scroll ( #7663 )
...
only on updates and history screen for now, but the required changes on app bar
is there.
also fix missing incognito-downloaded mode indicator on history screen
2022-07-31 22:24:19 -04:00
Ivan Iskandar
29e1976b90
Glance widget for Updates ( #7581 )
...
* glance
* glance2
2022-07-31 11:31:40 -04:00
Ivan Iskandar
d49ec41f3a
Library category page performance fixes ( #7650 )
...
* Don't compose category page unnecessarily
* Remove unnecessary library pager recompose
Defer and remember the "currentPage" state read since it's only needed when the
pager is composed for the first time.
* Badge opts
* Sync text style with previous impl
Also avoid reallocating by using copy
2022-07-30 11:47:27 -04:00
Ivan Iskandar
483b204fb5
MangaPresenter: Add distinctUntilChanged to db flow ( #7629 )
...
* MangaScreen: Disable swipe refresh on action mode
* MangaPresenter: Add distinctUntilChanged to db flow
Now will only emit update when the related entry is changed
2022-07-29 07:47:09 -04:00
Ivan Iskandar
3fe5e53b25
MangaScreen large UI tweaks ( #7625 )
...
* MangaScreen: Fix large UI column sizing behavior
* MangaInfoHeader: Adjust large UI cover sizing behavior
* BottomActionMenu: Change bg shape
2022-07-27 09:12:01 -04:00
Ivan Iskandar
dcafdac036
Retain backstack views by default ( #7621 )
2022-07-27 09:00:18 -04:00
Ivan Iskandar
1c8da5fa97
BrowseSourceController: Fix broken page after opening manga ( #7608 )
...
Probably related to 788583e66f
2022-07-25 08:32:11 -04:00
Ivan Iskandar
aeffb5eeb8
ChapterDownloadIndicator: Optimize further and reimplement error state ( #7599 )
...
In the context of a weaker device--remembering objects inside a list item
is expensive. So only do it when we really need to.
This also flattens the download button by drawing a single icon instead of using
separate icon and progress indicator.
2022-07-24 10:27:00 -04:00
Ivan Iskandar
2e15be59af
Fix unnecessary recompose when calling LazyListState.isScrolledToEnd ( #7598 )
2022-07-24 08:49:28 -04:00
Ivan Iskandar
59f8c1a288
MangaPresenter: Don't update fav state when changing categories ( #7594 )
2022-07-23 22:18:40 -04:00
Ivan Iskandar
00519e3b93
MangaScreen: Save selection state ( #7560 )
2022-07-18 16:42:46 -04:00
Ivan Iskandar
473dc688f0
Fix download status not updated properly after starting batch download ( #7561 )
2022-07-18 16:22:49 -04:00
Ivan Iskandar
ba93060e59
Fix scroll animation when system animation is disabled ( #7509 )
2022-07-11 22:21:00 -04:00
Ivan Iskandar
cbcab5a545
Fix MangaScreen app bar title and nav icon action ( #7506 )
2022-07-10 14:29:58 -04:00
Ivan Iskandar
634ee86bbd
MangaPresenter: Always fetch chapter from source if current chapter is empty ( #7507 )
2022-07-10 14:29:52 -04:00
Ivan Iskandar
1551891c15
MangaScreen: Improve chapter list scrolling performance ( #7491 )
...
* MangaScreen: Improve chapter list scrolling performance
Process chapter title, date and read progress string ahead of time
* Use enum for contentType and add key
2022-07-09 16:20:40 -04:00
Ivan Iskandar
e56f6c1017
ChapterDownloadIndicator: Fixes and improvements ( #7485 )
...
* Increased touch target
* Fix downloaded icon smaller than other states
* Deferred state reads to minimize recompose works
* Move things around to eliminate unnecessary elements
2022-07-09 12:38:33 -04:00
Ivan Iskandar
34906a7425
MangaScreen: Ditch the expanded app bar ( #7470 )
...
Animating the content padding that's used for the lazy list is heavy. A simple
fix to *just* offset the list is blocked by a Compose fling issue (b/179417109).
So I decided to go with the previous layout of this screen by putting everything
in the list. MangaInfoHeader is split into separate composables to avoid jank
when the item is being inflated.
2022-07-09 12:37:49 -04:00
Ivan Iskandar
9385b86ecb
VerticalFastScroller: Fix scroller consuming touch when it's invisible ( #7484 )
2022-07-09 09:20:47 -04:00
Ivan Iskandar
325a5e37aa
Fix broken downloaded chapter ( #7460 )
2022-07-06 22:13:49 -04:00
Ivan Iskandar
3072296919
MangaScreen: Hide scroller when appbar is expanded ( #7426 )
2022-07-01 10:37:58 -04:00
Ivan Iskandar
388dc2f103
MangaScreen: Reuse components between two layouts ( #7397 )
2022-06-30 09:20:16 -04:00
Ivan Iskandar
0c856438fa
MangaInfoHeader: Add description placeholder ( #7398 )
...
To always show summary view for expanding tags
2022-06-28 08:12:15 -04:00
Ivan Iskandar
e44bb30996
Improve history screen scrolling perf ( #7399 )
2022-06-27 18:33:57 -04:00
Ivan Iskandar
924dfa19cf
MangaScreen: Fix action mode download button not working ( #7385 )
2022-06-26 13:37:41 -04:00
Ivan Iskandar
9ff6ae81bd
VerticalFastScroller: Fix incorrect touch target ( #7384 )
2022-06-26 12:58:31 -04:00
Ivan Iskandar
c33e5c8a17
Fix chapter number display style ( #7383 )
2022-06-26 12:58:14 -04:00
Ivan Iskandar
6129bbc9ab
MangaInfoHeader tweaks ( #7382 )
...
* Changed cover alignment when title is longer
* Hide artist text if it's equal to author
* Set single line to status and source name
2022-06-26 12:48:29 -04:00
Ivan Iskandar
0e0c1dcdc5
MangaPresenter: Fix state updates when opening a new manga entry ( #7379 )
2022-06-26 09:45:06 -04:00
Ivan Iskandar
33a778873a
MangaController overhaul ( #7244 )
2022-06-25 11:03:48 -04:00
Ivan Iskandar
a77bce7b37
ChapterDownloadView: Convert to compose ( #7354 )
2022-06-24 15:42:30 -04:00
Ivan Iskandar
8fedd2d5f1
Convert cover dialog view to compose ( #7346 )
2022-06-20 22:31:36 -04:00
Ivan Iskandar
005b9b595c
ChaptersSettingsSheet: Single source of truth and use new manga class ( #7342 )
...
Currently breaks initial settings state until the source of truth is
properly updated.
2022-06-19 12:29:49 -04:00
Ivan Iskandar
e6a9d0b090
Add fast scroller to extensions screen ( #7340 )
2022-06-19 10:33:25 -04:00
Ivan Iskandar
4c3af7bf36
MainActivity: Top bar status indicator adjustments ( #7329 )
...
* Move to inside app bar for tablet ui layout so it can be hidden
with the app bar at once
* Remove the redundant parent view
* Add text appearance style
2022-06-18 12:12:22 -04:00
Ivan Iskandar
28e7009b49
Convert edit cover function to suspend function ( #7330 )
2022-06-18 10:01:03 -04:00
Ivan Iskandar
1b804e61cb
Fix cover fetching in compose views ( #7315 )
...
Make sure it passed thru the custom fetcher
2022-06-17 22:21:29 -04:00
Ivan Iskandar
ae88252cb1
MangaController: Change the workaround for title alpha ( #7277 )
...
Now checks for the backstack for any dialog controller when a push exit occurs
before restoring the title alpha.
2022-06-17 17:28:50 -04:00
Ivan Iskandar
3c3d787a2b
MainActivity: Fix incorrect UI states when activity recreated with dialog controller ( #7325 )
2022-06-17 17:28:07 -04:00
Ivan Iskandar
4ef337f1e9
Don't set text colors when creating compose theme ( #7316 )
...
This avoids compose snackbar text color issue
2022-06-16 11:37:57 -04:00
Ivan Iskandar
59837bbb90
Change cover memory key ( #7276 )
...
Use different key for custom cover and add last modified time for updating
cover without clearing the whole memory cache
2022-06-10 09:33:59 -04:00
Ivan Iskandar
3b2362c784
Add scrollbar indicator to LazyColumn ( #7164 )
2022-05-23 18:03:46 -04:00
Ivan Iskandar
ac980a4dbf
MangaCoverFetcher: Handle moving cover cache after adding to library ( #6885 )
...
Move cover cache to separate cache dir after the parent manga is added to library
2022-04-08 12:10:06 -04:00
Ivan Iskandar
2466a079d5
MangaCoverFetcher: Don't close network response ( #6882 )
2022-04-07 13:34:31 -04:00
Ivan Iskandar
dbad60d03b
Base activities cleanup ( #6848 )
...
* secure delegate
* theming delegate
2022-04-02 09:54:21 -04:00
Ivan Iskandar
5409af0a6c
MangaCoverFetcher: Use source's header for network request ( #6847 )
2022-04-02 08:44:01 -04:00
Ivan Iskandar
ffd9c6995a
UpdatesController: Don't init adapter until chapter data is ready ( #6824 )
...
Considering there's no pagination for this list, the data loading can take some
time. So this will show the existing refresh indicator instead of empty view
while the list is loading.
2022-03-25 22:20:47 -04:00
Ivan Iskandar
ef600c0956
Fix extension update badge reset when app resumed ( #6822 )
2022-03-25 11:11:16 -04:00
Ivan Iskandar
ddb856edc7
Add cover error drawable ( #6782 )
2022-03-15 22:21:30 -04:00
Ivan Iskandar
fae43fedfa
ReaderActivity: Reduce anim duration when launched from resume FAB ( #6762 )
...
From enter 500ms exit 400ms
To both 350ms
2022-03-10 07:51:42 -05:00
Ivan Iskandar
869424cd16
Change cover placeholder ( #6756 )
2022-03-09 17:26:55 -05:00
Ivan Iskandar
10eef282fa
Coil 2.x upgrade ( #6725 )
...
* Migrate to Coil 2
* Adapt to use coil disk cache
* Update to alpha 7
* Update to alpha 8
* Update to rc01
2022-03-04 16:04:32 -05:00
Ivan Iskandar
d53bb4c337
Use existing worker for manual backup creation ( #6718 )
...
* Use existing worker for manual backup creation
This will show the "creating backup" notification when auto backup is
running. Complete or error notification will continue to be shown only on
manual job.
* Make sure disabling auto backup don't cancel running manual backup job
2022-03-03 22:15:49 -05:00
Ivan Iskandar
a8ad19a89d
Restore bottom nav position earlier after being recreated ( #6648 )
2022-02-17 22:08:36 -05:00
Ivan Iskandar
fad1449de3
Grid items optimizations ( #6641 )
...
Use ConstraintLayout for ez size ratio calculation and merge cover-only view
holder with compact's
2022-02-13 11:09:49 -05:00
Ivan Iskandar
2932ed670f
MainActivity fixes ( #6591 )
...
* Reduce notifyDataSetChanged calls when category count is disabled
* Fix category tabs briefly showing when it's supposed to be disabled
Also fix tabs showing when activity recreated
* Lift appbar when tab is hidden
Check against tab visibility instead of viewpager
* Restore selected nav item after recreate
* Simplify SHORTCUT_MANGA intent handling
Don't need to change controller if the topmost controller is the target
2022-02-12 10:58:58 -05:00
Ivan Iskandar
7108993936
Unify reader error layout ( #6512 )
...
So nobody will think that the error layout is broken when they see different
layout.
2022-02-02 21:41:20 -05:00
Ivan Iskandar
b6553bdc34
ReaderActivity: Fix transition crash on Android 8 ( #6542 )
2022-02-02 21:40:48 -05:00
Ivan Iskandar
5348154c42
TachiyomiAppBarLayout: Ignore inset visibility ( #6533 )
...
For resume button animation
2022-02-01 09:51:14 -05:00
Ivan Iskandar
cf5e60f8eb
MangaSummaryView: Fix incomplete description on tablet ui ( #6518 )
2022-01-30 10:47:53 -05:00
Ivan Iskandar
5cd11ad8c3
Fix bottom nav showing on resume when action mode is active ( #6514 )
2022-01-29 13:55:33 -05:00
Ivan Iskandar
a68f123594
TachiyomiAppBarLayout: Use insetter to handle inset ( #6506 )
...
This requires adding the status bar foreground drawing logic since the parent
class wouldn't know the inset changes anymore.
2022-01-28 10:14:13 -05:00
Ivan Iskandar
46ec655db5
Update core-splashscreen ( #6471 )
2022-01-18 17:51:14 -05:00