Merge "Fix transparency seekbar is enabled while fade feature is disabled." into tm-dev am: fbaa9f3faa

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17799714

Change-Id: Ic75a7db85df442e83a5d34aeb2e1ceb76d36105b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-04-19 08:12:58 +00:00
committed by Automerger Merge Worker
2 changed files with 67 additions and 6 deletions

View File

@@ -51,9 +51,7 @@ public class FloatingMenuTransparencyPreferenceController extends SliderPreferen
private final ContentResolver mContentResolver;
@VisibleForTesting
final ContentObserver mContentObserver;
@VisibleForTesting
SeekBarPreference mPreference;
private SeekBarPreference mPreference;
public FloatingMenuTransparencyPreferenceController(Context context,
String preferenceKey) {
@@ -83,6 +81,7 @@ public class FloatingMenuTransparencyPreferenceController extends SliderPreferen
mPreference.setMin(getMin());
mPreference.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS);
updateAvailabilityStatus();
updateState(mPreference);
}

View File

@@ -27,6 +27,7 @@ import static com.android.settings.core.BasePreferenceController.DISABLED_DEPEND
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -34,6 +35,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.provider.Settings;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.widget.SeekBarPreference;
@@ -60,11 +62,18 @@ public class FloatingMenuTransparencyPreferenceControllerTest {
@Mock
private ContentResolver mContentResolver;
private FloatingMenuTransparencyPreferenceController mController;
private SeekBarPreference mSeekBarPreference;
@Mock
private PreferenceScreen mScreen;
@Before
public void setUp() {
when(mContext.getContentResolver()).thenReturn(mContentResolver);
mController = new FloatingMenuTransparencyPreferenceController(mContext, "test_key");
mSeekBarPreference = new SeekBarPreference(mContext);
doReturn(mSeekBarPreference).when(mScreen).findPreference("test_key");
}
@Test
@@ -84,14 +93,67 @@ public class FloatingMenuTransparencyPreferenceControllerTest {
}
@Test
public void onChange_a11yBtnModeChangeToNavigationBar_preferenceDisabled() {
mController.mPreference = new SeekBarPreference(mContext);
public void displayPreference_floatingMenuMode_fadeEnabled_preferenceEnabled() {
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU);
Settings.Secure.putInt(mContentResolver,
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1);
mController.displayPreference(mScreen);
assertThat(mSeekBarPreference.isEnabled()).isTrue();
}
@Test
public void displayPreference_floatingMenuMode_fadeDisabled_preferenceDisabled() {
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU);
Settings.Secure.putInt(mContentResolver,
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* OFF */ 0);
mController.displayPreference(mScreen);
assertThat(mSeekBarPreference.isEnabled()).isFalse();
}
@Test
public void displayPreference_navigationBarMode_preferenceDisabled() {
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR);
mController.displayPreference(mScreen);
assertThat(mSeekBarPreference.isEnabled()).isFalse();
}
@Test
public void onChange_floatingMenuModeChangeToNavigationBar_preferenceDisabled() {
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU);
Settings.Secure.putInt(mContentResolver,
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1);
mController.displayPreference(mScreen);
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR);
mController.mContentObserver.onChange(false);
assertThat(mController.mPreference.isEnabled()).isFalse();
assertThat(mSeekBarPreference.isEnabled()).isFalse();
}
@Test
public void onChange_navigationBarModeChangeToFloatingMenu_preferenceDisabled() {
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR);
Settings.Secure.putInt(mContentResolver,
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1);
mController.displayPreference(mScreen);
Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU);
mController.mContentObserver.onChange(false);
assertThat(mSeekBarPreference.isEnabled()).isTrue();
}
@Test