mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
Small fix updateChecker
This commit is contained in:
parent
2c71dde228
commit
f2c981928f
2 changed files with 24 additions and 12 deletions
|
|
@ -35,12 +35,15 @@ class Update extends _$Update {
|
|||
|
||||
@override
|
||||
UpdatesModel build() {
|
||||
final checkForUpdates = ref.watch(clientSettingsProvider.select((value) => value.checkForUpdates));
|
||||
ref.listen(
|
||||
clientSettingsProvider.select((value) => value.checkForUpdates), (previous, next) => toggleUpdateChecker(next));
|
||||
final checkForUpdates = ref.read(clientSettingsProvider.select((value) => value.checkForUpdates));
|
||||
|
||||
if (!checkForUpdates) {
|
||||
_timer?.cancel();
|
||||
return UpdatesModel();
|
||||
}
|
||||
|
||||
ref.onDispose(() {
|
||||
_timer?.cancel();
|
||||
});
|
||||
|
|
@ -56,6 +59,16 @@ class Update extends _$Update {
|
|||
return UpdatesModel();
|
||||
}
|
||||
|
||||
void toggleUpdateChecker(bool checkForUpdates) {
|
||||
_timer?.cancel();
|
||||
if (checkForUpdates) {
|
||||
_timer = Timer.periodic(const Duration(minutes: 30), (timer) {
|
||||
_fetchLatest();
|
||||
});
|
||||
_fetchLatest();
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<ReleaseInfo>> _fetchLatest() async {
|
||||
final latest = await updateChecker.fetchRecentReleases();
|
||||
state = state.copyWith(
|
||||
|
|
|
|||
|
|
@ -44,8 +44,9 @@ class _SettingsUpdateInformationState extends ConsumerState<SettingsUpdateInform
|
|||
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
child: Column(
|
||||
spacing: 8,
|
||||
child: ListView(
|
||||
// spacing: 8,
|
||||
shrinkWrap: true,
|
||||
children: [
|
||||
const Divider(),
|
||||
SettingsListTile(
|
||||
|
|
@ -61,16 +62,14 @@ class _SettingsUpdateInformationState extends ConsumerState<SettingsUpdateInform
|
|||
.update((value) => value.copyWith(checkForUpdates: !checkForUpdate)),
|
||||
),
|
||||
),
|
||||
if (checkForUpdate) ...[
|
||||
if (latestRelease != null)
|
||||
UpdateInformation(
|
||||
releaseInfo: latestRelease,
|
||||
expanded: true,
|
||||
if (latestRelease != null)
|
||||
UpdateInformation(
|
||||
releaseInfo: latestRelease,
|
||||
expanded: true,
|
||||
),
|
||||
...otherReleases.where((element) => element != latestRelease).map(
|
||||
(value) => UpdateInformation(releaseInfo: value),
|
||||
),
|
||||
...otherReleases.where((element) => element != latestRelease).map(
|
||||
(value) => UpdateInformation(releaseInfo: value),
|
||||
),
|
||||
]
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue