From 0c04ccd9521c79ff4cdb29cb9960cbb02ae1ae4b Mon Sep 17 00:00:00 2001 From: Marie Janssen Date: Tue, 12 Jan 2016 16:05:15 -0800 Subject: [PATCH] IBluetooth: remove dump(), support arguments Because IBluetooth is a Binder service, we don't need dump() to support dumpsys, just call the IBinder.dump(). Change-Id: Idcd48f758427b824e0b7eaafd091ba3fb2ff8993 --- core/java/android/bluetooth/IBluetooth.aidl | 2 - .../server/BluetoothManagerService.java | 43 +++---------------- 2 files changed, 6 insertions(+), 39 deletions(-) diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl index 66f3418c620f5..235811680584b 100644 --- a/core/java/android/bluetooth/IBluetooth.aidl +++ b/core/java/android/bluetooth/IBluetooth.aidl @@ -102,8 +102,6 @@ interface IBluetooth void getActivityEnergyInfoFromController(); BluetoothActivityEnergyInfo reportActivityInfo(); - // For dumpsys support - void dump(in ParcelFileDescriptor fd); void onLeServiceUp(); void onBrEdrDown(); } diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index d5c4a41f07b2c..a2b1aa84418b6 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -116,13 +116,6 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private static final int SERVICE_IBLUETOOTH = 1; private static final int SERVICE_IBLUETOOTHGATT = 2; - private static final String[] DEVICE_TYPE_NAMES = new String[] { - "???", - "BR/EDR", - "LE", - "DUAL" - }; - private final Context mContext; private static int mBleAppCount = 0; @@ -133,6 +126,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private final ContentResolver mContentResolver; private final RemoteCallbackList mCallbacks; private final RemoteCallbackList mStateChangeCallbacks; + private IBinder mBluetoothBinder; private IBluetooth mBluetooth; private IBluetoothGatt mBluetoothGatt; private boolean mBinding; @@ -244,6 +238,7 @@ public void onReceive(Context context, Intent intent) { mContext = context; mBluetooth = null; + mBluetoothBinder = null; mBluetoothGatt = null; mBinding = false; mUnbinding = false; @@ -690,6 +685,7 @@ public void unbindAndFinish() { } } if (DBG) Log.d(TAG, "Sending unbind request."); + mBluetoothBinder = null; mBluetooth = null; //Unbind mContext.unbindService(mConnection); @@ -1296,6 +1292,7 @@ public void handleMessage(Message msg) { mHandler.removeMessages(MESSAGE_TIMEOUT_BIND); mBinding = false; + mBluetoothBinder = service; mBluetooth = IBluetooth.Stub.asInterface(service); try { @@ -1834,41 +1831,13 @@ private void recoverBluetoothServiceFromError() { @Override public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG); - - writer.println("Bluetooth Status"); - writer.println(" enabled: " + mEnable); - writer.println(" state: " + mState); - writer.println(" address: " + mAddress); - writer.println(" name: " + mName + "\n"); - writer.flush(); - - if (mBluetooth == null) { + if (mBluetoothBinder == null) { writer.println("Bluetooth Service not connected"); } else { - ParcelFileDescriptor pfd = null; try { - writer.println("Bonded devices:"); - for (BluetoothDevice device : mBluetooth.getBondedDevices()) { - writer.println(" " + device.getAddress() + - " [" + DEVICE_TYPE_NAMES[device.getType()] + "] " + - device.getName()); - } - writer.flush(); - - pfd = ParcelFileDescriptor.dup(fd); - mBluetooth.dump(pfd); + mBluetoothBinder.dump(fd, args); } catch (RemoteException re) { writer.println("RemoteException while calling Bluetooth Service"); - } catch (IOException ioe) { - writer.println("IOException attempting to dup() fd"); - } finally { - if (pfd != null) { - try { - pfd.close(); - } catch (IOException ioe) { - writer.println("IOException attempting to close() fd"); - } - } } } }