From 5f6ca207fb5bae2ecfad754eeecc76955cbc7688 Mon Sep 17 00:00:00 2001 From: Miranda Kephart Date: Mon, 6 Mar 2023 15:37:06 -0500 Subject: [PATCH] Set mScreenBitmap before saveScreenshotAndToast Currently we don't set mScreenBitmap until after the fork to just show a toast if user setup is incomplete. This causes us to attempt to save a null bitmap. This change moves the line earlier so that we successfully save the screenshot (and show a toast) before user setup is complete. Bug: 271217041 Fix: 271217041 Test: manual (on phone flashed to master) Change-Id: I5f2312acc318d385420532476b5964e344c4b68e --- .../android/systemui/screenshot/ScreenshotController.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index 8721d71897f7d..557e95c644431 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -419,6 +419,10 @@ public class ScreenshotController { return; } + mScreenBitmap = screenshot.getBitmap(); + String oldPackageName = mPackageName; + mPackageName = screenshot.getPackageNameString(); + if (!isUserSetupComplete(Process.myUserHandle())) { Log.w(TAG, "User setup not complete, displaying toast only"); // User setup isn't complete, so we don't want to show any UI beyond a toast, as editing @@ -433,10 +437,6 @@ public class ScreenshotController { mScreenshotTakenInPortrait = mContext.getResources().getConfiguration().orientation == ORIENTATION_PORTRAIT; - String oldPackageName = mPackageName; - mPackageName = screenshot.getPackageNameString(); - - mScreenBitmap = screenshot.getBitmap(); // Optimizations mScreenBitmap.setHasAlpha(false); mScreenBitmap.prepareToDraw();