diff --git a/changelog.d/3802.bugfix b/changelog.d/3802.bugfix new file mode 100644 index 00000000000..59c3f8526c7 --- /dev/null +++ b/changelog.d/3802.bugfix @@ -0,0 +1 @@ +Stop VMs playing in the timeline if a new VM recording is started \ No newline at end of file diff --git a/changelog.d/3817.feature b/changelog.d/3817.feature new file mode 100644 index 00000000000..f9854db647c --- /dev/null +++ b/changelog.d/3817.feature @@ -0,0 +1 @@ +Voice Message - Enable by default, remove from labs \ No newline at end of file diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt index e50d6c8df32..057b4f27036 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt @@ -971,7 +971,7 @@ class RoomDetailFragment @Inject constructor( autoCompleter.exitSpecialMode() views.composerLayout.collapse() - views.voiceMessageRecorderView.isVisible = text.isBlank() && vectorPreferences.labsUseVoiceMessage() + views.voiceMessageRecorderView.isVisible = text.isBlank() updateComposerText(text) views.composerLayout.views.sendButton.contentDescription = getString(R.string.send) @@ -1301,7 +1301,7 @@ class RoomDetailFragment @Inject constructor( } override fun onTextBlankStateChanged(isBlank: Boolean) { - if (!views.composerLayout.views.sendButton.isVisible && vectorPreferences.labsUseVoiceMessage()) { + if (!views.composerLayout.views.sendButton.isVisible) { // Animate alpha to prevent overlapping with the animation of the send button views.voiceMessageRecorderView.alpha = 0f views.voiceMessageRecorderView.isVisible = true @@ -1374,10 +1374,10 @@ class RoomDetailFragment @Inject constructor( if (state.canSendMessage) { if (!views.voiceMessageRecorderView.isActive()) { views.composerLayout.isVisible = true - views.voiceMessageRecorderView.isVisible = vectorPreferences.labsUseVoiceMessage() && views.composerLayout.text?.isBlank().orFalse() + views.voiceMessageRecorderView.isVisible = views.composerLayout.text?.isBlank().orFalse() views.composerLayout.setRoomEncrypted(summary.isEncrypted) views.notificationAreaView.render(NotificationAreaView.State.Hidden) - views.composerLayout.alwaysShowSendButton = !vectorPreferences.labsUseVoiceMessage() + views.composerLayout.alwaysShowSendButton = false } } else { views.composerLayout.isVisible = false diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt index 1196a845e34..446d4161e36 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt @@ -68,7 +68,8 @@ class VoiceMessagePlaybackTracker @Inject constructor() { .forEach { key -> val state = states[key] if (state is Listener.State.Playing) { - setState(key, Listener.State.Paused(state.playbackTime)) + // Paused(state.playbackTime) state should also be considered later. + setState(key, Listener.State.Idle) } } } diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt index fbc9f5836e3..e3949983fc3 100755 --- a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt @@ -154,8 +154,6 @@ class VectorPreferences @Inject constructor(private val context: Context) { const val SETTINGS_LABS_USE_RESTRICTED_JOIN_RULE = "SETTINGS_LABS_USE_RESTRICTED_JOIN_RULE" const val SETTINGS_LABS_SPACES_HOME_AS_ORPHAN = "SETTINGS_LABS_SPACES_HOME_AS_ORPHAN" - const val SETTINGS_LABS_VOICE_MESSAGE = "SETTINGS_LABS_VOICE_MESSAGE" - private const val SETTINGS_DEVELOPER_MODE_PREFERENCE_KEY = "SETTINGS_DEVELOPER_MODE_PREFERENCE_KEY" private const val SETTINGS_LABS_SHOW_HIDDEN_EVENTS_PREFERENCE_KEY = "SETTINGS_LABS_SHOW_HIDDEN_EVENTS_PREFERENCE_KEY" private const val SETTINGS_LABS_ENABLE_SWIPE_TO_REPLY = "SETTINGS_LABS_ENABLE_SWIPE_TO_REPLY" @@ -989,8 +987,4 @@ class VectorPreferences @Inject constructor(private val context: Context) { putInt(TAKE_PHOTO_VIDEO_MODE, mode) } } - - fun labsUseVoiceMessage(): Boolean { - return defaultPrefs.getBoolean(SETTINGS_LABS_VOICE_MESSAGE, false) - } } diff --git a/vector/src/main/res/xml/vector_settings_labs.xml b/vector/src/main/res/xml/vector_settings_labs.xml index 50227590be2..1e0f736db2a 100644 --- a/vector/src/main/res/xml/vector_settings_labs.xml +++ b/vector/src/main/res/xml/vector_settings_labs.xml @@ -57,9 +57,4 @@ android:key="SETTINGS_LABS_SPACES_HOME_AS_ORPHAN" android:title="@string/labs_space_show_orphan_in_home"/> - - \ No newline at end of file