Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec8c96f5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix transparency seekbar is enabled while fade feature is disabled."...

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

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



Change-Id: Ia54d8a9bc60bea1816c0e7dd4ab6a8796bc5daf4
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9896d485 7c47ae92
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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);
    }

+65 −3
Original line number Diff line number Diff line
@@ -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(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(mController.mPreference.isEnabled()).isFalse();
        assertThat(mSeekBarPreference.isEnabled()).isTrue();
    }

    @Test