summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2017-05-08 14:53:51 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-05-08 14:53:51 +0000
commitb9e1b02f72962c165d449625a18b4e243574de1c (patch)
treef6dcb9865a673aac9e139a76abfb1147b1551ebc
parent1fadfb07651a985c8afbb4a88e20b40f737ecfce (diff)
parent00487cf9368df10aab90c5a194667ce56acb49e4 (diff)
Merge "Also log the value of the IAEs thrown in VibrationEffect" into oc-dev
am: 00487cf936 Change-Id: Iee08e297248aa57179a434f81f27e3e7924aa201
-rw-r--r--core/java/android/os/VibrationEffect.java25
-rw-r--r--core/java/android/os/Vibrator.java2
2 files changed, 19 insertions, 8 deletions
diff --git a/core/java/android/os/VibrationEffect.java b/core/java/android/os/VibrationEffect.java
index eceaa31b9cf8..6aa601a98f3b 100644
--- a/core/java/android/os/VibrationEffect.java
+++ b/core/java/android/os/VibrationEffect.java
@@ -189,10 +189,11 @@ public abstract class VibrationEffect implements Parcelable {
if (mAmplitude < -1 || mAmplitude == 0 || mAmplitude > 255) {
throw new IllegalArgumentException(
"amplitude must either be DEFAULT_AMPLITUDE, " +
- "or between 1 and 255 inclusive");
+ "or between 1 and 255 inclusive (amplitude=" + mAmplitude + ")");
}
if (mTiming <= 0) {
- throw new IllegalArgumentException("timing must be positive");
+ throw new IllegalArgumentException(
+ "timing must be positive (timing=" + mTiming + ")");
}
}
@@ -274,24 +275,31 @@ public abstract class VibrationEffect implements Parcelable {
public void validate() {
if (mTimings.length != mAmplitudes.length) {
throw new IllegalArgumentException(
- "timing and amplitude arrays must be of equal length");
+ "timing and amplitude arrays must be of equal length" +
+ " (timings.length=" + mTimings.length +
+ ", amplitudes.length=" + mAmplitudes.length + ")");
}
if (!hasNonZeroEntry(mTimings)) {
- throw new IllegalArgumentException("at least one timing must be non-zero");
+ throw new IllegalArgumentException("at least one timing must be non-zero" +
+ " (timings=" + Arrays.toString(mTimings) + ")");
}
for (long timing : mTimings) {
if (timing < 0) {
- throw new IllegalArgumentException("timings must all be >= 0");
+ throw new IllegalArgumentException("timings must all be >= 0" +
+ " (timings=" + Arrays.toString(mTimings) + ")");
}
}
for (int amplitude : mAmplitudes) {
if (amplitude < -1 || amplitude > 255) {
throw new IllegalArgumentException(
- "amplitudes must all be DEFAULT_AMPLITUDE or between 0 and 255");
+ "amplitudes must all be DEFAULT_AMPLITUDE or between 0 and 255" +
+ " (amplitudes=" + Arrays.toString(mAmplitudes) + ")");
}
}
if (mRepeat < -1 || mRepeat >= mTimings.length) {
- throw new IllegalArgumentException("repeat index must be >= -1");
+ throw new IllegalArgumentException(
+ "repeat index must be within the bounds of the timings array" +
+ " (timings.length=" + mTimings.length + ", index=" + mRepeat +")");
}
}
@@ -375,7 +383,8 @@ public abstract class VibrationEffect implements Parcelable {
@Override
public void validate() {
if (mEffectId != EFFECT_CLICK) {
- throw new IllegalArgumentException("Unknown prebaked effect type");
+ throw new IllegalArgumentException(
+ "Unknown prebaked effect type (value=" + mEffectId + ")");
}
}
diff --git a/core/java/android/os/Vibrator.java b/core/java/android/os/Vibrator.java
index 1e55c78845d1..2f0eecae2c96 100644
--- a/core/java/android/os/Vibrator.java
+++ b/core/java/android/os/Vibrator.java
@@ -157,6 +157,8 @@ public abstract class Vibrator {
// This call needs to continue throwing ArrayIndexOutOfBoundsException but ignore all other
// exceptions for compatibility purposes
if (repeat < -1 || repeat >= pattern.length) {
+ Log.e(TAG, "vibrate called with repeat index out of bounds" +
+ " (pattern.length=" + pattern.length + ", index=" + repeat + ")");
throw new ArrayIndexOutOfBoundsException();
}