Merge "Clean up in-code preference controllers from accessibility"
This commit is contained in:
@@ -40,8 +40,7 @@
|
|||||||
android:key="tts_settings_preference"
|
android:key="tts_settings_preference"
|
||||||
android:title="@string/tts_settings_title"
|
android:title="@string/tts_settings_title"
|
||||||
android:fragment="com.android.settings.tts.TextToSpeechSettings"
|
android:fragment="com.android.settings.tts.TextToSpeechSettings"
|
||||||
settings:controller="com.android.settings.language.TtsPreferenceController"
|
settings:controller="com.android.settings.language.TtsPreferenceController"/>
|
||||||
settings:searchable="false"/>
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
@@ -101,8 +100,7 @@
|
|||||||
android:title="@string/accessibility_power_button_ends_call_prerefence_title"
|
android:title="@string/accessibility_power_button_ends_call_prerefence_title"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
settings:controller="com.android.settings.accessibility.PowerButtonEndsCallPreferenceController"/>
|
settings:controller="com.android.settings.accessibility.PowerButtonEndsCallPreferenceController"/>
|
||||||
|
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="toggle_lock_screen_rotation_preference"
|
android:key="toggle_lock_screen_rotation_preference"
|
||||||
android:title="@string/accelerometer_title"
|
android:title="@string/accelerometer_title"
|
||||||
@@ -156,7 +154,8 @@
|
|||||||
<Preference
|
<Preference
|
||||||
android:key="hearing_aid_preference"
|
android:key="hearing_aid_preference"
|
||||||
android:summary="@string/accessibility_hearingaid_not_connected_summary"
|
android:summary="@string/accessibility_hearingaid_not_connected_summary"
|
||||||
android:title="@string/accessibility_hearingaid_title"/>
|
android:title="@string/accessibility_hearingaid_title"
|
||||||
|
settings:controller="com.android.settings.accessibility.AccessibilityHearingAidPreferenceController"/>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="captioning_preference_screen"
|
android:key="captioning_preference_screen"
|
||||||
|
@@ -31,9 +31,6 @@ import android.util.Log;
|
|||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.lifecycle.Lifecycle.Event;
|
|
||||||
import androidx.lifecycle.LifecycleObserver;
|
|
||||||
import androidx.lifecycle.OnLifecycleEvent;
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
@@ -43,6 +40,9 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||||
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
|
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||||
|
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -53,7 +53,7 @@ import java.util.concurrent.FutureTask;
|
|||||||
* Controller that shows and updates the bluetooth device name
|
* Controller that shows and updates the bluetooth device name
|
||||||
*/
|
*/
|
||||||
public class AccessibilityHearingAidPreferenceController extends BasePreferenceController
|
public class AccessibilityHearingAidPreferenceController extends BasePreferenceController
|
||||||
implements LifecycleObserver {
|
implements LifecycleObserver, OnStart, OnStop {
|
||||||
private static final String TAG = "AccessibilityHearingAidPreferenceController";
|
private static final String TAG = "AccessibilityHearingAidPreferenceController";
|
||||||
private Preference mHearingAidPreference;
|
private Preference mHearingAidPreference;
|
||||||
|
|
||||||
@@ -104,8 +104,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
|
|||||||
return mHearingAidProfileSupported ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
return mHearingAidProfileSupported ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnLifecycleEvent(Event.ON_RESUME)
|
@Override
|
||||||
public void onResume() {
|
public void onStart() {
|
||||||
if (mHearingAidProfileSupported) {
|
if (mHearingAidProfileSupported) {
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.addAction(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
|
filter.addAction(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
|
||||||
@@ -114,8 +114,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnLifecycleEvent(Event.ON_PAUSE)
|
@Override
|
||||||
public void onPause() {
|
public void onStop() {
|
||||||
if (mHearingAidProfileSupported) {
|
if (mHearingAidProfileSupported) {
|
||||||
mContext.unregisterReceiver(mHearingAidChangedReceiver);
|
mContext.unregisterReceiver(mHearingAidChangedReceiver);
|
||||||
}
|
}
|
||||||
|
@@ -94,17 +94,10 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
private static final String TOGGLE_LARGE_POINTER_ICON =
|
private static final String TOGGLE_LARGE_POINTER_ICON =
|
||||||
"toggle_large_pointer_icon";
|
"toggle_large_pointer_icon";
|
||||||
private static final String TOGGLE_DISABLE_ANIMATIONS = "toggle_disable_animations";
|
private static final String TOGGLE_DISABLE_ANIMATIONS = "toggle_disable_animations";
|
||||||
private static final String HEARING_AID_PREFERENCE =
|
|
||||||
"hearing_aid_preference";
|
|
||||||
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
|
private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
|
||||||
"magnification_preference_screen";
|
"magnification_preference_screen";
|
||||||
private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN =
|
private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN =
|
||||||
"daltonizer_preference";
|
"daltonizer_preference";
|
||||||
private static final String DARK_UI_MODE_PREFERENCE =
|
|
||||||
"dark_ui_mode_accessibility";
|
|
||||||
private static final String LIVE_CAPTION_PREFERENCE_KEY =
|
|
||||||
"live_caption";
|
|
||||||
|
|
||||||
|
|
||||||
// Extras passed to sub-fragments.
|
// Extras passed to sub-fragments.
|
||||||
static final String EXTRA_PREFERENCE_KEY = "preference_key";
|
static final String EXTRA_PREFERENCE_KEY = "preference_key";
|
||||||
@@ -178,13 +171,7 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
private SwitchPreference mToggleDisableAnimationsPreference;
|
private SwitchPreference mToggleDisableAnimationsPreference;
|
||||||
private Preference mDisplayMagnificationPreferenceScreen;
|
private Preference mDisplayMagnificationPreferenceScreen;
|
||||||
private Preference mDisplayDaltonizerPreferenceScreen;
|
private Preference mDisplayDaltonizerPreferenceScreen;
|
||||||
private Preference mHearingAidPreference;
|
|
||||||
private Preference mLiveCaptionPreference;
|
|
||||||
private SwitchPreference mToggleInversionPreference;
|
private SwitchPreference mToggleInversionPreference;
|
||||||
private AccessibilityHearingAidPreferenceController mHearingAidPreferenceController;
|
|
||||||
private SwitchPreference mDarkUIModePreference;
|
|
||||||
private DarkUIPreferenceController mDarkUIPreferenceController;
|
|
||||||
private LiveCaptionPreferenceController mLiveCaptionPreferenceController;
|
|
||||||
|
|
||||||
private DevicePolicyManager mDpm;
|
private DevicePolicyManager mDpm;
|
||||||
|
|
||||||
@@ -236,13 +223,9 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
mHearingAidPreferenceController = new AccessibilityHearingAidPreferenceController
|
use(DarkUIPreferenceController.class).setParentFragment(this);
|
||||||
(context, HEARING_AID_PREFERENCE);
|
use(AccessibilityHearingAidPreferenceController.class)
|
||||||
mHearingAidPreferenceController.setFragmentManager(getFragmentManager());
|
.setFragmentManager(getFragmentManager());
|
||||||
getLifecycle().addObserver(mHearingAidPreferenceController);
|
|
||||||
|
|
||||||
mLiveCaptionPreferenceController = new LiveCaptionPreferenceController(context,
|
|
||||||
LIVE_CAPTION_PREFERENCE_KEY);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -261,14 +244,6 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
super.onStop();
|
super.onStop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceTreeClick(Preference preference) {
|
|
||||||
if (mHearingAidPreferenceController.handlePreferenceTreeClick(preference)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return super.onPreferenceTreeClick(preference);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.accessibility_settings;
|
return R.xml.accessibility_settings;
|
||||||
@@ -318,27 +293,12 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
mToggleDisableAnimationsPreference =
|
mToggleDisableAnimationsPreference =
|
||||||
(SwitchPreference) findPreference(TOGGLE_DISABLE_ANIMATIONS);
|
(SwitchPreference) findPreference(TOGGLE_DISABLE_ANIMATIONS);
|
||||||
|
|
||||||
// Hearing Aid.
|
|
||||||
mHearingAidPreference = findPreference(HEARING_AID_PREFERENCE);
|
|
||||||
mHearingAidPreferenceController.displayPreference(getPreferenceScreen());
|
|
||||||
|
|
||||||
// Live caption
|
|
||||||
mLiveCaptionPreference = findPreference(LIVE_CAPTION_PREFERENCE_KEY);
|
|
||||||
mLiveCaptionPreferenceController.displayPreference(getPreferenceScreen());
|
|
||||||
|
|
||||||
// Display magnification.
|
// Display magnification.
|
||||||
mDisplayMagnificationPreferenceScreen = findPreference(
|
mDisplayMagnificationPreferenceScreen = findPreference(
|
||||||
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
|
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
|
||||||
|
|
||||||
// Display color adjustments.
|
// Display color adjustments.
|
||||||
mDisplayDaltonizerPreferenceScreen = findPreference(DISPLAY_DALTONIZER_PREFERENCE_SCREEN);
|
mDisplayDaltonizerPreferenceScreen = findPreference(DISPLAY_DALTONIZER_PREFERENCE_SCREEN);
|
||||||
|
|
||||||
// Dark Mode.
|
|
||||||
mDarkUIModePreference = findPreference(DARK_UI_MODE_PREFERENCE);
|
|
||||||
mDarkUIPreferenceController = new DarkUIPreferenceController(getContext(),
|
|
||||||
DARK_UI_MODE_PREFERENCE);
|
|
||||||
mDarkUIPreferenceController.setParentFragment(this);
|
|
||||||
mDarkUIPreferenceController.displayPreference(getPreferenceScreen());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateAllPreferences() {
|
private void updateAllPreferences() {
|
||||||
@@ -544,13 +504,6 @@ public class AccessibilitySettings extends DashboardFragment {
|
|||||||
displayCategory.addPreference(mToggleInversionPreference);
|
displayCategory.addPreference(mToggleInversionPreference);
|
||||||
displayCategory.addPreference(mDisplayDaltonizerPreferenceScreen);
|
displayCategory.addPreference(mDisplayDaltonizerPreferenceScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dark Mode
|
|
||||||
mDarkUIPreferenceController.updateState(mDarkUIModePreference);
|
|
||||||
|
|
||||||
mHearingAidPreferenceController.updateState(mHearingAidPreference);
|
|
||||||
|
|
||||||
mLiveCaptionPreferenceController.updateState(mLiveCaptionPreference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
|
@@ -111,7 +111,7 @@ public class AccessibilityHearingAidPreferenceControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void onHearingAidStateChanged_connected_updateHearingAidSummary() {
|
public void onHearingAidStateChanged_connected_updateHearingAidSummary() {
|
||||||
when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
|
when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
|
||||||
mPreferenceController.onResume();
|
mPreferenceController.onStart();
|
||||||
Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
|
Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
|
||||||
intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_CONNECTED);
|
intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_CONNECTED);
|
||||||
sendIntent(intent);
|
sendIntent(intent);
|
||||||
@@ -121,7 +121,7 @@ public class AccessibilityHearingAidPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onHearingAidStateChanged_disconnected_updateHearingAidSummary() {
|
public void onHearingAidStateChanged_disconnected_updateHearingAidSummary() {
|
||||||
mPreferenceController.onResume();
|
mPreferenceController.onStart();
|
||||||
Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
|
Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
|
||||||
intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_DISCONNECTED);
|
intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_DISCONNECTED);
|
||||||
sendIntent(intent);
|
sendIntent(intent);
|
||||||
@@ -132,7 +132,7 @@ public class AccessibilityHearingAidPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onBluetoothStateChanged_bluetoothOff_updateHearingAidSummary() {
|
public void onBluetoothStateChanged_bluetoothOff_updateHearingAidSummary() {
|
||||||
mPreferenceController.onResume();
|
mPreferenceController.onStart();
|
||||||
Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
|
Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
|
||||||
intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF);
|
intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF);
|
||||||
sendIntent(intent);
|
sendIntent(intent);
|
||||||
@@ -173,11 +173,11 @@ public class AccessibilityHearingAidPreferenceControllerTest {
|
|||||||
HEARING_AID_PREFERENCE);
|
HEARING_AID_PREFERENCE);
|
||||||
mPreferenceController.setPreference(mHearingAidPreference);
|
mPreferenceController.setPreference(mHearingAidPreference);
|
||||||
//not call registerReceiver()
|
//not call registerReceiver()
|
||||||
mPreferenceController.onResume();
|
mPreferenceController.onStart();
|
||||||
verify(mContext, never()).registerReceiver(any(), any());
|
verify(mContext, never()).registerReceiver(any(), any());
|
||||||
|
|
||||||
//not call unregisterReceiver()
|
//not call unregisterReceiver()
|
||||||
mPreferenceController.onPause();
|
mPreferenceController.onStop();
|
||||||
verify(mContext, never()).unregisterReceiver(any());
|
verify(mContext, never()).unregisterReceiver(any());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user