From df1bfbe83944471cd4b45029f85427f5bfe03d2c Mon Sep 17 00:00:00 2001 From: Prateek Sunal Date: Tue, 2 Sep 2025 02:51:09 +0530 Subject: [PATCH] fix: initialize compute controllers async with values --- .../machine_learning/compute_controller.dart | 43 +++++++++++++------ 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/mobile/apps/photos/lib/services/machine_learning/compute_controller.dart b/mobile/apps/photos/lib/services/machine_learning/compute_controller.dart index 1a76da4bb0..62b73a443c 100644 --- a/mobile/apps/photos/lib/services/machine_learning/compute_controller.dart +++ b/mobile/apps/photos/lib/services/machine_learning/compute_controller.dart @@ -49,32 +49,47 @@ class ComputeController { ComputeController() { _logger.info('ComputeController constructor'); + init(); + _logger.info('init done '); + } + + // Directly assign the values + Attach listener for compute controller + Future init() async { + // Interaction Timer _startInteractionTimer(kDefaultInteractionTimeout); + + // Thermal related + _onThermalStateUpdate(await _thermal.thermalStatus); + _thermal.onThermalStatusChanged.listen((ThermalStatus thermalState) { + _onThermalStateUpdate(thermalState); + }); + + // Battery State if (Platform.isIOS) { if (kDebugMode) { - _logger.info( + _logger.fine( "iOS battery info stream is not available in simulator, disabling in debug mode", ); - // if you need to test on physical device, uncomment this check - return; + } else { + // Update Battery state for iOS + _oniOSBatteryStateUpdate(await BatteryInfoPlugin().iosBatteryInfo); + BatteryInfoPlugin() + .iosBatteryInfoStream + .listen((IosBatteryInfo? batteryInfo) { + _oniOSBatteryStateUpdate(batteryInfo); + }); } - BatteryInfoPlugin() - .iosBatteryInfoStream - .listen((IosBatteryInfo? batteryInfo) { - _oniOSBatteryStateUpdate(batteryInfo); - }); - } - if (Platform.isAndroid) { + } else if (Platform.isAndroid) { + // Update Battery state for Android + _onAndroidBatteryStateUpdate( + await BatteryInfoPlugin().androidBatteryInfo, + ); BatteryInfoPlugin() .androidBatteryInfoStream .listen((AndroidBatteryInfo? batteryInfo) { _onAndroidBatteryStateUpdate(batteryInfo); }); } - _thermal.onThermalStatusChanged.listen((ThermalStatus thermalState) { - _onThermalStateUpdate(thermalState); - }); - _logger.info('init done '); } bool requestCompute({