Unifies constants accross hearing aid related profiles (2/2)
Hearing aid constants defined differently across different hearing aid related profiles. For hearing aid device mode, HearingAidProfile and HapClientProfile have different values for mode definition and there is also a new BANDED hearing aid type in HapClientProfile spec. For hearing aid device side, HearingAidProfile has only 2 kinds of side which is left and right whereas BLE hearing aid can retrieve 27 different kinds of audio location. We therefore introduce a new class HearingAidInfo for mapping these different constants across these profiles into a single unified set of constants. Bug: 253192350 Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityHearingAidPreferenceControllerTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidPairingDialogFragmentTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtilsTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsPairOtherControllerTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaDeviceGroupControllerTest Change-Id: Id14928dbc051fcf76fe0d66b43aefefb1b5f7baf
This commit is contained in:
@@ -44,6 +44,7 @@ import com.android.settingslib.bluetooth.BluetoothCallback;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
|
||||
import com.android.settingslib.bluetooth.HapClientProfile;
|
||||
import com.android.settingslib.bluetooth.HearingAidInfo;
|
||||
import com.android.settingslib.bluetooth.HearingAidProfile;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
|
||||
@@ -170,10 +171,13 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
|
||||
}
|
||||
|
||||
final int side = device.getDeviceSide();
|
||||
if (side == HearingAidProfile.DeviceSide.SIDE_LEFT) {
|
||||
if (side == HearingAidInfo.DeviceSide.SIDE_LEFT_AND_RIGHT) {
|
||||
return mContext.getString(
|
||||
R.string.accessibility_hearingaid_left_and_right_side_device_summary, name);
|
||||
} else if (side == HearingAidInfo.DeviceSide.SIDE_LEFT) {
|
||||
return mContext.getString(
|
||||
R.string.accessibility_hearingaid_left_side_device_summary, name);
|
||||
} else if (side == HearingAidProfile.DeviceSide.SIDE_RIGHT) {
|
||||
} else if (side == HearingAidInfo.DeviceSide.SIDE_RIGHT) {
|
||||
return mContext.getString(
|
||||
R.string.accessibility_hearingaid_right_side_device_summary, name);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.android.settings.bluetooth.HearingAidPairingDialogFragment;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.bluetooth.HearingAidProfile;
|
||||
import com.android.settingslib.bluetooth.HearingAidInfo;
|
||||
|
||||
/** Provides utility methods related hearing aids. */
|
||||
public final class HearingAidUtils {
|
||||
@@ -41,7 +41,7 @@ public final class HearingAidUtils {
|
||||
public static void launchHearingAidPairingDialog(FragmentManager fragmentManager,
|
||||
@NonNull CachedBluetoothDevice device) {
|
||||
if (device.isConnectedAshaHearingAidDevice()
|
||||
&& device.getDeviceMode() == HearingAidProfile.DeviceMode.MODE_BINAURAL
|
||||
&& device.getDeviceMode() == HearingAidInfo.DeviceMode.MODE_BINAURAL
|
||||
&& device.getSubDevice() == null) {
|
||||
launchHearingAidPairingDialogInternal(fragmentManager, device);
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public final class HearingAidUtils {
|
||||
|
||||
private static void launchHearingAidPairingDialogInternal(FragmentManager fragmentManager,
|
||||
@NonNull CachedBluetoothDevice device) {
|
||||
if (device.getDeviceSide() == HearingAidProfile.DeviceSide.SIDE_INVALID) {
|
||||
if (device.getDeviceSide() == HearingAidInfo.DeviceSide.SIDE_INVALID) {
|
||||
Log.w(TAG, "Can not launch hearing aid pairing dialog for invalid side");
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user