Loading res/xml/accessibility_hearing_aids.xml +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ android:title="@string/bluetooth_pairing_pref_title" android:icon="@drawable/ic_add_24dp" android:summary="@string/connected_device_add_device_summary" android:fragment="com.android.settings.accessibility.HearingDevicePairingFragment" settings:userRestriction="no_config_bluetooth" settings:useAdminDisabledSummary="true" settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/> Loading src/com/android/settings/accessibility/AccessibilityHearingAidsFragment.java +0 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import com.android.settingslib.search.SearchIndexable; public class AccessibilityHearingAidsFragment extends AccessibilityShortcutPreferenceFragment { private static final String TAG = "AccessibilityHearingAidsFragment"; private static final String KEY_HEARING_OPTIONS_CATEGORY = "hearing_options_category"; public static final String KEY_HEARING_DEVICE_ADD_BT_DEVICES = "hearing_device_add_bt_devices"; private static final int SHORTCUT_PREFERENCE_IN_CATEGORY_INDEX = 20; private String mFeatureName; Loading src/com/android/settings/accessibility/HearingDevicePairingDetail.javadeleted 100644 → 0 +0 −96 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.accessibility; import android.app.settings.SettingsEnums; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothUuid; import android.bluetooth.le.ScanFilter; import android.content.Context; import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDevicePairingDetailBase; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import java.util.ArrayList; import java.util.List; /** * HearingDevicePairingDetail is a page to scan hearing devices. This page shows scanning icons and * pairing them. */ public class HearingDevicePairingDetail extends BluetoothDevicePairingDetailBase { private static final String TAG = "HearingDevicePairingDetail"; @VisibleForTesting static final String KEY_AVAILABLE_HEARING_DEVICES = "available_hearing_devices"; public HearingDevicePairingDetail() { super(); final List<ScanFilter> filterList = new ArrayList<>(); // Filters for ASHA hearing aids filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HEARING_AID).build()); filterList.add(new ScanFilter.Builder() .setServiceData(BluetoothUuid.HEARING_AID, new byte[0]).build()); // Filters for LE audio hearing aids filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HAS).build()); filterList.add(new ScanFilter.Builder() .setServiceData(BluetoothUuid.HAS, new byte[0]).build()); setFilter(filterList); } @Override public void onAttach(Context context) { super.onAttach(context); use(ViewAllBluetoothDevicesPreferenceController.class).init(this); } @Override public void onStart() { super.onStart(); mAvailableDevicesCategory.setProgress(mBluetoothAdapter.isEnabled()); } @Override public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) { super.onDeviceBondStateChanged(cachedDevice, bondState); mAvailableDevicesCategory.setProgress(bondState == BluetoothDevice.BOND_NONE); } @Override public int getMetricsCategory() { return SettingsEnums.HEARING_AID_PAIRING; } @Override protected int getPreferenceScreenResId() { return R.xml.hearing_device_pairing_detail; } @Override protected String getLogTag() { return TAG; } @Override public String getDeviceListKey() { return KEY_AVAILABLE_HEARING_DEVICES; } } src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java +1 −6 Original line number Diff line number Diff line Loading @@ -28,11 +28,9 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.accessibility.HearingDevicePairingDetail; import com.android.settings.accessibility.HearingDevicePairingFragment; import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.flags.Flags; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.HearingAidInfo; import com.android.settingslib.bluetooth.LocalBluetoothManager; Loading Loading @@ -125,11 +123,8 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment final int launchPage = getArguments().getInt(KEY_LAUNCH_PAGE); final boolean launchFromA11y = (launchPage == SettingsEnums.ACCESSIBILITY) || (launchPage == SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS); final String a11yDestination = Flags.newHearingDevicePairingPage() ? HearingDevicePairingFragment.class.getName() : HearingDevicePairingDetail.class.getName(); final String destination = launchFromA11y ? a11yDestination ? HearingDevicePairingFragment.class.getName() : BluetoothPairingDetail.class.getName(); new SubSettingLauncher(getActivity()) .setDestination(destination) Loading src/com/android/settings/connecteddevice/AddDevicePreferenceController.java +0 −22 Original line number Diff line number Diff line Loading @@ -15,25 +15,18 @@ */ package com.android.settings.connecteddevice; import static com.android.settings.accessibility.AccessibilityHearingAidsFragment.KEY_HEARING_DEVICE_ADD_BT_DEVICES; import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.text.TextUtils; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.accessibility.HearingDevicePairingDetail; import com.android.settings.accessibility.HearingDevicePairingFragment; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SubSettingLauncher; import com.android.settings.flags.Flags; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading Loading @@ -82,21 +75,6 @@ public class AddDevicePreferenceController extends BasePreferenceController } } @Override public boolean handlePreferenceTreeClick(Preference preference) { if (TextUtils.equals(preference.getKey(), KEY_HEARING_DEVICE_ADD_BT_DEVICES)) { String destination = Flags.newHearingDevicePairingPage() ? HearingDevicePairingFragment.class.getName() : HearingDevicePairingDetail.class.getName(); new SubSettingLauncher(preference.getContext()) .setDestination(destination) .setSourceMetricsCategory(getMetricsCategory()) .launch(); return true; } return super.handlePreferenceTreeClick(preference); } @Override public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) Loading Loading
res/xml/accessibility_hearing_aids.xml +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ android:title="@string/bluetooth_pairing_pref_title" android:icon="@drawable/ic_add_24dp" android:summary="@string/connected_device_add_device_summary" android:fragment="com.android.settings.accessibility.HearingDevicePairingFragment" settings:userRestriction="no_config_bluetooth" settings:useAdminDisabledSummary="true" settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/> Loading
src/com/android/settings/accessibility/AccessibilityHearingAidsFragment.java +0 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import com.android.settingslib.search.SearchIndexable; public class AccessibilityHearingAidsFragment extends AccessibilityShortcutPreferenceFragment { private static final String TAG = "AccessibilityHearingAidsFragment"; private static final String KEY_HEARING_OPTIONS_CATEGORY = "hearing_options_category"; public static final String KEY_HEARING_DEVICE_ADD_BT_DEVICES = "hearing_device_add_bt_devices"; private static final int SHORTCUT_PREFERENCE_IN_CATEGORY_INDEX = 20; private String mFeatureName; Loading
src/com/android/settings/accessibility/HearingDevicePairingDetail.javadeleted 100644 → 0 +0 −96 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.accessibility; import android.app.settings.SettingsEnums; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothUuid; import android.bluetooth.le.ScanFilter; import android.content.Context; import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.bluetooth.BluetoothDevicePairingDetailBase; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import java.util.ArrayList; import java.util.List; /** * HearingDevicePairingDetail is a page to scan hearing devices. This page shows scanning icons and * pairing them. */ public class HearingDevicePairingDetail extends BluetoothDevicePairingDetailBase { private static final String TAG = "HearingDevicePairingDetail"; @VisibleForTesting static final String KEY_AVAILABLE_HEARING_DEVICES = "available_hearing_devices"; public HearingDevicePairingDetail() { super(); final List<ScanFilter> filterList = new ArrayList<>(); // Filters for ASHA hearing aids filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HEARING_AID).build()); filterList.add(new ScanFilter.Builder() .setServiceData(BluetoothUuid.HEARING_AID, new byte[0]).build()); // Filters for LE audio hearing aids filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HAS).build()); filterList.add(new ScanFilter.Builder() .setServiceData(BluetoothUuid.HAS, new byte[0]).build()); setFilter(filterList); } @Override public void onAttach(Context context) { super.onAttach(context); use(ViewAllBluetoothDevicesPreferenceController.class).init(this); } @Override public void onStart() { super.onStart(); mAvailableDevicesCategory.setProgress(mBluetoothAdapter.isEnabled()); } @Override public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) { super.onDeviceBondStateChanged(cachedDevice, bondState); mAvailableDevicesCategory.setProgress(bondState == BluetoothDevice.BOND_NONE); } @Override public int getMetricsCategory() { return SettingsEnums.HEARING_AID_PAIRING; } @Override protected int getPreferenceScreenResId() { return R.xml.hearing_device_pairing_detail; } @Override protected String getLogTag() { return TAG; } @Override public String getDeviceListKey() { return KEY_AVAILABLE_HEARING_DEVICES; } }
src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java +1 −6 Original line number Diff line number Diff line Loading @@ -28,11 +28,9 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.accessibility.HearingDevicePairingDetail; import com.android.settings.accessibility.HearingDevicePairingFragment; import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.flags.Flags; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.HearingAidInfo; import com.android.settingslib.bluetooth.LocalBluetoothManager; Loading Loading @@ -125,11 +123,8 @@ public class HearingAidPairingDialogFragment extends InstrumentedDialogFragment final int launchPage = getArguments().getInt(KEY_LAUNCH_PAGE); final boolean launchFromA11y = (launchPage == SettingsEnums.ACCESSIBILITY) || (launchPage == SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS); final String a11yDestination = Flags.newHearingDevicePairingPage() ? HearingDevicePairingFragment.class.getName() : HearingDevicePairingDetail.class.getName(); final String destination = launchFromA11y ? a11yDestination ? HearingDevicePairingFragment.class.getName() : BluetoothPairingDetail.class.getName(); new SubSettingLauncher(getActivity()) .setDestination(destination) Loading
src/com/android/settings/connecteddevice/AddDevicePreferenceController.java +0 −22 Original line number Diff line number Diff line Loading @@ -15,25 +15,18 @@ */ package com.android.settings.connecteddevice; import static com.android.settings.accessibility.AccessibilityHearingAidsFragment.KEY_HEARING_DEVICE_ADD_BT_DEVICES; import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.text.TextUtils; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.accessibility.HearingDevicePairingDetail; import com.android.settings.accessibility.HearingDevicePairingFragment; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SubSettingLauncher; import com.android.settings.flags.Flags; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading Loading @@ -82,21 +75,6 @@ public class AddDevicePreferenceController extends BasePreferenceController } } @Override public boolean handlePreferenceTreeClick(Preference preference) { if (TextUtils.equals(preference.getKey(), KEY_HEARING_DEVICE_ADD_BT_DEVICES)) { String destination = Flags.newHearingDevicePairingPage() ? HearingDevicePairingFragment.class.getName() : HearingDevicePairingDetail.class.getName(); new SubSettingLauncher(preference.getContext()) .setDestination(destination) .setSourceMetricsCategory(getMetricsCategory()) .launch(); return true; } return super.handlePreferenceTreeClick(preference); } @Override public int getAvailabilityStatus() { return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) Loading