| /* | |
| * Copyright 2009, The Android Open Source Project | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| package com.android.bluetoothdebug; | |
| import android.bluetooth.BluetoothA2dp; | |
| import android.bluetooth.BluetoothAdapter; | |
| import android.bluetooth.BluetoothClass; | |
| import android.bluetooth.BluetoothDevice; | |
| import android.bluetooth.BluetoothDevicePicker; | |
| import android.bluetooth.BluetoothHeadset; | |
| import android.content.BroadcastReceiver; | |
| import android.content.Context; | |
| import android.content.Intent; | |
| import android.os.Bundle; | |
| import android.util.Log; | |
| /** | |
| * Prints Bluetooth intents to logcat. For example: | |
| * BTDEBUG : a.b.device.a.FOUND | |
| * BTDEBUG : a.b.device.e.DEVICE = 00:18:13:F2:CC:33 | |
| * BTDEBUG : a.b.device.e.RSSI = -35 | |
| * BTDEBUG : a.b.device.e.CLASS = 200404 | |
| * BTDEBUG : a.b.adapter.a.DISCOVERY_FINISHED | |
| * BTDEBUG : a.b.device.a.BOND_STATE_CHANGED | |
| * BTDEBUG : a.b.device.e.DEVICE = 00:18:13:F2:CC:33 | |
| * BTDEBUG : a.b.device.e.BOND_STATE = 11 | |
| * BTDEBUG : a.b.device.e.PREVIOUS_BOND_STATE = 10 | |
| */ | |
| public class DebugReceiver extends BroadcastReceiver { | |
| private static final String TAG = "BTDEBUG"; | |
| public void onReceive(Context context, Intent intent) { | |
| Log.d(TAG, shorten(intent.getAction())); | |
| Bundle bundle = intent.getExtras(); | |
| if (bundle == null) return; | |
| for (String extra : bundle.keySet()) { | |
| Log.d(TAG, "\t" + shorten(extra) + " = " + bundle.get(extra)); | |
| } | |
| } | |
| // shorten string to shorthand | |
| // android.bluetooth.device.extra.DEVICE -> a.b.device.e.DEVICE | |
| private static String shorten(String action) { | |
| return action.replace("android", "a") | |
| .replace("bluetooth", "b") | |
| .replace("extra", "e") | |
| .replace("action", "a"); | |
| } | |
| } |