Skip to content

Commit 71a1f83

Browse files
committed
android: add delay before starting head tracking again
1 parent 63baa15 commit 71a1f83

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

android/app/src/main/java/me/kavishdevar/librepods/services/AirPodsService.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2145,11 +2145,9 @@ class AirPodsService : Service(), SharedPreferences.OnSharedPreferenceChangeList
21452145
MediaController.sendPlay()
21462146
} else if (startHeadTrackingAgain) {
21472147
Log.d("AirPodsService", "Starting head tracking again after taking control")
2148-
if (sharedPreferences.getBoolean("use_alternate_head_tracking_packets", false)) {
2149-
aacpManager.sendDataPacket(aacpManager.createAlternateStartHeadTrackingPacket())
2150-
} else {
2151-
aacpManager.sendStartHeadTracking()
2152-
}
2148+
Handler(Looper.getMainLooper()).postDelayed({
2149+
startHeadTracking()
2150+
}, 500)
21532151
}
21542152
}
21552153
} else {
@@ -2602,7 +2600,7 @@ class AirPodsService : Service(), SharedPreferences.OnSharedPreferenceChangeList
26022600
fun startHeadTracking() {
26032601
isHeadTrackingActive = true
26042602
val useAlternatePackets = sharedPreferences.getBoolean("use_alternate_head_tracking_packets", false)
2605-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
2603+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && aacpManager.getControlCommandStatus(AACPManager.Companion.ControlCommandIdentifiers.OWNS_CONNECTION)?.value?.get(0)?.toInt() != 1) {
26062604
takeOver("call", startHeadTrackingAgain = true)
26072605
Log.d("AirPodsService", "Taking over for head tracking")
26082606
} else {

0 commit comments

Comments
 (0)