diff --git a/modules/ensemble/lib/framework/data_context.dart b/modules/ensemble/lib/framework/data_context.dart index a405dcc72..acbe2ccd2 100644 --- a/modules/ensemble/lib/framework/data_context.dart +++ b/modules/ensemble/lib/framework/data_context.dart @@ -88,19 +88,15 @@ class DataContext implements Context { _contextMap['auth'] = GetIt.instance(); } - _addLegacyDataContext(buildContext); + _addLegacyDataContext(); } // device is a common name. If user already uses that, don't override it // This is now in ensemble.device.* - void _addLegacyDataContext(BuildContext? newBuildContext) { + void _addLegacyDataContext() { if (_contextMap['device'] == null) { - _contextMap['device'] = Device(newBuildContext); - } else { - // If device exists, update its context - final device = _contextMap['device']; - device.updateContext(newBuildContext); + _contextMap['device'] = Device(); } } @@ -472,7 +468,7 @@ class NativeInvokable extends ActionInvokable { 'user': () => UserInfo(), 'formatter': () => Formatter(), 'utils': () => _EnsembleUtils(), - 'device': () => Device(buildContext), + 'device': () => Device(), 'version': () => _cache['version'], }; } diff --git a/modules/ensemble/lib/framework/device.dart b/modules/ensemble/lib/framework/device.dart index ab7cbf925..f756fe3d0 100644 --- a/modules/ensemble/lib/framework/device.dart +++ b/modules/ensemble/lib/framework/device.dart @@ -27,52 +27,13 @@ class Device DeviceInfoCapability, WidgetsBindingObserver { static final Device _instance = Device._internal(); - static late BuildContext context; - Device._internal() { - WidgetsBinding.instance.addObserver(this); - } + Device._internal(); - factory Device([BuildContext? buildContext]) { - if (buildContext != null) { - context = buildContext; - } + factory Device() { return _instance; } - // method to update context - void updateContext(BuildContext? newContext) { - if (newContext != null) { - context = newContext; - } - } - - @override - void didChangeMetrics() { - WidgetsBinding.instance - .addPostFrameCallback((_) => _handleMediaQueryChange()); - } - - void _handleMediaQueryChange() { - final newData = MediaQuery.of(context); - - // Compare with existing static data - if (MediaQueryCapability.data?.orientation != newData.orientation || - MediaQueryCapability.data?.size != newData.size) { - MediaQueryCapability.data = newData; - - // Dispatch individual property changes - ScreenController().dispatchDeviceChanges(context, 'width', screenWidth); - ScreenController().dispatchDeviceChanges(context, 'height', screenHeight); - ScreenController() - .dispatchDeviceChanges(context, 'orientation', screenOrientation); - ScreenController() - .dispatchDeviceChanges(context, 'safeAreaTop', safeAreaTop); - ScreenController() - .dispatchDeviceChanges(context, 'safeAreaBottom', safeAreaBottom); - } - } - @override Map getters() { return {