Merge "Alternate method for adding dismiss in talkback" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
436da616c8
@@ -40,4 +40,16 @@
|
||||
android:focusable="true"
|
||||
android:visibility="visible" />
|
||||
|
||||
<!-- Placeholder to dismiss during talkback. -->
|
||||
<ImageView
|
||||
android:id="@+id/dismiss_placeholder"
|
||||
android:layout_width="@dimen/recents_tv_dismiss_icon_size"
|
||||
android:layout_height="@dimen/recents_tv_dismiss_icon_size"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:layout_marginBottom="50dp"
|
||||
android:src="@drawable/ic_cancel_white_24dp"
|
||||
android:contentDescription="@string/status_bar_accessibility_dismiss_recents"
|
||||
android:focusable="true"
|
||||
android:visibility="gone" />
|
||||
|
||||
</com.android.systemui.recents.tv.views.RecentsTvView>
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="@dimen/recents_tv_dismiss_icon_top_margin"
|
||||
android:layout_marginBottom="@dimen/recents_tv_dismiss_icon_bottom_margin"
|
||||
android:contentDescription="@string/status_bar_accessibility_dismiss_recents"
|
||||
android:alpha="@integer/dismiss_unselected_alpha"
|
||||
android:src="@drawable/recents_tv_dismiss_icon" />
|
||||
<TextView
|
||||
|
||||
@@ -388,6 +388,26 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
|
||||
mTaskStackHorizontalGridView.setSelectedPosition(0);
|
||||
}
|
||||
|
||||
View dismissPlaceholder = findViewById(R.id.dismiss_placeholder);
|
||||
if (ssp.isTouchExplorationEnabled()) {
|
||||
dismissPlaceholder.setAccessibilityTraversalBefore(R.id.task_list);
|
||||
dismissPlaceholder.setAccessibilityTraversalAfter(R.id.dismiss_placeholder);
|
||||
mTaskStackHorizontalGridView.setAccessibilityTraversalAfter(R.id.dismiss_placeholder);
|
||||
mTaskStackHorizontalGridView.setAccessibilityTraversalBefore(R.id.pip);
|
||||
dismissPlaceholder.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mTaskStackHorizontalGridView.requestFocus();
|
||||
mTaskStackHorizontalGridView.
|
||||
sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
|
||||
Task focusedTask = mTaskStackHorizontalGridView.getFocusedTask();
|
||||
if (focusedTask != null) {
|
||||
mTaskStackViewAdapter.removeTask(focusedTask);
|
||||
EventBus.getDefault().send(new DeleteTaskDataEvent(focusedTask));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
updatePipUI();
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ public class RecentsTvView extends FrameLayout {
|
||||
private TaskStack mStack;
|
||||
private TaskStackHorizontalGridView mTaskStackHorizontalView;
|
||||
private View mEmptyView;
|
||||
private View mDismissPlaceholder;
|
||||
private RecentsRowFocusAnimationHolder mEmptyViewFocusAnimationHolder;
|
||||
private boolean mAwaitingFirstLayout = true;
|
||||
private Rect mSystemInsets = new Rect();
|
||||
@@ -86,6 +87,12 @@ public class RecentsTvView extends FrameLayout {
|
||||
mTransitionHelper = new RecentsTvTransitionHelper(mContext, mHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
mDismissPlaceholder = findViewById(R.id.dismiss_placeholder);
|
||||
}
|
||||
|
||||
public void setTaskStack(TaskStack stack) {
|
||||
RecentsConfiguration config = Recents.getConfiguration();
|
||||
RecentsActivityLaunchState launchState = config.getLaunchState();
|
||||
@@ -198,6 +205,9 @@ public class RecentsTvView extends FrameLayout {
|
||||
public void showEmptyView() {
|
||||
mEmptyView.setVisibility(View.VISIBLE);
|
||||
mTaskStackHorizontalView.setVisibility(View.GONE);
|
||||
if (Recents.getSystemServices().isTouchExplorationEnabled()) {
|
||||
mDismissPlaceholder.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -206,6 +216,9 @@ public class RecentsTvView extends FrameLayout {
|
||||
public void hideEmptyView() {
|
||||
mEmptyView.setVisibility(View.GONE);
|
||||
mTaskStackHorizontalView.setVisibility(View.VISIBLE);
|
||||
if (Recents.getSystemServices().isTouchExplorationEnabled()) {
|
||||
mDismissPlaceholder.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -88,22 +88,10 @@ public class TaskCardView extends LinearLayout {
|
||||
R.dimen.recents_task_view_rounded_corners_radius);
|
||||
mRecentsRowFocusAnimationHolder = new RecentsRowFocusAnimationHolder(this, title);
|
||||
SystemServicesProxy ssp = Recents.getSystemServices();
|
||||
if (ssp.isTouchExplorationEnabled()) {
|
||||
mDismissIconView.setFocusable(true);
|
||||
mDismissIconView.setFocusableInTouchMode(true);
|
||||
mDismissIconView.setOnFocusChangeListener(new OnFocusChangeListener() {
|
||||
@Override
|
||||
public void onFocusChange(View v, boolean hasFocus) {
|
||||
if (hasFocus) {
|
||||
setDismissState(true);
|
||||
} else {
|
||||
setDismissState(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
if (!ssp.isTouchExplorationEnabled()) {
|
||||
mDismissIconView.setVisibility(VISIBLE);
|
||||
} else {
|
||||
mDismissIconView.setFocusable(false);
|
||||
mDismissIconView.setFocusableInTouchMode(false);
|
||||
mDismissIconView.setVisibility(GONE);
|
||||
}
|
||||
mViewFocusAnimator = new ViewFocusAnimator(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user