Class ShadowNativeImageReader

java.lang.Object
org.robolectric.shadows.ShadowNativeImageReader

@Implements(value=android.media.ImageReader.class, minSdk=29, looseSignatures=true, isInAndroidSdk=false, shadowPicker=Picker.class, callNativeMethodsByDefault=true) public class ShadowNativeImageReader extends Object
Shadow for ImageReader that is backed by native code
  • Constructor Details

    • ShadowNativeImageReader

      public ShadowNativeImageReader()
  • Method Details

    • __staticInitializer__

      @Implementation(minSdk=35) protected static void __staticInitializer__()
      The ImageReader static initializer invokes its own native methods in static initializer. This has to be deferred starting in Android V.
    • nativeInit

      @Implementation(maxSdk=32) protected void nativeInit(Object weakSelf, int w, int h, int fmt, int maxImgs, long consumerUsage)
    • nativeInit

      @Implementation(minSdk=33, maxSdk=34) protected void nativeInit(Object weakSelf, int w, int h, int maxImgs, long consumerUsage, int hardwareBufferFormat, int dataSpace)
    • nativeClose

      @Implementation(maxSdk=34) protected void nativeClose()
    • nativeReleaseImage

      @Implementation(maxSdk=34) protected void nativeReleaseImage(Image i)
    • nativeGetSurface

      @Implementation(maxSdk=34) protected Surface nativeGetSurface()
    • nativeDetachImage

      @Implementation(maxSdk=32) protected int nativeDetachImage(Image i)
    • nativeDiscardFreeBuffers

      @Implementation(maxSdk=34) protected void nativeDiscardFreeBuffers()
    • nativeImageSetup

      @Implementation(maxSdk=32) protected int nativeImageSetup(Image i)
      Returns:
      A return code ACQUIRE_*
    • nativeImageSetup

      @Implementation(minSdk=33, maxSdk=33) protected int nativeImageSetup(Image i, boolean legacyValidateImageFormat)
    • nativeImageSetup

      @Implementation(minSdk=34, maxSdk=34) protected Object nativeImageSetup(Object i)
    • nativeClassInit

      @Implementation(maxSdk=34) protected static void nativeClassInit()
      We use a class initializer to allow the native code to cache some field offsets.