Merge "DO NOT MERGE ANYWHERE: bumping CTS 5.1 to R4" into lollipop-mr1-cts-dev am: 0e8212053b  -s ours am: 2a72b1b08e  -s ours am: c1f6baf9ec  -s ours am: ba72ac87a7  -s ours
am: e9e56b476b  -s ours

* commit 'e9e56b476b38562f3096ddf8b2072396b0e6fc5e':
  DO NOT MERGE ANYWHERE: bumping CTS 5.1 to R4
diff --git a/tests/expectations/knownfailures.txt b/tests/expectations/knownfailures.txt
index 01f64b5..274a73d 100644
--- a/tests/expectations/knownfailures.txt
+++ b/tests/expectations/knownfailures.txt
@@ -16,6 +16,13 @@
   bug: 17536113
 },
 {
+  description: "the ConnectivityConstraintTest are not yet stable",
+  names: [
+    "android.jobscheduler.cts.ConnectivityConstraintTest"
+  ],
+  bug: 18117279
+},
+{
   description: "tests a fragile by nature as they rely on hardcoded behavior",
   names: [
     "android.accessibilityservice.cts.AccessibilityTextTraversalTest#testActionNextAndPreviousAtGranularityPageOverText",
@@ -230,23 +237,6 @@
   bug: 17989532
 },
 {
-  description: "The new AE/AF trigger tests are not yet passing on all devices",
-  names: [
-    "android.hardware.camera2.cts.RobustnessTest#testBasicTriggerSequence",
-    "android.hardware.camera2.cts.RobustnessTest#testSimultaneousTriggers",
-    "android.hardware.camera2.cts.RobustnessTest#testAfThenAeTrigger",
-    "android.hardware.camera2.cts.RobustnessTest#testAeThenAfTrigger"
-  ],
-  bug: 22180706
-},
-{
-  description: "The new create session test is not yet passing on all devices",
-  names: [
-    "android.hardware.camera2.cts.CameraDeviceTest#testCreateSessions"
-  ],
-  bug: 22092756
-},
-{
   description: "The new long processing test is not yet passing on all devices",
   names: [
     "android.hardware.camera2.cts.ImageReaderTest#testLongProcessingRepeatingRaw",
diff --git a/tests/tests/media/res/raw/id3v2_3_extended_header_overflow_padding.mp3 b/tests/tests/media/res/raw/id3v2_3_extended_header_overflow_padding.mp3
new file mode 100644
index 0000000..7e8d38c
--- /dev/null
+++ b/tests/tests/media/res/raw/id3v2_3_extended_header_overflow_padding.mp3
Binary files differ
diff --git a/tests/tests/media/res/raw/video_176x144_mp4_mpeg4_300kbps_25fps_aac_stereo_128kbps_44100hz.mp4 b/tests/tests/media/res/raw/video_176x144_mp4_mpeg4_300kbps_25fps_aac_stereo_128kbps_44100hz.mp4
new file mode 100644
index 0000000..6b6040f
--- /dev/null
+++ b/tests/tests/media/res/raw/video_176x144_mp4_mpeg4_300kbps_25fps_aac_stereo_128kbps_44100hz.mp4
Binary files differ
diff --git a/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java b/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java
index 54e6ef1..ddb717c 100644
--- a/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaMetadataRetrieverTest.java
@@ -26,8 +26,11 @@
 import android.test.AndroidTestCase;
 
 import java.io.IOException;
+import android.util.Log;
 
 public class MediaMetadataRetrieverTest extends AndroidTestCase {
+    private static final String LOG_TAG = "MediaMetadataRetrieverTest";
+
     protected Resources mResources;
     protected MediaMetadataRetriever mRetriever;
 
@@ -116,6 +119,13 @@
                 mRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_WRITER));
     }
 
+    public void testID3v2EmbeddedPicture() {
+        setDataSourceFd(R.raw.id3v2_3_extended_header_overflow_padding);
+
+        assertEquals("EmbeddedPicture was other than expected null array",
+                null, mRetriever.getEmbeddedPicture());
+    }
+
     public void testSetDataSourceNullPath() {
         try {
             mRetriever.setDataSource((String)null);
diff --git a/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java b/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java
index f5680f6..8797b9b 100644
--- a/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java
+++ b/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java
@@ -61,6 +61,7 @@
     private MediaFormat mDecOutputFormat;
     private double[] mMeasuredFps;
     private String[] mResultRawData;
+    private boolean mVerifyResults;
 
     private Resources mResources;
     private DeviceReportLog mReportLog;
@@ -68,6 +69,7 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
+        mVerifyResults = true;
         mResources = mContext.getResources();
         mReportLog = new DeviceReportLog();
     }
@@ -298,6 +300,10 @@
             mResultRawData[round] = result;
         }
 
+        if (!mVerifyResults) {
+            return true;
+        }
+
         return MediaUtils.verifyResults(name, mime, w, h, fps);
     }
 
@@ -541,6 +547,20 @@
                352, 288, true /* isGoog */);
     }
 
+    public void testMPEG40176x0144Other() throws Exception {
+        mVerifyResults = false;
+        decode(VIDEO_MPEG4,
+               R.raw.video_176x144_mp4_mpeg4_300kbps_25fps_aac_stereo_128kbps_44100hz,
+               176, 144, false /* isGoog */);
+    }
+
+    public void testMPEG40176x0144Goog() throws Exception {
+        mVerifyResults = false;
+        decode(VIDEO_MPEG4,
+               R.raw.video_176x144_mp4_mpeg4_300kbps_25fps_aac_stereo_128kbps_44100hz,
+               176, 144, true /* isGoog */);
+    }
+
     public void testMPEG40480x0360Other() throws Exception {
         decode(VIDEO_MPEG4,
                R.raw.video_480x360_mp4_mpeg4_860kbps_25fps_aac_stereo_128kbps_44100hz,
diff --git a/tests/tests/print/src/android/print/cts/BasePrintTest.java b/tests/tests/print/src/android/print/cts/BasePrintTest.java
index 321ae39..8a59c14 100644
--- a/tests/tests/print/src/android/print/cts/BasePrintTest.java
+++ b/tests/tests/print/src/android/print/cts/BasePrintTest.java
@@ -560,7 +560,7 @@
     }
 
     protected boolean supportsPrinting() {
-        return getInstrumentation().getContext().getPackageManager().hasSystemFeature(
-                PackageManager.FEATURE_PRINTING);
+        return getInstrumentation().getContext().getPackageManager()
+                .hasSystemFeature(PackageManager.FEATURE_PRINTING);
     }
 }