Loading res/values/arrays.xml +5 −0 Original line number Diff line number Diff line Loading @@ -1650,4 +1650,9 @@ [CHAR LIMIT=NONE] --> <string-array name="allowlist_hide_summary_in_battery_usage" translatable="false"> </string-array> <!-- Array containing help message codes that should not be displayed during fingerprint enrollment. --> <integer-array name="fingerprint_acquired_ignore_list"> </integer-array> </resources> src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java +17 −2 Original line number Diff line number Diff line Loading @@ -21,9 +21,14 @@ import android.app.settings.SettingsEnums; import android.hardware.fingerprint.FingerprintManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.biometrics.BiometricEnrollSidecar; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * Sidecar fragment to handle the state around fingerprint enrollment. */ Loading @@ -32,11 +37,19 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { private FingerprintUpdater mFingerprintUpdater; private @FingerprintManager.EnrollReason int mEnrollReason; private Set<Integer> mHelpIgnore; @Override public void onAttach(Activity activity) { super.onAttach(activity); mFingerprintUpdater = new FingerprintUpdater(activity); final int[] ignoreAcquiredInfo = getResources().getIntArray( R.array.fingerprint_acquired_ignore_list); mHelpIgnore = new HashSet<>(); for (int acquiredInfo: ignoreAcquiredInfo) { mHelpIgnore.add(acquiredInfo); } mHelpIgnore = Collections.unmodifiableSet(mHelpIgnore); } @Override Loading @@ -49,7 +62,6 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { getString(R.string.fingerprint_intro_error_unknown)); return; } mFingerprintUpdater.enroll(mToken, mEnrollmentCancel, mUserId, mEnrollmentCallback, mEnrollReason); } Loading @@ -58,7 +70,7 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { mEnrollReason = enrollReason; } private FingerprintManager.EnrollmentCallback mEnrollmentCallback @VisibleForTesting FingerprintManager.EnrollmentCallback mEnrollmentCallback = new FingerprintManager.EnrollmentCallback() { @Override Loading @@ -68,6 +80,9 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { @Override public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) { if (mHelpIgnore.contains(helpMsgId)) { return; } FingerprintEnrollSidecar.super.onEnrollmentHelp(helpMsgId, helpString); } Loading src/com/android/settings/media/MediaOutputIndicatorWorker.java +7 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,13 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements return mPackageName; } /** Check if this device supports LE Audio Broadcast feature */ public boolean isBroadcastSupported() { LocalBluetoothLeBroadcast broadcast = mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile(); return broadcast != null ? true : false; } public boolean isDeviceBroadcasting() { LocalBluetoothLeBroadcast broadcast = mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile(); Loading src/com/android/settings/notification/MediaVolumePreferenceController.java +1 −1 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont @VisibleForTesting boolean isSupportEndItem() { return isConnectedBLEDevice(); return getWorker() != null && getWorker().isBroadcastSupported() && isConnectedBLEDevice(); } private boolean isConnectedBLEDevice() { Loading src/com/android/settings/sound/AudioSwitchPreferenceController.java +18 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; Loading Loading @@ -227,13 +228,29 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont } final List<BluetoothDevice> devices = leAudioProfile.getConnectedDevices(); for (BluetoothDevice device : devices) { if (device.isConnected()) { if (device.isConnected() && isDeviceInCachedList(device)) { connectedDevices.add(device); } } return connectedDevices; } /** * Confirm if the device exists in the cached devices list. If return true, it means * the device is main device in the LE Audio device group. Otherwise, the device is the member * device in the group. */ protected boolean isDeviceInCachedList(BluetoothDevice device) { Collection<CachedBluetoothDevice> cachedDevices = mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy(); for (CachedBluetoothDevice cachedDevice : cachedDevices) { if (cachedDevice.getDevice().equals(device)) { return true; } } return false; } /** * get hearing aid profile connected device, exclude other devices with same hiSyncId. */ Loading Loading
res/values/arrays.xml +5 −0 Original line number Diff line number Diff line Loading @@ -1650,4 +1650,9 @@ [CHAR LIMIT=NONE] --> <string-array name="allowlist_hide_summary_in_battery_usage" translatable="false"> </string-array> <!-- Array containing help message codes that should not be displayed during fingerprint enrollment. --> <integer-array name="fingerprint_acquired_ignore_list"> </integer-array> </resources>
src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java +17 −2 Original line number Diff line number Diff line Loading @@ -21,9 +21,14 @@ import android.app.settings.SettingsEnums; import android.hardware.fingerprint.FingerprintManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.biometrics.BiometricEnrollSidecar; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * Sidecar fragment to handle the state around fingerprint enrollment. */ Loading @@ -32,11 +37,19 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { private FingerprintUpdater mFingerprintUpdater; private @FingerprintManager.EnrollReason int mEnrollReason; private Set<Integer> mHelpIgnore; @Override public void onAttach(Activity activity) { super.onAttach(activity); mFingerprintUpdater = new FingerprintUpdater(activity); final int[] ignoreAcquiredInfo = getResources().getIntArray( R.array.fingerprint_acquired_ignore_list); mHelpIgnore = new HashSet<>(); for (int acquiredInfo: ignoreAcquiredInfo) { mHelpIgnore.add(acquiredInfo); } mHelpIgnore = Collections.unmodifiableSet(mHelpIgnore); } @Override Loading @@ -49,7 +62,6 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { getString(R.string.fingerprint_intro_error_unknown)); return; } mFingerprintUpdater.enroll(mToken, mEnrollmentCancel, mUserId, mEnrollmentCallback, mEnrollReason); } Loading @@ -58,7 +70,7 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { mEnrollReason = enrollReason; } private FingerprintManager.EnrollmentCallback mEnrollmentCallback @VisibleForTesting FingerprintManager.EnrollmentCallback mEnrollmentCallback = new FingerprintManager.EnrollmentCallback() { @Override Loading @@ -68,6 +80,9 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { @Override public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) { if (mHelpIgnore.contains(helpMsgId)) { return; } FingerprintEnrollSidecar.super.onEnrollmentHelp(helpMsgId, helpString); } Loading
src/com/android/settings/media/MediaOutputIndicatorWorker.java +7 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,13 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements return mPackageName; } /** Check if this device supports LE Audio Broadcast feature */ public boolean isBroadcastSupported() { LocalBluetoothLeBroadcast broadcast = mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile(); return broadcast != null ? true : false; } public boolean isDeviceBroadcasting() { LocalBluetoothLeBroadcast broadcast = mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile(); Loading
src/com/android/settings/notification/MediaVolumePreferenceController.java +1 −1 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont @VisibleForTesting boolean isSupportEndItem() { return isConnectedBLEDevice(); return getWorker() != null && getWorker().isBroadcastSupported() && isConnectedBLEDevice(); } private boolean isConnectedBLEDevice() { Loading
src/com/android/settings/sound/AudioSwitchPreferenceController.java +18 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; Loading Loading @@ -227,13 +228,29 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont } final List<BluetoothDevice> devices = leAudioProfile.getConnectedDevices(); for (BluetoothDevice device : devices) { if (device.isConnected()) { if (device.isConnected() && isDeviceInCachedList(device)) { connectedDevices.add(device); } } return connectedDevices; } /** * Confirm if the device exists in the cached devices list. If return true, it means * the device is main device in the LE Audio device group. Otherwise, the device is the member * device in the group. */ protected boolean isDeviceInCachedList(BluetoothDevice device) { Collection<CachedBluetoothDevice> cachedDevices = mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy(); for (CachedBluetoothDevice cachedDevice : cachedDevices) { if (cachedDevice.getDevice().equals(device)) { return true; } } return false; } /** * get hearing aid profile connected device, exclude other devices with same hiSyncId. */ Loading