mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 18:30:20 +01:00
Improve voice note Bluetooth state handling.
This commit is contained in:
committed by
Nicholas Tinsley
parent
ecf576e9b9
commit
5cb10cd054
@@ -58,6 +58,7 @@ import androidx.annotation.ColorRes;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.WorkerThread;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
@@ -304,7 +305,6 @@ import org.whispersystems.signalservice.api.SignalSessionLock;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
@@ -513,7 +513,7 @@ public class ConversationParentFragment extends Fragment
|
||||
|
||||
voiceNoteMediaController = new VoiceNoteMediaController(requireActivity(), true);
|
||||
voiceRecorderWakeLock = new VoiceRecorderWakeLock(requireActivity());
|
||||
bluetoothVoiceNoteUtil = BluetoothVoiceNoteUtil.Companion.create(requireContext(), this::beginRecording, this::onBluetoothPermissionDenied);
|
||||
bluetoothVoiceNoteUtil = BluetoothVoiceNoteUtil.Companion.create(requireContext(), this::onBluetoothConnectionAttempt, this::onBluetoothPermissionDenied);
|
||||
|
||||
// TODO [alex] LargeScreenSupport -- Should be removed once we move to multi-pane layout.
|
||||
new FullscreenHelper(requireActivity()).showSystemUI();
|
||||
@@ -3306,6 +3306,11 @@ public class ConversationParentFragment extends Fragment
|
||||
}
|
||||
}
|
||||
|
||||
private Unit onBluetoothConnectionAttempt(Boolean success) {
|
||||
beginRecording();
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
private Unit beginRecording() {
|
||||
Vibrator vibrator = ServiceUtil.getVibrator(requireContext());
|
||||
vibrator.vibrate(20);
|
||||
|
||||
@@ -47,7 +47,7 @@ class VoiceMessageRecordingDelegate(
|
||||
private val voiceRecorderWakeLock = VoiceRecorderWakeLock(fragment.requireActivity())
|
||||
private val bluetoothVoiceNoteUtil = BluetoothVoiceNoteUtil.create(
|
||||
fragment.requireContext(),
|
||||
this::beginRecording,
|
||||
this::onBluetoothConnectionAttempt,
|
||||
this::onBluetoothPermissionDenied
|
||||
)
|
||||
|
||||
@@ -104,6 +104,10 @@ class VoiceMessageRecordingDelegate(
|
||||
bluetoothVoiceNoteUtil.connectBluetoothScoConnection()
|
||||
}
|
||||
|
||||
private fun onBluetoothConnectionAttempt(success: Boolean) {
|
||||
beginRecording()
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
private fun beginRecording() {
|
||||
val vibrator = ServiceUtil.getVibrator(fragment.requireContext())
|
||||
|
||||
Reference in New Issue
Block a user