diff options
| author | 2021-06-16 09:32:48 -0400 | |
|---|---|---|
| committer | 2021-06-16 09:32:48 -0400 | |
| commit | 97bcb3ff621755fbcd5ff6a01147eee6ef6662cf (patch) | |
| tree | 3c266eea1b7901ed14e7b3b1f9dd32fd0c9ae311 | |
| parent | f34c9ede734be8bb831304bfd3a9ba22461cec6d (diff) | |
Fix LongScreenshotActivity rotation
- Always set image preview alpha.
- Don't set the enter transition position if the screenshot isn't
loaded.
Bug: 191179430
Test: Rotate LongScreenshotActivity, observe no crashes and images show
up.
Change-Id: I1d8b84d6a23c7b9e5a011b48834d53bbb67819fd
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/screenshot/LongScreenshotActivity.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/LongScreenshotActivity.java b/packages/SystemUI/src/com/android/systemui/screenshot/LongScreenshotActivity.java index d5b4032b1c0f..2a427f767158 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/LongScreenshotActivity.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/LongScreenshotActivity.java @@ -250,6 +250,7 @@ public class LongScreenshotActivity extends Activity { Log.d(TAG, "onCachedImageLoaded(imageResult=" + imageResult + ")"); BitmapDrawable drawable = new BitmapDrawable(getResources(), imageResult.bitmap); mPreview.setImageDrawable(drawable); + mPreview.setAlpha(1f); mMagnifierView.setDrawable(drawable, imageResult.bitmap.getWidth(), imageResult.bitmap.getHeight()); mCropView.setVisibility(View.VISIBLE); @@ -476,19 +477,21 @@ public class LongScreenshotActivity extends Activity { params.height = boundaries.height(); mTransitionView.setLayoutParams(params); - ConstraintLayout.LayoutParams enterTransitionParams = - (ConstraintLayout.LayoutParams) mEnterTransitionView.getLayoutParams(); - float topFraction = Math.max(0, - -mLongScreenshot.getTop() / (float) mLongScreenshot.getHeight()); - enterTransitionParams.width = (int) (scale * drawable.getIntrinsicWidth()); - enterTransitionParams.height = (int) (scale * mLongScreenshot.getPageHeight()); - mEnterTransitionView.setLayoutParams(enterTransitionParams); - - Matrix matrix = new Matrix(); - matrix.setScale(scale, scale); - matrix.postTranslate(0, -scale * drawable.getIntrinsicHeight() * topFraction); - mEnterTransitionView.setImageMatrix(matrix); - mEnterTransitionView.setTranslationY( - topFraction * previewHeight + mPreview.getPaddingTop() + extraPadding); + if (mLongScreenshot != null) { + ConstraintLayout.LayoutParams enterTransitionParams = + (ConstraintLayout.LayoutParams) mEnterTransitionView.getLayoutParams(); + float topFraction = Math.max(0, + -mLongScreenshot.getTop() / (float) mLongScreenshot.getHeight()); + enterTransitionParams.width = (int) (scale * drawable.getIntrinsicWidth()); + enterTransitionParams.height = (int) (scale * mLongScreenshot.getPageHeight()); + mEnterTransitionView.setLayoutParams(enterTransitionParams); + + Matrix matrix = new Matrix(); + matrix.setScale(scale, scale); + matrix.postTranslate(0, -scale * drawable.getIntrinsicHeight() * topFraction); + mEnterTransitionView.setImageMatrix(matrix); + mEnterTransitionView.setTranslationY( + topFraction * previewHeight + mPreview.getPaddingTop() + extraPadding); + } } } |