Clean up in-code preference controllers from accessibility

Bug: 135056871
Test: manual, robotests
Change-Id: I0c1358657d3f57ddae2b8f2b12ee610e7363f41f
This commit is contained in:
Mill Chen
2019-07-02 14:44:32 +08:00
parent 68aa24d365
commit 6f3b222ca5
4 changed files with 20 additions and 68 deletions

View File

@@ -40,8 +40,7 @@
android:key="tts_settings_preference"
android:title="@string/tts_settings_title"
android:fragment="com.android.settings.tts.TextToSpeechSettings"
settings:controller="com.android.settings.language.TtsPreferenceController"
settings:searchable="false"/>
settings:controller="com.android.settings.language.TtsPreferenceController"/>
</PreferenceCategory>
<PreferenceCategory
@@ -102,7 +101,6 @@
android:persistent="false"
settings:controller="com.android.settings.accessibility.PowerButtonEndsCallPreferenceController"/>
<SwitchPreference
android:key="toggle_lock_screen_rotation_preference"
android:title="@string/accelerometer_title"
@@ -156,7 +154,8 @@
<Preference
android:key="hearing_aid_preference"
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
android:key="captioning_preference_screen"

View File

@@ -31,9 +31,6 @@ import android.util.Log;
import androidx.annotation.VisibleForTesting;
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.PreferenceScreen;
@@ -43,6 +40,9 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.SubSettingLauncher;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
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.List;
@@ -53,7 +53,7 @@ import java.util.concurrent.FutureTask;
* Controller that shows and updates the bluetooth device name
*/
public class AccessibilityHearingAidPreferenceController extends BasePreferenceController
implements LifecycleObserver {
implements LifecycleObserver, OnStart, OnStop {
private static final String TAG = "AccessibilityHearingAidPreferenceController";
private Preference mHearingAidPreference;
@@ -104,8 +104,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
return mHearingAidProfileSupported ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@OnLifecycleEvent(Event.ON_RESUME)
public void onResume() {
@Override
public void onStart() {
if (mHearingAidProfileSupported) {
IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
@@ -114,8 +114,8 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC
}
}
@OnLifecycleEvent(Event.ON_PAUSE)
public void onPause() {
@Override
public void onStop() {
if (mHearingAidProfileSupported) {
mContext.unregisterReceiver(mHearingAidChangedReceiver);
}

View File

@@ -94,17 +94,10 @@ public class AccessibilitySettings extends DashboardFragment {
private static final String TOGGLE_LARGE_POINTER_ICON =
"toggle_large_pointer_icon";
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 =
"magnification_preference_screen";
private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN =
"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.
static final String EXTRA_PREFERENCE_KEY = "preference_key";
@@ -178,13 +171,7 @@ public class AccessibilitySettings extends DashboardFragment {
private SwitchPreference mToggleDisableAnimationsPreference;
private Preference mDisplayMagnificationPreferenceScreen;
private Preference mDisplayDaltonizerPreferenceScreen;
private Preference mHearingAidPreference;
private Preference mLiveCaptionPreference;
private SwitchPreference mToggleInversionPreference;
private AccessibilityHearingAidPreferenceController mHearingAidPreferenceController;
private SwitchPreference mDarkUIModePreference;
private DarkUIPreferenceController mDarkUIPreferenceController;
private LiveCaptionPreferenceController mLiveCaptionPreferenceController;
private DevicePolicyManager mDpm;
@@ -236,13 +223,9 @@ public class AccessibilitySettings extends DashboardFragment {
@Override
public void onAttach(Context context) {
super.onAttach(context);
mHearingAidPreferenceController = new AccessibilityHearingAidPreferenceController
(context, HEARING_AID_PREFERENCE);
mHearingAidPreferenceController.setFragmentManager(getFragmentManager());
getLifecycle().addObserver(mHearingAidPreferenceController);
mLiveCaptionPreferenceController = new LiveCaptionPreferenceController(context,
LIVE_CAPTION_PREFERENCE_KEY);
use(DarkUIPreferenceController.class).setParentFragment(this);
use(AccessibilityHearingAidPreferenceController.class)
.setFragmentManager(getFragmentManager());
}
@Override
@@ -261,14 +244,6 @@ public class AccessibilitySettings extends DashboardFragment {
super.onStop();
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (mHearingAidPreferenceController.handlePreferenceTreeClick(preference)) {
return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.accessibility_settings;
@@ -318,27 +293,12 @@ public class AccessibilitySettings extends DashboardFragment {
mToggleDisableAnimationsPreference =
(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.
mDisplayMagnificationPreferenceScreen = findPreference(
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
// Display color adjustments.
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() {
@@ -544,13 +504,6 @@ public class AccessibilitySettings extends DashboardFragment {
displayCategory.addPreference(mToggleInversionPreference);
displayCategory.addPreference(mDisplayDaltonizerPreferenceScreen);
}
// Dark Mode
mDarkUIPreferenceController.updateState(mDarkUIModePreference);
mHearingAidPreferenceController.updateState(mHearingAidPreference);
mLiveCaptionPreferenceController.updateState(mLiveCaptionPreference);
}
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =

View File

@@ -111,7 +111,7 @@ public class AccessibilityHearingAidPreferenceControllerTest {
@Test
public void onHearingAidStateChanged_connected_updateHearingAidSummary() {
when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
mPreferenceController.onResume();
mPreferenceController.onStart();
Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_CONNECTED);
sendIntent(intent);
@@ -121,7 +121,7 @@ public class AccessibilityHearingAidPreferenceControllerTest {
@Test
public void onHearingAidStateChanged_disconnected_updateHearingAidSummary() {
mPreferenceController.onResume();
mPreferenceController.onStart();
Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_DISCONNECTED);
sendIntent(intent);
@@ -132,7 +132,7 @@ public class AccessibilityHearingAidPreferenceControllerTest {
@Test
public void onBluetoothStateChanged_bluetoothOff_updateHearingAidSummary() {
mPreferenceController.onResume();
mPreferenceController.onStart();
Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF);
sendIntent(intent);
@@ -173,11 +173,11 @@ public class AccessibilityHearingAidPreferenceControllerTest {
HEARING_AID_PREFERENCE);
mPreferenceController.setPreference(mHearingAidPreference);
//not call registerReceiver()
mPreferenceController.onResume();
mPreferenceController.onStart();
verify(mContext, never()).registerReceiver(any(), any());
//not call unregisterReceiver()
mPreferenceController.onPause();
mPreferenceController.onStop();
verify(mContext, never()).unregisterReceiver(any());
}