From b0c3f3f9716d91361c657f4c7bf352db02166f88 Mon Sep 17 00:00:00 2001 From: Ray Essick Date: Wed, 23 Oct 2019 09:17:27 -0700 Subject: parse{Int,Long,Rational}Range null checking These allowed null parameters handling them with a try/catch block. Avoid the exception overhead for this frequent case by comparing for null before the try{} block. Bug: 143173083 Test: boot, simple playback Change-Id: I761a8f35839054d61bba5aa1c80eb45058b9db22 --- media/java/android/media/Utils.java | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/media/java/android/media/Utils.java b/media/java/android/media/Utils.java index 5b62f16ad315..d942bb653127 100644 --- a/media/java/android/media/Utils.java +++ b/media/java/android/media/Utils.java @@ -16,8 +16,8 @@ package android.media; -import android.content.Context; import android.content.ContentResolver; +import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.os.Environment; @@ -206,12 +206,13 @@ class Utils { } static Size parseSize(Object o, Size fallback) { + if (o == null) { + return fallback; + } try { return Size.parseSize((String) o); } catch (ClassCastException e) { } catch (NumberFormatException e) { - } catch (NullPointerException e) { - return fallback; } Log.w(TAG, "could not parse size '" + o + "'"); return fallback; @@ -226,14 +227,15 @@ class Utils { return Integer.parseInt(s); } catch (ClassCastException e) { } catch (NumberFormatException e) { - } catch (NullPointerException e) { - return fallback; } Log.w(TAG, "could not parse integer '" + o + "'"); return fallback; } static Range parseIntRange(Object o, Range fallback) { + if (o == null) { + return fallback; + } try { String s = (String)o; int ix = s.indexOf('-'); @@ -246,8 +248,6 @@ class Utils { return Range.create(value, value); } catch (ClassCastException e) { } catch (NumberFormatException e) { - } catch (NullPointerException e) { - return fallback; } catch (IllegalArgumentException e) { } Log.w(TAG, "could not parse integer range '" + o + "'"); @@ -255,6 +255,9 @@ class Utils { } static Range parseLongRange(Object o, Range fallback) { + if (o == null) { + return fallback; + } try { String s = (String)o; int ix = s.indexOf('-'); @@ -267,8 +270,6 @@ class Utils { return Range.create(value, value); } catch (ClassCastException e) { } catch (NumberFormatException e) { - } catch (NullPointerException e) { - return fallback; } catch (IllegalArgumentException e) { } Log.w(TAG, "could not parse long range '" + o + "'"); @@ -276,6 +277,9 @@ class Utils { } static Range parseRationalRange(Object o, Range fallback) { + if (o == null) { + return fallback; + } try { String s = (String)o; int ix = s.indexOf('-'); @@ -288,8 +292,6 @@ class Utils { return Range.create(value, value); } catch (ClassCastException e) { } catch (NumberFormatException e) { - } catch (NullPointerException e) { - return fallback; } catch (IllegalArgumentException e) { } Log.w(TAG, "could not parse rational range '" + o + "'"); @@ -297,6 +299,9 @@ class Utils { } static Pair parseSizeRange(Object o) { + if (o == null) { + return null; + } try { String s = (String)o; int ix = s.indexOf('-'); @@ -309,8 +314,6 @@ class Utils { return Pair.create(value, value); } catch (ClassCastException e) { } catch (NumberFormatException e) { - } catch (NullPointerException e) { - return null; } catch (IllegalArgumentException e) { } Log.w(TAG, "could not parse size range '" + o + "'"); -- cgit v1.2.3-59-g8ed1b