diff --git a/open_wearable/ios/Podfile.lock b/open_wearable/ios/Podfile.lock
index 764cb645..6db677a6 100644
--- a/open_wearable/ios/Podfile.lock
+++ b/open_wearable/ios/Podfile.lock
@@ -1,4 +1,6 @@
PODS:
+ - device_info_plus (0.0.1):
+ - Flutter
- DKImagePickerController/Core (4.3.9):
- DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource
@@ -48,11 +50,16 @@ PODS:
- SwiftProtobuf
- open_file_ios (1.0.3):
- Flutter
+ - path_provider_foundation (0.0.1):
+ - Flutter
+ - FlutterMacOS
- permission_handler_apple (9.3.0):
- Flutter
- SDWebImage (5.21.5):
- SDWebImage/Core (= 5.21.5)
- SDWebImage/Core (5.21.5)
+ - sensors_plus (0.0.1):
+ - Flutter
- share_plus (0.0.1):
- Flutter
- shared_preferences_foundation (0.0.1):
@@ -69,13 +76,16 @@ PODS:
- ZIPFoundation (0.9.19)
DEPENDENCIES:
+ - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- file_selector_ios (from `.symlinks/plugins/file_selector_ios/ios`)
- Flutter (from `Flutter`)
- flutter_archive (from `.symlinks/plugins/flutter_archive/ios`)
- mcumgr_flutter (from `.symlinks/plugins/mcumgr_flutter/ios`)
- open_file_ios (from `.symlinks/plugins/open_file_ios/ios`)
+ - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
+ - sensors_plus (from `.symlinks/plugins/sensors_plus/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- universal_ble (from `.symlinks/plugins/universal_ble/darwin`)
@@ -93,6 +103,8 @@ SPEC REPOS:
- ZIPFoundation
EXTERNAL SOURCES:
+ device_info_plus:
+ :path: ".symlinks/plugins/device_info_plus/ios"
file_picker:
:path: ".symlinks/plugins/file_picker/ios"
file_selector_ios:
@@ -105,8 +117,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/mcumgr_flutter/ios"
open_file_ios:
:path: ".symlinks/plugins/open_file_ios/ios"
+ path_provider_foundation:
+ :path: ".symlinks/plugins/path_provider_foundation/darwin"
permission_handler_apple:
:path: ".symlinks/plugins/permission_handler_apple/ios"
+ sensors_plus:
+ :path: ".symlinks/plugins/sensors_plus/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
shared_preferences_foundation:
@@ -117,6 +133,7 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
+ device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
@@ -126,8 +143,10 @@ SPEC CHECKSUMS:
iOSMcuManagerLibrary: e9555825af11a61744fe369c12e1e66621061b58
mcumgr_flutter: 969e99cc15e9fe658242669ce1075bf4612aef8a
open_file_ios: 46184d802ee7959203f6392abcfa0dd49fdb5be0
+ path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838
+ sensors_plus: 6a11ed0c2e1d0bd0b20b4029d3bad27d96e0c65b
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
SwiftCBOR: 465775bed0e8bac7bfb8160bcf7b95d7f75971e4
diff --git a/open_wearable/ios/Runner/Info.plist b/open_wearable/ios/Runner/Info.plist
index acaa1598..56e5c1a9 100644
--- a/open_wearable/ios/Runner/Info.plist
+++ b/open_wearable/ios/Runner/Info.plist
@@ -51,6 +51,8 @@
This app requires Bluetooth access to communicate with wearable devices.
NSPhotoLibraryUsageDescription
Needed for optional file selection functionality.
+ NSMotionUsageDescription
+ This app requires access to device motion in order to provide sensor data.
ITSAppUsesNonExemptEncryption
UIFileSharingEnabled
diff --git a/open_wearable/lib/models/this_device_wearable.dart b/open_wearable/lib/models/this_device_wearable.dart
new file mode 100644
index 00000000..8e0b6d93
--- /dev/null
+++ b/open_wearable/lib/models/this_device_wearable.dart
@@ -0,0 +1,557 @@
+import 'dart:async';
+
+import 'package:device_info_plus/device_info_plus.dart';
+import 'package:flutter/foundation.dart';
+import 'package:open_earable_flutter/open_earable_flutter.dart' hide Version, logger;
+import 'package:pub_semver/pub_semver.dart';
+import 'package:sensors_plus/sensors_plus.dart';
+
+import 'logger.dart';
+
+class ThisDeviceWearable extends Wearable
+ implements SensorManager, SensorConfigurationManager, DeviceFirmwareVersion {
+ @override
+ final List sensors = [];
+
+ @override
+ final List sensorConfigurations = [];
+
+ final StreamController