mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-14 09:13:42 +01:00
Make audio removal available for all users.
This commit is contained in:
-1
@@ -14,5 +14,4 @@ sealed interface LabsSettingsEvents {
|
||||
data class ToggleStickerReplies(val enabled: Boolean) : LabsSettingsEvents
|
||||
data class ToggleMuteBreakthroughNotifications(val enabled: Boolean) : LabsSettingsEvents
|
||||
data class ToggleImprovedMessageDeletion(val enabled: Boolean) : LabsSettingsEvents
|
||||
data class ToggleMuteVideoAudio(val enabled: Boolean) : LabsSettingsEvents
|
||||
}
|
||||
|
||||
-9
@@ -160,15 +160,6 @@ private fun LabsSettingsContent(
|
||||
onCheckChanged = { onEvent(LabsSettingsEvents.ToggleImprovedMessageDeletion(it)) }
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
Rows.ToggleRow(
|
||||
checked = state.muteVideoAudio,
|
||||
text = "Mute Video Audio",
|
||||
label = "Adds a button to the video editor that removes the audio track from a video before sending it.",
|
||||
onCheckChanged = { onEvent(LabsSettingsEvents.ToggleMuteVideoAudio(it)) }
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -16,6 +16,5 @@ data class LabsSettingsState(
|
||||
val starredMessages: Boolean = false,
|
||||
val stickerReplies: Boolean = false,
|
||||
val muteBreakthroughNotifications: Boolean = false,
|
||||
val improvedMessageDeletion: Boolean = false,
|
||||
val muteVideoAudio: Boolean = false
|
||||
val improvedMessageDeletion: Boolean = false
|
||||
)
|
||||
|
||||
+1
-6
@@ -49,10 +49,6 @@ class LabsSettingsViewModel : ViewModel() {
|
||||
SignalStore.labs.improvedMessageDeletion = event.enabled
|
||||
_state.value = _state.value.copy(improvedMessageDeletion = event.enabled)
|
||||
}
|
||||
is LabsSettingsEvents.ToggleMuteVideoAudio -> {
|
||||
SignalStore.labs.muteVideoAudio = event.enabled
|
||||
_state.value = _state.value.copy(muteVideoAudio = event.enabled)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,8 +61,7 @@ class LabsSettingsViewModel : ViewModel() {
|
||||
starredMessages = SignalStore.labs.starredMessages,
|
||||
stickerReplies = SignalStore.labs.stickerReplies,
|
||||
muteBreakthroughNotifications = SignalStore.labs.muteBreakthroughNotifications,
|
||||
improvedMessageDeletion = SignalStore.labs.improvedMessageDeletion,
|
||||
muteVideoAudio = SignalStore.labs.muteVideoAudio
|
||||
improvedMessageDeletion = SignalStore.labs.improvedMessageDeletion
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ class LabsValues internal constructor(store: KeyValueStore) : SignalStoreValues(
|
||||
const val STICKER_REPLIES: String = "labs.sticker_replies"
|
||||
const val MUTE_BREAKTHROUGH_NOTIFICATIONS: String = "labs.mute_breakthrough_notifications"
|
||||
const val IMPROVED_MESSAGE_DELETION: String = "labs.improved_message_deletion"
|
||||
const val MUTE_VIDEO_AUDIO: String = "labs.mute_video_audio"
|
||||
}
|
||||
|
||||
public override fun onFirstEverAppLaunch() = Unit
|
||||
@@ -35,8 +34,6 @@ class LabsValues internal constructor(store: KeyValueStore) : SignalStoreValues(
|
||||
|
||||
var improvedMessageDeletion by booleanValue(IMPROVED_MESSAGE_DELETION, true).falseForExternalUsers()
|
||||
|
||||
var muteVideoAudio by booleanValue(MUTE_VIDEO_AUDIO, true).falseForExternalUsers()
|
||||
|
||||
private fun SignalStoreValueDelegate<Boolean>.falseForExternalUsers(): SignalStoreValueDelegate<Boolean> {
|
||||
return this.map { actualValue -> RemoteConfig.internalUser && actualValue }
|
||||
}
|
||||
|
||||
@@ -329,9 +329,6 @@ object MediaSendV3Repository : MediaSendRepository {
|
||||
SignalStore.imageEditor.setBlurPercentage((value.blur * 100).roundToInt())
|
||||
}
|
||||
|
||||
override val isMuteVideoAudioLabsEnabled: Boolean
|
||||
get() = SignalStore.labs.muteVideoAudio
|
||||
|
||||
private fun PreUploadResult.toLegacyPreUploadResult(): MessageSender.PreUploadResult {
|
||||
return MessageSender.PreUploadResult(media, AttachmentId(attachmentId), jobIds)
|
||||
}
|
||||
|
||||
@@ -6418,7 +6418,7 @@
|
||||
<!-- Accessibility label describing the change media quality button on the Media review screen -->
|
||||
<string name="MediaReviewFragment__change_media_quality_accessibility_label">Change Media Quality</string>
|
||||
<!-- Accessibility label describing the mute video audio button on the Media review screen -->
|
||||
<string name="MediaReviewFragment__mute_video_audio_accessibility_label" translatable="false">Mute Video Audio (Labs)</string>
|
||||
<string name="MediaReviewFragment__mute_video_audio_accessibility_label">Mute Video Audio</string>
|
||||
<!-- Accessibility label describing the save media button on the Media review screen -->
|
||||
<string name="MediaReviewFragment__save_media_accessibility_label">Save Media</string>
|
||||
<!-- Accessibility label describing the toggle emoji keyboard button on the Media review screen -->
|
||||
|
||||
@@ -105,6 +105,6 @@ public abstract class MediaConstraints {
|
||||
* Stripping the audio track means re-encoding the video, so the control is only offered where that is possible.
|
||||
*/
|
||||
public static boolean isMuteVideoAudioAvailable() {
|
||||
return MediaSendDependencies.INSTANCE.getMediaSendRepository().isMuteVideoAudioLabsEnabled() && isVideoTranscodeAvailable();
|
||||
return isVideoTranscodeAvailable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ data class MediaSendFlowState(
|
||||
val brushWidths: BrushWidths = MediaSendDependencies.mediaSendRepository.brushWidths,
|
||||
|
||||
/**
|
||||
* Whether the labs-gated control for stripping a video's audio track is available.
|
||||
* Whether the control for stripping a video's audio track is available.
|
||||
*/
|
||||
val isMuteVideoAudioEnabled: Boolean = MediaConstraints.isMuteVideoAudioAvailable()
|
||||
) : Parcelable {
|
||||
|
||||
@@ -153,12 +153,6 @@ interface MediaSendRepository {
|
||||
* The image editor's per-tool brush widths, shared with the v2 editor.
|
||||
*/
|
||||
var brushWidths: BrushWidths
|
||||
|
||||
/**
|
||||
* Whether the labs flag for stripping a video's audio track before sending is on. Callers should ask
|
||||
* [MediaConstraints.isMuteVideoAudioAvailable] instead, which also accounts for transcode support.
|
||||
*/
|
||||
val isMuteVideoAudioLabsEnabled: Boolean
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user