Replace geofence polling with native Android geofence
This commit is contained in:
@@ -1,34 +1,11 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:workmanager/workmanager.dart';
|
||||
import 'app/app_bootstrap.dart';
|
||||
import 'features/homes/services/geofence_notifications_service.dart';
|
||||
import 'screens/homes_screen.dart';
|
||||
import 'screens/remote_screen.dart';
|
||||
import 'services/geofence_worker.dart';
|
||||
|
||||
/// Top-level callback для workmanager (выполняется в отдельном изоляте).
|
||||
@pragma('vm:entry-point')
|
||||
void callbackDispatcher() {
|
||||
DartPluginRegistrant.ensureInitialized();
|
||||
|
||||
Workmanager().executeTask((taskName, inputData) async {
|
||||
if (taskName == geofenceTaskName) {
|
||||
return await executeGeofenceCheck();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await GeofenceNotificationsService().initialize();
|
||||
|
||||
// Инициализация workmanager
|
||||
Workmanager().initialize(callbackDispatcher);
|
||||
|
||||
runApp(const ProviderScope(child: IgnisApp()));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user