m3_lightmeter/lib/data/light_sensor_service.dart
Vadim f3b08868be
ML-62 Providers tests + Platform & Application mocks (#131)
- Fixed test coverage calculation
- Removed `mockito` from the application mock
- Implemented platform channel mocks to mimic incident light metering
- Covered providers with unit tests
- Covered metering screen pickers with widget tests
- Laid foundation for integration tests
2023-10-20 16:12:43 +02:00

26 lines
557 B
Dart

import 'package:light_sensor/light_sensor.dart';
import 'package:platform/platform.dart';
class LightSensorService {
final LocalPlatform localPlatform;
const LightSensorService(this.localPlatform);
Future<bool> hasSensor() async {
if (!localPlatform.isAndroid) {
return false;
}
try {
return await LightSensor.hasSensor();
} catch (_) {
return false;
}
}
Stream<int> luxStream() {
if (!localPlatform.isAndroid) {
return const Stream<int>.empty();
}
return LightSensor.luxStream();
}
}