Experimental HEVC encoding support for videos.

This commit is contained in:
Nicholas Tinsley
2024-08-23 10:09:22 -04:00
parent 5f66e2eb15
commit 0f7f866562
14 changed files with 124 additions and 34 deletions

View File

@@ -383,6 +383,19 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
dividerPref()
sectionHeaderPref(DSLSettingsText.from("Media"))
switchPref(
title = DSLSettingsText.from("Enable HEVC Encoding for HD Videos"),
summary = DSLSettingsText.from("Videos sent in \"HD\" quality will be encoded in HEVC on compatible devices."),
isChecked = state.hevcEncoding,
onClick = {
viewModel.setHevcEncoding(!state.hevcEncoding)
}
)
dividerPref()
sectionHeaderPref(DSLSettingsText.from("Conversations and Shortcuts"))
clickPref(

View File

@@ -23,5 +23,6 @@ data class InternalSettingsState(
val canClearOnboardingState: Boolean,
val pnpInitialized: Boolean,
val useConversationItemV2ForMedia: Boolean,
val hasPendingOneTimeDonation: Boolean
val hasPendingOneTimeDonation: Boolean,
val hevcEncoding: Boolean
)

View File

@@ -119,6 +119,11 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
refresh()
}
fun setHevcEncoding(enabled: Boolean) {
SignalStore.internal.hevcEncoding = enabled
refresh()
}
fun addSampleReleaseNote() {
repository.addSampleReleaseNote()
}
@@ -159,7 +164,8 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
canClearOnboardingState = SignalStore.story.hasDownloadedOnboardingStory && Stories.isFeatureEnabled(),
pnpInitialized = SignalStore.misc.hasPniInitializedDevices,
useConversationItemV2ForMedia = SignalStore.internal.useConversationItemV2Media(),
hasPendingOneTimeDonation = SignalStore.inAppPayments.getPendingOneTimeDonation() != null
hasPendingOneTimeDonation = SignalStore.inAppPayments.getPendingOneTimeDonation() != null,
hevcEncoding = SignalStore.internal.hevcEncoding
)
fun onClearOnboardingState() {