Replace geofence polling with native Android geofence

This commit is contained in:
Artem Kokos
2026-05-12 11:23:44 +07:00
parent 0a5ef9af17
commit 1963488479
38 changed files with 1099 additions and 1931 deletions

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:ignis_app/models/home_config.dart';
import 'package:ignis_app/screens/api_keys_screen.dart';
import 'package:ignis_app/screens/group_edit_screen.dart';
import 'package:ignis_app/screens/home_edit_screen.dart';
@@ -114,6 +115,11 @@ void main() {
testWidgets('home edit screen validates fields and saves normalized home', (
tester,
) async {
tester.view.physicalSize = const Size(800, 1400);
tester.view.devicePixelRatio = 1;
addTearDown(tester.view.resetPhysicalSize);
addTearDown(tester.view.resetDevicePixelRatio);
SharedPreferences.setMockInitialValues({});
final settingsService = SettingsService(
credentialsStorage: InMemoryCredentialsStorage(),
@@ -170,9 +176,6 @@ void main() {
);
await tester.pump();
await tester.tap(find.text('Выключать свет при уходе'));
await tester.pump();
await tester.ensureVisible(saveHomeButton);
await tester.tap(saveHomeButton);
await tester.pumpAndSettle();
@@ -185,7 +188,8 @@ void main() {
expect(savedHome.url, 'https://ignis.akokos.ru');
expect(savedHome.latitude, 55.75);
expect(savedHome.longitude, 37.61);
expect(savedHome.geofenceEnabled, isTrue);
expect(savedHome.geofenceEnabled, isFalse);
expect(savedHome.geofenceRadiusMeters, HomeConfig.defaultGeofenceRadiusMeters);
expect(savedApiKey, 'secret-key');
});
}