Merge "rename android_security_cts_AudioflingerBinderTest.cpp to android_security_cts_AudioFlingerBinderTest.cpp" into klp-dev
diff --git a/tests/tests/media/res/raw/on_input_buffer_filled_sigsegv.mp4 b/tests/tests/media/res/raw/on_input_buffer_filled_sigsegv.mp4
new file mode 100644
index 0000000..110c0d6
--- /dev/null
+++ b/tests/tests/media/res/raw/on_input_buffer_filled_sigsegv.mp4
Binary files differ
diff --git a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
index 619a38f..d8ee9e7 100644
--- a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
@@ -82,6 +82,10 @@
}
}
+ public void testonInputBufferFilledSigsegv() throws Exception {
+ testIfMediaServerDied(R.raw.on_input_buffer_filled_sigsegv);
+ }
+
public void testFlacHeapOverflow() throws Exception {
testIfMediaServerDied(R.raw.heap_oob_flac);
}
@@ -108,12 +112,17 @@
AssetFileDescriptor afd = mResources.openRawResourceFd(res);
mMediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
- mMediaPlayer.prepare();
- mMediaPlayer.start();
- if (!mOnCompletionCalled.waitForSignal(5000)) {
- Log.w(LOG_TAG, "testIfMediaServerDied: Timed out waiting for Error/Completion");
+ try {
+ mMediaPlayer.prepare();
+ mMediaPlayer.start();
+ if (!mOnCompletionCalled.waitForSignal(5000)) {
+ Log.w(LOG_TAG, "testIfMediaServerDied: Timed out waiting for Error/Completion");
+ }
+ } catch (Exception e) {
+ Log.w(LOG_TAG, "playback failed", e);
+ } finally {
+ mMediaPlayer.release();
}
- mMediaPlayer.release();
}
// Bug 13652927
diff --git a/tests/tests/media/src/android/media/cts/MediaRecorderTest.java b/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
index d11755a..8b97efd 100644
--- a/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
@@ -18,6 +18,7 @@
import android.content.pm.PackageManager;
import android.hardware.Camera;
+import android.media.CamcorderProfile;
import android.media.MediaMetadataRetriever;
import android.media.MediaRecorder;
import android.media.MediaRecorder.OnErrorListener;
@@ -166,19 +167,17 @@
if (!hasCamera()) {
return;
}
- // Try to get camera first supported resolution.
- // If we fail for any reason, set the video size to default value.
- try {
- camera = Camera.open();
- width = camera.getParameters().getSupportedPreviewSizes().get(0).width;
- height = camera.getParameters().getSupportedPreviewSizes().get(0).height;
- } catch (Exception e) {
+ // Try to get camera profile for QUALITY_LOW; if unavailable,
+ // set the video size to default value.
+ CamcorderProfile profile = CamcorderProfile.get(
+ 0 /* cameraId */, CamcorderProfile.QUALITY_LOW);
+ if (profile != null) {
+ width = profile.videoFrameWidth;
+ height = profile.videoFrameHeight;
+ } else {
width = VIDEO_WIDTH;
height = VIDEO_HEIGHT;
}
- if (camera != null) {
- camera.release();
- }
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
diff --git a/tests/tests/text/src/android/text/method/cts/ArrowKeyMovementMethodTest.java b/tests/tests/text/src/android/text/method/cts/ArrowKeyMovementMethodTest.java
index 1d8a032..9d3cbc7 100644
--- a/tests/tests/text/src/android/text/method/cts/ArrowKeyMovementMethodTest.java
+++ b/tests/tests/text/src/android/text/method/cts/ArrowKeyMovementMethodTest.java
@@ -175,26 +175,30 @@
@UiThreadTest
public void testOnKeyDownWithKeyCodeUp() {
+ // shift+alt tests
+ KeyEvent shiftAltEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP,
+ 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
+
// first line
// second |line
// last line
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressBothShiftAlt();
- KeyEvent event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_UP, 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_UP, event));
+ KeyEvent.KEYCODE_DPAD_UP, shiftAltEvent));
// |first line
// second |line
// last line
assertSelection(SPACE_IN_2ND_LINE, 0);
+ // shift tests
+ KeyEvent shiftEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP, 0,
+ KeyEvent.META_SHIFT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressShift();
- event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_UP, 0, KeyEvent.META_SHIFT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_UP, event));
+ KeyEvent.KEYCODE_DPAD_UP, shiftEvent));
// first lin|e
// second |line
// last line
@@ -205,37 +209,40 @@
pressShift();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_UP, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_UP)));
+ KeyEvent.KEYCODE_DPAD_UP, shiftEvent));
// |first line
// second |line
// last line
assertSelection(SPACE_IN_2ND_LINE, 0);
+ // alt tests
+ KeyEvent altEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP, 0,
+ KeyEvent.META_ALT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressAlt();
- event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_UP, 0, KeyEvent.META_ALT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_UP, event));
+ KeyEvent.KEYCODE_DPAD_UP, altEvent));
// |first line
// second line
// last line
assertSelection(0);
+ // no-meta tests
+ KeyEvent noMetaEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP,
+ 0, 0);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
MetaKeyKeyListener.resetMetaState(mEditable);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_UP, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_UP)));
+ KeyEvent.KEYCODE_DPAD_UP, noMetaEvent));
// first lin|e
// second line
// last line
assertSelection(correspondingIn1stLine);
assertFalse(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_UP, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_UP)));
+ KeyEvent.KEYCODE_DPAD_UP, noMetaEvent));
// first lin|e
// second line
// last line
@@ -244,24 +251,30 @@
@UiThreadTest
public void testOnKeyDownWithKeyCodeDown() {
+ // shift+alt tests
+ KeyEvent shiftAltEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
+ KeyEvent.KEYCODE_DPAD_DOWN, 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
+
// first line
// second |line
// last line
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressBothShiftAlt();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_DOWN, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_DOWN)));
+ KeyEvent.KEYCODE_DPAD_DOWN, shiftAltEvent));
// first line
// second |line
// last line|
assertSelection(SPACE_IN_2ND_LINE, END_OF_ALL_TEXT);
+ // shift tests
+ KeyEvent shiftEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN,
+ 0, KeyEvent.META_SHIFT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressShift();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_DOWN, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_DOWN)));
+ KeyEvent.KEYCODE_DPAD_DOWN, shiftEvent));
// first line
// second |line
// last lin|e
@@ -272,36 +285,40 @@
pressShift();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_DOWN, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_DOWN)));
+ KeyEvent.KEYCODE_DPAD_DOWN, shiftEvent));
// first line
// second |line
// last line|
assertSelection(SPACE_IN_2ND_LINE, END_OF_ALL_TEXT);
+ // alt tests
+ KeyEvent altEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN, 0,
+ KeyEvent.META_ALT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressAlt();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_DOWN, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_DOWN)));
+ KeyEvent.KEYCODE_DPAD_DOWN, altEvent));
// first line
// second line
// last line|
assertSelection(END_OF_ALL_TEXT);
+ // no-meta tests
+ KeyEvent noMetaEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN,
+ 0, 0);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
MetaKeyKeyListener.resetMetaState(mEditable);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_DOWN, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_DOWN)));
+ KeyEvent.KEYCODE_DPAD_DOWN, noMetaEvent));
// first line
// second line
// last lin|e
assertSelection(correspondingIn3rdLine);
assertFalse(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_DOWN, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_DOWN)));
+ KeyEvent.KEYCODE_DPAD_DOWN, noMetaEvent));
// first line
// second line
// last lin|e
@@ -310,15 +327,17 @@
@UiThreadTest
public void testOnKeyDownWithKeyCodeLeft() {
+ // shift+alt tests
+ KeyEvent shiftAltEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
+ KeyEvent.KEYCODE_DPAD_LEFT, 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
+
// first line
// second |line
// last line
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressBothShiftAlt();
- KeyEvent event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_LEFT, 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, event));
+ KeyEvent.KEYCODE_DPAD_LEFT, shiftAltEvent));
// first line
// |second |line
// last line
@@ -326,18 +345,20 @@
pressBothShiftAlt();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, event));
+ KeyEvent.KEYCODE_DPAD_LEFT, shiftAltEvent));
// first line
// |second |line
// last line
assertSelection(SPACE_IN_2ND_LINE, START_OF_2ND_LINE);
+ // shift tests
+ KeyEvent shiftEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT,
+ 0, KeyEvent.META_SHIFT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressShift();
- event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_LEFT, 0, KeyEvent.META_SHIFT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, event));
+ KeyEvent.KEYCODE_DPAD_LEFT, shiftEvent));
// first line
// second| |line
// last line
@@ -345,19 +366,20 @@
pressShift();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_LEFT)));
+ KeyEvent.KEYCODE_DPAD_LEFT, shiftEvent));
// first line
// secon|d |line
// last line
assertSelection(SPACE_IN_2ND_LINE, SPACE_IN_2ND_LINE - 2);
+ // alt tests
+ KeyEvent altEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT, 0,
+ KeyEvent.META_ALT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressAlt();
- event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_LEFT, 0, KeyEvent.META_ALT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, event));
+ KeyEvent.KEYCODE_DPAD_LEFT, altEvent));
// first line
// |second line
// last line
@@ -365,17 +387,20 @@
pressAlt();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, event));
+ KeyEvent.KEYCODE_DPAD_LEFT, altEvent));
// first line
// |second line
// last line
assertSelection(START_OF_2ND_LINE);
+ // no-meta tests
+ KeyEvent noMetaEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT,
+ 0, 0);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
MetaKeyKeyListener.resetMetaState(mEditable);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_LEFT)));
+ KeyEvent.KEYCODE_DPAD_LEFT, noMetaEvent));
// first line
// second| line
// last line
@@ -386,8 +411,7 @@
// |second line
// last line
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_LEFT, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_LEFT)));
+ KeyEvent.KEYCODE_DPAD_LEFT, noMetaEvent));
// first line|
// second line
// last line
@@ -396,15 +420,17 @@
@UiThreadTest
public void testOnKeyDownWithKeyCodeRight() {
+ // shift+alt tests
+ KeyEvent shiftAltEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
+ KeyEvent.KEYCODE_DPAD_RIGHT, 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
+
// first line
// second |line
// last line
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressBothShiftAlt();
- KeyEvent event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_RIGHT, 0, KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, event));
+ KeyEvent.KEYCODE_DPAD_RIGHT, shiftAltEvent));
// first line
// second |line|
// last line
@@ -412,18 +438,20 @@
pressBothShiftAlt();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, event));
+ KeyEvent.KEYCODE_DPAD_RIGHT, shiftAltEvent));
// first line
// second |line|
// last line
assertSelection(SPACE_IN_2ND_LINE, END_OF_2ND_LINE);
+ // shift tests
+ KeyEvent shiftEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT,
+ 0, KeyEvent.META_SHIFT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressShift();
- event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_RIGHT, 0, KeyEvent.META_SHIFT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, event));
+ KeyEvent.KEYCODE_DPAD_RIGHT, shiftEvent));
// first line
// second |l|ine
// last line
@@ -431,18 +459,20 @@
pressShift();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, event));
+ KeyEvent.KEYCODE_DPAD_RIGHT, shiftEvent));
// first line
// second |li|ne
// last line
assertSelection(SPACE_IN_2ND_LINE, SPACE_IN_2ND_LINE + 2);
+ // alt tests
+ KeyEvent altEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT,
+ 0, KeyEvent.META_ALT_ON);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
pressAlt();
- event = new KeyEvent(0, 0, KeyEvent.ACTION_UP,
- KeyEvent.KEYCODE_DPAD_RIGHT, 0, KeyEvent.META_ALT_ON);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, event));
+ KeyEvent.KEYCODE_DPAD_RIGHT, altEvent));
// first line
// second line|
// last line
@@ -450,17 +480,20 @@
pressAlt();
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, event));
+ KeyEvent.KEYCODE_DPAD_RIGHT, altEvent));
// first line
// second line|
// last line
assertSelection(END_OF_2ND_LINE);
+ // no-meta tests
+ KeyEvent noMetaEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
+ KeyEvent.KEYCODE_DPAD_RIGHT, 0, 0);
+
Selection.setSelection(mEditable, SPACE_IN_2ND_LINE);
MetaKeyKeyListener.resetMetaState(mEditable);
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_RIGHT)));
+ KeyEvent.KEYCODE_DPAD_RIGHT, noMetaEvent));
// first line
// second l|ine
// last line
@@ -471,8 +504,7 @@
// second line|
// last line
assertTrue(mArrowKeyMovementMethod.onKeyDown(mTextView, mEditable,
- KeyEvent.KEYCODE_DPAD_RIGHT, new KeyEvent(KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_DPAD_RIGHT)));
+ KeyEvent.KEYCODE_DPAD_RIGHT, noMetaEvent));
// first line
// second line
// |last line