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

Unverified Commit 65db1b10 authored by ganeshi4u's avatar ganeshi4u Committed by Michael Bestas
Browse files

SystemUI: screenshot: Add delete action chip intent



[ghostrider-reborn] updated to android 12, 13

Co-authored-by: default avatarAdithya R <gh0strider.2k18.reborn@gmail.com>
Change-Id: Ia55ac91c2db2f44062674a699f8df63c96e1de5c
parent 91e0f735
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@
                     android:id="@+id/screenshot_share_chip"/>
            <include layout="@layout/overlay_action_chip"
                     android:id="@+id/screenshot_edit_chip"/>
            <include layout="@layout/overlay_action_chip"
                     android:id="@+id/screenshot_delete_chip"/>
            <include layout="@layout/overlay_action_chip"
                     android:id="@+id/screenshot_scroll_chip"
                     android:visibility="gone" />
+5 −0
Original line number Diff line number Diff line
@@ -115,4 +115,9 @@
    <!-- Name of the firewall status bar icon. -->
    <string name="status_bar_firewall">Firewall</string>
    <string name="status_bar_firewall_slot" translatable="false">firewall</string>

    <!-- Label for UI element which allows deleting the screenshot [CHAR LIMIT=30] -->
    <string name="screenshot_delete_label">Delete</string>
    <!-- Content description indicating that tapping the element will allow deleting the screenshot [CHAR LIMIT=NONE] -->
    <string name="screenshot_delete_description">Delete screenshot</string>
</resources>
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ public enum ScreenshotEvent implements UiEventLogger.UiEventEnum {
    SCREENSHOT_EDIT_TAPPED(308),
    @UiEvent(doc = "screenshot share button tapped")
    SCREENSHOT_SHARE_TAPPED(309),
    @UiEvent(doc = "screenshot delete button tapped")
    SCREENSHOT_DELETE_TAPPED(369),
    @UiEvent(doc = "screenshot smart action chip tapped")
    SCREENSHOT_SMART_ACTION_TAPPED(374),
    @UiEvent(doc = "screenshot scroll tapped")
+30 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ public class ScreenshotView extends FrameLayout implements
    private OverlayActionChip mEditChip;
    private OverlayActionChip mScrollChip;
    private OverlayActionChip mQuickShareChip;
    private OverlayActionChip mDeleteChip;

    private UiEventLogger mUiEventLogger;
    private ScreenshotViewCallback mCallbacks;
@@ -173,6 +174,7 @@ public class ScreenshotView extends FrameLayout implements
    private enum PendingInteraction {
        PREVIEW,
        EDIT,
        DELETE,
        SHARE,
        QUICK_SHARE
    }
@@ -380,6 +382,7 @@ public class ScreenshotView extends FrameLayout implements
        mShareChip = requireNonNull(mActionsContainer.findViewById(R.id.screenshot_share_chip));
        mEditChip = requireNonNull(mActionsContainer.findViewById(R.id.screenshot_edit_chip));
        mScrollChip = requireNonNull(mActionsContainer.findViewById(R.id.screenshot_scroll_chip));
        mDeleteChip = requireNonNull(mActionsContainer.findViewById(R.id.screenshot_delete_chip));

        setFocusable(true);
        mActionsContainer.setScrollX(0);
@@ -691,6 +694,7 @@ public class ScreenshotView extends FrameLayout implements
            if (mQuickShareChip != null) {
                mQuickShareChip.setIsPending(false);
            }
            mDeleteChip.setIsPending(false);
            mPendingInteraction = PendingInteraction.SHARE;
        });
        chips.add(mShareChip);
@@ -705,16 +709,32 @@ public class ScreenshotView extends FrameLayout implements
            if (mQuickShareChip != null) {
                mQuickShareChip.setIsPending(false);
            }
            mDeleteChip.setIsPending(false);
            mPendingInteraction = PendingInteraction.EDIT;
        });
        chips.add(mEditChip);

        mDeleteChip.setContentDescription(mContext.getString(R.string.screenshot_delete_label));
        mDeleteChip.setIcon(Icon.createWithResource(mContext, R.drawable.ic_screenshot_delete),
                true);
        mDeleteChip.setOnClickListener(v -> {
            mDeleteChip.setIsPending(true);
            mEditChip.setIsPending(false);
            mShareChip.setIsPending(false);
            if (mQuickShareChip != null) {
                mQuickShareChip.setIsPending(false);
            }
            mPendingInteraction = PendingInteraction.DELETE;
        });
        chips.add(mDeleteChip);

        mScreenshotPreview.setOnClickListener(v -> {
            mShareChip.setIsPending(false);
            mEditChip.setIsPending(false);
            if (mQuickShareChip != null) {
                mQuickShareChip.setIsPending(false);
            }
            mDeleteChip.setIsPending(false);
            mPendingInteraction = PendingInteraction.PREVIEW;
        });

@@ -812,6 +832,10 @@ public class ScreenshotView extends FrameLayout implements
                    imageData.editTransition.get().bundle,
                    imageData.owner, true);
        });
        mDeleteChip.setPendingIntent(imageData.deleteAction.actionIntent, () -> {
            mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_DELETE_TAPPED);
            animateDismissal();
        });
        mScreenshotPreview.setOnClickListener(v -> {
            mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_PREVIEW_TAPPED, 0, mPackageName);
            prepareSharedTransition();
@@ -851,6 +875,9 @@ public class ScreenshotView extends FrameLayout implements
                case EDIT:
                    mEditChip.callOnClick();
                    break;
                case DELETE:
                    mDeleteChip.callOnClick();
                    break;
                case QUICK_SHARE:
                    mQuickShareChip.callOnClick();
                    break;
@@ -893,6 +920,7 @@ public class ScreenshotView extends FrameLayout implements
            mQuickShareChip.setOnClickListener(v -> {
                mShareChip.setIsPending(false);
                mEditChip.setIsPending(false);
                mDeleteChip.setIsPending(false);
                mQuickShareChip.setIsPending(true);
                mPendingInteraction = PendingInteraction.QUICK_SHARE;
            });
@@ -1080,8 +1108,10 @@ public class ScreenshotView extends FrameLayout implements
        mShareChip.setOnClickListener(null);
        mScrollingScrim.setVisibility(View.GONE);
        mEditChip.setOnClickListener(null);
        mDeleteChip.setOnClickListener(null);
        mShareChip.setIsPending(false);
        mEditChip.setIsPending(false);
        mDeleteChip.setIsPending(false);
        mPendingInteraction = null;
        for (OverlayActionChip chip : mSmartChips) {
            mActionsView.removeView(chip);