feature: Allow update of project depending on specific Android API like BlissLauncher3
Description
Update App Lounge to be let it choose which release to download based on Android version
Replacement for !492 (closed)
Screenshots
Technical details
you can check code rabbit stuff below...
Tests
Considering your device is on Android T
-
1. generate a release of BL3 for Android S. Check that this update is not detected -
2. generate the release of BL3 for Android T. Check this update is detected -
3. Install the update ob BL3. It must install the version for Android T. (checked with debug APK that display log): -
4. Check version is installed by looking at version name (only works if it has been updated). In the case of my test, I used a fake release that just bumped the version number to v3.0.2 for android S & v3.0.3 for Android T, and tested with a Android S device. -
5. Check that BlissLauncher works -
6. Reboot, recheck that BL3 works without issue -
7. Update another app which doesn't depend on Android version (mail, eDrive, Notes, etc.) to check there is no regression
adb logcat for test 3
11:11:08.610 undation.e.app D getReleaseDetailsUrl: foundation.e.mail is android dependent: false
11:11:08.610 undation.e.app D releaseType: test
11:11:08.611 undation.e.app D release asset web link: https://gitlab.e.foundation/e/os/mail/-/releases/v6.719/downloads/json/test.json
11:11:08.998 undation.e.app D getReleaseDetailsUrl: foundation.e.pwaplayer is android dependent: false
11:11:08.998 undation.e.app D releaseType: test
11:11:08.998 undation.e.app D release asset web link: https://gitlab.e.foundation/e/os/pwa-player/-/releases/v0.0.2-test2/downloads/json/test.json
11:11:09.483 undation.e.app D getReleaseDetailsUrl: foundation.e.blisslauncher is android dependent: true
11:11:09.483 undation.e.app D Filtering app on -S
11:11:09.483 undation.e.app D Release list's size for 1519 before filtering is: 2
11:11:09.483 undation.e.app D isVersionedTag ? true, tag: v3.0.2-test-s, versioNSuffix: -S
11:11:09.483 undation.e.app D isVersionedTag ? false, tag: v3.0.3-test-t, versioNSuffix: -S
11:11:09.484 undation.e.app D Release list's size for 1519 after filtering is: 1
11:11:09.484 undation.e.app D releaseType: test
11:11:09.484 undation.e.app D release asset web link: https://gitlab.e.foundation/e/os/BlissLauncher3/-/releases/v3.0.2-test-s/downloads/json/test.json
11:11:09.727 undation.e.app D ===>> observeupdate list called
Screen record
debug APK made from this MR
Issues
https://gitlab.e.foundation/e/os/backlog/-/issues/2696
@CodeRabbitAI you can go
Summary by CodeRabbit
-
New Features
- Added support for handling unsupported Android API versions.
- Introduced a new property to indicate if a project depends on a specific Android version.
- Updated API response structure to reflect new data models, including the renaming of
ReleaseInfo
toGitLabReleaseInfo
. - Updated the project to compile against Android SDK version 34.
-
Bug Fixes
- Improved error handling and logging for system app updates.
-
Refactor
- Enhanced clarity and maintainability of the codebase, particularly in fetching and processing system app updates.
Edited by Vincent Bourgmayer