Commit Graph

1269 Commits

Author SHA1 Message Date
Aayush Gupta
d9623f16b7 DownloadHelper: Fetch all downloads when doing operations
Depending upon flow isn't reliable as subscription change due to lifecycle

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-18 12:27:20 +05:30
Aayush Gupta
b993700f8f compose: accounts: Initial migration
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-18 12:17:21 +05:30
Aayush Gupta
ea9827c6df compose: Minor improvements for download/install
Make purchase action noncancellable to allow it to happen even if user navigates
away from the screen after requesting it.

Also, don't allow expanding at all if no files are available as both actions at the
moment requires files to be available.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 14:31:20 +05:30
Aayush Gupta
4de974e7c4 compose: details: Emit downloading state during purchase
Purchase can take a while making user believe there is no progress happening.
Emit Downloading status with 0s to show loading indicator.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 14:11:36 +05:30
Aayush Gupta
acc8e5da4e compose: downloads: Use download manager icon on no downloads message
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 14:03:09 +05:30
Aayush Gupta
a5cc60ca31 compose: downloads: Make all clear and cancel tasks non-cancellable
We want to keep the task running even if user navigates away from the screen

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 13:50:09 +05:30
Aayush Gupta
e0eaa055c2 compose: downloads: Rework expanded options a bit
No need for sharing option as we have removed the ability to copy direct
download link for file long time ago.

Make the remaining buttons as TextButton too.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 13:45:59 +05:30
Aayush Gupta
ff51620ab2 compose: details: Hide suggestions on single pane
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 13:15:29 +05:30
Aayush Gupta
1823cbcd82 compose: details: Extract extra pane logic to local function
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 13:08:52 +05:30
Aayush Gupta
e45999b9bc viewmodel: details: Relocate and rename viewmodels
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 11:14:41 +05:30
Aayush Gupta
36bc7a868a fixup! compose: details: Also map child screen viewmodels with key
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-17 09:47:21 +05:30
Aayush Gupta
306dcd92a0 compose: downloads: Show toast with error when files are not available
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-16 18:23:28 +05:30
Aayush Gupta
66ed08c502 compose: menu: Encapsulate menu with screens
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-16 17:45:13 +05:30
Aayush Gupta
e1b3f5be73 compose: downloads: Initial migration
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-16 15:49:56 +05:30
Aayush Gupta
54b7bf502e compose: details: Also map child screen viewmodels with key
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-15 13:16:41 +05:30
Aayush Gupta
566cc8dfbd compose: Move compact window checks to extension
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-11 20:55:39 +08:00
Aayush Gupta
fc7ef5e345 compose: PermissionsScreen -> PermissionRationaleScreen
Avoid confusion with the child PermissionScreen of AppDetailsScreen

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-11 17:13:10 +08:00
Aayush Gupta
16cacdeeb7 compose: blacklist: Switch to new search appbar API
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-11 17:03:08 +08:00
Aayush Gupta
fe79b2db94 compose: commons: Relocate permissions screen to commons package
It now works as a permission rationale screen which we ought to show more
when requesting for permissions

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-11 15:34:21 +08:00
Aayush Gupta
cd087e5c89 compose: details: Animate when state changes
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-11 15:30:38 +08:00
Aayush Gupta
07f7c3cccf compose: details: Handle imePadding properly during manual download
AndroidManifest values doesn't works for compose

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-11 15:03:46 +08:00
Aayush Gupta
697c83c8cc compose: details: Only request required permissions
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-10 21:09:21 +08:00
Aayush Gupta
88ba2f4718 compose: onboarding: Initial permissions screen work
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-09 15:46:00 +08:00
Aayush Gupta
52d6c9ce56 compose: details: Show local app version name and code when installed and not updateable
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-08 15:08:24 +08:00
Aayush Gupta
8547ff64ce compose: Switch to new library for hiltViewModel
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-08 14:06:30 +08:00
Aayush Gupta
0e4184f434 compose: details: Also map requested version code to shared libraries
Forward port e766c8000b but for compose

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-01 22:57:06 +08:00
Aayush Gupta
63b7bbb031 compose: details: Show download speed and version on same line
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-01 15:58:17 +08:00
Aayush Gupta
0afc9cc0fd compose: search: Make search bar fixed
Looks bad otherwise due to edge to edge and filters

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-01 15:45:03 +08:00
Aayush Gupta
5711e6db3b compose: details: Show error on entering non-digit characters for manual download
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-01 14:22:23 +08:00
Aayush Gupta
eeff0a65aa compose: details: Expose actual error message when possible
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-31 12:44:17 +08:00
Aayush Gupta
22c6c81b8f compose: search: Show error when no apps are available
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-30 20:52:53 +08:00
Aayush Gupta
10b9e5a182 compose: details: Setup and use app state properly
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-30 19:59:56 +08:00
Aayush Gupta
0dde304938 compose: search: Preserve filter header state
No need to layout new header for every search

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-30 19:45:18 +08:00
Aayush Gupta
6ad6167d98 compose: search: Filter out blank search suggestions
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-30 19:35:20 +08:00
Aayush Gupta
e27c4f210f compose: details: Remove prefix from components
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-27 15:55:49 +08:00
Aayush Gupta
8f2a673c6f compose: details: Encapsulate app-dependent navigation logic
Make it harder to accidentally navigate to an extra screen dependent upon
an app object which is unavailable.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-27 14:35:32 +08:00
Aayush Gupta
c3a4e4a4f0 compose: search: Force single pane layout for app details while searching
This looks awful on foldables as it still draws based on the window width and not the
pane width. I cannot find a simple way to differentiate the width between foldables and tablet
to display the side pane here so just disable it for now.

Hopefully, Google will add a way to adapt the adaptive layouts based on pane width.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-26 17:25:07 +08:00
Aayush Gupta
02fb25248b compose: navigation: Add missing scene setup entry decorator
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-26 15:46:19 +08:00
Aayush Gupta
3f621d6b07 Switch to android's text formatter class for download speed formatting
Also drop unused dependency upon lifecycle process

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-25 22:31:30 +08:00
Aayush Gupta
682adc93d8 compose: details: Add back download speed and time remaining text
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-25 21:27:26 +08:00
Aayush Gupta
51dea058b5 compose: details: Switch from bodyVerySmall to bodySmall
Follow the material typography scheme completely. bodyVerySmall is quite hard to read
otherwise.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-25 20:57:42 +08:00
Aayush Gupta
704beac68c compose: search: Hide gms filter on anonymous mode
Web API doesn't provides information about dependencies for us to offer this filter

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-25 17:11:01 +08:00
Aayush Gupta
6cdb744099 compose: search: Bring back filters for search results
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-25 16:02:15 +08:00
Aayush Gupta
a464d4e37c compose: details: Show loading and error screen for reviews
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-23 16:50:20 +08:00
Aayush Gupta
daea7ccc53 fixup! compose: details: Specify key for hiltViewModel
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-23 16:45:26 +08:00
Aayush Gupta
c58269c552 compose: search: Request focus on clearing textfield
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-23 12:36:33 +08:00
Aayush Gupta
da50177c57 compose: search: Limit suggestions to 3 with better padding
Align it to SearchBar's default suggestions layout

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-22 16:59:12 +08:00
Aayush Gupta
4f7d744491 compose: search: Use scaffoldNavigator to navigateUp from details
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-22 16:41:56 +08:00
Aayush Gupta
7ecb142b3e compose: search: Switch to new AppBarWithSearch API
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-22 16:35:17 +08:00
Aayush Gupta
ef488ff2b4 NetworkPreference: Only show microG login switch if supported
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-21 16:45:16 +08:00