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

Commit de1bae62 authored by PETER LIANG's avatar PETER LIANG Committed by Android (Google) Code Review
Browse files

Merge "Should update specific item instead of the whole list of the accessibility target."

parents ff947bc0 6a9d4d73
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ public abstract class AccessibilityTarget implements TargetOperations, OnTargetS
    private CharSequence mLabel;
    private Drawable mIcon;
    private String mKey;
    private CharSequence mStateDescription;

    @VisibleForTesting
    public AccessibilityTarget(Context context, @ShortcutType int shortcutType,
@@ -106,6 +107,10 @@ public abstract class AccessibilityTarget implements TargetOperations, OnTargetS
        }
    }

    public void setStateDescription(CharSequence stateDescription) {
        mStateDescription = stateDescription;
    }

    /**
     * Gets the state description of this feature target.
     *
@@ -113,7 +118,7 @@ public abstract class AccessibilityTarget implements TargetOperations, OnTargetS
     */
    @Nullable
    public CharSequence getStateDescription() {
        return null;
        return mStateDescription;
    }

    public void setShortcutEnabled(boolean enabled) {
+5 −8
Original line number Diff line number Diff line
@@ -41,6 +41,11 @@ class ToggleAccessibilityServiceTarget extends AccessibilityServiceTarget {
                shortcutType,
                AccessibilityFragmentType.TOGGLE,
                serviceInfo);

        final int statusResId = isAccessibilityServiceEnabled(getContext(), getId())
                ? R.string.accessibility_shortcut_menu_item_status_on
                : R.string.accessibility_shortcut_menu_item_status_off;
        setStateDescription(getContext().getString(statusResId));
    }

    @Override
@@ -53,12 +58,4 @@ class ToggleAccessibilityServiceTarget extends AccessibilityServiceTarget {
        holder.mStatusView.setVisibility(isEditMenuMode ? View.GONE : View.VISIBLE);
        holder.mStatusView.setText(getStateDescription());
    }

    @Override
    public CharSequence getStateDescription() {
        final int statusResId = isAccessibilityServiceEnabled(getContext(), getId())
                ? R.string.accessibility_shortcut_menu_item_status_on
                : R.string.accessibility_shortcut_menu_item_status_off;
        return getContext().getString(statusResId);
    }
}
+5 −8
Original line number Diff line number Diff line
@@ -38,6 +38,11 @@ class ToggleAllowListingFeatureTarget extends AccessibilityTarget {
            boolean isShortcutSwitched, String id, CharSequence label, Drawable icon, String key) {
        super(context, shortcutType, AccessibilityFragmentType.TOGGLE,
                isShortcutSwitched, id, label, icon, key);

        final int statusResId = isFeatureEnabled()
                ? R.string.accessibility_shortcut_menu_item_status_on
                : R.string.accessibility_shortcut_menu_item_status_off;
        setStateDescription(getContext().getString(statusResId));
    }

    @Override
@@ -51,14 +56,6 @@ class ToggleAllowListingFeatureTarget extends AccessibilityTarget {
        holder.mStatusView.setText(getStateDescription());
    }

    @Override
    public CharSequence getStateDescription() {
        final int statusResId = isFeatureEnabled()
                ? R.string.accessibility_shortcut_menu_item_status_on
                : R.string.accessibility_shortcut_menu_item_status_off;
        return getContext().getString(statusResId);
    }

    private boolean isFeatureEnabled() {
        return Settings.Secure.getInt(getContext().getContentResolver(),
                getKey(), /* settingsValueOff */ 0) == /* settingsValueOn */ 1;
+6 −4
Original line number Diff line number Diff line
@@ -100,14 +100,16 @@ public class AccessibilityTargetAdapter extends Adapter<ViewHolder> {
    @ItemType
    @Override
    public int getItemViewType(int position) {
        if (position == 0) {
            return ItemType.FIRST_ITEM;
        }

        // This LAST_ITEM condition should be checked before others to ensure proper padding when
        // adding a second target via notifyItemInserted().
        if (position == (getItemCount() - 1)) {
            return ItemType.LAST_ITEM;
        }

        if (position == 0) {
            return ItemType.FIRST_ITEM;
        }

        return ItemType.REGULAR_ITEM;
    }

+1 −1
Original line number Diff line number Diff line
@@ -403,7 +403,7 @@ class MenuAnimationController {
        }

        cancelAndRemoveCallbacksAndMessages();
        mHandler.post(() -> mMenuView.setAlpha(COMPLETELY_OPAQUE));
        mMenuView.setAlpha(COMPLETELY_OPAQUE);
    }

    void fadeOutIfEnabled() {
Loading