summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/os/Vibrator.java4
-rw-r--r--core/java/com/android/internal/app/ShutdownThread.java8
2 files changed, 9 insertions, 3 deletions
diff --git a/core/java/android/os/Vibrator.java b/core/java/android/os/Vibrator.java
index 58ed986ebe45..be818da1a877 100644
--- a/core/java/android/os/Vibrator.java
+++ b/core/java/android/os/Vibrator.java
@@ -50,7 +50,7 @@ public class Vibrator
}
try {
mService.vibrate(milliseconds, mToken);
- } catch (Exception e) {
+ } catch (RemoteException e) {
Log.w(TAG, "Failed to vibrate.", e);
}
}
@@ -80,7 +80,7 @@ public class Vibrator
if (repeat < pattern.length) {
try {
mService.vibratePattern(pattern, repeat, mToken);
- } catch (Exception e) {
+ } catch (RemoteException e) {
Log.w(TAG, "Failed to vibrate.", e);
}
} else {
diff --git a/core/java/com/android/internal/app/ShutdownThread.java b/core/java/com/android/internal/app/ShutdownThread.java
index 1fcd654da8f8..b7255bb1914c 100644
--- a/core/java/com/android/internal/app/ShutdownThread.java
+++ b/core/java/com/android/internal/app/ShutdownThread.java
@@ -360,7 +360,13 @@ public final class ShutdownThread extends Thread {
} else if (SHUTDOWN_VIBRATE_MS > 0) {
// vibrate before shutting down
Vibrator vibrator = new Vibrator();
- vibrator.vibrate(SHUTDOWN_VIBRATE_MS);
+ try {
+ vibrator.vibrate(SHUTDOWN_VIBRATE_MS);
+ } catch (Exception e) {
+ // Failure to vibrate shouldn't interrupt shutdown. Just log it.
+ Log.w(TAG, "Failed to vibrate during shutdown.", e);
+ }
+
// vibrator is asynchronous so we need to wait to avoid shutting down too soon.
try {
Thread.sleep(SHUTDOWN_VIBRATE_MS);