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

Commit 8e96faa3 authored by Miranda Kephart's avatar Miranda Kephart Committed by Android (Google) Code Review
Browse files

Merge "Remove clipboard dismiss button to align with screenshots" into main

parents 9a99d9ce 027ee040
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -214,27 +214,4 @@
        android:orientation="vertical"
        app:barrierDirection="end"
        app:constraint_referenced_ids="clipboard_preview,minimized_preview"/>
    <FrameLayout
        android:id="@+id/dismiss_button"
        android:layout_width="@dimen/overlay_dismiss_button_tappable_size"
        android:layout_height="@dimen/overlay_dismiss_button_tappable_size"
        android:elevation="10dp"
        android:visibility="gone"
        android:alpha="0"
        app:layout_constraintStart_toEndOf="@id/clipboard_content_end"
        app:layout_constraintEnd_toEndOf="@id/clipboard_content_end"
        app:layout_constraintTop_toTopOf="@id/clipboard_content_top"
        app:layout_constraintBottom_toTopOf="@id/clipboard_content_top"
        android:contentDescription="@string/clipboard_dismiss_description">
        <ImageView
            android:id="@+id/dismiss_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="@dimen/overlay_dismiss_button_margin"
            android:background="@drawable/circular_background"
            android:backgroundTint="@androidprv:color/materialColorPrimaryFixedDim"
            android:tint="@androidprv:color/materialColorOnPrimaryFixed"
            android:padding="4dp"
            android:src="@drawable/ic_close"/>
    </FrameLayout>
</com.android.systemui.clipboardoverlay.ClipboardOverlayView>
 No newline at end of file
+0 −2
Original line number Diff line number Diff line
@@ -3783,8 +3783,6 @@
    <string name="clipboard_overlay_text_copied">Copied</string>
    <!-- Text informing user where text being edited was copied from [CHAR LIMIT=NONE] -->
    <string name="clipboard_edit_source">From <xliff:g id="appName" example="Gmail">%1$s</xliff:g></string>
    <!-- Label for button to dismiss clipboard overlay [CHAR LIMIT=NONE] -->
    <string name="clipboard_dismiss_description">Dismiss copied text</string>
    <!-- Label for button to edit text that was copied to the clipboard [CHAR LIMIT=NONE] -->
    <string name="clipboard_edit_text_description">Edit copied text</string>
    <!-- Label for button to edit an image that was copied to the clipboard [CHAR LIMIT=NONE] -->
+0 −6
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import static com.android.systemui.Flags.showClipboardIndication;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_SHOWN;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_TAPPED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISSED_OTHER;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISS_TAPPED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EDIT_TAPPED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EXPANDED_FROM_MINIMIZED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED;
@@ -538,11 +537,6 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
        mClipboardLogger.reset();
    }

    @Override
    public void onDismissButtonTapped() {
        finish(CLIPBOARD_OVERLAY_DISMISS_TAPPED);
    }

    @Override
    public void onRemoteCopyButtonTapped() {
        finish(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED,
+0 −16
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowInsets;
import android.view.accessibility.AccessibilityManager;
import android.view.animation.LinearInterpolator;
import android.view.animation.PathInterpolator;
import android.widget.FrameLayout;
@@ -77,8 +76,6 @@ import java.util.ArrayList;
public class ClipboardOverlayView extends DraggableConstraintLayout {

    interface ClipboardOverlayCallbacks extends SwipeDismissCallbacks {
        void onDismissButtonTapped();

        void onRemoteCopyButtonTapped();

        void onShareButtonTapped();
@@ -94,7 +91,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
    private static final int FONT_SEARCH_STEP_PX = 4;

    private final DisplayMetrics mDisplayMetrics;
    private final AccessibilityManager mAccessibilityManager;
    private final ArrayList<View> mActionChips = new ArrayList<>();

    private View mClipboardPreview;
@@ -108,7 +104,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
    private View mActionContainerBackground;
    private View mIndicationContainer;
    private TextView mIndicationText;
    private View mDismissButton;
    private LinearLayout mActionContainer;
    private ClipboardOverlayCallbacks mClipboardCallbacks;
    private ActionButtonViewBinder mActionButtonViewBinder = new ActionButtonViewBinder();
@@ -125,7 +120,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
        super(context, attrs, defStyleAttr);
        mDisplayMetrics = new DisplayMetrics();
        mContext.getDisplay().getRealMetrics(mDisplayMetrics);
        mAccessibilityManager = AccessibilityManager.getInstance(mContext);
    }

    @Override
@@ -140,7 +134,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
        mMinimizedPreview = requireViewById(R.id.minimized_preview);
        mShareChip = requireViewById(R.id.share_chip);
        mRemoteCopyChip = requireViewById(R.id.remote_copy_chip);
        mDismissButton = requireViewById(R.id.dismiss_button);
        mIndicationContainer = requireViewById(R.id.indication_container);
        mIndicationText = mIndicationContainer.findViewById(R.id.indication_text);

@@ -197,7 +190,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
    public void setCallbacks(SwipeDismissCallbacks callbacks) {
        super.setCallbacks(callbacks);
        ClipboardOverlayCallbacks clipboardCallbacks = (ClipboardOverlayCallbacks) callbacks;
        mDismissButton.setOnClickListener(v -> clipboardCallbacks.onDismissButtonTapped());
        mClipboardPreview.setOnClickListener(v -> clipboardCallbacks.onPreviewTapped());
        mMinimizedPreview.setOnClickListener(v -> clipboardCallbacks.onMinimizedViewTapped());
        mClipboardCallbacks = clipboardCallbacks;
@@ -291,7 +283,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
                (int) FloatingWindowUtil.dpToPx(mDisplayMetrics, -SWIPE_PADDING_DP));
        touchRegion.op(tmpRect, Region.Op.UNION);

        mDismissButton.getBoundsOnScreen(tmpRect);
        touchRegion.op(tmpRect, Region.Op.UNION);

        return touchRegion.contains(x, y);
@@ -348,7 +339,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
        setAlpha(0);
        mActionContainerBackground.setVisibility(View.GONE);
        mIndicationContainer.setVisibility(View.GONE);
        mDismissButton.setVisibility(View.GONE);
        mShareChip.setVisibility(View.GONE);
        mRemoteCopyChip.setVisibility(View.GONE);
        setEditAccessibilityAction(false);
@@ -377,9 +367,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
    }

    Animator getEnterAnimation() {
        if (mAccessibilityManager.isEnabled()) {
            mDismissButton.setVisibility(View.VISIBLE);
        }
        TimeInterpolator linearInterpolator = new LinearInterpolator();
        TimeInterpolator scaleInterpolator = new PathInterpolator(0, 0, 0, 1f);
        AnimatorSet enterAnim = new AnimatorSet();
@@ -422,7 +409,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
            mMinimizedPreview.setAlpha(alpha);
            mClipboardPreview.setAlpha(alpha);
            mPreviewBorder.setAlpha(alpha);
            mDismissButton.setAlpha(alpha);
            mActionContainer.setAlpha(alpha);
        });

@@ -450,7 +436,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
            mActionContainer.setAlpha(alpha);
            mActionContainerBackground.setAlpha(alpha);
            mPreviewBorder.setAlpha(alpha);
            mDismissButton.setAlpha(alpha);
        });
        alphaAnim.setDuration(300);
        return alphaAnim;
@@ -497,7 +482,6 @@ public class ClipboardOverlayView extends DraggableConstraintLayout {
            mMinimizedPreview.setAlpha(alpha);
            mClipboardPreview.setAlpha(alpha);
            mPreviewBorder.setAlpha(alpha);
            mDismissButton.setAlpha(alpha);
            mActionContainer.setAlpha(alpha);
        });

+0 −29
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
import static com.android.systemui.Flags.FLAG_CLIPBOARD_OVERLAY_MULTIUSER;
import static com.android.systemui.Flags.FLAG_SHOW_CLIPBOARD_INDICATION;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_SHOWN;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISS_TAPPED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EXPANDED_FROM_MINIMIZED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SHARE_TAPPED;
import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SHOWN_EXPANDED;
@@ -323,42 +322,14 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
        verify(mActivityStarter).startActivityDismissingKeyguard(any(ActivityStartOptions.class));
    }

    @Test
    public void test_viewCallbacks_onDismissTapped() {
        initController();

        mCallbacks.onDismissButtonTapped();
        verify(mEndAnimator).addListener(mAnimatorListenerCaptor.capture());
        mAnimatorListenerCaptor.getValue().onAnimationEnd(mEndAnimator);

        // package name is null since we haven't actually set a source for this test
        verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED, 0, null);
        verify(mClipboardOverlayView, times(1)).getExitAnimation();
    }

    @Test
    public void test_multipleDismissals_dismissesOnce_sharedTransitionsOff() {
        initController();
        mCallbacks.onSwipeDismissInitiated(mAnimator);
        mCallbacks.onDismissButtonTapped();
        mCallbacks.onSwipeDismissInitiated(mAnimator);
        mCallbacks.onDismissButtonTapped();

        verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_SWIPE_DISMISSED, 0, null);
        verify(mUiEventLogger, never()).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED);
    }

    @Test
    public void test_multipleDismissals_dismissesOnce() {
        initController();

        mCallbacks.onSwipeDismissInitiated(mAnimator);
        mCallbacks.onDismissButtonTapped();
        mCallbacks.onSwipeDismissInitiated(mAnimator);
        mCallbacks.onDismissButtonTapped();

        verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_SWIPE_DISMISSED, 0, null);
        verify(mUiEventLogger, never()).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED);
    }

    @Test