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

Commit 04cd6cc0 authored by Matt Casey's avatar Matt Casey Committed by Automerger Merge Worker
Browse files

Merge "Replace cancel button with a delete icon." into sc-dev am: 4122f670

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15192402

Change-Id: Ia211f7aa5226f1ad5d529ec2ecf1812572840c56
parents 95280b33 4122f670
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -38,20 +38,21 @@
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@id/preview" />

    <Button
        android:id="@+id/cancel"
        style="@android:style/Widget.DeviceDefault.Button.Colored"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="@android:string/cancel"
        android:layout_marginStart="6dp"
    <ImageButton
        android:id="@+id/delete"
        style="@android:style/Widget.Material.Button.Borderless"
        android:tint="?android:textColorPrimary"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_marginTop="4dp"
        android:background="@drawable/screenshot_button_background"
        android:textColor="?android:textColorSecondary"
        app:layout_constraintStart_toEndOf="@id/save"
        android:padding="12dp"
        android:src="@drawable/ic_screenshot_delete"
        android:scaleType="fitCenter"
        android:contentDescription="@*android:string/delete"
        android:tooltipText="@*android:string/delete"
        app:layout_constraintEnd_toStartOf="@id/share"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@id/preview"
    />
        app:layout_constraintBottom_toTopOf="@id/preview" />

    <ImageButton
        android:id="@+id/share"
+15 −2
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ public class LongScreenshotActivity extends Activity {
    private View mSave;
    private View mEdit;
    private View mShare;
    private View mDelete;
    private CropView mCropView;
    private MagnifierView mMagnifierView;
    private ScrollCaptureResponse mScrollCaptureResponse;
@@ -120,18 +121,24 @@ public class LongScreenshotActivity extends Activity {
        mSave = requireViewById(R.id.save);
        mEdit = requireViewById(R.id.edit);
        mShare = requireViewById(R.id.share);
        mDelete = requireViewById(R.id.delete);
        mCropView = requireViewById(R.id.crop_view);
        mMagnifierView = requireViewById(R.id.magnifier);
        mCropView.setCropInteractionListener(mMagnifierView);
        mTransitionView = requireViewById(R.id.transition);
        mEnterTransitionView = requireViewById(R.id.enter_transition);

        requireViewById(R.id.cancel).setOnClickListener(v -> finishAndRemoveTask());

        mSave.setOnClickListener(this::onClicked);
        mEdit.setOnClickListener(this::onClicked);
        mShare.setOnClickListener(this::onClicked);

        // Only show the delete button if we have something to delete (should typically be the case)
        if (getIntent().getData() != null) {
            mDelete.setOnClickListener(this::onClicked);
        } else {
            mDelete.setVisibility(View.GONE);
        }

        mPreview.addOnLayoutChangeListener(
                (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) ->
                        updateImageDimensions());
@@ -321,6 +328,7 @@ public class LongScreenshotActivity extends Activity {
        mSave.setEnabled(enabled);
        mEdit.setEnabled(enabled);
        mShare.setEnabled(enabled);
        mDelete.setEnabled(enabled);
    }

    private void doEdit(Uri uri) {
@@ -375,6 +383,11 @@ public class LongScreenshotActivity extends Activity {
        } else if (id == R.id.share) {
            mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_LONG_SCREENSHOT_SHARE);
            startExport(PendingAction.SHARE);
        } else if (id == R.id.delete) {
            mBackgroundExecutor.execute(() -> {
                getContentResolver().delete(getIntent().getData(), null);
                finishAndRemoveTask();
            });
        }
    }

+5 −1
Original line number Diff line number Diff line
@@ -264,6 +264,7 @@ public class ScreenshotController {

    private Animator mScreenshotAnimation;
    private RequestCallback mCurrentRequestCallback;
    private Uri mLatestUriSaved;

    private final Handler mScreenshotHandler = new Handler(Looper.getMainLooper()) {
        @Override
@@ -546,7 +547,6 @@ public class ScreenshotController {
            mAccessibilityManager.sendAccessibilityEvent(event);
        }


        if (mScreenshotView.isAttachedToWindow()) {
            // if we didn't already dismiss for another reason
            if (!mScreenshotView.isDismissing()) {
@@ -563,6 +563,7 @@ public class ScreenshotController {
                .getWindowInsets().getDisplayCutout());

        mScreenBitmap = screenshot;
        mLatestUriSaved = null;

        if (!isUserSetupComplete()) {
            Log.w(TAG, "User setup not complete, displaying toast only");
@@ -700,6 +701,7 @@ public class ScreenshotController {
                                                longScreenshot));

                        final Intent intent = new Intent(mContext, LongScreenshotActivity.class);
                        intent.setData(mLatestUriSaved);
                        intent.setFlags(
                                Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

@@ -889,6 +891,8 @@ public class ScreenshotController {

        resetTimeout();

        mLatestUriSaved = imageData.uri;

        if (imageData.uri != null) {
            mScreenshotHandler.post(() -> {
                if (mScreenshotAnimation != null && mScreenshotAnimation.isRunning()) {