locationStreamHandler function

Future<void> locationStreamHandler(
  1. Position? position
)

Implementation

@pragma('vm:entry-point')
Future<void> locationStreamHandler(Position? position) async {
  print('Run locationStreamHandler ${DateTime.now()}');

  final aclDatabase = ACLDatabase();

  try {
    // 1. Collect battery
    await BatteryAuditHelper.collectBatteryAudit(aclDatabase);
    // 2. Collect network
    await NetworkAuditHelper.collectNetworkAudit(aclDatabase);
    // 3. Collect device resource
    await DeviceResourceHelper.collectDeviceResourceAudit(aclDatabase);
    // 4. Collect app usage
    await AppUsageAuditHelper.collectAppUsageAudit(aclDatabase);
    // 5. Collect location
    await LocationAuditHelper.collectLocationAudit(
        db: aclDatabase, position: position);
    // 6. Collect notification
    await NotificationAuditHelper.collectNotificationAudit(aclDatabase);
  } catch (e) {
    print(e);
  }

  // try sync data when it run first time in day
  try {
    await SyncDataHelper.syncFromLastTime(aclDatabase);
  } catch (e) {
    print('collectDataDispatcher error sync data');
    print(e);
  }
}