Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b25b675 authored by Wink Saville's avatar Wink Saville
Browse files

Add protected log methods to StateMachine

This allow child classes to Override the logging and
have consistent behavior across StateMachines.

Change-Id: I7e23a44d08ca304ade2d7830fd0e307f63f1879e
parent d84aab0b
Loading
Loading
Loading
Loading
+27 −32
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ import java.util.List;
import java.util.Set;

final class A2dpStateMachine extends StateMachine {
    private static final String TAG = "A2dpStateMachine";
    private static final boolean DBG = false;

    static final int CONNECT = 1;
@@ -116,7 +115,7 @@ final class A2dpStateMachine extends StateMachine {
    }

    private A2dpStateMachine(A2dpService svc, Context context) {
        super(TAG);
        super("A2dpStateMachine");
        mService = svc;
        mContext = context;
        mAdapter = BluetoothAdapter.getDefaultAdapter();
@@ -143,7 +142,7 @@ final class A2dpStateMachine extends StateMachine {
    }

    static A2dpStateMachine make(A2dpService svc, Context context) {
        Log.d(TAG, "make");
        Log.d("A2dpStateMachine", "make");
        A2dpStateMachine a2dpSm = new A2dpStateMachine(svc, context);
        a2dpSm.start();
        return a2dpSm;
@@ -167,7 +166,7 @@ final class A2dpStateMachine extends StateMachine {
        public boolean processMessage(Message message) {
            log("Disconnected process message: " + message.what);
            if (mCurrentDevice != null || mTargetDevice != null  || mIncomingDevice != null) {
                Log.e(TAG, "ERROR: current, target, or mIncomingDevice not null in Disconnected");
                loge("ERROR: current, target, or mIncomingDevice not null in Disconnected");
                return NOT_HANDLED;
            }

@@ -202,7 +201,7 @@ final class A2dpStateMachine extends StateMachine {
                            processConnectionEvent(event.valueInt, event.device);
                            break;
                        default:
                            Log.e(TAG, "Unexpected stack event: " + event.type);
                            loge("Unexpected stack event: " + event.type);
                            break;
                    }
                    break;
@@ -221,11 +220,11 @@ final class A2dpStateMachine extends StateMachine {
        private void processConnectionEvent(int state, BluetoothDevice device) {
            switch (state) {
            case CONNECTION_STATE_DISCONNECTED:
                Log.w(TAG, "Ignore HF DISCONNECTED event, device: " + device);
                logw("Ignore HF DISCONNECTED event, device: " + device);
                break;
            case CONNECTION_STATE_CONNECTING:
                if (okToConnect(device)){
                    Log.i(TAG,"Incoming A2DP accepted");
                    logi("Incoming A2DP accepted");
                    broadcastConnectionState(device, BluetoothProfile.STATE_CONNECTING,
                                             BluetoothProfile.STATE_DISCONNECTED);
                    synchronized (A2dpStateMachine.this) {
@@ -234,7 +233,7 @@ final class A2dpStateMachine extends StateMachine {
                    }
                } else {
                    //reject the connection and stay in Disconnected state itself
                    Log.i(TAG,"Incoming A2DP rejected");
                    logi("Incoming A2DP rejected");
                    disconnectA2dpNative(getByteAddress(device));
                    // the other profile connection should be initiated
                    AdapterService adapterService = AdapterService.getAdapterService();
@@ -245,9 +244,9 @@ final class A2dpStateMachine extends StateMachine {
                }
                break;
            case CONNECTION_STATE_CONNECTED:
                Log.w(TAG, "A2DP Connected from Disconnected state");
                logw("A2DP Connected from Disconnected state");
                if (okToConnect(device)){
                    Log.i(TAG,"Incoming A2DP accepted");
                    logi("Incoming A2DP accepted");
                    broadcastConnectionState(device, BluetoothProfile.STATE_CONNECTED,
                                             BluetoothProfile.STATE_DISCONNECTED);
                    synchronized (A2dpStateMachine.this) {
@@ -256,7 +255,7 @@ final class A2dpStateMachine extends StateMachine {
                    }
                } else {
                    //reject the connection and stay in Disconnected state itself
                    Log.i(TAG,"Incoming A2DP rejected");
                    logi("Incoming A2DP rejected");
                    disconnectA2dpNative(getByteAddress(device));
                    // the other profile connection should be initiated
                    AdapterService adapterService = AdapterService.getAdapterService();
@@ -267,10 +266,10 @@ final class A2dpStateMachine extends StateMachine {
                }
                break;
            case CONNECTION_STATE_DISCONNECTING:
                Log.w(TAG, "Ignore HF DISCONNECTING event, device: " + device);
                logw("Ignore HF DISCONNECTING event, device: " + device);
                break;
            default:
                Log.e(TAG, "Incorrect state: " + state);
                loge("Incorrect state: " + state);
                break;
            }
        }
@@ -317,7 +316,7 @@ final class A2dpStateMachine extends StateMachine {
                            processConnectionEvent(event.valueInt, event.device);
                            break;
                        default:
                            Log.e(TAG, "Unexpected stack event: " + event.type);
                            loge("Unexpected stack event: " + event.type);
                            break;
                    }
                    break;
@@ -372,7 +371,7 @@ final class A2dpStateMachine extends StateMachine {
                            transitionTo(mDisconnected);
                        }
                    } else {
                        Log.e(TAG, "Unknown device Disconnected: " + device);
                        loge("Unknown device Disconnected: " + device);
                    }
                    break;
            case CONNECTION_STATE_CONNECTED:
@@ -405,7 +404,7 @@ final class A2dpStateMachine extends StateMachine {
                        transitionTo(mConnected);
                    }
                } else {
                    Log.e(TAG, "Unknown device Connected: " + device);
                    loge("Unknown device Connected: " + device);
                    // something is wrong here, but sync our state with stack
                    broadcastConnectionState(device, BluetoothProfile.STATE_CONNECTED,
                                             BluetoothProfile.STATE_DISCONNECTED);
@@ -428,7 +427,7 @@ final class A2dpStateMachine extends StateMachine {
                    log("Stack and target device are connecting");
                }
                else if (mIncomingDevice != null && mIncomingDevice.equals(device)) {
                    Log.e(TAG, "Another connecting event on the incoming device");
                    loge("Another connecting event on the incoming device");
                } else {
                    // We get an incoming connecting request while Pending
                    // TODO(BT) is stack handing this case? let's ignore it for now
@@ -442,15 +441,15 @@ final class A2dpStateMachine extends StateMachine {
                        log("stack is disconnecting mCurrentDevice");
                    }
                } else if (mTargetDevice != null && mTargetDevice.equals(device)) {
                    Log.e(TAG, "TargetDevice is getting disconnected");
                    loge("TargetDevice is getting disconnected");
                } else if (mIncomingDevice != null && mIncomingDevice.equals(device)) {
                    Log.e(TAG, "IncomingDevice is getting disconnected");
                    loge("IncomingDevice is getting disconnected");
                } else {
                    Log.e(TAG, "Disconnecting unknow device: " + device);
                    loge("Disconnecting unknow device: " + device);
                }
                break;
            default:
                Log.e(TAG, "Incorrect state: " + state);
                loge("Incorrect state: " + state);
                break;
            }
        }
@@ -470,7 +469,7 @@ final class A2dpStateMachine extends StateMachine {
        public boolean processMessage(Message message) {
            log("Connected process message: " + message.what);
            if (mCurrentDevice == null) {
                Log.e(TAG, "ERROR: mCurrentDevice is null in Connected");
                loge("ERROR: mCurrentDevice is null in Connected");
                return NOT_HANDLED;
            }

@@ -523,7 +522,7 @@ final class A2dpStateMachine extends StateMachine {
                            processAudioStateEvent(event.valueInt, event.device);
                            break;
                        default:
                            Log.e(TAG, "Unexpected stack event: " + event.type);
                            loge("Unexpected stack event: " + event.type);
                            break;
                    }
                    break;
@@ -545,17 +544,17 @@ final class A2dpStateMachine extends StateMachine {
                            transitionTo(mDisconnected);
                        }
                    } else {
                        Log.e(TAG, "Disconnected from unknown device: " + device);
                        loge("Disconnected from unknown device: " + device);
                    }
                    break;
              default:
                  Log.e(TAG, "Connection State Device: " + device + " bad state: " + state);
                  loge("Connection State Device: " + device + " bad state: " + state);
                  break;
            }
        }
        private void processAudioStateEvent(int state, BluetoothDevice device) {
            if (!mCurrentDevice.equals(device)) {
                Log.e(TAG, "Audio State Device:" + device + "is different from ConnectedDevice:" +
                loge("Audio State Device:" + device + "is different from ConnectedDevice:" +
                                                           mCurrentDevice);
                return;
            }
@@ -575,7 +574,7 @@ final class A2dpStateMachine extends StateMachine {
                    }
                    break;
                default:
                  Log.e(TAG, "Audio State Device: " + device + " bad state: " + state);
                  loge("Audio State Device: " + device + " bad state: " + state);
                  break;
            }
        }
@@ -607,7 +606,7 @@ final class A2dpStateMachine extends StateMachine {
                }
                return BluetoothProfile.STATE_DISCONNECTED;
            } else {
                Log.e(TAG, "Bad currentState: " + currentState);
                loge("Bad currentState: " + currentState);
                return BluetoothProfile.STATE_DISCONNECTED;
            }
        }
@@ -720,10 +719,6 @@ final class A2dpStateMachine extends StateMachine {
        return mAdapter.getRemoteDevice(Utils.getAddressStringFromByte(address));
    }

    private void log(String msg) {
        Log.d(TAG, msg);
    }

    private class StackEvent {
        int type = EVENT_TYPE_NONE;
        int valueInt = 0;
+3 −3
Original line number Diff line number Diff line
@@ -1957,10 +1957,10 @@ final class HeadsetStateMachine extends StateMachine {
        return ret;
    }


    private void log(String msg) {
    @Override
    protected void log(String msg) {
        if (DBG) {
            Log.d(TAG, msg);
            super.log(msg);
        }
    }