summaryrefslogtreecommitdiffstats
path: root/src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java
diff options
context:
space:
mode:
authorJake Hamby <jhamby@google.com>2012-08-24 16:55:28 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-27 12:33:27 -0700
commitbf70b6f871ac58439b5e98a305478a773e872b68 (patch)
tree9d35063d489e84d3e895d27b39ab4c37a0dde91f /src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java
parenta93243d13ef0c0b29d871d483642e39c01db7c26 (diff)
downloadandroid_packages_apps_CellBroadcastReceiver-bf70b6f871ac58439b5e98a305478a773e872b68.tar.gz
android_packages_apps_CellBroadcastReceiver-bf70b6f871ac58439b5e98a305478a773e872b68.tar.bz2
android_packages_apps_CellBroadcastReceiver-bf70b6f871ac58439b5e98a305478a773e872b68.zip
Fix behavior of CMAS audio alert and vibration.
Fix bugs in CMAS audio alert and vibration behavior: * Use audio duration of 10.5 seconds for all CMAS alerts. * Fix vibration cadence to match CMAS tone cadence. * Mute audio when volume or camera keys are pressed. * Don't play audio or vibration in silent mode. * Don't play audio in vibrate mode. * Use notification volume rather than alarm volume. * Catch IllegalStateExceptions when stopping audio/TTS (sometimes throws "Unable to retrieve AudioTrack pointer for stop()"). * Add Vibrate setting to CMAS settings for disabling vibration. Bug: 7045214 Change-Id: Id98ea4f42f326b9a253407b9bbe67ca6acc6a20c
Diffstat (limited to 'src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java')
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java
index a8337f30..5bc2ba54 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertFullScreen.java
@@ -26,6 +26,7 @@ import android.os.Handler;
import android.os.Message;
import android.provider.Telephony;
import android.telephony.CellBroadcastMessage;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
@@ -200,6 +201,25 @@ public class CellBroadcastAlertFullScreen extends Activity {
finish();
}
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event) {
+ switch (event.getKeyCode()) {
+ // Volume keys and camera keys mute the alert sound/vibration.
+ case KeyEvent.KEYCODE_VOLUME_UP:
+ case KeyEvent.KEYCODE_VOLUME_DOWN:
+ case KeyEvent.KEYCODE_VOLUME_MUTE:
+ case KeyEvent.KEYCODE_CAMERA:
+ case KeyEvent.KEYCODE_FOCUS:
+ // Stop playing alert sound/vibration/speech (if started)
+ stopService(new Intent(this, CellBroadcastAlertAudio.class));
+ return true;
+
+ default:
+ break;
+ }
+ return super.dispatchKeyEvent(event);
+ }
+
/**
* Ignore the back button for emergency alerts (overridden by alert dialog so that the dialog
* is dismissed).