Skip to content

Commit 4d0afc3

Browse files
committed
feat: support for caching of objects properly
1 parent c76fa83 commit 4d0afc3

File tree

4 files changed

+37
-10
lines changed

4 files changed

+37
-10
lines changed

flutter/iot_receiver/ios/Podfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ SPEC CHECKSUMS:
127127
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
128128
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
129129
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
130-
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
130+
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
131131
flutter_keychain: 01aabf894ffe8b01adfda1d9df21c210c1b4b452
132132
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
133133
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e

flutter/iot_receiver/lib/main.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ Future<AtClientPreference> loadAtClientPreference() async {
4242
..hiveStoragePath = dir.path
4343
..commitLogPath = dir.path
4444
..isLocalStoreRequired = true
45-
..syncIntervalMins = 1;
46-
// ..fetchOfflineNotifications = true;
45+
..syncIntervalMins = 1
46+
..fetchOfflineNotifications = true;
4747
}
4848

4949
class MyApp extends StatefulWidget {

flutter/iot_receiver/lib/screens/device_owners_screen.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class _DeviceOwnersScreenState extends State<DeviceOwnersScreen> {
2121

2222
@override
2323
Widget build(BuildContext context) {
24-
_hrO2DataService.getDeviceOwners();
24+
// _hrO2DataService.getDeviceOwners();
2525
return Scaffold(
2626
appBar: NewGradientAppBar(
2727
title: const AutoSizeText(

flutter/iot_receiver/lib/services/hro2_data_service.dart

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,11 @@ class Hro2DataService {
4141

4242
Future<List<HrO2Device>> getDevices() async {
4343
List<HrO2Device> hrO2DeviceList = [];
44-
// var atClient = AtClientManager.getInstance().atClient;
4544
var keys = await AtClientManager.getInstance()
4645
.atClient
4746
.getAtKeys(regex: AppConstants.deviceKey);
47+
_logger.info('getDevices keys ${keys.toString()}');
48+
4849
for (var element in keys) {
4950
var data = await AtClientManager.getInstance().atClient.get(element);
5051
_logger.info('getDevices got ${data.value}');
@@ -113,8 +114,12 @@ class Hro2DataService {
113114
}
114115

115116
Future<bool> putReceiver(HrO2Receiver hrO2Receiver) async {
117+
Metadata metadata = Metadata()
118+
// ..ttl = 10000
119+
..ttr = -1;
116120
AtKey atKey = AtKey()
117121
..sharedWith = hrO2Receiver.receiverAtsign
122+
..metadata = metadata
118123
..key = AppConstants.receiverKey;
119124
var value = jsonEncode(hrO2Receiver);
120125
var success =
@@ -149,7 +154,8 @@ class Hro2DataService {
149154
List<HrO2DataOwner> hrO2DataOwnerList = [];
150155
var keys = await AtClientManager.getInstance()
151156
.atClient
152-
.getAtKeys(regex: AppConstants.dataOwnerKey, sharedBy: "@mwcmanager");
157+
.getAtKeys(regex: AppConstants.dataOwnerKey);
158+
_logger.info('getDataOwners keys $keys');
153159
for (var element in keys) {
154160
var data = await AtClientManager.getInstance().atClient.get(element);
155161
_logger.info('getDataOwners got ${data.value}');
@@ -160,16 +166,20 @@ class Hro2DataService {
160166
} catch (error) {
161167
// found some dirty data, consider deleting
162168
_logger.severe('getDataOwners error $error for ${element.key}');
163-
await AtClientManager.getInstance().atClient.delete(element);
169+
// await AtClientManager.getInstance().atClient.delete(element);
164170
}
165171
}
166172
return hrO2DataOwnerList;
167173
}
168174

169175
Future<bool> putDataOwner(HrO2DataOwner hrO2DataOwner) async {
170-
AtClientManager.getInstance().syncService.sync();
176+
// AtClientManager.getInstance().syncService.sync();
177+
Metadata metadata = Metadata()
178+
// ..ttl = 10000
179+
..ttr = -1;
171180
AtKey atKey = AtKey()
172181
..sharedWith = hrO2DataOwner.dataOwnerAtsign
182+
..metadata = metadata
173183
..key = AppConstants.dataOwnerKey;
174184
var success = await AtClientManager.getInstance()
175185
.atClient
@@ -225,8 +235,12 @@ class Hro2DataService {
225235
}
226236

227237
Future<bool> putDeviceOwner(HrO2DeviceOwner hrO2DeviceOwner) async {
238+
Metadata metadata = Metadata()
239+
// ..ttl = 10000
240+
..ttr = -1;
228241
AtKey atKey = AtKey()
229242
..key = AppConstants.deviceOwnerKey
243+
..metadata = metadata
230244
..sharedWith = hrO2DeviceOwner.deviceOwnerAtsign;
231245
var response = await AtClientManager.getInstance()
232246
.atClient
@@ -255,27 +269,40 @@ class Hro2DataService {
255269
}
256270

257271
Future<bool> updateDeviceReceivers(HrO2Device hrO2Device) async {
258-
// update the device list of HrO2Receiver objects
272+
// update the device list of recipients from HrO2Receiver objects
273+
Metadata metadata = Metadata()
274+
// ..ttl = 10000
275+
..ttr = -1;
259276
AtKey atKey = AtKey()
260277
..sharedWith = hrO2Device.deviceAtsign
278+
..metadata = metadata
261279
..key = AppConstants.receiverListKey;
262280
List<HrO2Receiver> receiverList = await getReceivers();
263281
var success = await AtClientManager.getInstance()
264282
.atClient
265283
.put(atKey, jsonEncode(receiverList));
284+
_logger.info('updateDeviceReceivers key = $atKey');
285+
_logger.info(
286+
'updateDeviceReceivers receiverList = ${jsonEncode(receiverList)}');
266287
_logger.info('updateDeviceReceivers success = $success');
267288
return success;
268289
}
269290

270291
Future<bool> updateDeviceDataOwners(HrO2Device hrO2Device) async {
271-
// update the device list of HrO2DataOwner objects
292+
// update the device list of recipients from HrO2DataOwner objects
293+
Metadata metadata = Metadata()
294+
// ..ttl = 10000
295+
..ttr = -1;
272296
AtKey atKey = AtKey()
273297
..sharedWith = hrO2Device.deviceAtsign
298+
..metadata = metadata
274299
..key = AppConstants.dataOwnerListKey;
275300
List<HrO2DataOwner> owners = await getDataOwners();
301+
_logger.info('updateDeviceDataOwners found = ${owners.toString()}');
276302
var success = await AtClientManager.getInstance()
277303
.atClient
278304
.put(atKey, jsonEncode(owners));
305+
_logger.info('updateDeviceDataOwners key = $atKey');
279306
_logger.info('updateDeviceDataOwners success = $success');
280307
return success;
281308
}

0 commit comments

Comments
 (0)