feat: propagate StrippingResult through UploadOrchestrator

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
davotoula
2026-03-18 10:25:55 +01:00
parent f9176fc3fb
commit 4fc5166815
@@ -298,13 +298,13 @@ class UploadOrchestrator {
stripMetadata: Boolean, stripMetadata: Boolean,
compressionQuality: CompressorQuality, compressionQuality: CompressorQuality,
context: Context, context: Context,
): Uri { ): StrippingResult {
if (!stripMetadata) return uri if (!stripMetadata) return StrippingResult(uri, false)
// Video compression already strips metadata; only strip manually when uncompressed // Video compression already strips metadata; only strip manually when uncompressed
if (mimeType?.startsWith("video/", ignoreCase = true) == true && if (mimeType?.startsWith("video/", ignoreCase = true) == true &&
compressionQuality != CompressorQuality.UNCOMPRESSED compressionQuality != CompressorQuality.UNCOMPRESSED
) { ) {
return uri return StrippingResult(uri, true) // compression will handle it
} }
return MetadataStripper().strip(uri, mimeType, context.applicationContext) return MetadataStripper().strip(uri, mimeType, context.applicationContext)
} }
@@ -321,8 +321,8 @@ class UploadOrchestrator {
useH265: Boolean = false, useH265: Boolean = false,
stripMetadata: Boolean = true, stripMetadata: Boolean = true,
): UploadingFinalState { ): UploadingFinalState {
val stripped = stripMetadataIfNeeded(uri, mimeType, stripMetadata, compressionQuality, context) val strippingResult = stripMetadataIfNeeded(uri, mimeType, stripMetadata, compressionQuality, context)
val compressed = compressIfNeeded(stripped, mimeType, compressionQuality, context, useH265) val compressed = compressIfNeeded(strippingResult.uri, mimeType, compressionQuality, context, useH265)
return when (server.type) { return when (server.type) {
ServerType.NIP95 -> uploadNIP95(compressed.uri, compressed.contentType, null, null, context) ServerType.NIP95 -> uploadNIP95(compressed.uri, compressed.contentType, null, null, context)
@@ -344,8 +344,8 @@ class UploadOrchestrator {
useH265: Boolean = false, useH265: Boolean = false,
stripMetadata: Boolean = true, stripMetadata: Boolean = true,
): UploadingFinalState { ): UploadingFinalState {
val stripped = stripMetadataIfNeeded(uri, mimeType, stripMetadata, compressionQuality, context) val strippingResult = stripMetadataIfNeeded(uri, mimeType, stripMetadata, compressionQuality, context)
val compressed = compressIfNeeded(stripped, mimeType, compressionQuality, context, useH265) val compressed = compressIfNeeded(strippingResult.uri, mimeType, compressionQuality, context, useH265)
val encrypted = EncryptFiles().encryptFile(context, compressed.uri, encrypt) val encrypted = EncryptFiles().encryptFile(context, compressed.uri, encrypt)
return when (server.type) { return when (server.type) {