From 9bd6277786305f98dd85c4256f228b3ae191e05d Mon Sep 17 00:00:00 2001 From: yueg Date: Fri, 27 Apr 2018 10:39:27 -0700 Subject: HFP device support change. Test: manual PiperOrigin-RevId: 194561401 Change-Id: Ia94765a3979b5f3c3e4d02c1dc235f5e41fbf6f9 --- .../audioroute/AudioRouteSelectorDialogFragment.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java') diff --git a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java index 79cae098d..316dd128b 100644 --- a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java +++ b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java @@ -16,6 +16,7 @@ package com.android.incallui.audioroute; +import android.annotation.SuppressLint; import android.app.Dialog; import android.bluetooth.BluetoothDevice; import android.content.Context; @@ -35,6 +36,8 @@ import android.widget.TextView; import com.android.dialer.common.FragmentUtils; import com.android.dialer.common.LogUtil; import com.android.incallui.audiomode.BluetoothDeviceProviderComponent; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.Set; /** Shows picker for audio routes */ @@ -142,7 +145,7 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment int selectedColor = getResources().getColor(R.color.dialer_theme_color); TextView textView = (TextView) getLayoutInflater().inflate(R.layout.audioroute_item, null, false); - textView.setText(bluetoothDevice.getName()); + textView.setText(getAliasName(bluetoothDevice)); if (selected) { textView.setTextColor(selectedColor); textView.setCompoundDrawableTintList(ColorStateList.valueOf(selectedColor)); @@ -163,4 +166,16 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment return textView; } + + @SuppressLint("PrivateApi") + private String getAliasName(BluetoothDevice bluetoothDevice) { + try { + Method getActiveDeviceMethod = bluetoothDevice.getClass().getDeclaredMethod("getAliasName"); + getActiveDeviceMethod.setAccessible(true); + return (String) getActiveDeviceMethod.invoke(bluetoothDevice); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + e.printStackTrace(); + return bluetoothDevice.getName(); + } + } } -- cgit v1.2.3