perf(android): batch SAF lookups during download publication

This commit is contained in:
zarzet committed 2026-09-17 03:30:30 +07:00
1 parent 3eb44dc892
commit c868aac2cc
11 files changed
+668 -48

No files matched your search

@@ -447,6 +447,7 @@ extension _DownloadQueueFinalization on DownloadQueueNotifier {
mimeType: mimeType,
srcPath: srcPath,
);
_logSafPublishTimings(result);
final uri = (result['uri'] as String? ?? '').trim();
final publishedName = (result['file_name'] as String? ?? '').trim();
if (uri.isEmpty || publishedName.isEmpty) return null;
@@ -461,6 +462,13 @@ extension _DownloadQueueFinalization on DownloadQueueNotifier {
}
}
void _logSafPublishTimings(Map<String, dynamic> result) {
final timings = result['publish_timings_ms'];
if (timings is Map && timings.isNotEmpty) {
_log.d('SAF publish timings (ms): $timings');
}
}
Future<({String uri, String fileName})?> _writeTempToSafUnique({
required String treeUri,
required String relativeDir,
@@ -478,6 +486,7 @@ extension _DownloadQueueFinalization on DownloadQueueNotifier {
srcPath: srcPath,
preservedSuffix: preservedSuffix,
);
_logSafPublishTimings(result);
final uri = (result['uri'] as String? ?? '').trim();
final publishedName = (result['file_name'] as String? ?? '').trim();
if (uri.isEmpty || publishedName.isEmpty) return null;
@@ -507,6 +516,7 @@ extension _DownloadQueueFinalization on DownloadQueueNotifier {
srcPath: srcPath,
preservedSuffix: preservedSuffix,
);
_logSafPublishTimings(result);
final uri = (result['uri'] as String? ?? '').trim();
final publishedName = (result['file_name'] as String? ?? '').trim();
if (uri.isEmpty || publishedName.isEmpty) return null;