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

Commit 51ac26d8 authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "QS Talkback bug fixes"

parents f44b9df4 6f5e82d9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@
            android:scrollIndicators="top"
            android:scrollbars="vertical"
            android:scrollbarStyle="outsideOverlay"
            android:importantForAccessibility="no" />
            android:importantForAccessibility="auto" />
    </com.android.keyguard.AlphaOptimizedLinearLayout>

    <View
+5 −0
Original line number Diff line number Diff line
@@ -49,4 +49,9 @@ public class CustomizeTileView extends QSTileView {
    protected boolean animationsEnabled() {
        return false;
    }

    @Override
    public boolean isLongClickable() {
        return false;
    }
}
+8 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.widget.LinearLayout;
import android.widget.Toolbar;
import android.widget.Toolbar.OnMenuItemClickListener;

import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -118,7 +119,13 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
        mTileQueryHelper.setListener(mTileAdapter);
        mRecyclerView.setAdapter(mTileAdapter);
        mTileAdapter.getItemTouchHelper().attachToRecyclerView(mRecyclerView);
        GridLayoutManager layout = new GridLayoutManager(getContext(), 3);
        GridLayoutManager layout = new GridLayoutManager(getContext(), 3) {
            @Override
            public void onInitializeAccessibilityNodeInfoForItem(RecyclerView.Recycler recycler,
                    RecyclerView.State state, View host, AccessibilityNodeInfoCompat info) {
                // Do not read row and column every time it changes.
            }
        };
        layout.setSpanSizeLookup(mTileAdapter.getSizeLookup());
        mRecyclerView.setLayoutManager(layout);
        mRecyclerView.addItemDecoration(mTileAdapter.getItemDecoration());
+15 −0
Original line number Diff line number Diff line
@@ -238,9 +238,21 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
        return true;
    }

    private void setSelectableForHeaders(View view) {
        if (mAccessibilityManager.isTouchExplorationEnabled()) {
            final boolean selectable = mAccessibilityAction == ACTION_NONE;
            view.setFocusable(selectable);
            view.setImportantForAccessibility(selectable
                    ? View.IMPORTANT_FOR_ACCESSIBILITY_YES
                    : View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
            view.setFocusableInTouchMode(selectable);
        }
    }

    @Override
    public void onBindViewHolder(final Holder holder, int position) {
        if (holder.getItemViewType() == TYPE_HEADER) {
            setSelectableForHeaders(holder.itemView);
            return;
        }
        if (holder.getItemViewType() == TYPE_DIVIDER) {
@@ -260,6 +272,8 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
            }

            ((TextView) holder.itemView.findViewById(android.R.id.title)).setText(titleText);
            setSelectableForHeaders(holder.itemView);

            return;
        }
        if (holder.getItemViewType() == TYPE_ACCESSIBLE_DROP) {
@@ -306,6 +320,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
            holder.mTileView.setImportantForAccessibility(selectable
                    ? View.IMPORTANT_FOR_ACCESSIBILITY_YES
                    : View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
            holder.mTileView.setFocusableInTouchMode(selectable);
            if (selectable) {
                holder.mTileView.setOnClickListener(new OnClickListener() {
                    @Override
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.res.Configuration;
import android.provider.Settings;
import android.service.quicksettings.Tile;
import android.text.TextUtils;
import android.widget.Switch;

import com.android.internal.logging.nano.MetricsProto;
import com.android.systemui.R;
@@ -112,6 +113,7 @@ public class UiModeNightTile extends QSTileImpl<QSTile.BooleanState> implements
            state.state = state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
        }
        state.showRippleEffect = false;
        state.expandedAccessibilityClassName = Switch.class.getName();
    }

    @Override