chore(magnification suw): Hide feedback preference in setup wizard
Bug: 380346799 Flag: com.android.server.accessibility.enable_low_vision_hats Test: atest MagnificationFeedbackPreferenceControllerTest MagnificationFollowTypingPreferenceControllerTest MagnificationJoystickPreferenceControllerTest MagnificationOneFingerPanningPreferenceControllerTest ToggleScreenMagnificationPreferenceFragmentTest Change-Id: I84f673235a8a4d97667edaabf72d46b985f33351
This commit is contained in:
@@ -44,7 +44,7 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
|
|||||||
* to 100%.
|
* to 100%.
|
||||||
*/
|
*/
|
||||||
public class MagnificationAlwaysOnPreferenceController extends
|
public class MagnificationAlwaysOnPreferenceController extends
|
||||||
MagnificationFeaturePreferenceController implements LifecycleObserver, OnResume, OnPause {
|
MagnificationTogglePreferenceController implements LifecycleObserver, OnResume, OnPause {
|
||||||
|
|
||||||
private static final String TAG =
|
private static final String TAG =
|
||||||
MagnificationAlwaysOnPreferenceController.class.getSimpleName();
|
MagnificationAlwaysOnPreferenceController.class.getSimpleName();
|
||||||
|
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2025 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.settings.accessibility;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A base preference controller of magnification feature with common methods.
|
||||||
|
*/
|
||||||
|
public abstract class MagnificationBasePreferenceController extends BasePreferenceController {
|
||||||
|
|
||||||
|
private boolean mInSetupWizard;
|
||||||
|
|
||||||
|
protected MagnificationBasePreferenceController(Context context,
|
||||||
|
String preferenceKey) {
|
||||||
|
super(context, preferenceKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final boolean isInSetupWizard() {
|
||||||
|
return mInSetupWizard;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final void setInSetupWizard(boolean inSetupWizard) {
|
||||||
|
mInSetupWizard = inSetupWizard;
|
||||||
|
}
|
||||||
|
}
|
@@ -25,7 +25,6 @@ import androidx.lifecycle.DefaultLifecycleObserver;
|
|||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.overlay.SurveyFeatureProvider;
|
import com.android.settings.overlay.SurveyFeatureProvider;
|
||||||
@@ -35,7 +34,7 @@ import com.android.settings.overlay.SurveyFeatureProvider;
|
|||||||
* visibility and click behavior of the preference based on the availability of a user survey
|
* visibility and click behavior of the preference based on the availability of a user survey
|
||||||
* related to magnification.
|
* related to magnification.
|
||||||
*/
|
*/
|
||||||
public class MagnificationFeedbackPreferenceController extends BasePreferenceController
|
public class MagnificationFeedbackPreferenceController extends MagnificationBasePreferenceController
|
||||||
implements DefaultLifecycleObserver {
|
implements DefaultLifecycleObserver {
|
||||||
private static final String TAG = "MagnificationFeedbackPreferenceController";
|
private static final String TAG = "MagnificationFeedbackPreferenceController";
|
||||||
public static final String PREF_KEY = "magnification_feedback";
|
public static final String PREF_KEY = "magnification_feedback";
|
||||||
@@ -53,7 +52,7 @@ public class MagnificationFeedbackPreferenceController extends BasePreferenceCon
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return AVAILABLE;
|
return isInSetupWizard() ? CONDITIONALLY_UNAVAILABLE : AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -26,7 +26,7 @@ import com.android.settings.R;
|
|||||||
|
|
||||||
/** Controller that accesses and switches the preference status of following typing feature */
|
/** Controller that accesses and switches the preference status of following typing feature */
|
||||||
public class MagnificationFollowTypingPreferenceController extends
|
public class MagnificationFollowTypingPreferenceController extends
|
||||||
MagnificationFeaturePreferenceController {
|
MagnificationTogglePreferenceController {
|
||||||
|
|
||||||
private static final String TAG =
|
private static final String TAG =
|
||||||
MagnificationFollowTypingPreferenceController.class.getSimpleName();
|
MagnificationFollowTypingPreferenceController.class.getSimpleName();
|
||||||
|
@@ -28,7 +28,7 @@ import com.android.settings.R;
|
|||||||
* Controller that accesses and switches the preference status of the magnification joystick feature
|
* Controller that accesses and switches the preference status of the magnification joystick feature
|
||||||
*/
|
*/
|
||||||
public class MagnificationJoystickPreferenceController extends
|
public class MagnificationJoystickPreferenceController extends
|
||||||
MagnificationFeaturePreferenceController {
|
MagnificationTogglePreferenceController {
|
||||||
|
|
||||||
private static final String TAG =
|
private static final String TAG =
|
||||||
MagnificationJoystickPreferenceController.class.getSimpleName();
|
MagnificationJoystickPreferenceController.class.getSimpleName();
|
||||||
|
@@ -41,7 +41,7 @@ import com.android.settingslib.core.lifecycle.events.OnPause;
|
|||||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||||
|
|
||||||
public class MagnificationOneFingerPanningPreferenceController extends
|
public class MagnificationOneFingerPanningPreferenceController extends
|
||||||
MagnificationFeaturePreferenceController implements LifecycleObserver, OnResume, OnPause {
|
MagnificationTogglePreferenceController implements LifecycleObserver, OnResume, OnPause {
|
||||||
static final String PREF_KEY = Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED;
|
static final String PREF_KEY = Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED;
|
||||||
|
|
||||||
private TwoStatePreference mSwitchPreference;
|
private TwoStatePreference mSwitchPreference;
|
||||||
|
@@ -21,13 +21,13 @@ import android.content.Context;
|
|||||||
import com.android.settings.core.TogglePreferenceController;
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A base preference controller of magnification feature with common methods.
|
* A base toggle preference controller of magnification feature with common methods.
|
||||||
*/
|
*/
|
||||||
public abstract class MagnificationFeaturePreferenceController extends TogglePreferenceController {
|
public abstract class MagnificationTogglePreferenceController extends TogglePreferenceController {
|
||||||
|
|
||||||
private boolean mInSetupWizard;
|
private boolean mInSetupWizard;
|
||||||
|
|
||||||
protected MagnificationFeaturePreferenceController(Context context,
|
protected MagnificationTogglePreferenceController(Context context,
|
||||||
String preferenceKey) {
|
String preferenceKey) {
|
||||||
super(context, preferenceKey);
|
super(context, preferenceKey);
|
||||||
}
|
}
|
@@ -387,6 +387,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
|||||||
final MagnificationFeedbackPreferenceController magnificationFeedbackPreferenceController =
|
final MagnificationFeedbackPreferenceController magnificationFeedbackPreferenceController =
|
||||||
new MagnificationFeedbackPreferenceController(getContext(), this,
|
new MagnificationFeedbackPreferenceController(getContext(), this,
|
||||||
MagnificationFeedbackPreferenceController.PREF_KEY);
|
MagnificationFeedbackPreferenceController.PREF_KEY);
|
||||||
|
magnificationFeedbackPreferenceController.setInSetupWizard(mInSetupWizard);
|
||||||
magnificationFeedbackPreferenceController.displayPreference(getPreferenceScreen());
|
magnificationFeedbackPreferenceController.displayPreference(getPreferenceScreen());
|
||||||
addPreferenceController(magnificationFeedbackPreferenceController);
|
addPreferenceController(magnificationFeedbackPreferenceController);
|
||||||
}
|
}
|
||||||
|
@@ -18,6 +18,8 @@ package com.android.settings.accessibility;
|
|||||||
|
|
||||||
import static com.android.settings.accessibility.MagnificationFeedbackPreferenceController.FEEDBACK_KEY;
|
import static com.android.settings.accessibility.MagnificationFeedbackPreferenceController.FEEDBACK_KEY;
|
||||||
import static com.android.settings.accessibility.MagnificationFeedbackPreferenceController.PREF_KEY;
|
import static com.android.settings.accessibility.MagnificationFeedbackPreferenceController.PREF_KEY;
|
||||||
|
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;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
@@ -118,4 +120,18 @@ public class MagnificationFeedbackPreferenceControllerTest {
|
|||||||
|
|
||||||
verify(mSurveyFeatureProvider).sendActivityIfAvailable(FEEDBACK_KEY);
|
verify(mSurveyFeatureProvider).sendActivityIfAvailable(FEEDBACK_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailableStatus_notInSetupWizard_returnAvailable() {
|
||||||
|
mController.setInSetupWizard(false);
|
||||||
|
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailableStatus_inSetupWizard_returnConditionallyUnavailable() {
|
||||||
|
mController.setInSetupWizard(true);
|
||||||
|
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user