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

Commit 219d1024 authored by Diksha Gohlyan's avatar Diksha Gohlyan Committed by Automerger Merge Worker
Browse files

Merge "Accessibility, remove double tap to activate for last breadcrumb" into...

Merge "Accessibility, remove double tap to activate for last breadcrumb" into rvc-dev am: 7a53600d am: 634b8977

Change-Id: Ic7811cf0012822838015a39792f460e57ac7ef48
parents 77deb830 634b8977
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.documentsui;

import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.recyclerview.widget.RecyclerView;

/** Recycler view holding the horizontal breadcrumb. */
public final class BreadcrumbHolder extends RecyclerView.ViewHolder {

    protected TextView mTitle;
    protected ImageView mArrow;
    protected int mDefaultTextColor;
    protected boolean mLast;

    public BreadcrumbHolder(View itemView) {
        super(itemView);
        mTitle = itemView.findViewById(R.id.breadcrumb_text);
        mArrow = itemView.findViewById(R.id.breadcrumb_arrow);
        mDefaultTextColor = mTitle.getTextColors().getDefaultColor();
        mLast = false;
    }

    public boolean isLast() {
        return mLast;
    }

    public void setLast(boolean isLast) {
        mLast = isLast;
    }
}
+1 −16
Original line number Diff line number Diff line
@@ -24,8 +24,6 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -191,6 +189,7 @@ public final class HorizontalBreadcrumb extends RecyclerView implements Breadcru
            holder.mArrow.setVisibility(isLast ? View.GONE : View.VISIBLE);

            holder.itemView.setOnKeyListener(mClickListener);
            holder.setLast(isLast);
        }

        private DocumentInfo getItem(int position) {
@@ -211,20 +210,6 @@ public final class HorizontalBreadcrumb extends RecyclerView implements Breadcru
        }
    }

    private static class BreadcrumbHolder extends RecyclerView.ViewHolder {

        protected TextView mTitle;
        protected ImageView mArrow;
        protected int mDefaultTextColor;

        public BreadcrumbHolder(View itemView) {
            super(itemView);
            mTitle = itemView.findViewById(R.id.breadcrumb_text);
            mArrow = itemView.findViewById(R.id.breadcrumb_arrow);
            mDefaultTextColor = mTitle.getTextColors().getDefaultColor();
        }
    }

    private static final class ClickListener extends GestureDetector
            implements OnItemTouchListener {

+6 −0
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.Accessibilit
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate;

import com.android.documentsui.BreadcrumbHolder;

import java.util.function.Function;

/**
@@ -67,6 +69,10 @@ public class AccessibilityEventRouter extends RecyclerViewAccessibilityDelegate
                    if (((DocumentHolder) holder).getItemDetails() != null) {
                        addAction(info);
                    }
                } else if (holder instanceof BreadcrumbHolder) {
                    if (!((BreadcrumbHolder) holder).isLast()) {
                        addAction(info);
                    }
                } else {
                    addAction(info);
                }