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

Commit 1e20bc41 authored by Peter_Liang's avatar Peter_Liang
Browse files

Update the edit shortcut menu (2/n).

Add checkbox into list item and change the beavior.

Bug: 148989057
Test: manual test
Change-Id: I7782898582c2f9759d4ef466d2864f124d8c83be
parent 6a2213ae
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -79,6 +79,21 @@ public final class ShortcutConstants {
        int BOUNCE = 3;
    }

    /**
     * Annotation for different shortcut target.
     */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({
            TargetType.ACCESSIBILITY_SERVICE,
            TargetType.ACCESSIBILITY_ACTIVITY,
            TargetType.WHITE_LISTING,
    })
    public @interface TargetType {
        int ACCESSIBILITY_SERVICE = 0;
        int ACCESSIBILITY_ACTIVITY = 1;
        int WHITE_LISTING = 2;
    }

    /**
     * Annotation for different shortcut menu mode.
     *
+27 −0
Original line number Diff line number Diff line
@@ -38,6 +38,33 @@ public final class ShortcutUtils {
    private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
            new TextUtils.SimpleStringSplitter(SERVICES_SEPARATOR);

    /**
     * Opts in component name into colon-separated {@link UserShortcutType}
     * key's string in Settings.
     *
     * @param context The current context.
     * @param shortcutType The preferred shortcut type user selected.
     * @param componentId The component id that need to be opted out from Settings.
     */
    public static void optInValueToSettings(Context context, @UserShortcutType int shortcutType,
            String componentId) {
        final StringJoiner joiner = new StringJoiner(String.valueOf(SERVICES_SEPARATOR));
        final String targetKey = convertToKey(shortcutType);
        final String targetString = Settings.Secure.getString(context.getContentResolver(),
                targetKey);

        if (hasValueInSettings(context, shortcutType, componentId)) {
            return;
        }

        if (!TextUtils.isEmpty(targetString)) {
            joiner.add(targetString);
        }
        joiner.add(componentId);

        Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
    }

    /**
     * Opts out component name into colon-separated {@code shortcutType} key's string in Settings.
     *
+152 −92

File changed.

Preview size limit exceeded, changes collapsed.

+17 −23
Original line number Diff line number Diff line
@@ -21,10 +21,17 @@
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="16dp">

    <CheckBox
        android:id="@+id/accessibility_button_target_checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingStart="16dp"
    android:paddingEnd="16dp"
    android:paddingTop="12dp"
    android:paddingBottom="12dp">
        android:background="@null"
        android:clickable="false"
        android:focusable="false"
        android:visibility="gone"/>

    <ImageView
        android:id="@+id/accessibility_button_target_icon"
@@ -36,31 +43,18 @@
        android:id="@+id/accessibility_button_target_label"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="14dp"
        android:layout_marginStart="16dp"
        android:layout_weight="1"
        android:textSize="20sp"
        android:textColor="?attr/textColorPrimary"
        android:fontFamily="sans-serif-medium"/>

    <FrameLayout
        android:id="@+id/accessibility_button_target_item_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="56dp">

        <ImageView
            android:id="@+id/accessibility_button_target_view_item"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"/>

        <Switch android:id="@+id/accessibility_button_target_switch_item"
    <Switch
        android:id="@+id/accessibility_button_target_switch_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
                android:layout_gravity="center"
        android:background="@null"
        android:clickable="false"
        android:focusable="false"/>
    </FrameLayout>
</LinearLayout>
+2 −2
Original line number Diff line number Diff line
@@ -4422,8 +4422,8 @@
    any service item in the menu list. [CHAR LIMIT=100] -->
    <string name="edit_accessibility_shortcut_menu_button">Edit shortcuts</string>

    <!-- Text in button that cancel the accessibility shortcut menu changed status. [CHAR LIMIT=100] -->
    <string name="cancel_accessibility_shortcut_menu_button">Cancel</string>
    <!-- Text in button that complete the accessibility shortcut menu changed status. [CHAR LIMIT=100] -->
    <string name="done_accessibility_shortcut_menu_button">Done</string>

    <!-- Text in button that turns off the accessibility shortcut -->
    <string name="disable_accessibility_shortcut">Turn off Shortcut</string>
Loading