Commit Graph

123 Commits

Author SHA1 Message Date
Rahul Patel
a68d1b276d Add optional app lock behind biometric or device credential
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.
2026-05-30 15:25:27 +05:30
Rahul Patel
d13d50e442 Surface self-updates through the regular updates list
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.
2026-05-29 23:28:09 +05:30
Rahul Patel
59d297386c compose: trim themes, attrs and gradle deps for compose-only UI
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.
2026-05-19 12:14:44 +05:30
Rahul Patel
e9be2c8293 4.8.3 2026-05-13 21:08:01 +05:30
Aayush Gupta
6041672003 Bump target SDK to Android 17
Also specify minor API level for compile SDK

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-05-05 11:15:19 +08:00
Aayush Gupta
ecfbe20722 Upgrade to AGP 9.2.0
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>
2026-05-05 11:12:18 +08:00
Aayush Gupta
60d732e6fe gradle: Specify compile SDK using the new DSL
Ref: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/37141

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-26 22:06:14 +08:00
Aayush Gupta
75ba09af32 4.8.2
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-26 11:14:13 +08:00
Aayush Gupta
87f563da70 Bump compile SDK to Android 17
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-15 14:50:23 +08:00
Aayush Gupta
a1d15f16bd compose: SearchScreen: Use random UUID as keys
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>
2026-04-08 16:08:02 +08:00
Rahul Patel
b095b66f7a 4.8.1 2026-02-16 21:30:27 +05:30
Aayush Gupta
e98e1a26e1 Downgrade to AGP 8.13.2
Building is broken on ecnrypted linux

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-13 17:15:47 +08:00
Aayush Gupta
ed2a316b4e Upgrade AGP to 9.0.0
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-01-29 19:10:10 +08:00
Aayush Gupta
2ef5cad4bb 4.8.0
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-01-09 00:32:59 +08:00
Aayush Gupta
b5b73f557b ktlint: Setup and format kotlin scripts
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-12-30 11:29:52 +08:00
Aayush Gupta
41b12cfbd8 Bump all dependencies to latest stable release
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-11-30 18:49:00 +08:00
Aayush Gupta
b279e14d29 Specify JDK toolchain directly
Specifying JDK toolchain in the java block lets us avoid specifying
same version again and again for different options while ensuring everything
is on the same version

Ref: https://developer.android.com/build/jdks#toolchain

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-10-25 00:41:13 +08:00
Aayush Gupta
e1b3f5be73 compose: downloads: Initial migration
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-09-16 15:49:56 +05:30
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
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
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
cf75e9f9f1 REUSE compliance [1/*]
Resolve license and copyright issues for all files other than the "app/" module

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-21 14:45:44 +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
1e4820d53d Bump minSdk to API 23 with latest dependencies
androidx now requires API 23

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:14:42 +08:00
Aayush Gupta
097f5a7375 compose: Initial migration of AppDetails* logic to compose [2/*]
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>
2025-08-20 10:14:40 +08:00
Aayush Gupta
f6f858e9f5 compose: Initial migration of AppDetails* logic to compose [1/*]
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-08-20 10:13:29 +08:00
Rahul Patel
9ccbd62df0 4.7.5 2025-08-19 13:35:57 +05:30
Aayush Gupta
d43dcd065c 4.7.4
Also add missing changelog for 4.7.3 in fastlane dir

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-07-28 14:52:10 +08:00
Rahul Patel
3dc3c2a452 4.7.3 2025-07-14 16:02:42 +05:30
Aayush Gupta
31b1567c86 gradle: Limit huawei maven repo to coreservice
* 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>
2025-07-07 14:27:08 +08:00
Rahul Patel
aea945491d Allow huawei variants to install microG & support silent installs. 2025-07-05 14:59:41 +05:30
Aayush Gupta
9c00b1e340 Bump to latest stable Kotlin and KSP releases
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>
2025-06-26 13:30:31 +08:00
Aayush Gupta
5db149f438 4.7.2
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-06-09 11:54:02 +08:00
Aayush Gupta
c21c810f51 gradle: Mark vanilla as the default flavour
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-05-28 21:08:34 +08:00
Rahul Patel
ce119461f1 add new preload variant 2025-05-24 14:43:25 +05:30
Rahul Patel
6fa3be22dd Add flavours 2025-05-23 12:01:47 +05:30
Aayush Gupta
041745b757 4.7.1
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-05-21 15:59:24 +08:00
Aayush Gupta
eda01a6ec0 Switch from gson to kotlinx.serialization
Kotlin offers better null and type safety compared to gson

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-05-19 19:23:15 +08:00
Rahul Patel
3119a043f9 add last commit hash to nightly build versions 2025-04-26 19:08:05 +05:30
Aayush Gupta
366eabb412 gradle: Bump target SDK to 36
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-03-19 12:56:16 +08:00
Aayush Gupta
71c0eec883 gradle: Bump compileSdk to 36
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-03-19 11:39:26 +08:00
Aayush Gupta
c2e5a57f59 4.7.0
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-03-19 11:15:53 +08:00
Aayush Gupta
a9b2f0acf2 compose: Replicate BlacklistFragment in compose
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>
2025-02-16 15:07:47 +08:00
ggabr
68628e8fd0 Export the database schema
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.
2025-02-16 07:34:24 +01:00
Aayush Gupta
91bf99c31c gradle: Enable java language 21 features
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-01-13 12:37:03 +07:00
Aayush Gupta
cf6af4c9d9 4.6.4
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-01-09 00:29:26 +07:00
Aayush Gupta
2cf63309fa 4.6.3
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-12-23 15:30:35 +07:00
Rahul Patel
baaac89662 Restart app post onboarding 2024-12-01 19:02:09 +08:00
Aayush Gupta
2e8db03b11 Upgrade to coil3
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-11-14 11:43:17 +03:00
Aayush Gupta
00e8425005 gradle: Disable dependency information for play console
Aurora Store isn't available on Google Play (yet)

Ref: https://developer.android.com/build/dependencies#dependency-info-play
Ref: https://apt.izzysoft.de/fdroid/index/info#signingblock

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-11-06 10:50:20 +05:30