Add Hearing Aid UI into Settings-Accessibility App
- dynamically show/hide preference by HearingAid profile is supported or not - add AccessibilityHearingAidPreferenceController to handle hearingAid preference - add HearingAidDialogFragment to handle dialog behavior Bug: 109948484 Test: make -j50 RunSettingsRoboTests Change-Id: Ic55dde475dc40311f7e652f4a86d342597f09f0e
This commit is contained in:
@@ -110,6 +110,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
"select_long_press_timeout_preference";
|
||||
private static final String ACCESSIBILITY_SHORTCUT_PREFERENCE =
|
||||
"accessibility_shortcut_preference";
|
||||
private static final String HEARING_AID_PREFERENCE =
|
||||
"hearing_aid_preference";
|
||||
private static final String CAPTIONING_PREFERENCE_SCREEN =
|
||||
"captioning_preference_screen";
|
||||
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
|
||||
@@ -221,9 +223,11 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
private Preference mAutoclickPreferenceScreen;
|
||||
private Preference mAccessibilityShortcutPreferenceScreen;
|
||||
private Preference mDisplayDaltonizerPreferenceScreen;
|
||||
private Preference mHearingAidPreference;
|
||||
private Preference mVibrationPreferenceScreen;
|
||||
private SwitchPreference mToggleInversionPreference;
|
||||
private ColorInversionPreferenceController mInversionPreferenceController;
|
||||
private AccessibilityHearingAidPreferenceController mHearingAidPreferenceController;
|
||||
|
||||
private int mLongPressTimeoutDefault;
|
||||
|
||||
@@ -275,6 +279,15 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
.getSystemService(Context.DEVICE_POLICY_SERVICE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
mHearingAidPreferenceController = new AccessibilityHearingAidPreferenceController
|
||||
(context, HEARING_AID_PREFERENCE);
|
||||
mHearingAidPreferenceController.setFragmentManager(getFragmentManager());
|
||||
getLifecycle().addObserver(mHearingAidPreferenceController);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
@@ -335,6 +348,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
} else if (mToggleMasterMonoPreference == preference) {
|
||||
handleToggleMasterMonoPreferenceClick();
|
||||
return true;
|
||||
} else if (mHearingAidPreferenceController.handlePreferenceTreeClick(preference)) {
|
||||
return true;
|
||||
}
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
@@ -452,6 +467,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
// Hearing Aid.
|
||||
mHearingAidPreference = findPreference(HEARING_AID_PREFERENCE);
|
||||
mHearingAidPreferenceController.displayPreference(getPreferenceScreen());
|
||||
|
||||
// Captioning.
|
||||
mCaptioningPreferenceScreen = findPreference(CAPTIONING_PREFERENCE_SCREEN);
|
||||
|
||||
@@ -686,6 +705,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
||||
|
||||
updateVibrationSummary(mVibrationPreferenceScreen);
|
||||
|
||||
mHearingAidPreferenceController.updateState(mHearingAidPreference);
|
||||
|
||||
updateFeatureSummary(Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED,
|
||||
mCaptioningPreferenceScreen);
|
||||
updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
|
||||
|
Reference in New Issue
Block a user