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

Commit 436da616 authored by Sid Soundararajan's avatar Sid Soundararajan Committed by Android (Google) Code Review
Browse files

Merge "Alternate method for adding dismiss in talkback" into nyc-dev

parents c45f0aea 17d29b6d
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -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>
+0 −1
Original line number Diff line number Diff line
@@ -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
+20 −0
Original line number Diff line number Diff line
@@ -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();
    }

+13 −0
Original line number Diff line number Diff line
@@ -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);
        }
    }

    /**
+3 −15
Original line number Diff line number Diff line
@@ -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);
    }