a11y: Clean up magnification mode controller and fix lint errors
This cleans up the magnification mode controller and related code. It also fixes most of the lint errors in the files. NO_IFTTT=linter not working Bug: b/388335935 Flag: EXEMPT refactor Test: com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentTest & com.android.settings.accessibility.MagnificationModePreferenceControllerTest Change-Id: I368128c3c71285a9511a7831e1d01232e7536d2f
This commit is contained in:
@@ -17,8 +17,6 @@
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
|
||||
import static com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
|
||||
import static com.android.settings.accessibility.MagnificationModePreferenceController.MagnificationModeInfo;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@@ -37,6 +35,7 @@ import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -44,6 +43,9 @@ import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.DialogCreatable;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
|
||||
import com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
|
||||
import com.android.settings.accessibility.MagnificationModePreferenceController.MagnificationModeInfo;
|
||||
import com.android.settings.utils.AnnotationSpan;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -82,6 +84,8 @@ public class MagnificationModePreferenceControllerTest {
|
||||
mScreen.addPreference(mModePreference);
|
||||
MagnificationCapabilities.setCapabilities(mContext, MAGNIFICATION_MODE_DEFAULT);
|
||||
mController = new MagnificationModePreferenceController(mContext, PREF_KEY);
|
||||
mController.setDialogHelper(mDialogHelper);
|
||||
mDialogHelper.setDialogDelegate(mController);
|
||||
showPreferenceOnTheScreen(null);
|
||||
}
|
||||
|
||||
@@ -107,7 +111,7 @@ public class MagnificationModePreferenceControllerTest {
|
||||
performItemClickWith(MagnificationMode.WINDOW);
|
||||
|
||||
reshowPreferenceOnTheScreen();
|
||||
mDialogHelper.showDialog(MagnificationModePreferenceController.DIALOG_MAGNIFICATION_MODE);
|
||||
mDialogHelper.showDialog(DialogEnums.DIALOG_MAGNIFICATION_MODE);
|
||||
|
||||
assertThat(getCheckedModeFromDialog()).isEqualTo(
|
||||
MagnificationMode.WINDOW);
|
||||
@@ -123,7 +127,7 @@ public class MagnificationModePreferenceControllerTest {
|
||||
DialogInterface.BUTTON_POSITIVE);
|
||||
|
||||
verify(mDialogHelper, never()).showDialog(
|
||||
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
DialogEnums.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -135,8 +139,7 @@ public class MagnificationModePreferenceControllerTest {
|
||||
mController.onMagnificationModeDialogPositiveButtonClicked(mDialogHelper.getDialog(),
|
||||
DialogInterface.BUTTON_POSITIVE);
|
||||
|
||||
verify(mDialogHelper).showDialog(
|
||||
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
verify(mDialogHelper).showDialog(DialogEnums.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -148,20 +151,17 @@ public class MagnificationModePreferenceControllerTest {
|
||||
mController.onMagnificationModeDialogPositiveButtonClicked(mDialogHelper.getDialog(),
|
||||
DialogInterface.BUTTON_POSITIVE);
|
||||
|
||||
verify(mDialogHelper).showDialog(
|
||||
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
verify(mDialogHelper).showDialog(DialogEnums.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onTripleTapWarningDialogNegativeButtonClicked_showModeDialog() {
|
||||
mDialogHelper.showDialog(
|
||||
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
mDialogHelper.showDialog(DialogEnums.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
|
||||
mController.onMagnificationTripleTapWarningDialogNegativeButtonClicked(
|
||||
mDialogHelper.getDialog(), DialogInterface.BUTTON_NEGATIVE);
|
||||
|
||||
verify(mDialogHelper).showDialog(
|
||||
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_MODE);
|
||||
verify(mDialogHelper).showDialog(DialogEnums.DIALOG_MAGNIFICATION_MODE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -182,8 +182,7 @@ public class MagnificationModePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void checkSpansInTripleTapWarningDialog_existAnnotationSpan() {
|
||||
mDialogHelper.showDialog(
|
||||
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
mDialogHelper.showDialog(DialogEnums.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
|
||||
final View contentView = mDialogHelper.getDialog().findViewById(android.R.id.content);
|
||||
final TextView messageView = contentView.findViewById(R.id.message);
|
||||
final CharSequence textInTripleTapWarningDialog = messageView.getText();
|
||||
@@ -256,13 +255,11 @@ public class MagnificationModePreferenceControllerTest {
|
||||
}
|
||||
|
||||
private void showPreferenceOnTheScreen(Bundle savedInstanceState) {
|
||||
mController.setDialogHelper(mDialogHelper);
|
||||
mController.onCreate(savedInstanceState);
|
||||
mController.displayPreference(mScreen);
|
||||
}
|
||||
|
||||
private static class TestDialogHelper implements DialogCreatable,
|
||||
MagnificationModePreferenceController.DialogHelper {
|
||||
private static class TestDialogHelper implements DialogCreatable, DialogHelper {
|
||||
private DialogCreatable mDialogDelegate;
|
||||
private Dialog mDialog;
|
||||
|
||||
@@ -271,11 +268,11 @@ public class MagnificationModePreferenceControllerTest {
|
||||
mDialog = onCreateDialog(dialogId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDialogDelegate(DialogCreatable delegate) {
|
||||
public void setDialogDelegate(@NonNull DialogCreatable delegate) {
|
||||
mDialogDelegate = delegate;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(int dialogId) {
|
||||
return mDialogDelegate.onCreateDialog(dialogId);
|
||||
|
@@ -64,6 +64,8 @@ import com.android.server.accessibility.Flags;
|
||||
import com.android.settings.DialogCreatable;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
|
||||
import com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
|
||||
import com.android.settings.testutils.shadow.ShadowAccessibilityManager;
|
||||
import com.android.settings.testutils.shadow.ShadowDeviceConfig;
|
||||
import com.android.settings.testutils.shadow.ShadowStorageManager;
|
||||
@@ -550,7 +552,8 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
|
||||
ToggleScreenMagnificationPreferenceFragment fragment = mFragController.create(
|
||||
R.id.main_content, /* bundle= */ null).start().resume().get();
|
||||
|
||||
DialogCreatable dialogDelegate = ReflectionHelpers.getField(fragment, "mDialogDelegate");
|
||||
DialogCreatable dialogDelegate = ReflectionHelpers.getField(fragment,
|
||||
"mMagnificationModeDialogDelegate");
|
||||
List<LifecycleObserver> lifecycleObservers = ReflectionHelpers.getField(
|
||||
fragment.getSettingsLifecycle(), "mObservers");
|
||||
assertThat(dialogDelegate).isInstanceOf(MagnificationModePreferenceController.class);
|
||||
@@ -592,19 +595,19 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onCreateDialog_setDialogDelegate_invokeDialogDelegate() {
|
||||
public void onCreateDialog_setMagnificationModeDialogDelegate_invokeDialogDelegate() {
|
||||
ToggleScreenMagnificationPreferenceFragment fragment =
|
||||
mFragController.create(
|
||||
R.id.main_content, /* bundle= */ null).start().resume().get();
|
||||
final DialogCreatable dialogDelegate = mock(DialogCreatable.class, RETURNS_DEEP_STUBS);
|
||||
when(dialogDelegate.getDialogMetricsCategory(anyInt())).thenReturn(1);
|
||||
fragment.setDialogDelegate(dialogDelegate);
|
||||
final int dialogId = DialogEnums.DIALOG_MAGNIFICATION_MODE;
|
||||
when(dialogDelegate.getDialogMetricsCategory(anyInt())).thenReturn(dialogId);
|
||||
fragment.setMagnificationModeDialogDelegate(dialogDelegate);
|
||||
|
||||
fragment.onCreateDialog(1);
|
||||
fragment.getDialogMetricsCategory(1);
|
||||
|
||||
verify(dialogDelegate).onCreateDialog(1);
|
||||
verify(dialogDelegate).getDialogMetricsCategory(1);
|
||||
fragment.onCreateDialog(dialogId);
|
||||
fragment.getDialogMetricsCategory(dialogId);
|
||||
verify(dialogDelegate).onCreateDialog(dialogId);
|
||||
verify(dialogDelegate).getDialogMetricsCategory(dialogId);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user