Commit Graph

1275 Commits

Author SHA1 Message Date
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
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
Rahul Patel
ff69759634 microg: improve installer state detection 2026-05-12 20:51:21 +05:30
Rahul Patel
53aff0e24f auth: lets keep an eye on microG bundle uninstall 2026-05-11 22:21:23 +05:30
Rahul Patel
2ff098317e appdetails: update app uninstall state & allow reinstalls 2026-05-11 21:52:50 +05:30
Rahul Patel
1abe1c5d20 update filecopyright of recently touched files
- This was done by Gemini Agent, there maybe misattributions.
2026-05-08 22:56:09 +05:30
Rahul Patel
5f380c6185 paging: reuse DEFAULT_PAGE_SIZE 2026-05-08 22:45:50 +05:30
Rahul Patel
346dbd8c41 theme: ktlint fix 2026-05-08 13:25:23 +05:30
Rahul Patel
21e2aabc7a theme: use LocalActivity 2026-05-08 13:10:24 +05:30
Rahul Patel
0b1e0b686a remove deprecated currentWindowAdaptiveInfo() 2026-05-08 02:20:49 +05:30
Rahul Patel
5580bad1e3 installed: improve sluggish app load
The VM was calling PackageUtil.getAllValidPackages(context) eagerly in its
constructor, which Hilt creates on the main thread. The PackageManager IPC
plus a per-app loadLabel() for sorting froze the screen long enough that
the existing ContainedLoadingIndicator never got a chance to render.
2026-05-08 01:49:50 +05:30
Rahul Patel
2073608970 blacklist: fix search & group selected apps under sticky headers 2026-05-08 01:27:35 +05:30
Rahul Patel
3060133485 fix: padding issues I introduced 2026-05-07 16:52:02 +05:30
Rahul Patel
0d480f5d0d theme: fix OEM skin edgecases 2026-05-07 16:06:32 +05:30
Rahul Patel
ec3427c785 appdetails: add back view on playstore action 2026-05-06 14:08:36 +05:30
Rahul Patel
fba6c4a8df compose: add scroll hint to all lazy columns + improve padding 2026-05-06 06:56:35 +05:30
Rahul Patel
b2d10c17b4 pager: do not skip next batch if current batch yields no valid apps 2026-05-06 04:33:29 +05:30
Rahul Patel
1484e0f24b pager: do not skip first batch of packages + fix indexoutofbound exception 2026-05-06 03:15:10 +05:30
Rahul Patel
49718f8723 fix: allow importing favourite app even if list is empty 2026-05-06 02:28:12 +05:30
Rahul Patel
0c1786e77b microg: Improve bundle installation state & UX 2026-05-06 01:17:05 +05:30
Rahul Patel
20dabbe9b4 fix: exporting installed apps from download manager 2026-05-05 22:20:39 +05:30
Aayush Gupta
afb301d3ce compose: Extract force restart dialog logic into separate file
We also require users to force restart on applying proxy. This logic can be reused
there when migrated to compose.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-05-05 11:47:58 +08:00
Rahul Patel
de88411d63 fix: restart app on external storage permission grant 2026-05-03 18:09:28 +05:30
Aayush Gupta
3584853bb8 Merge branch 'gabr/StopOnVerifyFailure' into 'master'
Don't try to install if verifyFile fails

See merge request AuroraOSS/AuroraStore!550
2026-05-01 14:48:02 +08:00
ggabr
b1c932b7d6 Don't try to install if verifyFile fails 2026-05-01 14:48:02 +08:00
Rahul Patel
44728a160c microg: update version 2026-05-01 00:05:34 +05:30
Rahul Patel
8fdc560907 appdetails: improve ui states 2026-04-27 21:08:04 +05:30
Aayush Gupta
bf5a667232 Replace preview template logic with new provider annotation
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-26 10:55:43 +08:00
Aayush Gupta
40471c15a9 compose: commons: Migrate stream browse fragment to compose
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-14 11:44:45 +08:00
Aayush Gupta
6753667c85 app: Reformat using ktlint
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-08 17:17:42 +08:00
Aayush Gupta
2d6f2168c8 AppInstaller: Check if microG services enable app installer or not
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-08 17:14:20 +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