Disable announcing "Enabled / disabled" when toggling BT in settings.
Test: atest Bug: b/375545416 Flag: EXEMPT bugfix Change-Id: I1992faaf813c147fa734a3522b070ccbf0531dab
This commit is contained in:
@@ -20,6 +20,9 @@ import android.content.Context;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@@ -101,6 +104,7 @@ public class BluetoothDashboardFragment extends DashboardFragment {
|
|||||||
SettingsActivity activity = (SettingsActivity) getActivity();
|
SettingsActivity activity = (SettingsActivity) getActivity();
|
||||||
mSwitchBar = activity.getSwitchBar();
|
mSwitchBar = activity.getSwitchBar();
|
||||||
mSwitchBar.setTitle(getContext().getString(R.string.bluetooth_main_switch_title));
|
mSwitchBar.setTitle(getContext().getString(R.string.bluetooth_main_switch_title));
|
||||||
|
mSwitchBar.getRootView().setAccessibilityDelegate(new MainSwitchAccessibilityDelegate());
|
||||||
mController = new BluetoothSwitchPreferenceController(activity,
|
mController = new BluetoothSwitchPreferenceController(activity,
|
||||||
new MainSwitchBarController(mSwitchBar), mFooterPreference);
|
new MainSwitchBarController(mSwitchBar), mFooterPreference);
|
||||||
mController.setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
|
mController.setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
|
||||||
@@ -127,4 +131,19 @@ public class BluetoothDashboardFragment extends DashboardFragment {
|
|||||||
public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
|
public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
|
||||||
return BluetoothDashboardScreen.KEY;
|
return BluetoothDashboardScreen.KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final class MainSwitchAccessibilityDelegate extends View.AccessibilityDelegate {
|
||||||
|
@Override
|
||||||
|
public boolean onRequestSendAccessibilityEvent(
|
||||||
|
@NonNull ViewGroup host, @NonNull View view, @NonNull AccessibilityEvent event) {
|
||||||
|
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
|
||||||
|
&& (event.getContentChangeTypes()
|
||||||
|
& AccessibilityEvent.CONTENT_CHANGE_TYPE_ENABLED)
|
||||||
|
!= 0) {
|
||||||
|
Log.d(TAG, "Skip accessibility event for CONTENT_CHANGE_TYPE_ENABLED");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return super.onRequestSendAccessibilityEvent(host, view, event);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user