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

Commit 511c7127 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Tapping settings button for opening/closing panel" into...

Merge "Merge "Tapping settings button for opening/closing panel" into udc-qpr-dev am: e861ea92" into udc-qpr-dev-plus-aosp
parents d5eb030c 8f6200bc
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2390,6 +2390,8 @@
    <string name="magnification_mode_switch_state_window">Magnify part of screen</string>
    <!-- Click action label for magnification settings panel. [CHAR LIMIT=NONE] -->
    <string name="magnification_open_settings_click_label">Open magnification settings</string>
    <!-- Click action label for magnification settings panel. [CHAR LIMIT=NONE] -->
    <string name="magnification_close_settings_click_label">Close magnification settings</string>
    <!-- Label of the corner of a rectangle that you can tap and drag to resize the magnification area. [CHAR LIMIT=NONE] -->
    <string name="magnification_drag_corner_to_resize">Drag corner to resize</string>

+4 −3
Original line number Diff line number Diff line
@@ -87,14 +87,15 @@ public class MagnificationSettingsController implements ComponentCallbacks {
    }

    /**
     * Shows magnification settings panel {@link WindowMagnificationSettings}.
     * Toggles the visibility of magnification settings panel {@link WindowMagnificationSettings}.
     * We show the panel if it is not visible. Otherwise, hide the panel.
     */
    void showMagnificationSettings() {
    void toggleSettingsPanelVisibility() {
        if (!mWindowMagnificationSettings.isSettingPanelShowing()) {
            onConfigurationChanged(mContext.getResources().getConfiguration());
            mContext.registerComponentCallbacks(this);
        }
        mWindowMagnificationSettings.showSettingPanel();
        mWindowMagnificationSettings.toggleSettingsPanelVisibility();
    }

    void closeMagnificationSettings() {
+4 −4
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback

        mModeSwitchesController.setClickListenerDelegate(
                displayId -> mHandler.post(() -> {
                    showMagnificationSettingsPanel(displayId);
                    toggleSettingsPanelVisibility(displayId);
                }));
    }

@@ -254,11 +254,11 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback
    }

    @MainThread
    void showMagnificationSettingsPanel(int displayId) {
    void toggleSettingsPanelVisibility(int displayId) {
        final MagnificationSettingsController magnificationSettingsController =
                mMagnificationSettingsSupplier.get(displayId);
        if (magnificationSettingsController != null) {
            magnificationSettingsController.showMagnificationSettings();
            magnificationSettingsController.toggleSettingsPanelVisibility();
        }
    }

@@ -335,7 +335,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback
        @Override
        public void onClickSettingsButton(int displayId) {
            mHandler.post(() -> {
                showMagnificationSettingsPanel(displayId);
                toggleSettingsPanelVisibility(displayId);
            });
        }
    };
+12 −2
Original line number Diff line number Diff line
@@ -221,6 +221,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold

    private boolean mAllowDiagonalScrolling = false;
    private boolean mEditSizeEnable = false;
    private boolean mSettingsPanelVisibility = false;

    @Nullable
    private final MirrorWindowControl mMirrorWindowControl;
@@ -1399,6 +1400,8 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
            return;
        }

        mSettingsPanelVisibility = settingsPanelIsShown;

        mDragView.setBackground(mContext.getResources().getDrawable(settingsPanelIsShown
                ? R.drawable.accessibility_window_magnification_drag_handle_background_change
                : R.drawable.accessibility_window_magnification_drag_handle_background));
@@ -1439,12 +1442,19 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold

    private class MirrorWindowA11yDelegate extends View.AccessibilityDelegate {

        private CharSequence getClickAccessibilityActionLabel() {
            return mSettingsPanelVisibility
                    ? mContext.getResources().getString(
                            R.string.magnification_close_settings_click_label)
                    : mContext.getResources().getString(
                            R.string.magnification_open_settings_click_label);
        }

        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            final AccessibilityAction clickAction = new AccessibilityAction(
                    AccessibilityAction.ACTION_CLICK.getId(), mContext.getResources().getString(
                    R.string.magnification_open_settings_click_label));
                    AccessibilityAction.ACTION_CLICK.getId(), getClickAccessibilityActionLabel());
            info.addAction(clickAction);
            info.setClickable(true);
            info.addAction(
+8 −0
Original line number Diff line number Diff line
@@ -311,6 +311,14 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
        mCallback.onSettingsPanelVisibilityChanged(/* shown= */ false);
    }

    public void toggleSettingsPanelVisibility() {
        if (!mIsVisible) {
            showSettingPanel();
        } else {
            hideSettingPanel();
        }
    }

    public void showSettingPanel() {
        showSettingPanel(true);
    }
Loading