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%.
|
||||
*/
|
||||
public class MagnificationAlwaysOnPreferenceController extends
|
||||
MagnificationFeaturePreferenceController implements LifecycleObserver, OnResume, OnPause {
|
||||
MagnificationTogglePreferenceController implements LifecycleObserver, OnResume, OnPause {
|
||||
|
||||
private static final String TAG =
|
||||
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 com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
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
|
||||
* related to magnification.
|
||||
*/
|
||||
public class MagnificationFeedbackPreferenceController extends BasePreferenceController
|
||||
public class MagnificationFeedbackPreferenceController extends MagnificationBasePreferenceController
|
||||
implements DefaultLifecycleObserver {
|
||||
private static final String TAG = "MagnificationFeedbackPreferenceController";
|
||||
public static final String PREF_KEY = "magnification_feedback";
|
||||
@@ -53,7 +52,7 @@ public class MagnificationFeedbackPreferenceController extends BasePreferenceCon
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return AVAILABLE;
|
||||
return isInSetupWizard() ? CONDITIONALLY_UNAVAILABLE : AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -26,7 +26,7 @@ import com.android.settings.R;
|
||||
|
||||
/** Controller that accesses and switches the preference status of following typing feature */
|
||||
public class MagnificationFollowTypingPreferenceController extends
|
||||
MagnificationFeaturePreferenceController {
|
||||
MagnificationTogglePreferenceController {
|
||||
|
||||
private static final String TAG =
|
||||
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
|
||||
*/
|
||||
public class MagnificationJoystickPreferenceController extends
|
||||
MagnificationFeaturePreferenceController {
|
||||
MagnificationTogglePreferenceController {
|
||||
|
||||
private static final String TAG =
|
||||
MagnificationJoystickPreferenceController.class.getSimpleName();
|
||||
|
@@ -41,7 +41,7 @@ import com.android.settingslib.core.lifecycle.events.OnPause;
|
||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||
|
||||
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;
|
||||
|
||||
private TwoStatePreference mSwitchPreference;
|
||||
|
@@ -21,13 +21,13 @@ import android.content.Context;
|
||||
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;
|
||||
|
||||
protected MagnificationFeaturePreferenceController(Context context,
|
||||
protected MagnificationTogglePreferenceController(Context context,
|
||||
String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
}
|
@@ -387,6 +387,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
final MagnificationFeedbackPreferenceController magnificationFeedbackPreferenceController =
|
||||
new MagnificationFeedbackPreferenceController(getContext(), this,
|
||||
MagnificationFeedbackPreferenceController.PREF_KEY);
|
||||
magnificationFeedbackPreferenceController.setInSetupWizard(mInSetupWizard);
|
||||
magnificationFeedbackPreferenceController.displayPreference(getPreferenceScreen());
|
||||
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.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;
|
||||
|
||||
@@ -118,4 +120,18 @@ public class MagnificationFeedbackPreferenceControllerTest {
|
||||
|
||||
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