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 --- .../AudioRouteSelectorDialogFragment.java | 17 +++++++- .../audioroute/res/layout/audioroute_item.xml | 4 +- .../audioroute/res/layout/audioroute_selector.xml | 47 ++++++++++++---------- 3 files changed, 44 insertions(+), 24 deletions(-) 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(); + } + } } diff --git a/java/com/android/incallui/audioroute/res/layout/audioroute_item.xml b/java/com/android/incallui/audioroute/res/layout/audioroute_item.xml index 66c83f67e..dfd795f04 100644 --- a/java/com/android/incallui/audioroute/res/layout/audioroute_item.xml +++ b/java/com/android/incallui/audioroute/res/layout/audioroute_item.xml @@ -18,4 +18,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableStart="@drawable/quantum_ic_bluetooth_audio_vd_theme_24" - android:drawableTint="@color/material_grey_600"/> \ No newline at end of file + android:drawableTint="@color/material_grey_600" + android:gravity="start" + android:textAlignment="viewStart"/> \ No newline at end of file diff --git a/java/com/android/incallui/audioroute/res/layout/audioroute_selector.xml b/java/com/android/incallui/audioroute/res/layout/audioroute_selector.xml index 145101dd1..b63f387c4 100644 --- a/java/com/android/incallui/audioroute/res/layout/audioroute_selector.xml +++ b/java/com/android/incallui/audioroute/res/layout/audioroute_selector.xml @@ -14,31 +14,34 @@ ~ limitations under the License --> - + android:orientation="vertical" + tools:layout_gravity="bottom"> + android:id="@+id/audioroute_speaker" + style="@style/AudioRouteItem" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawableStart="@drawable/quantum_ic_volume_up_grey600_24" + android:text="@string/audioroute_speaker" + android:textAlignment="viewStart"/> + android:id="@+id/audioroute_earpiece" + style="@style/AudioRouteItem" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawableStart="@drawable/ic_phone_audio_grey600_24dp" + android:text="@string/audioroute_phone" + android:textAlignment="viewStart"/> + -- cgit v1.2.3