summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Diksha Gohlyan <dikshag@google.com> 2020-03-19 17:55:00 -0700
committer Diksha Gohlyan <dikshag@google.com> 2020-03-20 08:24:44 -0700
commit902d3d9e481657de2b148acb09dd2040ed2a207c (patch)
treeb1a89c6bf3e7081a5e07d73729a11a68829f0da4
parentbfadf609caa642212df8b59b72a1a1b48b810eba (diff)
Accessibility, remove double tap to activate for last breadcrumb
Test: atest DocumentsUiGoogleTests Bug: 151582491 Change-Id: Ie45de68c8b6040872be044d427c3b774b50e2280
-rw-r--r--src/com/android/documentsui/BreadcrumbHolder.java48
-rw-r--r--src/com/android/documentsui/HorizontalBreadcrumb.java17
-rw-r--r--src/com/android/documentsui/dirlist/AccessibilityEventRouter.java6
3 files changed, 55 insertions, 16 deletions
diff --git a/src/com/android/documentsui/BreadcrumbHolder.java b/src/com/android/documentsui/BreadcrumbHolder.java
new file mode 100644
index 000000000..68c0e6a0e
--- /dev/null
+++ b/src/com/android/documentsui/BreadcrumbHolder.java
@@ -0,0 +1,48 @@
+/*
+ * 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;
+ }
+}
diff --git a/src/com/android/documentsui/HorizontalBreadcrumb.java b/src/com/android/documentsui/HorizontalBreadcrumb.java
index bb7fa01b3..d5987e142 100644
--- a/src/com/android/documentsui/HorizontalBreadcrumb.java
+++ b/src/com/android/documentsui/HorizontalBreadcrumb.java
@@ -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 {
diff --git a/src/com/android/documentsui/dirlist/AccessibilityEventRouter.java b/src/com/android/documentsui/dirlist/AccessibilityEventRouter.java
index 42130cc65..f235159ed 100644
--- a/src/com/android/documentsui/dirlist/AccessibilityEventRouter.java
+++ b/src/com/android/documentsui/dirlist/AccessibilityEventRouter.java
@@ -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);
}