Commit Graph

693 Commits

Author SHA1 Message Date
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
Aayush Gupta
65fc2a2dbd SessionInstaller: Open write sessions with packageName only
This allows to open same sessions multiple times when required untill it's
abandoned. Also specifiy file length as it is known.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-02 13:24:33 +05:30
Aayush Gupta
a75838a57d AuroraApp: Switch from GlobalScope to MainScope
Use MainScope instead of GlobalScope managed in the application class

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-02 12:22:06 +05:30
Aayush Gupta
4a109fa164 DownloadFragment: Display downloads in reversed order
Latest downloads should always be on top to allow users to easily manage them.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-30 18:37:37 +05:30
Aayush Gupta
3918fc199d GoogleFragment: Update EMBEDDED_SETUP_URL
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-24 09:06:32 +05:30
Aayush Gupta
b48cc00cbe MoreDialogFragment: Better theme and color handling
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-19 12:18:45 +05:30
Aayush Gupta
92771bbaec DownloadMenuSheet: Allow to export downloaded files
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-16 12:04:32 +05:30
Aayush Gupta
5f714e624b MainActivity: Use NavigationRail on large screen devices
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-16 10:45:14 +05:30
Aayush Gupta
c3963519e0 MainActivity: Move navigation drawer items into dialogfragment
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-16 10:37:38 +05:30
Aayush Gupta
b85b2afd35 AboutFragment: Format app version name and code properly
Appending version code to name confuses users regarding version they are using.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-04 13:51:38 +05:30
Aayush Gupta
687b8f0e68 Constants: Drop unused variables
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-04-04 13:46:39 +05:30