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:focusable="true"
|
||||||
android:visibility="visible" />
|
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>
|
</com.android.systemui.recents.tv.views.RecentsTvView>
|
||||||
|
|||||||
@@ -50,7 +50,6 @@
|
|||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:layout_marginTop="@dimen/recents_tv_dismiss_icon_top_margin"
|
android:layout_marginTop="@dimen/recents_tv_dismiss_icon_top_margin"
|
||||||
android:layout_marginBottom="@dimen/recents_tv_dismiss_icon_bottom_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:alpha="@integer/dismiss_unselected_alpha"
|
||||||
android:src="@drawable/recents_tv_dismiss_icon" />
|
android:src="@drawable/recents_tv_dismiss_icon" />
|
||||||
<TextView
|
<TextView
|
||||||
|
|||||||
@@ -388,6 +388,26 @@ public class RecentsTvActivity extends Activity implements OnPreDrawListener {
|
|||||||
mTaskStackHorizontalGridView.setSelectedPosition(0);
|
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();
|
updatePipUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ public class RecentsTvView extends FrameLayout {
|
|||||||
private TaskStack mStack;
|
private TaskStack mStack;
|
||||||
private TaskStackHorizontalGridView mTaskStackHorizontalView;
|
private TaskStackHorizontalGridView mTaskStackHorizontalView;
|
||||||
private View mEmptyView;
|
private View mEmptyView;
|
||||||
|
private View mDismissPlaceholder;
|
||||||
private RecentsRowFocusAnimationHolder mEmptyViewFocusAnimationHolder;
|
private RecentsRowFocusAnimationHolder mEmptyViewFocusAnimationHolder;
|
||||||
private boolean mAwaitingFirstLayout = true;
|
private boolean mAwaitingFirstLayout = true;
|
||||||
private Rect mSystemInsets = new Rect();
|
private Rect mSystemInsets = new Rect();
|
||||||
@@ -86,6 +87,12 @@ public class RecentsTvView extends FrameLayout {
|
|||||||
mTransitionHelper = new RecentsTvTransitionHelper(mContext, mHandler);
|
mTransitionHelper = new RecentsTvTransitionHelper(mContext, mHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onFinishInflate() {
|
||||||
|
super.onFinishInflate();
|
||||||
|
mDismissPlaceholder = findViewById(R.id.dismiss_placeholder);
|
||||||
|
}
|
||||||
|
|
||||||
public void setTaskStack(TaskStack stack) {
|
public void setTaskStack(TaskStack stack) {
|
||||||
RecentsConfiguration config = Recents.getConfiguration();
|
RecentsConfiguration config = Recents.getConfiguration();
|
||||||
RecentsActivityLaunchState launchState = config.getLaunchState();
|
RecentsActivityLaunchState launchState = config.getLaunchState();
|
||||||
@@ -198,6 +205,9 @@ public class RecentsTvView extends FrameLayout {
|
|||||||
public void showEmptyView() {
|
public void showEmptyView() {
|
||||||
mEmptyView.setVisibility(View.VISIBLE);
|
mEmptyView.setVisibility(View.VISIBLE);
|
||||||
mTaskStackHorizontalView.setVisibility(View.GONE);
|
mTaskStackHorizontalView.setVisibility(View.GONE);
|
||||||
|
if (Recents.getSystemServices().isTouchExplorationEnabled()) {
|
||||||
|
mDismissPlaceholder.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -206,6 +216,9 @@ public class RecentsTvView extends FrameLayout {
|
|||||||
public void hideEmptyView() {
|
public void hideEmptyView() {
|
||||||
mEmptyView.setVisibility(View.GONE);
|
mEmptyView.setVisibility(View.GONE);
|
||||||
mTaskStackHorizontalView.setVisibility(View.VISIBLE);
|
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);
|
R.dimen.recents_task_view_rounded_corners_radius);
|
||||||
mRecentsRowFocusAnimationHolder = new RecentsRowFocusAnimationHolder(this, title);
|
mRecentsRowFocusAnimationHolder = new RecentsRowFocusAnimationHolder(this, title);
|
||||||
SystemServicesProxy ssp = Recents.getSystemServices();
|
SystemServicesProxy ssp = Recents.getSystemServices();
|
||||||
if (ssp.isTouchExplorationEnabled()) {
|
if (!ssp.isTouchExplorationEnabled()) {
|
||||||
mDismissIconView.setFocusable(true);
|
mDismissIconView.setVisibility(VISIBLE);
|
||||||
mDismissIconView.setFocusableInTouchMode(true);
|
|
||||||
mDismissIconView.setOnFocusChangeListener(new OnFocusChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void onFocusChange(View v, boolean hasFocus) {
|
|
||||||
if (hasFocus) {
|
|
||||||
setDismissState(true);
|
|
||||||
} else {
|
|
||||||
setDismissState(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
mDismissIconView.setFocusable(false);
|
mDismissIconView.setVisibility(GONE);
|
||||||
mDismissIconView.setFocusableInTouchMode(false);
|
|
||||||
}
|
}
|
||||||
mViewFocusAnimator = new ViewFocusAnimator(this);
|
mViewFocusAnimator = new ViewFocusAnimator(this);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user