Search in sources :

Example 41 with SmallTest

use of android.test.suitebuilder.annotation.SmallTest in project platform_frameworks_base by android.

the class CameraMetadataTest method testReadWriteOverride.

@SmallTest
public void testReadWriteOverride() {
    //
    // android.scaler.availableFormats (int x n array)
    //
    int[] availableFormats = new int[] { // RAW_SENSOR
    0x20, // YV12
    0x32315659, // YCrCb_420_SP
    0x11, // ImageFormat.JPEG
    0x100, // IMPLEMENTATION_DEFINED
    0x22, // YCbCr_420_888
    0x23 };
    int[] expectedIntValues = new int[] { // RAW_SENSOR
    0x20, // YV12
    0x32315659, // YCrCb_420_SP
    0x11, // BLOB
    0x21, // IMPLEMENTATION_DEFINED
    0x22, // YCbCr_420_888
    0x23 };
    int availableFormatTag = CameraMetadataNative.getTag("android.scaler.availableFormats");
    Key<int[]> formatKey = CameraCharacteristics.SCALER_AVAILABLE_FORMATS.getNativeKey();
    validateArrayMetadataReadWriteOverride(formatKey, availableFormats, expectedIntValues, availableFormatTag);
    //
    // android.statistics.faces (Face x n array)
    //
    int[] expectedFaceIds = new int[] { 1, 2, 3, 4, 5 };
    byte[] expectedFaceScores = new byte[] { 10, 20, 30, 40, 50 };
    int numFaces = expectedFaceIds.length;
    Rect[] expectedRects = new Rect[numFaces];
    for (int i = 0; i < numFaces; i++) {
        expectedRects[i] = new Rect(i * 4 + 1, i * 4 + 2, i * 4 + 3, i * 4 + 4);
    }
    int[] expectedFaceLM = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 };
    Point[] expectedFaceLMPoints = new Point[numFaces * 3];
    for (int i = 0; i < numFaces; i++) {
        expectedFaceLMPoints[i * 3] = new Point(expectedFaceLM[i * 6], expectedFaceLM[i * 6 + 1]);
        expectedFaceLMPoints[i * 3 + 1] = new Point(expectedFaceLM[i * 6 + 2], expectedFaceLM[i * 6 + 3]);
        expectedFaceLMPoints[i * 3 + 2] = new Point(expectedFaceLM[i * 6 + 4], expectedFaceLM[i * 6 + 5]);
    }
    /**
         * Read - FACE_DETECT_MODE == FULL
         */
    mMetadata.set(CaptureResult.STATISTICS_FACE_DETECT_MODE, CaptureResult.STATISTICS_FACE_DETECT_MODE_FULL);
    mMetadata.set(CaptureResult.STATISTICS_FACE_IDS, expectedFaceIds);
    mMetadata.set(CaptureResult.STATISTICS_FACE_SCORES, expectedFaceScores);
    mMetadata.set(CaptureResult.STATISTICS_FACE_RECTANGLES, expectedRects);
    mMetadata.set(CaptureResult.STATISTICS_FACE_LANDMARKS, expectedFaceLM);
    Face[] resultFaces = mMetadata.get(CaptureResult.STATISTICS_FACES);
    assertEquals(numFaces, resultFaces.length);
    for (int i = 0; i < numFaces; i++) {
        assertEquals(expectedFaceIds[i], resultFaces[i].getId());
        assertEquals(expectedFaceScores[i], resultFaces[i].getScore());
        assertEquals(expectedRects[i], resultFaces[i].getBounds());
        assertEquals(expectedFaceLMPoints[i * 3], resultFaces[i].getLeftEyePosition());
        assertEquals(expectedFaceLMPoints[i * 3 + 1], resultFaces[i].getRightEyePosition());
        assertEquals(expectedFaceLMPoints[i * 3 + 2], resultFaces[i].getMouthPosition());
    }
    /**
         * Read - FACE_DETECT_MODE == SIMPLE
         */
    mMetadata.set(CaptureResult.STATISTICS_FACE_DETECT_MODE, CaptureResult.STATISTICS_FACE_DETECT_MODE_SIMPLE);
    mMetadata.set(CaptureResult.STATISTICS_FACE_SCORES, expectedFaceScores);
    mMetadata.set(CaptureResult.STATISTICS_FACE_RECTANGLES, expectedRects);
    Face[] resultSimpleFaces = mMetadata.get(CaptureResult.STATISTICS_FACES);
    assertEquals(numFaces, resultSimpleFaces.length);
    for (int i = 0; i < numFaces; i++) {
        assertEquals(Face.ID_UNSUPPORTED, resultSimpleFaces[i].getId());
        assertEquals(expectedFaceScores[i], resultSimpleFaces[i].getScore());
        assertEquals(expectedRects[i], resultSimpleFaces[i].getBounds());
        assertNull(resultSimpleFaces[i].getLeftEyePosition());
        assertNull(resultSimpleFaces[i].getRightEyePosition());
        assertNull(resultSimpleFaces[i].getMouthPosition());
    }
    /**
         * Read/Write TonemapCurve
         */
    float[] red = new float[] { 0.0f, 0.0f, 1.0f, 1.0f };
    float[] green = new float[] { 0.0f, 1.0f, 1.0f, 0.0f };
    float[] blue = new float[] { 0.0000f, 0.0000f, 0.0667f, 0.2920f, 0.1333f, 0.4002f, 0.2000f, 0.4812f, 0.2667f, 0.5484f, 0.3333f, 0.6069f, 0.4000f, 0.6594f, 0.4667f, 0.7072f, 0.5333f, 0.7515f, 0.6000f, 0.7928f, 0.6667f, 0.8317f, 0.7333f, 0.8685f, 0.8000f, 0.9035f, 0.8667f, 0.9370f, 0.9333f, 0.9691f, 1.0000f, 1.0000f };
    TonemapCurve tcIn = new TonemapCurve(red, green, blue);
    mMetadata.set(CaptureResult.TONEMAP_CURVE, tcIn);
    float[] redOut = mMetadata.get(CaptureResult.TONEMAP_CURVE_RED);
    float[] greenOut = mMetadata.get(CaptureResult.TONEMAP_CURVE_GREEN);
    float[] blueOut = mMetadata.get(CaptureResult.TONEMAP_CURVE_BLUE);
    assertArrayEquals(red, redOut);
    assertArrayEquals(green, greenOut);
    assertArrayEquals(blue, blueOut);
    TonemapCurve tcOut = mMetadata.get(CaptureResult.TONEMAP_CURVE);
    assertEquals(tcIn, tcOut);
    mMetadata.set(CaptureResult.TONEMAP_CURVE_GREEN, null);
    // If any of channel has null curve, return a null TonemapCurve
    assertNull(mMetadata.get(CaptureResult.TONEMAP_CURVE));
}
Also used : TonemapCurve(android.hardware.camera2.params.TonemapCurve) Rect(android.graphics.Rect) Point(android.graphics.Point) Face(android.hardware.camera2.params.Face) Point(android.graphics.Point) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 42 with SmallTest

use of android.test.suitebuilder.annotation.SmallTest in project platform_frameworks_base by android.

the class CameraMetadataTest method testReadWritePrimitive.

@SmallTest
public void testReadWritePrimitive() {
    // int32 (single)
    checkKeyGetAndSet("android.control.aeExposureCompensation", Integer.TYPE, 0xC0FFEE);
    // byte (single)
    checkKeyGetAndSet("android.flash.maxEnergy", Byte.TYPE, (byte) 6);
    // int64 (single)
    checkKeyGetAndSet("android.flash.firingTime", Long.TYPE, 0xABCD12345678FFFFL);
    // float (single)
    checkKeyGetAndSet("android.lens.aperture", Float.TYPE, Float.MAX_VALUE);
    // double (single) -- technically double x 3, but we fake it
    checkKeyGetAndSet("android.jpeg.gpsCoordinates", Double.TYPE, Double.MAX_VALUE);
    // rational (single)
    checkKeyGetAndSet("android.sensor.baseGainFactor", Rational.class, new Rational(1, 2));
    /**
         * Weirder cases, that don't map 1:1 with the native types
         */
    // bool (single) -- with TYPE_BYTE
    checkKeyGetAndSet("android.control.aeLock", Boolean.TYPE, true);
    // integer (single) -- with TYPE_BYTE
    checkKeyGetAndSet("android.control.aePrecaptureTrigger", Integer.TYPE, 6);
}
Also used : Rational(android.util.Rational) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 43 with SmallTest

use of android.test.suitebuilder.annotation.SmallTest in project platform_frameworks_base by android.

the class MediaPlayerMetadataParserTest method testGetDate.

// getDate
@SmallTest
public void testGetDate() throws Exception {
    writeDateRecord(Metadata.DATE, 0, "PST");
    adjustSize();
    assertParse();
    assertEquals(new Date(0), mMetadata.getDate(Metadata.DATE));
}
Also used : Date(java.util.Date) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 44 with SmallTest

use of android.test.suitebuilder.annotation.SmallTest in project platform_frameworks_base by android.

the class CameraMetadataTest method testReadWritePointF.

@SmallTest
public void testReadWritePointF() {
    // float x 2 [actually 'x samples' but pretend it's a single value for now]
    checkKeyMarshal("android.sensor.profileToneCurve", new PointF(1.0f, 2.0f), toByteArray(1.0f, 2.0f));
    // float x 2 x samples
    checkKeyMarshal("android.sensor.profileToneCurve", new PointF[] { new PointF(1.0f, 2.0f), new PointF(3.0f, 4.0f), new PointF(5.0f, 6.0f), new PointF(7.0f, 8.0f) }, toByteArray(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f));
}
Also used : PointF(android.graphics.PointF) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 45 with SmallTest

use of android.test.suitebuilder.annotation.SmallTest in project platform_frameworks_base by android.

the class CameraMetadataTest method testReadWriteStreamConfigurationDuration.

@SmallTest
public void testReadWriteStreamConfigurationDuration() {
    // Avoid sign extending ints when converting to a long
    final long MASK_UNSIGNED_INT = 0x00000000ffffffffL;
    // int64 x 4 x n
    checkKeyMarshal("android.scaler.availableMinFrameDurations", new StreamConfigurationDuration[] { new StreamConfigurationDuration(ImageFormat.YUV_420_888, 640, 480, /*duration*/
    123L), new StreamConfigurationDuration(ImageFormat.RGB_565, 320, 240, /*duration*/
    345L) }, toByteArray(ImageFormat.YUV_420_888 & MASK_UNSIGNED_INT, 640L, 480L, /*duration*/
    123L, ImageFormat.RGB_565 & MASK_UNSIGNED_INT, 320L, 240L, /*duration*/
    345L));
}
Also used : StreamConfigurationDuration(android.hardware.camera2.params.StreamConfigurationDuration) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Aggregations

SmallTest (android.test.suitebuilder.annotation.SmallTest)1766 Parcel (android.os.Parcel)143 Time (android.text.format.Time)97 Rect (android.graphics.Rect)94 ByteBuffer (java.nio.ByteBuffer)71 Bundle (android.os.Bundle)68 LinkProperties (android.net.LinkProperties)66 ArrayList (java.util.ArrayList)63 SpannableString (android.text.SpannableString)60 DhcpPacket (android.net.dhcp.DhcpPacket)52 Rational (android.util.Rational)50 File (java.io.File)47 RouteInfo (android.net.RouteInfo)45 NetworkRequest (android.net.NetworkRequest)44 ParcelUuid (android.os.ParcelUuid)43 MenuItem (android.view.MenuItem)42 BitwiseInputStream (com.android.internal.util.BitwiseInputStream)42 BitwiseOutputStream (com.android.internal.util.BitwiseOutputStream)42 CaptureRequest (android.hardware.camera2.CaptureRequest)40 IpPrefix (android.net.IpPrefix)40