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

Commit 7c47ae92 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

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



Change-Id: Ia8fb2c97f7055175085eccf58d25b54364f8a048
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 179b83ac fbaa9f3f
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