Implements a full app lock (issue #1313) gating Aurora Store behind the
device biometric or, where unavailable, the screen-lock credential
(PIN/pattern/password) so it also works on TVs and older phones.
- AppLockManager: process-scoped, in-memory lock state so a cold start is
always locked, with a short background grace timeout to avoid
re-prompting during the install dialog or the biometric sheet itself.
- AppLockAuthenticator: BiometricPrompt wrapper using
BIOMETRIC_STRONG | DEVICE_CREDENTIAL on API 30+ and
setDeviceCredentialAllowed on older releases, plus an enrollment check.
- ComposeActivity (now a FragmentActivity) gates content via a three-state
machine (AUTHENTICATING/LOCKED/UNLOCKED); the authenticating state shows
a blank surface behind the prompt so dismissing it never flashes the
lock card. Re-locks on return past the timeout and sets FLAG_SECURE
while locked.
- Toggle lives on a dedicated Security preference screen, reached from
Settings like the other preference entries.
Fold Aurora Store's self-update back into the existing update pipeline
instead of a dedicated sheet/viewmodel/helper. The feed entry is mapped
to a regular App and added to the update list, reusing the standard
download + install path; it is never auto-installed silently.
- Add a dedicated "Self-update" section in the Updates tab with the
app-details navigation disabled (it's served from the Aurora OSS feed).
- Gate eligibility via PackageUtil.isSelfUpdateSupported(): vanilla/preload
flavors, not debug, not F-Droid (huawei excluded by flavor).
- Add a build-aware Settings toggle as the opt-out, removing the row
immediately when disabled.
- Exempt nightly self-updates from deleteInvalidUpdates (static version
code) and drop any stale self-update row when none is offered, so a
phantom update doesn't linger after a self-install.
Drops the legacy AuroraTheme styles, custom attrs and now-unused
styles_widget/styles_text overlays. Updates the dark/light themes,
strings, arrays, dimens and colors to match what the Compose screens
consume. Adds ic_logo_alt and tweaks the launcher/logo drawables.
Trims gradle dependencies tied to the removed Fragment/Epoxy stack.
Building is still broken on encrypted linux file systems but that's seems to be not a priority
for Google to fix
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Server can send same package again as we are filtering through different bundles. Keys are basically
packageName's hashcode, so they can end up as being similar and crash the app.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
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>
Deprecate setting to hide similar and related apps as they will be always
listed in the suggestions pane on widescreen devices
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
* We don't want any more modules from huawei's maven repo except coreservice
* Rename libs syntax to be more clear about developer
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Disable KSP2 using the experimental parameter. We still cannot update room
library as that conflicts with epoxy. The goal remains to drop epoxy after
migrating to jetpack compose.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Introduce a new activity to host composables as View system behaves
quite bad when composable are used inside it.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Also set .gitlab-ci.yml to publish them at every build for convenience.
The exports should be committed (manually) to the git repository right after an
increase in database version.
Having the exports enables using autoMigrations when possible, for the future
database migrations.