mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-07-24 01:49:41 +02:00
"Check updates on start" toggle
This commit is contained in:
@@ -52,6 +52,9 @@ class AppsPageState extends State<AppsPage> {
|
||||
}
|
||||
}
|
||||
|
||||
final GlobalKey<RefreshIndicatorState> _refreshIndicatorKey =
|
||||
GlobalKey<RefreshIndicatorState>();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var appsProvider = context.watch<AppsProvider>();
|
||||
@@ -61,6 +64,27 @@ class AppsPageState extends State<AppsPage> {
|
||||
var currentFilterIsUpdatesOnly =
|
||||
filter.isIdenticalTo(updatesOnlyFilter, settingsProvider);
|
||||
|
||||
refresh() {
|
||||
HapticFeedback.lightImpact();
|
||||
setState(() {
|
||||
refreshingSince = DateTime.now();
|
||||
});
|
||||
return appsProvider.checkUpdates().catchError((e) {
|
||||
showError(e, context);
|
||||
}).whenComplete(() {
|
||||
setState(() {
|
||||
refreshingSince = null;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (!appsProvider.loadingApps &&
|
||||
appsProvider.apps.isNotEmpty &&
|
||||
settingsProvider.checkJustStarted() &&
|
||||
settingsProvider.checkOnStart) {
|
||||
_refreshIndicatorKey.currentState?.show();
|
||||
}
|
||||
|
||||
selectedAppIds = selectedAppIds
|
||||
.where((element) => listedApps.map((e) => e.app.id).contains(element))
|
||||
.toSet();
|
||||
@@ -315,7 +339,7 @@ class AppsPageState extends State<AppsPage> {
|
||||
?.isBefore(refreshingSince!) ??
|
||||
true))
|
||||
.length /
|
||||
appsProvider.apps.length,
|
||||
(appsProvider.apps.isNotEmpty ? appsProvider.apps.length : 1),
|
||||
),
|
||||
)
|
||||
];
|
||||
@@ -1019,19 +1043,8 @@ class AppsPageState extends State<AppsPage> {
|
||||
return Scaffold(
|
||||
backgroundColor: Theme.of(context).colorScheme.surface,
|
||||
body: RefreshIndicator(
|
||||
onRefresh: () {
|
||||
HapticFeedback.lightImpact();
|
||||
setState(() {
|
||||
refreshingSince = DateTime.now();
|
||||
});
|
||||
return appsProvider.checkUpdates().catchError((e) {
|
||||
showError(e, context);
|
||||
}).whenComplete(() {
|
||||
setState(() {
|
||||
refreshingSince = null;
|
||||
});
|
||||
});
|
||||
},
|
||||
key: _refreshIndicatorKey,
|
||||
onRefresh: refresh,
|
||||
child: CustomScrollView(slivers: <Widget>[
|
||||
CustomAppBar(title: tr('appsString')),
|
||||
...getLoadingWidgets(),
|
||||
|
Reference in New Issue
Block a user