summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author songferngwang <songferngwang@google.com> 2024-06-03 08:55:25 +0000
committer songferngwang <songferngwang@google.com> 2024-06-03 08:55:25 +0000
commit025e56e518f79be0bb4b1256c1224a9f5854d27e (patch)
treef70763a5e46a1904fde3679d5ee1ede00272e2ad
parentd61ea3349498d277411abf0b1326988a25f4fc28 (diff)
Fix crash java.lang.IllegalArgumentException
There is the java.lang.IllegalArgumentException: width and height must be > 0, so to avoid this case. Bug: 323290864 Test: verify the UI. Using the Scan QR code Change-Id: I85f5f73c09ee27e79c2a47a42fc4921074cef06e
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/qrcode/QrDecorateView.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrDecorateView.java b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrDecorateView.java
index e034254e64ec..eb57b40978dc 100644
--- a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrDecorateView.java
+++ b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrDecorateView.java
@@ -24,6 +24,7 @@ import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.RectF;
import android.util.AttributeSet;
+import android.util.Log;
import android.util.TypedValue;
import android.view.View;
@@ -33,6 +34,7 @@ public class QrDecorateView extends View {
private static final float CORNER_STROKE_WIDTH = 4f; // 4dp
private static final float CORNER_LINE_LENGTH = 264f; // 264dp
private static final float CORNER_RADIUS = 16f; // 16dp
+ private static final String TAG = "QrDecorateView";
private final int mCornerColor;
private final int mFocusedCornerColor;
@@ -94,6 +96,10 @@ public class QrDecorateView extends View {
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
+ if (getWidth() <= 0 || getHeight() <= 0) {
+ Log.e(TAG, "width and height must be > 0");
+ return;
+ }
if (mMaskBitmap == null) {
mMaskBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);