From df02292338d6a0a9406b094cea4cd0f3eae62529 Mon Sep 17 00:00:00 2001 From: 21pages Date: Sat, 19 Aug 2023 15:17:13 +0800 Subject: [PATCH] restore online status after pullAb Signed-off-by: 21pages --- flutter/lib/models/ab_model.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/flutter/lib/models/ab_model.dart b/flutter/lib/models/ab_model.dart index 491dae33b..03e08434f 100644 --- a/flutter/lib/models/ab_model.dart +++ b/flutter/lib/models/ab_model.dart @@ -93,6 +93,8 @@ class AbModel { } catch (e) {} final data = jsonDecode(json['data']); if (data != null) { + final oldOnlineIDs = + peers.where((e) => e.online).map((e) => e.id).toList(); tags.clear(); peers.clear(); if (data['tags'] is List) { @@ -106,6 +108,11 @@ class AbModel { if (isFull(false)) { peers.removeRange(licensedDevices, peers.length); } + // restore online + peers + .where((e) => oldOnlineIDs.contains(e.id)) + .map((e) => e.online = true) + .toList(); _saveCache(); // save on success } }