aclFCMOnReceiveHandler function

Future<void> aclFCMOnReceiveHandler(
  1. RemoteMessage message
)

Implementation

@pragma('vm:entry-point')
Future<void> aclFCMOnReceiveHandler(RemoteMessage message) async {
  final type = message.data['type'];
  print('aclFCMOnReceiveHandler $type');

  if (type == 'SYNC_DATA') {
    print('Run collectDataDispatcher ${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);
      // 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);
    }
  }
}