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

Commit d7e79eea authored by Jean Chen's avatar Jean Chen
Browse files

Use Material3 switch to replace Switch in the floating settings panel

Bug: 413441693
Flag: EXEMPT bugfix
Test: manual
Test: atest WindowMagnificationSettingsTest
Change-Id: Ie6c812bfa73ead335860ba9e507ee5e72c4503e1
parent 59956d6a
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -125,16 +125,15 @@
            android:labelFor="@id/magnifier_horizontal_lock_switch"
            android:layout_gravity="center_vertical" />

        <Switch
        <com.google.android.material.materialswitch.MaterialSwitch
            android:id="@+id/magnifier_horizontal_lock_switch"
            android:switchMinWidth="@dimen/settingslib_switch_track_width"
            android:layout_gravity="right|center_vertical"
            android:layout_width="@dimen/settingslib_switch_track_width"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:track="@drawable/settingslib_track_selector"
            android:thumb="@drawable/settingslib_thumb_selector"
            android:theme="@style/MainSwitch.Settingslib"
            android:minHeight="48dp" />
            android:clickable="true"
            android:focusable="true"
            android:theme="@style/Theme.Material3.DynamicColors.DayNight"
            style="@style/SettingslibSwitchStyle.Expressive" />

    </LinearLayout>

+7 −15
Original line number Diff line number Diff line
@@ -54,7 +54,6 @@ import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.Switch;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
@@ -62,6 +61,8 @@ import com.android.systemui.common.ui.view.SeekBarWithIconButtonsView;
import com.android.systemui.res.R;
import com.android.systemui.util.settings.SecureSettings;

import com.google.android.material.materialswitch.MaterialSwitch;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Collections;
@@ -89,7 +90,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest

    private SeekBarWithIconButtonsView mZoomSeekbar;
    private LinearLayout mAllowDiagonalScrollingView;
    private Switch mAllowDiagonalScrollingSwitch;
    private MaterialSwitch mAllowDiagonalScrollingSwitch;
    private LinearLayout mPanelView;
    private LinearLayout mSettingView;
    private ImageButton mSmallButton;
@@ -532,11 +533,10 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
        mAllowDiagonalScrollingView =
                (LinearLayout) mSettingView.findViewById(R.id.magnifier_horizontal_lock_view);
        mAllowDiagonalScrollingSwitch =
                (Switch) mSettingView.findViewById(R.id.magnifier_horizontal_lock_switch);
                (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_horizontal_lock_switch);
        mAllowDiagonalScrollingSwitch.setChecked(mAllowDiagonalScrolling);
        mAllowDiagonalScrollingSwitch.setOnCheckedChangeListener((view, checked) -> {
            toggleDiagonalScrolling();
        });
        mAllowDiagonalScrollingSwitch.setOnCheckedChangeListener(
                (view, isChecked) -> setDiagonalScrolling(isChecked));

        mSmallButton.setOnClickListener(mButtonClickListener);
        mMediumButton.setOnClickListener(mButtonClickListener);
@@ -635,15 +635,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
        updateSelectedButton(index);
    }

    private void toggleDiagonalScrolling() {
        boolean enabled = mSecureSettings.getIntForUser(
                Settings.Secure.ACCESSIBILITY_ALLOW_DIAGONAL_SCROLLING, 1,
                UserHandle.USER_CURRENT) == 1;
        setDiagonalScrolling(!enabled);
    }

    @VisibleForTesting
    void setDiagonalScrolling(boolean enabled) {
    private void setDiagonalScrolling(boolean enabled) {
        mSecureSettings.putIntForUser(
                Settings.Secure.ACCESSIBILITY_ALLOW_DIAGONAL_SCROLLING, enabled ? 1 : 0,
                UserHandle.USER_CURRENT);