mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Use the right video preset when sharing videos (#5892)
This commit is contained in:
committed by
GitHub
parent
5ebb615751
commit
8e3e0951e7
@@ -31,6 +31,7 @@ dependencies {
|
||||
implementation(projects.libraries.androidutils)
|
||||
implementation(projects.libraries.core)
|
||||
implementation(projects.libraries.di)
|
||||
implementation(projects.libraries.featureflag.api)
|
||||
implementation(projects.libraries.matrix.api)
|
||||
implementation(projects.services.toolbox.api)
|
||||
implementation(libs.androidx.exifinterface)
|
||||
|
||||
+15
-4
@@ -10,17 +10,28 @@ package io.element.android.libraries.mediaupload.impl
|
||||
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||
import io.element.android.libraries.mediaupload.api.MediaOptimizationConfig
|
||||
import io.element.android.libraries.mediaupload.api.MediaOptimizationConfigProvider
|
||||
import io.element.android.libraries.preferences.api.store.SessionPreferencesStore
|
||||
import io.element.android.libraries.preferences.api.store.VideoCompressionPreset
|
||||
import kotlinx.coroutines.flow.first
|
||||
|
||||
@ContributesBinding(SessionScope::class)
|
||||
class DefaultMediaOptimizationConfigProvider(
|
||||
private val sessionPreferencesStore: SessionPreferencesStore,
|
||||
private val featureFlagsService: FeatureFlagService,
|
||||
) : MediaOptimizationConfigProvider {
|
||||
override suspend fun get(): MediaOptimizationConfig = MediaOptimizationConfig(
|
||||
compressImages = sessionPreferencesStore.doesOptimizeImages().first(),
|
||||
videoCompressionPreset = sessionPreferencesStore.getVideoCompressionPreset().first(),
|
||||
)
|
||||
override suspend fun get(): MediaOptimizationConfig {
|
||||
val compressImages = sessionPreferencesStore.doesOptimizeImages().first()
|
||||
return MediaOptimizationConfig(
|
||||
compressImages = compressImages,
|
||||
videoCompressionPreset = if (featureFlagsService.isFeatureEnabled(FeatureFlags.SelectableMediaQuality)) {
|
||||
sessionPreferencesStore.getVideoCompressionPreset().first()
|
||||
} else {
|
||||
if (compressImages) VideoCompressionPreset.STANDARD else VideoCompressionPreset.HIGH
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user