chore(magnification suw): hide joystick toggle in setup wizard

Although we haven't implemented joystick feature, but the joystick
preference controller is already in the codebase, so we also add hiding
logic for joystick toggle when in setup wizard.

Bug: 340721852
Flag: NONE
Test: manually
      atest MagnificationJoystickPreferenceControllerTest
Change-Id: Ife93548583c3e82eac030e6e3aa55b9f643b055a
This commit is contained in:
Roy Chou
2024-05-20 08:43:48 +00:00
parent f094c19d0a
commit a511ddb75a
3 changed files with 17 additions and 3 deletions

View File

@@ -23,12 +23,12 @@ import android.content.Context;
import android.provider.Settings;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
* Controller that accesses and switches the preference status of the magnification joystick feature
*/
public class MagnificationJoystickPreferenceController extends TogglePreferenceController {
public class MagnificationJoystickPreferenceController extends
MagnificationFeaturePreferenceController {
private static final String TAG =
MagnificationJoystickPreferenceController.class.getSimpleName();
@@ -40,7 +40,7 @@ public class MagnificationJoystickPreferenceController extends TogglePreferenceC
@Override
public int getAvailabilityStatus() {
return AVAILABLE;
return isInSetupWizard() ? CONDITIONALLY_UNAVAILABLE : AVAILABLE;
}
@Override

View File

@@ -333,6 +333,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
getContext(),
MagnificationJoystickPreferenceController.PREF_KEY
);
joystickPreferenceController.setInSetupWizard(mInSetupWizard);
joystickPreferenceController.displayPreference(getPreferenceScreen());
addPreferenceController(joystickPreferenceController);
}

View File

@@ -17,6 +17,8 @@
package com.android.settings.accessibility;
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
import static com.google.common.truth.Truth.assertThat;
@@ -80,4 +82,15 @@ public class MagnificationJoystickPreferenceControllerTest {
assertThat(mController.isChecked()).isFalse();
assertThat(mSwitchPreference.isChecked()).isFalse();
}
@Test
public void getAvailableStatus_notInSetupWizard_returnAvailable() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
@Test
public void getAvailableStatus_inSetupWizard_returnConditionallyUnavailable() {
mController.setInSetupWizard(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
}