Merge "media: test MediaCodec.setOutputSurface" into mnc-dev
diff --git a/tests/tests/net/src/android/net/ipv6/cts/PingTest.java b/tests/tests/net/src/android/net/ipv6/cts/PingTest.java
index eddb416..c23ad30 100644
--- a/tests/tests/net/src/android/net/ipv6/cts/PingTest.java
+++ b/tests/tests/net/src/android/net/ipv6/cts/PingTest.java
@@ -155,7 +155,7 @@
public void testLoopbackPing() throws ErrnoException, IOException {
// Generate a random ping packet and send it to localhost.
InetAddress ipv6Loopback = InetAddress.getByName(null);
- assertEquals("localhost/::1", ipv6Loopback.toString());
+ assertEquals("::1", ipv6Loopback.getHostAddress());
for (int i = 0; i < NUM_PACKETS; i++) {
byte[] packet = pingPacket((int) (Math.random() * (MAX_SIZE - ICMP_HEADER_SIZE)));
diff --git a/tests/tests/text/src/android/text/cts/BidiFormatterTest.java b/tests/tests/text/src/android/text/cts/BidiFormatterTest.java
index 645ab5b..5ace8b2 100644
--- a/tests/tests/text/src/android/text/cts/BidiFormatterTest.java
+++ b/tests/tests/text/src/android/text/cts/BidiFormatterTest.java
@@ -107,6 +107,9 @@
}
public void testUnicodeWrap() {
+ // Make sure an input of null doesn't crash anything.
+ assertNull(LTR_FMT.unicodeWrap(null));
+
// Uniform directionality in opposite context.
assertEquals("uniform dir opposite to LTR context",
RLE + "." + HE + "." + PDF + LRM,
diff --git a/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java b/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java
index 8132b9e..b494f9e 100644
--- a/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java
+++ b/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java
@@ -32,6 +32,9 @@
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import android.view.Surface;
+import android.view.SurfaceView;
+import android.view.View;
+import android.widget.LinearLayout;
import com.android.cts.tv.R;
@@ -114,10 +117,12 @@
private int mTimeShiftStartPositionChanged;
private int mTimeShiftCurrentPositionChanged;
+ @Override
public void onTimeShiftStartPositionChanged(String inputId, long timeMs) {
mTimeShiftStartPositionChanged++;
}
+ @Override
public void onTimeShiftCurrentPositionChanged(String inputId, long timeMs) {
mTimeShiftCurrentPositionChanged++;
}
@@ -163,6 +168,7 @@
verifyCommandTimeShiftSeekTo();
verifyCommandTimeShiftSetPlaybackParams();
verifyCommandSetTimeShiftPositionCallback();
+ verifyCommandOverlayViewSizeChanged();
verifyCallbackChannelRetuned();
verifyCallbackVideoAvailable();
verifyCallbackVideoUnavailable();
@@ -171,6 +177,7 @@
verifyCallbackContentAllowed();
verifyCallbackContentBlocked();
verifyCallbackTimeShiftStatusChanged();
+ verifyCallbackLayoutSurface();
runTestOnUiThread(new Runnable() {
@Override
@@ -303,6 +310,22 @@
}.run();
}
+ public void verifyCommandOverlayViewSizeChanged() {
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ mTvView.setLayoutParams(new LinearLayout.LayoutParams(10, 20));
+ }
+ });
+ mInstrumentation.waitForIdleSync();
+ new PollingCheck(TIME_OUT) {
+ @Override
+ protected boolean check() {
+ CountingSession session = CountingTvInputService.sSession;
+ return session != null && session.mOverlayViewSizeChangedCount > 0;
+ }
+ }.run();
+ }
+
public void verifyCallbackChannelRetuned() {
CountingSession session = CountingTvInputService.sSession;
assertNotNull(session);
@@ -404,6 +427,30 @@
}.run();
}
+ public void verifyCallbackLayoutSurface() {
+ final int left = 10;
+ final int top = 20;
+ final int right = 30;
+ final int bottom = 40;
+ CountingSession session = CountingTvInputService.sSession;
+ assertNotNull(session);
+ session.layoutSurface(left, top, right, bottom);
+ new PollingCheck(TIME_OUT) {
+ @Override
+ protected boolean check() {
+ int childCount = mTvView.getChildCount();
+ for (int i = 0; i < childCount; ++i) {
+ View v = mTvView.getChildAt(i);
+ if (v instanceof SurfaceView) {
+ return v.getLeft() == left && v.getTop() == top && v.getRight() == right
+ && v.getBottom() == bottom;
+ }
+ }
+ return false;
+ }
+ }.run();
+ }
+
public static class CountingTvInputService extends StubTvInputService {
static CountingTvInputService sInstance;
static CountingSession sSession;
@@ -420,6 +467,7 @@
public volatile int mSetCaptionEnabledCount;
public volatile int mSelectTrackCount;
public volatile int mKeyDownCount;
+ public volatile int mOverlayViewSizeChangedCount;
public volatile int mTimeShiftPause;
public volatile int mTimeShiftResume;
public volatile int mTimeShiftSeekTo;
@@ -497,6 +545,12 @@
public long onTimeShiftGetStartPosition() {
return ++mTimeShiftGetStartPosition;
}
+
+ @Override
+ public void onOverlayViewSizeChanged(int width, int height) {
+ mOverlayViewSizeChangedCount++;
+ }
+
}
}
}
diff --git a/tests/tests/tv/src/android/media/tv/cts/TvViewTest.java b/tests/tests/tv/src/android/media/tv/cts/TvViewTest.java
index 930dd6a..fca3d5b 100644
--- a/tests/tests/tv/src/android/media/tv/cts/TvViewTest.java
+++ b/tests/tests/tv/src/android/media/tv/cts/TvViewTest.java
@@ -258,6 +258,8 @@
case TvTrackInfo.TYPE_VIDEO:
assertEquals(track.getVideoHeight(), selectedTrack.getVideoHeight());
assertEquals(track.getVideoWidth(), selectedTrack.getVideoWidth());
+ assertEquals(track.getVideoPixelAspectRatio(),
+ selectedTrack.getVideoPixelAspectRatio(), 0.001f);
break;
case TvTrackInfo.TYPE_AUDIO:
assertEquals(track.getAudioChannelCount(),
@@ -267,6 +269,7 @@
break;
case TvTrackInfo.TYPE_SUBTITLE:
assertEquals(track.getLanguage(), selectedTrack.getLanguage());
+ assertEquals(track.getDescription(), selectedTrack.getDescription());
break;
default:
fail("Unrecognized type: " + track.getType());
@@ -281,7 +284,7 @@
TvTrackInfo videoTrack1 = new TvTrackInfo.Builder(TvTrackInfo.TYPE_VIDEO, "video-HD")
.setVideoHeight(1920).setVideoWidth(1080).build();
TvTrackInfo videoTrack2 = new TvTrackInfo.Builder(TvTrackInfo.TYPE_VIDEO, "video-SD")
- .setVideoHeight(640).setVideoWidth(360).build();
+ .setVideoHeight(640).setVideoWidth(360).setVideoPixelAspectRatio(1.09f).build();
TvTrackInfo audioTrack1 =
new TvTrackInfo.Builder(TvTrackInfo.TYPE_AUDIO, "audio-stereo-eng")
.setLanguage("eng").setAudioChannelCount(2).setAudioSampleRate(48000).build();
@@ -293,13 +296,16 @@
TvTrackInfo subtitleTrack2 =
new TvTrackInfo.Builder(TvTrackInfo.TYPE_SUBTITLE, "subtitle-esp")
.setLanguage("esp").build();
+ TvTrackInfo subtitleTrack3 =
+ new TvTrackInfo.Builder(TvTrackInfo.TYPE_SUBTITLE, "subtitle-eng2")
+ .setLanguage("eng").setDescription("audio commentary").build();
StubTunerTvInputService.injectTrack(videoTrack1, videoTrack2, audioTrack1, audioTrack2,
subtitleTrack1, subtitleTrack2);
final List<TvTrackInfo> tracks = new ArrayList<TvTrackInfo>();
Collections.addAll(tracks, videoTrack1, videoTrack2, audioTrack1, audioTrack2,
- subtitleTrack1, subtitleTrack2);
+ subtitleTrack1, subtitleTrack2, subtitleTrack3);
tryTuneAllChannels(new Runnable() {
@Override
public void run() {