Commit Graph

1053 Commits

Author SHA1 Message Date
Aayush Gupta
0790f7671c fixup! Initial support for third-party dispensers
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-09 20:50:40 +05:30
Aayush Gupta
925cfac7c9 Add details about Aurora Store in welcome and about fragments
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-09 20:45:33 +05:30
Aayush Gupta
60f3c7ce06 AuthViewModel: Fix issue with google play version code being -1
* Migrate existing users to default version code if they have -1 set
* Also add issue IDs infront of migrations if available

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-02 14:58:50 +05:30
Aayush Gupta
6bf75bb68a AccountFragment: Throw users on splashFragment on logout
We have multiple checks implemented at this point in splashFragment to ensure
proper validation and navigation. If a user logs out and hits back button, he still
gets to browse Aurora Store which is an unintended behaviour.

Instead of handling same logic twice everywhere, make AccountFragment minimal and only
handle logging out here.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 13:42:40 +05:30
Aayush Gupta
3fb0c45574 AboutFragment: Rearrange links to prioritise support URLs
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 11:24:39 +05:30
Aayush Gupta
dd5f443e1f AboutFragment: Add link to GitLab wiki
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 11:16:47 +05:30
Aayush Gupta
89a060e3cd SplashFragment: Load launcher icon directly
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 10:54:03 +05:30
Aayush Gupta
75a5f51967 SplashFragment: Add menu button to about fragment
Instead of showing version below login buttons (that for some reason has never been shown),
link about fragment in the menu button which provides more information.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 10:45:58 +05:30
Aayush Gupta
446b8213ee DispenserFragment: Show info if no dispensers are available
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 10:28:20 +05:30
Aayush Gupta
453f6f24c2 Initial support for third-party dispensers
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-01 09:46:20 +05:30
Aayush Gupta
9004aa6df8 AppInstaller: Check if aurora services is also enabled
This ensures that users aren't shown Aurora Services as a valid installer
in case it is disabled by user or system.

* Also hardcode the required version to be 9 or above as it is the case right now.

Test: adb shell pm disable com.aurora.services

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-31 17:56:44 +05:30
Aayush Gupta
358e81e67e UIPreference: Hide accent color preference on Android 12+ devices
Android 12 and above devices have system based accent color system known as monet
that is highly customizable compared to our offerings.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-31 15:59:18 +05:30
Aayush Gupta
ac2345254d CleanCacheWorker: Rename to CacheWorker for simplicity
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-31 15:59:18 +05:30
Aayush Gupta
45e92d3efe UpdateWorker: Drop non-required foregroundInfo method
We are not an expedited nor in foreground, no need to have foregroundInfo method
with an ongoing notification.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-31 15:59:18 +05:30
Aayush Gupta
fc6c5b0307 CleanCacheWorker: Don't allow configuring cache duration
6 hours is ample time to do anything a user would like to do

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-31 15:59:18 +05:30
Aayush Gupta
687a7c1540 MigrationReceiver: Add logic to do migrations on version bumps
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-31 15:59:18 +05:30
Aayush Gupta
58ffbd6017 OnboardingFragment: Set default theme and accent color again
Summary provider behaves weird otherwise and doesn't loads default preference

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-21 18:38:28 +05:30
Aayush Gupta
59b7c17c5b AppLinksFragment: Drop amazon appstore links support
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-21 18:36:21 +05:30
Aayush Gupta
a655358e47 NotificationUtil: Use download object available from parcel
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-21 18:06:25 +05:30
Aayush Gupta
e338146e9e fixup! SessionInstaller: Rework installation queue logic
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-21 17:46:25 +05:30
Aayush Gupta
d901948475 AppDetailsFragment: Flip download button on permission denial
If storage permissions are required and aren't granted, fallback to install button.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-20 21:24:25 +05:30
Aayush Gupta
07e09eeb18 FilterProvider: Inject and manage instances using hilt
This also switchers to default gson instance without any modifier
changes fixing issues happening with missing params.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-20 21:12:04 +05:30
Aayush Gupta
c23f054d3e SessionInstaller: Rework installation queue logic
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-20 20:35:59 +05:30
Aayush Gupta
3d15818b07 Don't run post-install steps for shared libs
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-20 19:18:54 +05:30
Aayush Gupta
e2aa5e6b1d DownloadConverter: Inject gson instance using hilt
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-20 14:40:49 +05:30
Aayush Gupta
38c6c704d7 SessionInstaller: Clear enqueued installs properly
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-15 16:05:05 +05:30
Aayush Gupta
d0542c1a8b SplashFragment: Remove toolbar instead of hiding it
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-10 13:02:35 +05:30
Aayush Gupta
128ae7f3d5 OnboardingFragment: Skip onboarding for TV
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 20:21:10 +05:30
Aayush Gupta
b5bde9d3a3 PermissionsFragment: Handle missing activity to grant storage manager perm on ATV
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 18:09:12 +05:30
Aayush Gupta
692cda2226 PackageUtil: Check for Android TV using recommended way
Ref: https://developer.android.com/training/tv/start/hardware.html#runtime-check

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 18:01:56 +05:30
Aayush Gupta
0a514444ef PackageUtil: Use longVersion on API level 28 for shared library
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 17:46:17 +05:30
Aayush Gupta
d61c3342a7 InstallerFragment: Rename and relocate method to get available installer info
* Keep all installer related code to AppInstaller as much as possible

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 16:22:36 +05:30
Aayush Gupta
450cc0b6d2 InstallerFragment: Don't suggest unavailable installers
Other than Session and Native, all installers require third-party apps. No need to pollute
installers list with them if they are unavailable as users often gets confused otherwise.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 15:56:04 +05:30
Aayush Gupta
1a7ed40ba9 OnboardingFragment: Rearrange permission fragment before app links
* Permissions are more important compared to app links

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 15:51:47 +05:30
Aayush Gupta
196f9d00c5 InstallerFragment: Relocate to settings instead of onboarding
* This makes onboarding minimal and only required screens are shown
* SessionInstaller is the recommended choice, user who needs a different can configure in settings
* Instead of showing minimal list, show installer fragment that contains more information
* Also show all installers like before

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 15:44:15 +05:30
Aayush Gupta
72ae9f5ec0 DevProfileFragment: Drop unused authData variable
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 14:53:10 +05:30
Aayush Gupta
6cba36f2e3 Drop unused preferences and variables
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 14:51:10 +05:30
Aayush Gupta
a38d2dca46 InstallationPreference: Use checks from AppInstaller class instead
No need to duplicate same code

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 14:37:08 +05:30
Aayush Gupta
8360274841 installer: Inject all installers using hilt
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-08 14:33:25 +05:30
Aayush Gupta
933b7b6886 DeviceOwnerReceiver: Add minimal support for device owner API
SessionInstaller can commit silent installs if the app is device owner. Implemented on
request of users.

This still needs user to set the app as device owner manually using ADB (only possible
if the device has no accounts setup yet).

Co-authored-by: Syuugo <pub@s1204.me>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-07 13:21:23 +05:30
Aayush Gupta
00532f200e DownloadWorker: Better handle individual file progress updates
* Don't filter InputStream updates as we are already guarding UI updates against total progress
* Update downloadedBytes based on bytesCopied to reflect real progress
* Use collect instead of collectLatest to ensure all updates from flow are handled

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-06 13:01:05 +05:30
Aayush Gupta
1b3554e695 ServiceInstaller: Run post-installation steps on Aurora Services too
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-04 17:01:50 +05:30
Aayush Gupta
f98c2ba5fd NativeInstaller: Start activity on UI thread
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-04 14:48:01 +05:30
Aayush Gupta
8f4995221a Move post-installation steps to AppInstaller class
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-04 14:48:01 +05:30
Aayush Gupta
f7667c17aa NotificationUtil: Load install notification icon from package locally
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-04 13:32:33 +05:30
Aayush Gupta
43e11dac88 InstallerService: Drop unused installer service class
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-04 13:32:33 +05:30
Aayush Gupta
8b1830d5d5 fixup! SessionInstaller: Open write sessions with packageName only
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-04 11:38:15 +05:30
Aayush Gupta
58e615befb DownloadWorkerUtil: Also delete old download directories when clearing downloads
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-02 20:12:39 +05:30
Aayush Gupta
68733e1ec1 DownloadPreference: Add a worker to regularly clear downloads cache
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-02 20:12:39 +05:30
Aayush Gupta
43e63a9452 InstallActivity: Unregister session callback onDestroy
Also finish activity if a valid download is not present

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-02 14:27:15 +05:30