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

Commit 0091abfa authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Adds diagnostic logging for LongScreenshotActivity" into udc-qpr-dev

parents c20b765d eb3ab0b5
Loading
Loading
Loading
Loading
+26 −15
Original line number Diff line number Diff line
@@ -117,18 +117,22 @@ public class CropView extends View {

    @Override
    protected Parcelable onSaveInstanceState() {
        Log.d(TAG, "onSaveInstanceState");
        Parcelable superState = super.onSaveInstanceState();

        SavedState ss = new SavedState(superState);
        ss.mCrop = mCrop;
        Log.d(TAG, "saving mCrop=" + mCrop);

        return ss;
    }

    @Override
    protected void onRestoreInstanceState(Parcelable state) {
        Log.d(TAG, "onRestoreInstanceState");
        SavedState ss = (SavedState) state;
        super.onRestoreInstanceState(ss.getSuperState());

        Log.d(TAG, "restoring mCrop=" + ss.mCrop + " (was " + mCrop + ")");
        mCrop = ss.mCrop;
    }

@@ -242,6 +246,7 @@ public class CropView extends View {
     * Set the given boundary to the given value without animation.
     */
    public void setBoundaryPosition(CropBoundary boundary, float position) {
        Log.i(TAG, "setBoundaryPosition: " + boundary + ", position=" + position);
        position = (float) getAllowedValues(boundary).clamp(position);
        switch (boundary) {
            case TOP:
@@ -260,6 +265,7 @@ public class CropView extends View {
                Log.w(TAG, "No boundary selected");
                break;
        }
        Log.i(TAG,  "Updated mCrop: " + mCrop);

        invalidate();
    }
@@ -350,26 +356,31 @@ public class CropView extends View {
        mCropInteractionListener = listener;
    }

    private Range getAllowedValues(CropBoundary boundary) {
    private Range<Float> getAllowedValues(CropBoundary boundary) {
        float upper = 0f;
        float lower = 1f;
        switch (boundary) {
            case TOP:
                return new Range<>(0f,
                        mCrop.bottom - pixelDistanceToFraction(mCropTouchMargin,
                                CropBoundary.BOTTOM));
                lower = 0f;
                upper = mCrop.bottom - pixelDistanceToFraction(mCropTouchMargin,
                        CropBoundary.BOTTOM);
                break;
            case BOTTOM:
                return new Range<>(
                        mCrop.top + pixelDistanceToFraction(mCropTouchMargin,
                                CropBoundary.TOP), 1f);
                lower = mCrop.top + pixelDistanceToFraction(mCropTouchMargin, CropBoundary.TOP);
                upper = 1;
                break;
            case LEFT:
                return new Range<>(0f,
                        mCrop.right - pixelDistanceToFraction(mCropTouchMargin,
                                CropBoundary.RIGHT));
                lower = 0f;
                upper = mCrop.right - pixelDistanceToFraction(mCropTouchMargin, CropBoundary.RIGHT);
                break;
            case RIGHT:
                return new Range<>(
                        mCrop.left + pixelDistanceToFraction(mCropTouchMargin,
                                CropBoundary.LEFT), 1f);
                lower = mCrop.left + pixelDistanceToFraction(mCropTouchMargin, CropBoundary.LEFT);
                upper = 1;
                break;
        }
        return null;
        Log.i(TAG, "getAllowedValues: " + boundary + ", "
                + "result=[lower=" + lower + ", upper=" + upper + "]");
        return new Range<>(lower, upper);
    }

    /**
+21 −24
Original line number Diff line number Diff line
@@ -36,17 +36,18 @@ import android.text.TextUtils;
import android.util.Log;
import android.view.ScrollCaptureResponse;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;

import androidx.constraintlayout.widget.ConstraintLayout;

import com.android.internal.app.ChooserActivity;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.view.OneShotPreDrawListener;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.screenshot.CropView.CropBoundary;
import com.android.systemui.screenshot.ScrollCaptureController.LongScreenshot;
import com.android.systemui.settings.UserTracker;

@@ -215,6 +216,7 @@ public class LongScreenshotActivity extends Activity {
        mPreview.setImageDrawable(drawable);
        mMagnifierView.setDrawable(mLongScreenshot.getDrawable(),
                mLongScreenshot.getWidth(), mLongScreenshot.getHeight());
        Log.i(TAG, "Completed: " + longScreenshot);
        // Original boundaries go from the image tile set's y=0 to y=pageSize, so
        // we animate to that as a starting crop position.
        float topFraction = Math.max(0,
@@ -223,12 +225,11 @@ public class LongScreenshotActivity extends Activity {
                1 - (mLongScreenshot.getBottom() - mLongScreenshot.getPageHeight())
                        / (float) mLongScreenshot.getHeight());

        Log.i(TAG, "topFraction: " + topFraction);
        Log.i(TAG, "bottomFraction: " + bottomFraction);

        mEnterTransitionView.setImageDrawable(drawable);
        mEnterTransitionView.getViewTreeObserver().addOnPreDrawListener(
                new ViewTreeObserver.OnPreDrawListener() {
                    @Override
                    public boolean onPreDraw() {
                        mEnterTransitionView.getViewTreeObserver().removeOnPreDrawListener(this);
        OneShotPreDrawListener.add(mEnterTransitionView, () -> {
            updateImageDimensions();
            mEnterTransitionView.post(() -> {
                Rect dest = new Rect();
@@ -236,17 +237,13 @@ public class LongScreenshotActivity extends Activity {
                mLongScreenshotHolder.takeTransitionDestinationCallback()
                        .setTransitionDestination(dest, () -> {
                            mPreview.animate().alpha(1f);
                                        mCropView.setBoundaryPosition(
                                                CropView.CropBoundary.TOP, topFraction);
                                        mCropView.setBoundaryPosition(
                                                CropView.CropBoundary.BOTTOM, bottomFraction);
                            mCropView.setBoundaryPosition(CropBoundary.TOP, topFraction);
                            mCropView.setBoundaryPosition(CropBoundary.BOTTOM, bottomFraction);
                            mCropView.animateEntrance();
                            mCropView.setVisibility(View.VISIBLE);
                            setButtonsEnabled(true);
                        });
            });
                        return true;
                    }
        });

        // Immediately export to temp image file for saved state
+8 −2
Original line number Diff line number Diff line
@@ -130,8 +130,14 @@ public class ScrollCaptureController {

        @Override
        public String toString() {
            return "LongScreenshot{w=" + mImageTileSet.getWidth()
                    + ", h=" + mImageTileSet.getHeight() + "}";
            return "LongScreenshot{"
                    + "l=" + mImageTileSet.getLeft() + ", "
                    + "t=" + mImageTileSet.getTop() + ", "
                    + "r=" + mImageTileSet.getRight() + ", "
                    + "b=" + mImageTileSet.getBottom() + ", "
                    + "w=" + mImageTileSet.getWidth() + ", "
                    + "h=" + mImageTileSet.getHeight()
                    + "}";
        }

        public Drawable getDrawable() {