summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQi Wang <wangqi@google.com>2016-03-04 13:50:40 -0800
committerQi Wang <wangqi@google.com>2016-03-11 10:54:25 -0800
commit3dd981af8905339d7b8421e3a633853868240d4d (patch)
treed8807108b7aed64d82dacc1d641557cd7286b38c
parent1b686edac2b53551d114c45518054b7cbd073750 (diff)
Add talkback for long press and remove contact from starred list.
The remove button will be announced when user hovers contact onto it or drop it. Bug: 25559343 Change-Id: I31f51f6d074d8b1721439e7a484e1e316cb006fe
-rw-r--r--res/layout/lists_fragment.xml8
-rw-r--r--src/com/android/dialer/list/ListsFragment.java4
-rw-r--r--src/com/android/dialer/list/RemoveView.java5
3 files changed, 10 insertions, 7 deletions
diff --git a/res/layout/lists_fragment.xml b/res/layout/lists_fragment.xml
index 1942a96eb..bff729c14 100644
--- a/res/layout/lists_fragment.xml
+++ b/res/layout/lists_fragment.xml
@@ -58,7 +58,9 @@
android:layout_width="match_parent"
android:layout_height="@dimen/tab_height"
android:layout_marginTop="@dimen/action_bar_height_large"
- android:layout_alignParentTop="true" >
+ android:layout_alignParentTop="true"
+ android:contentDescription="@string/remove_contact"
+ android:visibility="gone" >
<LinearLayout
android:id="@+id/remove_view_content"
@@ -66,8 +68,7 @@
android:layout_width="match_parent"
android:background="@color/actionbar_background_color"
android:gravity="center"
- android:orientation="horizontal"
- android:visibility="gone" >
+ android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
@@ -76,7 +77,6 @@
android:layout_marginBottom="8dp"
android:id="@+id/remove_view_icon"
android:src="@drawable/ic_remove"
- android:contentDescription="@string/remove_contact"
android:tint="@color/remove_text_color" />
<TextView
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index 5b7c950bf..2020934cb 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -80,7 +80,6 @@ public class ListsFragment extends Fragment
private ViewPagerTabs mViewPagerTabs;
private ViewPagerAdapter mViewPagerAdapter;
private RemoveView mRemoveView;
- private View mRemoveViewContent;
private SpeedDialFragment mSpeedDialFragment;
private CallLogFragment mHistoryFragment;
@@ -230,7 +229,6 @@ public class ListsFragment extends Fragment
addOnPageChangeListener(mViewPagerTabs);
mRemoveView = (RemoveView) parentView.findViewById(R.id.remove_view);
- mRemoveViewContent = parentView.findViewById(R.id.remove_view_content);
Trace.endSection();
Trace.endSection();
@@ -401,7 +399,7 @@ public class ListsFragment extends Fragment
public void showRemoveView(boolean show) {
- mRemoveViewContent.setVisibility(show ? View.VISIBLE : View.GONE);
+ mRemoveView.setVisibility(show ? View.VISIBLE : View.GONE);
mRemoveView.setAlpha(show ? 0 : 1);
mRemoveView.animate().alpha(show ? 1 : 0).start();
}
diff --git a/src/com/android/dialer/list/RemoveView.java b/src/com/android/dialer/list/RemoveView.java
index fdb08f6f5..41f41752e 100644
--- a/src/com/android/dialer/list/RemoveView.java
+++ b/src/com/android/dialer/list/RemoveView.java
@@ -6,6 +6,7 @@ import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.DragEvent;
+import android.view.accessibility.AccessibilityEvent;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -53,6 +54,9 @@ public class RemoveView extends FrameLayout {
final int action = event.getAction();
switch (action) {
case DragEvent.ACTION_DRAG_ENTERED:
+ // TODO: This is temporary solution and should be removed once accessibility for
+ // drag and drop is supported by framework(b/26871588).
+ sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT);
setAppearanceHighlighted();
break;
case DragEvent.ACTION_DRAG_EXITED:
@@ -65,6 +69,7 @@ public class RemoveView extends FrameLayout {
}
break;
case DragEvent.ACTION_DROP:
+ sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT);
if (mDragDropController != null) {
mDragDropController.handleDragFinished((int) event.getX(), (int) event.getY(),
true);