Cleanup
This commit is contained in:
parent
b28c6994f7
commit
9d2409cc9d
@ -1,11 +1,10 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:home_widget/home_widget.dart';
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:wonders/common_libs.dart';
|
import 'package:wonders/common_libs.dart';
|
||||||
import 'package:wonders/logic/common/platform_info.dart';
|
import 'package:wonders/logic/common/platform_info.dart';
|
||||||
import 'package:wonders/logic/common/save_load_mixin.dart';
|
import 'package:wonders/logic/common/save_load_mixin.dart';
|
||||||
import 'package:wonders/logic/data/collectible_data.dart';
|
import 'package:wonders/logic/data/collectible_data.dart';
|
||||||
import 'package:http/http.dart' as http;
|
|
||||||
import 'package:wonders/logic/native_widget_service.dart';
|
import 'package:wonders/logic/native_widget_service.dart';
|
||||||
|
|
||||||
class CollectiblesLogic with ThrottledSaveLoadMixin {
|
class CollectiblesLogic with ThrottledSaveLoadMixin {
|
||||||
@ -42,7 +41,7 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
|
|||||||
statesById.value = states;
|
statesById.value = states;
|
||||||
if (state == CollectibleState.discovered) {
|
if (state == CollectibleState.discovered) {
|
||||||
final data = fromId(id)!;
|
final data = fromId(id)!;
|
||||||
_updateHomeWidgetTextData(
|
_updateNativeWidgetTextData(
|
||||||
title: data.title,
|
title: data.title,
|
||||||
id: data.id,
|
id: data.id,
|
||||||
imageUrl: data.imageUrlSmall,
|
imageUrl: data.imageUrlSmall,
|
||||||
@ -58,11 +57,9 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
|
|||||||
if (state == CollectibleState.explored) _exploredCount++;
|
if (state == CollectibleState.explored) _exploredCount++;
|
||||||
});
|
});
|
||||||
final foundCount = discoveredCount + exploredCount;
|
final foundCount = discoveredCount + exploredCount;
|
||||||
if (PlatformInfo.isIOS) {
|
_nativeWidget.save<int>('discoveredCount', foundCount).then((value) {
|
||||||
_nativeWidget.save<int>('discoveredCount', foundCount).then((value) {
|
_nativeWidget.markDirty();
|
||||||
_nativeWidget.markDirty();
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
debugPrint('setting discoveredCount for home widget $foundCount');
|
debugPrint('setting discoveredCount for home widget $foundCount');
|
||||||
}
|
}
|
||||||
@ -95,13 +92,15 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
|
|||||||
for (int i = 0; i < all.length; i++) {
|
for (int i = 0; i < all.length; i++) {
|
||||||
states[all[i].id] = CollectibleState.lost;
|
states[all[i].id] = CollectibleState.lost;
|
||||||
}
|
}
|
||||||
_updateHomeWidgetTextData(); // clear home widget data
|
if (_nativeWidget.isSupported) {
|
||||||
|
_updateNativeWidgetTextData(); // clear home widget data
|
||||||
|
}
|
||||||
statesById.value = states;
|
statesById.value = states;
|
||||||
debugPrint('collection reset');
|
debugPrint('collection reset');
|
||||||
scheduleSave();
|
scheduleSave();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _updateHomeWidgetTextData({String title = '', String id = '', String imageUrl = ''}) async {
|
Future<void> _updateNativeWidgetTextData({String title = '', String id = '', String imageUrl = ''}) async {
|
||||||
// Save title
|
// Save title
|
||||||
await _nativeWidget.save<String>('lastDiscoveredTitle', title);
|
await _nativeWidget.save<String>('lastDiscoveredTitle', title);
|
||||||
// Subtitle
|
// Subtitle
|
||||||
|
@ -6,15 +6,15 @@ class NativeWidgetService {
|
|||||||
static const _iosAppGroupId = 'group.com.gskinner.flutter.wonders.widget';
|
static const _iosAppGroupId = 'group.com.gskinner.flutter.wonders.widget';
|
||||||
static const _iosAppName = 'WonderousWidget';
|
static const _iosAppName = 'WonderousWidget';
|
||||||
|
|
||||||
static final bool _isSupported = PlatformInfo.isIOS;
|
final bool isSupported = PlatformInfo.isIOS;
|
||||||
|
|
||||||
Future<void> init() async {
|
Future<void> init() async {
|
||||||
if (!_isSupported) return;
|
if (!isSupported) return;
|
||||||
await HomeWidget.setAppGroupId(_iosAppGroupId);
|
await HomeWidget.setAppGroupId(_iosAppGroupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<bool?> save<T>(String s, T value, {void Function(bool?)? onSaveComplete}) async {
|
Future<bool?> save<T>(String s, T value, {void Function(bool?)? onSaveComplete}) async {
|
||||||
if (!_isSupported) return false;
|
if (!isSupported) return false;
|
||||||
return await HomeWidget.saveWidgetData<T>(s, value).then((value) {
|
return await HomeWidget.saveWidgetData<T>(s, value).then((value) {
|
||||||
onSaveComplete?.call(value);
|
onSaveComplete?.call(value);
|
||||||
return null;
|
return null;
|
||||||
@ -22,7 +22,7 @@ class NativeWidgetService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<bool?> markDirty() async {
|
Future<bool?> markDirty() async {
|
||||||
if (!_isSupported) return false;
|
if (!isSupported) return false;
|
||||||
return await HomeWidget.updateWidget(iOSName: _iosAppName);
|
return await HomeWidget.updateWidget(iOSName: _iosAppName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user