Commit Graph

5148 Commits

Author SHA1 Message Date
Rahul Patel
572387d7b5 downloads: minor syntax change 2026-05-20 01:30:33 +05:30
Rahul Patel
b84f3a3fa9 updates: fix stale UI states & cancel-all coverage
- AppUpdateItem now shows a disabled "Installing" button while the
  download is COMPLETED and awaiting install, instead of briefly
  reverting to "Update" between download-done and InstallerEvent.Installed.
- Section header replaces all-or-nothing "Update all" toggle with an
  any-active check, so "Cancel all" appears as soon as a single update
  is in flight. Same treatment for the ownership-approval section.
- Empty placeholder no longer hides the ignored-updates list when there
  are no live updates.
- DownloadHelper.cancelAll also flips COMPLETED -> CANCELLED so the
  Cancel-all button gives immediate feedback for pending-install rows.
- DownloadListItem: surface the failed icon for FAILED downloads too.
2026-05-20 01:21:19 +05:30
Rahul Patel
91fc4d714a network: hoist status into CompositionLocal and promote sheet to screen
Collect NetworkProvider.status once at the activity root and expose it via
LocalNetworkStatus so any screen can read it without injecting the provider.
Drop the redundant networkProvider field from MainViewModel and AuthViewModel.
NetworkSheet becomes a full-screen NetworkScreen with the same content.
2026-05-20 00:53:03 +05:30
Rahul Patel
0391adf82f appdetails: add back error sheet
- I intend to use this sheet to offer possible workarounds/solutions later.
- Just future proofing
2026-05-19 23:32:13 +05:30
Rahul Patel
fa0e3c53d1 screenshots: filter out dupes & used stable id 2026-05-19 22:49:38 +05:30
Rahul Patel
8c51175312 downloads: improve ui 2026-05-19 22:37:26 +05:30
Rahul Patel
5c6bcd6361 compose: housekeeping 2026-05-19 16:40:37 +05:30
Rahul Patel
c4bc76e2a4 extention: remove unused duplicate function 2026-05-19 14:39:29 +05:30
Rahul Patel
8f0bf55714 updates: granular installer filters + advanced-section move
- New SourceFiltersScreen with All toggle + add/remove of specific
  installer package names. Backed by PREFERENCE_FILTER_INSTALLERS
  (Set<String>); PREFERENCE_FILTER_AURORA_ONLY preserved as the All
  switch for backward compat.
- UpdateWorker reads installer via getInstallSourceInfo (R+) / falls
  back to deprecated getInstallerPackageName below.
- UpdatesPreferenceScreen: "Filter F-Droid apps" moved to Advanced;
  "Filter apps from other sources" becomes a navigation row to the
  new sub-screen with a state summary.
2026-05-19 12:14:59 +05:30
Rahul Patel
106779737c updates: switch frequency slider to discrete preset chooser
Replace the 1-24h slider with a SingleChoiceDialog listing 7 presets
(3h, 6h, 12h, 24h, 3d, 7d, 15d). Storage stays as an Int hour count
under the same preference key, so old values keep working; off-preset
values display as the nearest preset but are only overwritten when the
user picks something new.
2026-05-19 12:14:59 +05:30
Rahul Patel
1e191e13c8 updates: revamp updates UX
- Group updates into main / approval-required / incompatible / ignored
- New ignored_update table (v8) with per-version skip support
- isIncompatible flag on pristine system apps for HyperOS / GrapheneOS (v7)
- requiresOwnershipTransfer() runtime check on Android 14+
- Rename AppMenuSheet -> AppUpdateSheet; drop MinimalApp, nav carries Update
- Trim AppUpdateItem (no changelog dropdown / long-click)
- Fix DownloadHelper.downloadsList recomposition flicker (stable StateFlow)
- ExportWorker is now download-only
2026-05-19 12:14:59 +05:30
Rahul Patel
f5ef5e71e9 appdetails: add back app suggestions 2026-05-19 12:14:59 +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
ac9eb055e4 legacy: remove XML layouts, menus and preference graphs
Deletes res/layout/*, res/menu/*, the mobile_navigation graph,
preference_*.xml screens, and the fade in/out anims plus the
material-switch color selector. The Compose screens own all of
this rendering now.
2026-05-19 12:14:28 +05:30
Rahul Patel
6dc1cf2a8c legacy: remove fragment-based screens and sheets
Drops every Fragment, DialogFragment and BottomSheet in view/ui plus
the flavoured SplashFragment variants. All call sites now route
through compose/ui equivalents and ComposeActivity.
2026-05-19 12:14:03 +05:30
Rahul Patel
fef75cb5b3 legacy: remove Epoxy views and custom view layouts
Drops the Epoxy carousel controllers, view models, shimmer placeholders,
custom layouts (ActionHeader, StateButton, UpdateButton) and bespoke
preference helpers, all now superseded by the Compose composables.
2026-05-19 12:13:42 +05:30
Rahul Patel
0270dc6f39 compose: migrate remaining screens and fix category browse
CategoryBrowseScreen and ExpandedStreamBrowseScreen are added; the
details / dev / dispenser / downloads / favourite / installed /
search / spoof / blacklist / accounts / about screens, StreamBrowse,
the onboarding MicroG page, the AppDetailsScreen plus the affected
viewmodels (AuthViewModel, ExpandedStreamBrowse, CategoryStream,
TopChart) are reworked to feed the new Compose entry points.

Also fixes CategoryBrowse pagination and the cluster-header
navigation regressions surfaced during migration.
2026-05-19 12:13:20 +05:30
Rahul Patel
f2474cfb91 compose: overhaul SplashScreen and add GoogleLoginScreen
SplashScreen reacts to NetworkProvider and ditches the separate
SplashButton class for inline buttons. Google sign-in moves into the
dedicated GoogleLoginScreen reachable from the splash flow.
2026-05-19 12:12:42 +05:30
Rahul Patel
0c60df635f compose: add NetworkSheet, MoreSheet and AppMenuSheet
NetworkSheet replaces the legacy NetworkDialogSheet with a persistent
modal that reacts to NetworkProvider status. MoreSheet hosts the
account / settings / about entry points. AppMenuSheet provides the
per-app long-click menu (blacklist, uninstall, export, info).
2026-05-19 12:12:23 +05:30
Rahul Patel
9e0a4ffee7 compose: migrate preferences screens
Settings, UI, Installation, Network and Updates preference panes are
now native Compose. Replaces the old PreferenceFragment XML hierarchy
with explicit ListItem / Switch / dialog rows.
2026-05-19 12:12:01 +05:30
Rahul Patel
9a1191ecf8 compose: add UpdatesScreen with pull-to-refresh
Renders the cached update list, exposes per-row update / cancel
actions, and supports the bulk Update-All header. Pull-to-refresh
triggers an expedited UpdateWorker check.
2026-05-19 12:11:41 +05:30
Rahul Patel
8d3eb1176e compose: build MainScreen and the apps/games tabs
MainScreen hosts the bottom-nav between Apps / Games / Updates with a
HorizontalPager. The Apps/Games host (AppsGamesScreen) carries the
For You / Top Charts / Categories sub-tabs implemented as separate
pages.
2026-05-19 12:11:23 +05:30
Rahul Patel
baf593bd51 compose: rewire navigation as the single entry point
ComposeActivity becomes the sole launch target; the legacy MainActivity
is removed. Destination / Screen pair drives navigation3, NavDisplay
handles deep links plus microG-aware resume rechecks, and Theme.kt
is tightened for edge-to-edge.
2026-05-19 12:10:59 +05:30
Rahul Patel
7617a9b953 compose: add StateFlow/LiveData collectForced helpers
Bridges Flows whose values have broken equals() (the gplayapi
StreamBundle/StreamCluster id-only-equals quirk) into Compose state by
forcing recomposition via neverEqualPolicy.
2026-05-19 12:10:06 +05:30
Rahul Patel
2137710012 compose: add stream and app item composables
StreamCarousel for cluster-based home/category lists, CategoryItem grid
tile, and AppUpdateItem for the updates list. AnimatedAppIcon plus the
existing AppListItem and LargeAppListItem are adjusted to fit the new
call sites.
2026-05-19 12:09:51 +05:30
Rahul Patel
d12cd77e17 compose: add shared composable foundations
EmptyState, SectionHeader, Shimmer placeholders; TopAppBar and
ScrollHint refinements to support the migrated screens.
2026-05-19 12:09:33 +05:30
jonnysemon
6c9f80ad7d Translated using Weblate (Arabic)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/ar/
2026-05-18 07:11:37 +02:00
Mirosław Żylewicz
7a0d2afea7 Translated using Weblate (Polish)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/pl/
2026-05-18 07:11:36 +02:00
Andrey
72b6ae18b4 Translated using Weblate (Russian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/ru/
2026-05-18 07:11:35 +02:00
cyberboh
435ba7400c Translated using Weblate (Indonesian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/id/
2026-05-18 07:11:34 +02:00
Priit Jõerüüt
1e76c24fd5 Translated using Weblate (Estonian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/et/
2026-05-18 07:11:32 +02:00
439JBYL80IGQTF25UXNR0X1BG
63a1581ff3 Translated using Weblate (Russian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/ru/
2026-05-17 00:12:21 +02:00
Mato
1905f5db8b Translated using Weblate (Slovak)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/sk/
2026-05-17 00:12:21 +02:00
Ghost of Sparta
a724937170 Translated using Weblate (Hungarian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/hu/
2026-05-15 15:11:41 +02:00
LucasMZ
f8cb9d7271 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/pt_BR/
2026-05-15 15:11:40 +02:00
AO yahoe.001
63aa3a2b5b Translated using Weblate (French)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/fr/
2026-05-15 15:11:39 +02:00
Dan
c7788b540e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/uk/
2026-05-15 15:11:38 +02:00
ezn24
9831a752d8 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/zh_Hant/
2026-05-15 15:11:36 +02:00
Guzleon
b7932b2fbf Translated using Weblate (Spanish)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/es/
2026-05-15 15:11:35 +02:00
Eder Etxebarria Rojo
c3ec2123de Translated using Weblate (Basque)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/eu/
2026-05-15 15:11:34 +02:00
ssantos
ad09172c27 Translated using Weblate (Portuguese)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/pt/
2026-05-15 15:11:33 +02:00
ojppe
4a2caa11f0 Translated using Weblate (Dutch)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/nl/
2026-05-14 01:11:59 +02:00
Priit Jõerüüt
a2a76e41ec Translated using Weblate (Estonian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/et/
2026-05-14 01:11:58 +02:00
Oğuz Ersen
2742a12ddc Translated using Weblate (Turkish)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/tr/
2026-05-14 01:11:57 +02:00
Besnik Bleta
cf63fdb799 Translated using Weblate (Albanian)
Currently translated at 98.9% (481 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/sq/
2026-05-14 01:11:56 +02:00
Mickaël Binos
c7189e49ec Translated using Weblate (French)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/fr/
2026-05-14 01:11:55 +02:00
VfBFan
e0b165624a Translated using Weblate (German)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/de/
2026-05-14 01:11:54 +02:00
bittin1ddc447d824349b2
c5fee36ff8 Translated using Weblate (Swedish)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/sv/
2026-05-14 01:11:53 +02:00
大王叫我来巡山
7b4b50ed62 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/zh_Hans/
2026-05-14 01:11:52 +02:00
Fjuro
37995d4b59 Translated using Weblate (Czech)
Currently translated at 100.0% (486 of 486 strings)

Translation: Aurora Store/Android
Translate-URL: https://hosted.weblate.org/projects/aurora-store/aurorastore-translations/cs/
2026-05-14 01:11:51 +02:00