diff --git a/lib/home_assistant.class.dart b/lib/home_assistant.class.dart index b2e269b..274c709 100644 --- a/lib/home_assistant.class.dart +++ b/lib/home_assistant.class.dart @@ -107,6 +107,7 @@ class HomeAssistant { registrationData.addAll({ "app_id": "ha_client", "app_name": "$appName", + "os_name": Device().osName, "supports_encryption": false, }); Connection().sendHTTPPost( diff --git a/lib/main.dart b/lib/main.dart index 9e471ac..9e8e39a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,6 +22,7 @@ import 'package:flutter_webview_plugin/flutter_webview_plugin.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:device_info/device_info.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'package:in_app_purchase/in_app_purchase.dart'; part 'entity_class/const.dart'; part 'entity_class/entity.class.dart'; @@ -175,6 +176,7 @@ class MainPage extends StatefulWidget { class _MainPageState extends State with WidgetsBindingObserver, TickerProviderStateMixin { + StreamSubscription> _subscription; StreamSubscription _stateSubscription; StreamSubscription _settingsSubscription; StreamSubscription _serviceCallSubscription; @@ -188,6 +190,11 @@ class _MainPageState extends State with WidgetsBindingObserver, Ticker @override void initState() { + final Stream purchaseUpdates = + InAppPurchaseConnection.instance.purchaseUpdatedStream; + _subscription = purchaseUpdates.listen((purchases) { + _handlePurchaseUpdates(purchases); + }); super.initState(); WidgetsBinding.instance.addObserver(this); @@ -294,6 +301,10 @@ class _MainPageState extends State with WidgetsBindingObserver, Ticker _quickLoad(); } } + + void _handlePurchaseUpdates(purchases) { + Logger.d('Handling purchases...'); + } Future _subscribe() { Completer completer = Completer(); diff --git a/pubspec.lock b/pubspec.lock index 8fb45c7..1dc86a9 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -186,6 +186,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.4" + in_app_purchase: + dependency: "direct main" + description: + name: in_app_purchase + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.1" intl: dependency: transitive description: @@ -193,6 +200,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.15.8" + json_annotation: + dependency: transitive + description: + name: json_annotation + url: "https://pub.dartlang.org" + source: hosted + version: "2.4.0" logging: dependency: transitive description: @@ -379,7 +393,7 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "3.2.5" + version: "3.5.0" yaml: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 02f3bed..b940c6e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,6 +18,7 @@ dependencies: date_format: any charts_flutter: any flutter_markdown: any + in_app_purchase: ^0.2.1 # flutter_svg: ^0.10.3 flutter_custom_tabs: ^0.6.0 firebase_messaging: ^4.0.0+1