From 9a17312da5bf3c2652da232f3217da1c520e320f Mon Sep 17 00:00:00 2001 From: Edward Savage-Jones Date: Tue, 2 Oct 2018 17:27:27 +0200 Subject: [PATCH] Prevent NFE in SystemUI when parsing invalid int A user can change the sysui_rounded_content_padding setting via adb. If the value set is not an integer, SystemUI will end up in an exception loop. Bug: 117152006 Test: No crash when running: adb exec-out settings put secure sysui_rounded_content_padding a Change-Id: I49cace6087effae20170eab9175fc84ebcd21781 --- .../src/com/android/systemui/tuner/TunablePadding.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunablePadding.java b/packages/SystemUI/src/com/android/systemui/tuner/TunablePadding.java index af99236cc393a..e85dee8417158 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunablePadding.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunablePadding.java @@ -51,7 +51,9 @@ public class TunablePadding implements Tunable { public void onTuningChanged(String key, String newValue) { int dimen = mDefaultSize; if (newValue != null) { - dimen = (int) (Integer.parseInt(newValue) * mDensity); + try { + dimen = (int) (Integer.parseInt(newValue) * mDensity); + } catch (NumberFormatException ex) {} } int left = mView.isLayoutRtl() ? FLAG_END : FLAG_START; int right = mView.isLayoutRtl() ? FLAG_START : FLAG_END;