Commit Graph

1255 Commits

Author SHA1 Message Date
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
Aayush Gupta
0ff43042a0 fixup! compose: details: Adjust adaptive screens based on latest alpha changes
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-21 16:36:40 +08:00
Aayush Gupta
e324e9d69c Drop non-required SDK level checks for Android 6.0
Minimum supported version is now Android 6.0

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-21 16:35:16 +08:00
Aayush Gupta
2f93879c1d compose: navigation: Migrate from navigation2 to navigation3
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-21 15:59:31 +08:00
Aayush Gupta
7f41ad0923 compose: details: Specify key for hiltViewModel
This ensures that hilt doesn't reuses ViewModel for another app with another one.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-21 15:16:47 +08:00
Aayush Gupta
94c5f90fbb compose: details: Adjust adaptive screens based on latest alpha changes
* WindowWidthSizeClass is deprecated, switch to WindowSizeClass and breakpoints instead with flipped logic
* Specify a dragHandle and adaptStratergy for supporting pane to levitate on single pane screens

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 17:23:11 +08:00
Aayush Gupta
ade4a2d7e9 DownloadWorker: Address lint warning regarding response being non-null
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
a9afd0785e compose: Drop all optin for experimental APIs
Too many of them at this point. Simply set them in compiler arguments
and revisit to remove after 2-3 years.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
0432dc0f00 compose: Remove epoxy and view related logic for searching
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
62e81da258 compose: Initial migration of searching logic to compose
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
458b984a06 compose: AppDetailsScreen: Merge ScreenContentApp logic into one function
Makes paramater hell a bit easier to manage

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
f8983c6744 details: Adapt for changes related to microg warning
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
6cd57c2454 extensions: Drop unused extensions
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
cd5da2b83c BaseFragment: Drop unused app parameter
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
2bb3bbec0c view: Drop logic related to details
This has been moved to compose

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00