mirror of
https://github.com/russok/FitoTrack.git
synced 2025-10-28 00:02:11 -07:00
#51 Detect bluetooth headsets
This commit is contained in:
parent
91d97ae805
commit
e978e8f6c2
@ -23,6 +23,7 @@
|
||||
package="de.tadris.fitness">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
|
||||
@ -19,6 +19,8 @@
|
||||
|
||||
package de.tadris.fitness.announcement;
|
||||
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothHeadset;
|
||||
import android.content.Context;
|
||||
import android.media.AudioManager;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
@ -115,7 +117,7 @@ public class VoiceAnnouncements {
|
||||
// Cannot speak
|
||||
return;
|
||||
}
|
||||
if (currentMode == AnnouncementMode.HEADPHONES && !audioManager.isWiredHeadsetOn()) {
|
||||
if (currentMode == AnnouncementMode.HEADPHONES && !isHeadsetOn()) {
|
||||
// Not allowed to speak
|
||||
return;
|
||||
}
|
||||
@ -123,6 +125,14 @@ public class VoiceAnnouncements {
|
||||
textToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null, "announcement" + (++speakId));
|
||||
}
|
||||
|
||||
private boolean isHeadsetOn() {
|
||||
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
|
||||
boolean bluetoothHeadsetConnected = mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()
|
||||
&& mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED;
|
||||
|
||||
return audioManager.isWiredHeadsetOn() || bluetoothHeadsetConnected;
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
textToSpeech.shutdown();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user