Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add logs in A2dpSinkStateMachine for debug #2475

Open
wants to merge 1 commit into
base: celadon/s/mr0/apollo
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
From 3d34a88fb2728b7af8a46b6639637846595f5e72 Mon Sep 17 00:00:00 2001
From: Gowtham Anandha Babu <[email protected]>
Date: Wed, 15 May 2024 19:16:23 +0530
Subject: [PATCH] Add logs in A2dpSinkStateMachine for debug

Signed-off-by: Gowtham Anandha Babu <[email protected]>
---
.../bluetooth/a2dpsink/A2dpSinkService.java | 18 +++++++++++++++++-
.../a2dpsink/A2dpSinkStateMachine.java | 4 +++-
2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/com/android/bluetooth/a2dpsink/A2dpSinkService.java b/src/com/android/bluetooth/a2dpsink/A2dpSinkService.java
index b5d3ab2cd..4917b97a9 100644
--- a/src/com/android/bluetooth/a2dpsink/A2dpSinkService.java
+++ b/src/com/android/bluetooth/a2dpsink/A2dpSinkService.java
@@ -45,7 +45,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/
public class A2dpSinkService extends ProfileService {
private static final String TAG = "A2dpSinkService";
- private static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);
+ private static final boolean DBG = true;//Log.isLoggable(TAG, Log.DEBUG);
private int mMaxConnectedAudioDevices;

private AdapterService mAdapterService;
@@ -83,6 +83,7 @@ public class A2dpSinkService extends ProfileService {

@Override
protected boolean stop() {
+ Log.d(TAG, "stop()");
setA2dpSinkService(null);
cleanupNative();
for (A2dpSinkStateMachine stateMachine : mDeviceStateMap.values()) {
@@ -306,6 +307,7 @@ public class A2dpSinkService extends ProfileService {
*/
@RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED)
public boolean connect(BluetoothDevice device) {
+ Log.d(TAG, "connect 1");
enforceCallingOrSelfPermission(BLUETOOTH_PRIVILEGED,
"Need BLUETOOTH_PRIVILEGED permission");
if (device == null) {
@@ -323,8 +325,10 @@ public class A2dpSinkService extends ProfileService {
return false;
}

+ Log.d(TAG, "connect 2");
A2dpSinkStateMachine stateMachine = getOrCreateStateMachine(device);
if (stateMachine != null) {
+ Log.d(TAG, "connect 3");
stateMachine.connect();
return true;
} else {
@@ -348,6 +352,7 @@ public class A2dpSinkService extends ProfileService {
+ ", InstanceMap start state: " + sb.toString());
}

+ Log.d(TAG, "disconnect");
A2dpSinkStateMachine stateMachine = mDeviceStateMap.get(device);
// a state machine instance doesn't exist. maybe it is already gone?
if (stateMachine == null) {
@@ -368,6 +373,7 @@ public class A2dpSinkService extends ProfileService {
if (stateMachine == null) {
return;
}
+ Log.d(TAG, "removeStateMachine");
mDeviceStateMap.remove(stateMachine.getDevice());
stateMachine.quitNow();
}
@@ -380,23 +386,29 @@ public class A2dpSinkService extends ProfileService {
A2dpSinkStateMachine newStateMachine = new A2dpSinkStateMachine(device, this);
A2dpSinkStateMachine existingStateMachine =
mDeviceStateMap.putIfAbsent(device, newStateMachine);
+ Log.d(TAG, "getOrCreateStateMachine 1");
// Given null is not a valid value in our map, ConcurrentHashMap will return null if the
// key was absent and our new value was added. We should then start and return it. Else
// we quit the new one so we don't leak a thread
if (existingStateMachine == null) {
+ Log.d(TAG, "getOrCreateStateMachine 2");
newStateMachine.start();
+ Log.d(TAG, "getOrCreateStateMachine 3");
return newStateMachine;
} else {
// If you try to quit a StateMachine that hasn't been constructed yet, the StateMachine
// spits out an NPE trying to read a state stack array that only gets made on start().
// We can just quit the thread made explicitly
+ Log.d(TAG, "getOrCreateStateMachine 4");
newStateMachine.getHandler().getLooper().quit();
}
+ Log.d(TAG, "getOrCreateStateMachine 5");
return existingStateMachine;
}

@VisibleForTesting
protected A2dpSinkStateMachine getStateMachineForDevice(BluetoothDevice device) {
+ Log.d(TAG, "getStateMachineForDevice");
return mDeviceStateMap.get(device);
}

@@ -429,7 +441,9 @@ public class A2dpSinkService extends ProfileService {
* {@link BluetoothProfile#STATE_DISCONNECTING} if this profile is being disconnected
*/
public int getConnectionState(BluetoothDevice device) {
+ Log.d(TAG, "getConnectionState 1");
A2dpSinkStateMachine stateMachine = mDeviceStateMap.get(device);
+ Log.d(TAG, "getConnectionState 2");
return (stateMachine == null) ? BluetoothProfile.STATE_DISCONNECTED
: stateMachine.getState();
}
@@ -498,11 +512,13 @@ public class A2dpSinkService extends ProfileService {
}

BluetoothAudioConfig getAudioConfig(BluetoothDevice device) {
+ Log.d(TAG, "getAudioConfig 1");
A2dpSinkStateMachine stateMachine = mDeviceStateMap.get(device);
// a state machine instance doesn't exist. maybe it is already gone?
if (stateMachine == null) {
return null;
}
+ Log.d(TAG, "getAudioConfig 2");
return stateMachine.getAudioConfig();
}

diff --git a/src/com/android/bluetooth/a2dpsink/A2dpSinkStateMachine.java b/src/com/android/bluetooth/a2dpsink/A2dpSinkStateMachine.java
index cfc4bfc0f..4725d3f6a 100644
--- a/src/com/android/bluetooth/a2dpsink/A2dpSinkStateMachine.java
+++ b/src/com/android/bluetooth/a2dpsink/A2dpSinkStateMachine.java
@@ -37,7 +37,7 @@ import com.android.bluetooth.statemachine.StateMachine;

public class A2dpSinkStateMachine extends StateMachine {
static final String TAG = "A2DPSinkStateMachine";
- static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);
+ static final boolean DBG = true;//Log.isLoggable(TAG, Log.DEBUG);

//0->99 Events from Outside
public static final int CONNECT = 1;
@@ -65,6 +65,7 @@ public class A2dpSinkStateMachine extends StateMachine {

A2dpSinkStateMachine(BluetoothDevice device, A2dpSinkService service) {
super(TAG);
+ setDbg(DBG);
mDevice = device;
mDeviceAddress = Utils.getByteAddress(mDevice);
mService = service;
@@ -116,6 +117,7 @@ public class A2dpSinkStateMachine extends StateMachine {
* send the Connect command asynchronously
*/
public final void connect() {
+ Log.d(TAG, "connect");
sendMessage(CONNECT);
}

--
2.17.1

Loading