Merge "Fix Connect State message in Device details for Hearing Aids"
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
index f9ecd8e..c445edf 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.util.Log;
 import android.util.Pair;
 
 import androidx.preference.PreferenceFragment;
@@ -36,6 +37,7 @@
  */
 public class BluetoothDetailsHeaderController extends BluetoothDetailsController {
     private static final String KEY_DEVICE_HEADER = "bluetooth_device_header";
+    private static final String TAG = "BluetoothDetailsHeaderController";
 
     private EntityHeaderController mHeaderController;
     private LocalBluetoothManager mLocalManager;
@@ -63,12 +65,16 @@
                 .getBtClassDrawableWithDescription(mContext, mCachedDevice,
                 mContext.getResources().getFraction(R.fraction.bt_battery_scale_fraction, 1, 1));
         String summaryText = mCachedDevice.getConnectionSummary();
-        // If both the hearing aids are connected, two battery status should be shown.
-        final String pairDeviceSummary = mDeviceManager
-            .getHearingAidPairDeviceSummary(mCachedDevice);
-        if (pairDeviceSummary != null) {
+
+        if (mCachedDevice.isHearingAidDevice()) {
+            // For Hearing Aid device, display the other battery status.
+            final String pairDeviceSummary = mDeviceManager
+                .getHearingAidPairDeviceSummary(mCachedDevice);
+            Log.d(TAG, "setHeaderProperties: HearingAid: summaryText=" + summaryText
+                  + ", pairDeviceSummary=" + pairDeviceSummary);
             mHeaderController.setSecondSummary(pairDeviceSummary);
         }
+
         mHeaderController.setLabel(mCachedDevice.getName());
         mHeaderController.setIcon(pair.first);
         mHeaderController.setIconContentDescription(pair.second);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
index 4d295e5..7833eff 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -96,7 +97,7 @@
         verify(mHeaderController).setIcon(any(Drawable.class));
         verify(mHeaderController).setIconContentDescription(any(String.class));
         verify(mHeaderController).setSummary(any(String.class));
-        verify(mHeaderController).setSecondSummary(any(String.class));
+        verify(mHeaderController, never()).setSecondSummary(any(String.class));
         verify(mHeaderController).done(mActivity, true);
     }
 
@@ -119,4 +120,12 @@
         inOrder.verify(mHeaderController)
             .setSummary(mContext.getString(R.string.bluetooth_connecting));
     }
+
+    @Test
+    public void testSecondSummary_isHearingAidDevice_showSecondSummary() {
+        when(mCachedDevice.isHearingAidDevice()).thenReturn(true);
+        showScreen(mController);
+
+        verify(mHeaderController).setSecondSummary(any(String.class));
+    }
 }