import 'package:spotiflac_android/services/platform_bridge.dart'; typedef NativeCacheJobRunner = Future> Function( Map request, { String? requestId, }); /// Returns null on the desktop adapter. Mobile filesystem work uses the /// existing cancellable native worker without changing the public FFI API. Future?> runNativeCacheMaintenance( Map request, { String? requestId, NativeCacheJobRunner? nativeJobRunner, }) async { if (nativeJobRunner != null) { return nativeJobRunner(request, requestId: requestId); } if (!PlatformBridge.supportsCoreBackend) return null; return PlatformBridge.runNativeDataJob(request, requestId: requestId); } int cacheMaintenanceDeletedCount(Map result) { final deleted = result['deleted']; if (deleted is! int || deleted < 0) { throw StateError('Invalid native cache maintenance result'); } return deleted; }