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

Commit 198ae890 authored by Jean Chen's avatar Jean Chen Committed by Android (Google) Code Review
Browse files

Merge "feat(MultiFingerMultiTap): Add two-finger triple-tap shortcut on...

Merge "feat(MultiFingerMultiTap): Add two-finger triple-tap shortcut on magnification dialog" into main
parents f20a6d0e 48d73aa3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ android_library {
        "settings-logtags",
        "settings-telephony-protos-lite",
        "statslog-settings",
        "com_android_server_accessibility_flags_lib",
    ],

    plugins: ["androidx.room_room-compiler-plugin"],
+8 −0
Original line number Diff line number Diff line
@@ -46,6 +46,14 @@
                android:layout_height="wrap_content"
                android:layout_marginBottom="32dp" />

            <include
                android:id="@+id/two_finger_triple_tap_shortcut"
                layout="@layout/accessibility_edit_shortcut_component"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="32dp"
                android:visibility="gone" />

            <LinearLayout
                android:id="@+id/advanced_shortcut"
                android:layout_width="match_parent"
+6 −0
Original line number Diff line number Diff line
@@ -4657,6 +4657,12 @@
    <string name="accessibility_shortcut_hardware_keyword">hold volume keys</string>
    <!-- Summary for hardware shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
    <string name="accessibility_shortcut_edit_dialog_summary_hardware">Press &amp; hold both volume keys</string>
    <!-- Title for two finger triple tap shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
    <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap">Two-finger triple-tap screen</string>
    <!-- Part of list to compose user's accessibility shortcut list. [CHAR LIMIT=NONE] -->
    <string name="accessibility_shortcut_two_finger_triple_tap_keyword">two-finger triple-tap screen</string>
    <!-- Summary for two finger triple tap shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap">Quickly tap screen {0,number,integer} times with two fingers</string>
    <!-- Title for triple tap shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
    <string name="accessibility_shortcut_edit_dialog_title_triple_tap">Triple-tap screen</string>
    <!-- Part of list to compose user's accessibility shortcut list. [CHAR LIMIT=NONE] -->
+24 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import androidx.annotation.RawRes;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;

import com.android.server.accessibility.Flags;
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.utils.AnnotationSpan;
@@ -247,6 +248,9 @@ public class AccessibilityDialogUtils {
                        R.layout.accessibility_edit_shortcut_magnification, null);
                initSoftwareShortcut(context, contentView);
                initHardwareShortcut(context, contentView);
                if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
                    initTwoFingerTripleTapMagnificationShortcut(context, contentView);
                }
                initMagnifyShortcut(context, contentView);
                initAdvancedWidget(contentView);
                break;
@@ -255,6 +259,9 @@ public class AccessibilityDialogUtils {
                        R.layout.accessibility_edit_shortcut_magnification, null);
                initSoftwareShortcutForSUW(context, contentView);
                initHardwareShortcut(context, contentView);
                if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
                    initTwoFingerTripleTapMagnificationShortcut(context, contentView);
                }
                initMagnifyShortcut(context, contentView);
                initAdvancedWidget(contentView);
                break;
@@ -358,6 +365,23 @@ public class AccessibilityDialogUtils {
                R.raw.a11y_shortcut_type_triple_tap);
    }

    private static void initTwoFingerTripleTapMagnificationShortcut(Context context, View view) {
        // TODO(b/306153204): Update shortcut string and image when UX provides them
        final View dialogView = view.findViewById(R.id.two_finger_triple_tap_shortcut);
        final CharSequence title = context.getText(
                R.string.accessibility_shortcut_edit_dialog_title_two_finger_triple_tap);
        String summary = context.getString(
                R.string.accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap);
        // Format the number '3' in the summary.
        final Object[] arguments = {3};
        summary = MessageFormat.format(summary, arguments);

        setupShortcutWidgetWithImageRawResource(context, dialogView, title, summary,
                R.raw.a11y_shortcut_type_triple_tap);

        dialogView.setVisibility(View.VISIBLE);
    }

    private static void initAdvancedWidget(View view) {
        final LinearLayout advanced = view.findViewById(R.id.advanced_shortcut);
        final View tripleTap = view.findViewById(R.id.triple_tap_shortcut);
+2 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ public final class AccessibilityUtil {
            UserShortcutType.SOFTWARE,
            UserShortcutType.HARDWARE,
            UserShortcutType.TRIPLETAP,
            UserShortcutType.TWOFINGERTRIPLETAP,
    })

    /** Denotes the user shortcut type. */
@@ -102,6 +103,7 @@ public final class AccessibilityUtil {
        int SOFTWARE = 1; // 1 << 0
        int HARDWARE = 2; // 1 << 1
        int TRIPLETAP = 4; // 1 << 2
        int TWOFINGERTRIPLETAP = 8; // 1 << 3
    }

    /**
Loading