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

Commit 1c503aa1 authored by Sid Soundararajan's avatar Sid Soundararajan Committed by android-build-merger
Browse files

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

am: 436da616

* commit '436da616':
  Alternate method for adding dismiss in talkback

Change-Id: I1a12d842e2d95b5d3915231c495b8ae1d3ddeed5
parents f49cbec8 436da616
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);
    }