Loading src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -184,7 +184,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC } if (bluetoothProfile == BluetoothProfile.HEARING_AID) { HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice); HearingAidUtils.launchHearingAidPairingDialog( mFragmentManager, activeDevice, getMetricsCategory()); } } Loading src/com/android/settings/accessibility/AvailableHearingDevicePreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -103,7 +103,8 @@ public class AvailableHearingDevicePreferenceController extends } if (bluetoothProfile == BluetoothProfile.HEARING_AID) { HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice); HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice, getMetricsCategory()); } } } src/com/android/settings/accessibility/HearingAidUtils.java +6 −5 Original line number Diff line number Diff line Loading @@ -38,9 +38,10 @@ public final class HearingAidUtils { * * @param fragmentManager The {@link FragmentManager} used to show dialog fragment * @param device The {@link CachedBluetoothDevice} need to be hearing aid device * @param launchPage The page id where the dialog is launched */ public static void launchHearingAidPairingDialog(FragmentManager fragmentManager, @NonNull CachedBluetoothDevice device) { @NonNull CachedBluetoothDevice device, int launchPage) { // No need to show the pair another ear dialog if the device supports and enables CSIP. // CSIP will pair other devices in the same set automatically. if (isCsipSupportedAndEnabled(device)) { Loading @@ -49,18 +50,18 @@ public final class HearingAidUtils { if (device.isConnectedAshaHearingAidDevice() && device.getDeviceMode() == HearingAidInfo.DeviceMode.MODE_BINAURAL && device.getSubDevice() == null) { launchHearingAidPairingDialogInternal(fragmentManager, device); launchHearingAidPairingDialogInternal(fragmentManager, device, launchPage); } } private static void launchHearingAidPairingDialogInternal(FragmentManager fragmentManager, @NonNull CachedBluetoothDevice device) { @NonNull CachedBluetoothDevice device, int launchPage) { if (device.getDeviceSide() == HearingAidInfo.DeviceSide.SIDE_INVALID) { Log.w(TAG, "Can not launch hearing aid pairing dialog for invalid side"); return; } HearingAidPairingDialogFragment.newInstance(device.getAddress()).show(fragmentManager, HearingAidPairingDialogFragment.TAG); HearingAidPairingDialogFragment.newInstance(device.getAddress(), launchPage) .show(fragmentManager, HearingAidPairingDialogFragment.TAG); } private static boolean isCsipSupportedAndEnabled(@NonNull CachedBluetoothDevice device) { Loading src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java +17 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.accessibility.HearingDevicePairingDetail; import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; Loading @@ -41,6 +42,8 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment CachedBluetoothDevice.Callback { public static final String TAG = "HearingAidPairingDialogFragment"; private static final String KEY_DEVICE_ADDRESS = "device_address"; private static final String KEY_LAUNCH_PAGE = "launch_page"; private LocalBluetoothManager mLocalBluetoothManager; private CachedBluetoothDevice mDevice; Loading @@ -50,11 +53,17 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment * * @param deviceAddress The remote Bluetooth device address, that needs to be a hearing aid * device. * @param launchPage The id of the page where this dialog launch from. Should be one of * {@link SettingsEnums#ACCESSIBILITY}, * {@link SettingsEnums#ACCESSIBILITY_HEARING_AID_SETTINGS}, or * {@link SettingsEnums#SETTINGS_CONNECTED_DEVICE_CATEGORY} * @return a DialogFragment */ public static HearingAidPairingDialogFragment newInstance(String deviceAddress) { public static HearingAidPairingDialogFragment newInstance(String deviceAddress, int launchPage) { Bundle args = new Bundle(1); args.putString(KEY_DEVICE_ADDRESS, deviceAddress); args.putInt(KEY_LAUNCH_PAGE, launchPage); final HearingAidPairingDialogFragment fragment = new HearingAidPairingDialogFragment(); fragment.setArguments(args); return fragment; Loading Loading @@ -111,8 +120,14 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment } private void positiveButtonListener() { final int launchPage = getArguments().getInt(KEY_LAUNCH_PAGE); final boolean launchFromA11y = (launchPage == SettingsEnums.ACCESSIBILITY) || (launchPage == SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS); final String destination = launchFromA11y ? HearingDevicePairingDetail.class.getName() : BluetoothPairingDetail.class.getName(); new SubSettingLauncher(getActivity()) .setDestination(BluetoothPairingDetail.class.getName()) .setDestination(destination) .setSourceMetricsCategory(getMetricsCategory()) .launch(); } Loading src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java +2 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,8 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle } if (bluetoothProfile == BluetoothProfile.HEARING_AID) { HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice); HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice, getMetricsCategory()); } } Loading Loading
src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -184,7 +184,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC } if (bluetoothProfile == BluetoothProfile.HEARING_AID) { HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice); HearingAidUtils.launchHearingAidPairingDialog( mFragmentManager, activeDevice, getMetricsCategory()); } } Loading
src/com/android/settings/accessibility/AvailableHearingDevicePreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -103,7 +103,8 @@ public class AvailableHearingDevicePreferenceController extends } if (bluetoothProfile == BluetoothProfile.HEARING_AID) { HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice); HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice, getMetricsCategory()); } } }
src/com/android/settings/accessibility/HearingAidUtils.java +6 −5 Original line number Diff line number Diff line Loading @@ -38,9 +38,10 @@ public final class HearingAidUtils { * * @param fragmentManager The {@link FragmentManager} used to show dialog fragment * @param device The {@link CachedBluetoothDevice} need to be hearing aid device * @param launchPage The page id where the dialog is launched */ public static void launchHearingAidPairingDialog(FragmentManager fragmentManager, @NonNull CachedBluetoothDevice device) { @NonNull CachedBluetoothDevice device, int launchPage) { // No need to show the pair another ear dialog if the device supports and enables CSIP. // CSIP will pair other devices in the same set automatically. if (isCsipSupportedAndEnabled(device)) { Loading @@ -49,18 +50,18 @@ public final class HearingAidUtils { if (device.isConnectedAshaHearingAidDevice() && device.getDeviceMode() == HearingAidInfo.DeviceMode.MODE_BINAURAL && device.getSubDevice() == null) { launchHearingAidPairingDialogInternal(fragmentManager, device); launchHearingAidPairingDialogInternal(fragmentManager, device, launchPage); } } private static void launchHearingAidPairingDialogInternal(FragmentManager fragmentManager, @NonNull CachedBluetoothDevice device) { @NonNull CachedBluetoothDevice device, int launchPage) { if (device.getDeviceSide() == HearingAidInfo.DeviceSide.SIDE_INVALID) { Log.w(TAG, "Can not launch hearing aid pairing dialog for invalid side"); return; } HearingAidPairingDialogFragment.newInstance(device.getAddress()).show(fragmentManager, HearingAidPairingDialogFragment.TAG); HearingAidPairingDialogFragment.newInstance(device.getAddress(), launchPage) .show(fragmentManager, HearingAidPairingDialogFragment.TAG); } private static boolean isCsipSupportedAndEnabled(@NonNull CachedBluetoothDevice device) { Loading
src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java +17 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.accessibility.HearingDevicePairingDetail; import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; Loading @@ -41,6 +42,8 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment CachedBluetoothDevice.Callback { public static final String TAG = "HearingAidPairingDialogFragment"; private static final String KEY_DEVICE_ADDRESS = "device_address"; private static final String KEY_LAUNCH_PAGE = "launch_page"; private LocalBluetoothManager mLocalBluetoothManager; private CachedBluetoothDevice mDevice; Loading @@ -50,11 +53,17 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment * * @param deviceAddress The remote Bluetooth device address, that needs to be a hearing aid * device. * @param launchPage The id of the page where this dialog launch from. Should be one of * {@link SettingsEnums#ACCESSIBILITY}, * {@link SettingsEnums#ACCESSIBILITY_HEARING_AID_SETTINGS}, or * {@link SettingsEnums#SETTINGS_CONNECTED_DEVICE_CATEGORY} * @return a DialogFragment */ public static HearingAidPairingDialogFragment newInstance(String deviceAddress) { public static HearingAidPairingDialogFragment newInstance(String deviceAddress, int launchPage) { Bundle args = new Bundle(1); args.putString(KEY_DEVICE_ADDRESS, deviceAddress); args.putInt(KEY_LAUNCH_PAGE, launchPage); final HearingAidPairingDialogFragment fragment = new HearingAidPairingDialogFragment(); fragment.setArguments(args); return fragment; Loading Loading @@ -111,8 +120,14 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment } private void positiveButtonListener() { final int launchPage = getArguments().getInt(KEY_LAUNCH_PAGE); final boolean launchFromA11y = (launchPage == SettingsEnums.ACCESSIBILITY) || (launchPage == SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS); final String destination = launchFromA11y ? HearingDevicePairingDetail.class.getName() : BluetoothPairingDetail.class.getName(); new SubSettingLauncher(getActivity()) .setDestination(BluetoothPairingDetail.class.getName()) .setDestination(destination) .setSourceMetricsCategory(getMetricsCategory()) .launch(); } Loading
src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java +2 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,8 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle } if (bluetoothProfile == BluetoothProfile.HEARING_AID) { HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice); HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice, getMetricsCategory()); } } Loading