Loading core/java/android/view/Surface.java +35 −38 Original line number Diff line number Diff line Loading @@ -32,6 +32,19 @@ import dalvik.system.CloseGuard; public class Surface implements Parcelable { private static final String TAG = "Surface"; private native int nativeCreateFromSurfaceTexture(SurfaceTexture surfaceTexture) throws OutOfResourcesException; private native Canvas nativeLockCanvas(int nativeObject, Rect dirty); private native void nativeUnlockCanvasAndPost(int nativeObject, Canvas canvas); private static native void nativeRelease(int nativeObject); private static native void nativeDestroy(int nativeObject); private static native boolean nativeIsValid(int nativeObject); private static native boolean nativeIsConsumerRunningBehind(int nativeObject); private static native int nativeCopyFrom(int nativeObject, int surfaceControlNativeObject); private static native int nativeReadFromParcel(int nativeObject, Parcel source); private static native void nativeWriteToParcel(int nativeObject, Parcel dest); public static final Parcelable.Creator<Surface> CREATOR = new Parcelable.Creator<Surface>() { public Surface createFromParcel(Parcel source) { Loading @@ -44,33 +57,11 @@ public class Surface implements Parcelable { return null; } } public Surface[] newArray(int size) { return new Surface[size]; } }; /** * Rotation constant: 0 degree rotation (natural orientation) */ public static final int ROTATION_0 = 0; /** * Rotation constant: 90 degree rotation. */ public static final int ROTATION_90 = 1; /** * Rotation constant: 180 degree rotation. */ public static final int ROTATION_180 = 2; /** * Rotation constant: 270 degree rotation. */ public static final int ROTATION_270 = 3; private final CloseGuard mCloseGuard = CloseGuard.get(); private String mName; Loading @@ -94,6 +85,28 @@ public class Surface implements Parcelable { private Matrix mCompatibleMatrix; /** * Rotation constant: 0 degree rotation (natural orientation) */ public static final int ROTATION_0 = 0; /** * Rotation constant: 90 degree rotation. */ public static final int ROTATION_90 = 1; /** * Rotation constant: 180 degree rotation. */ public static final int ROTATION_180 = 2; /** * Rotation constant: 270 degree rotation. */ public static final int ROTATION_270 = 3; /** * Create an empty surface, which will later be filled in by readFromParcel(). * @hide Loading Loading @@ -436,20 +449,4 @@ public class Surface implements Parcelable { if (mNativeObject == 0) throw new NullPointerException( "mNativeObject is null. Have you called release() already?"); } private native int nativeCreateFromSurfaceTexture(SurfaceTexture surfaceTexture) throws OutOfResourcesException; private native void nativeRelease(int nativeObject); private native void nativeDestroy(int nativeObject); private native boolean nativeIsValid(int nativeObject); private native boolean nativeIsConsumerRunningBehind(int nativeObject); private native Canvas nativeLockCanvas(int nativeObject, Rect dirty); private native void nativeUnlockCanvasAndPost(int nativeObject, Canvas canvas); private native int nativeCopyFrom(int nativeObject, int surfaceControlNativeObject); private native int nativeReadFromParcel(int nativeObject, Parcel source); private native void nativeWriteToParcel(int nativeObject, Parcel dest); } core/java/android/view/SurfaceControl.java +40 −40 Original line number Diff line number Diff line Loading @@ -30,6 +30,46 @@ import android.util.Log; */ public class SurfaceControl { private static final String TAG = "SurfaceControl"; private static native int nativeCreate(SurfaceSession session, String name, int w, int h, int format, int flags) throws OutOfResourcesException; private static native void nativeRelease(int nativeObject); private static native void nativeDestroy(int nativeObject); private static native Bitmap nativeScreenshot(IBinder displayToken, int width, int height, int minLayer, int maxLayer, boolean allLayers); private static native void nativeOpenTransaction(); private static native void nativeCloseTransaction(); private static native void nativeSetAnimationTransaction(); private static native void nativeSetLayer(int nativeObject, int zorder); private static native void nativeSetPosition(int nativeObject, float x, float y); private static native void nativeSetSize(int nativeObject, int w, int h); private static native void nativeSetTransparentRegionHint(int nativeObject, Region region); private static native void nativeSetAlpha(int nativeObject, float alpha); private static native void nativeSetMatrix(int nativeObject, float dsdx, float dtdx, float dsdy, float dtdy); private static native void nativeSetFlags(int nativeObject, int flags, int mask); private static native void nativeSetWindowCrop(int nativeObject, int l, int t, int r, int b); private static native void nativeSetLayerStack(int nativeObject, int layerStack); private static native IBinder nativeGetBuiltInDisplay(int physicalDisplayId); private static native IBinder nativeCreateDisplay(String name, boolean secure); private static native void nativeSetDisplaySurface( IBinder displayToken, int nativeSurfaceObject); private static native void nativeSetDisplayLayerStack( IBinder displayToken, int layerStack); private static native void nativeSetDisplayProjection( IBinder displayToken, int orientation, int l, int t, int r, int b, int L, int T, int R, int B); private static native boolean nativeGetDisplayInfo( IBinder displayToken, SurfaceControl.PhysicalDisplayInfo outInfo); private static native void nativeBlankDisplay(IBinder displayToken); private static native void nativeUnblankDisplay(IBinder displayToken); private final CloseGuard mCloseGuard = CloseGuard.get(); private String mName; int mNativeObject; // package visibility only for Surface.java access Loading Loading @@ -532,44 +572,4 @@ public class SurfaceControl { throw new UnsupportedOperationException("Device is headless"); } } private native int nativeCreate(SurfaceSession session, String name, int w, int h, int format, int flags) throws OutOfResourcesException; private native void nativeRelease(int nativeObject); private native void nativeDestroy(int nativeObject); private static native Bitmap nativeScreenshot(IBinder displayToken, int width, int height, int minLayer, int maxLayer, boolean allLayers); private static native void nativeOpenTransaction(); private static native void nativeCloseTransaction(); private static native void nativeSetAnimationTransaction(); private native void nativeSetLayer(int nativeObject, int zorder); private native void nativeSetPosition(int nativeObject, float x, float y); private native void nativeSetSize(int nativeObject, int w, int h); private native void nativeSetTransparentRegionHint(int nativeObject, Region region); private native void nativeSetAlpha(int nativeObject, float alpha); private native void nativeSetMatrix(int nativeObject, float dsdx, float dtdx, float dsdy, float dtdy); private native void nativeSetFlags(int nativeObject, int flags, int mask); private native void nativeSetWindowCrop(int nativeObject, int l, int t, int r, int b); private native void nativeSetLayerStack(int nativeObject, int layerStack); private static native IBinder nativeGetBuiltInDisplay(int physicalDisplayId); private static native IBinder nativeCreateDisplay(String name, boolean secure); private static native void nativeSetDisplaySurface( IBinder displayToken, int nativeSurfaceObject); private static native void nativeSetDisplayLayerStack( IBinder displayToken, int layerStack); private static native void nativeSetDisplayProjection( IBinder displayToken, int orientation, int l, int t, int r, int b, int L, int T, int R, int B); private static native boolean nativeGetDisplayInfo( IBinder displayToken, SurfaceControl.PhysicalDisplayInfo outInfo); private static native void nativeBlankDisplay(IBinder displayToken); private static native void nativeUnblankDisplay(IBinder displayToken); } core/jni/android_media_RemoteDisplay.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ public: uint32_t width, uint32_t height, uint32_t flags) { JNIEnv* env = AndroidRuntime::getJNIEnv(); jobject surfaceObj = android_view_Surface_createFromISurfaceTexture(env, bufferProducer); jobject surfaceObj = android_view_Surface_createFromIGraphicBufferProducer(env, bufferProducer); if (surfaceObj == NULL) { ALOGE("Could not create Surface from surface texture %p provided by media server.", bufferProducer.get()); Loading core/jni/android_view_Surface.cpp +14 −14 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ sp<Surface> android_view_Surface_getSurface(JNIEnv* env, jobject surfaceObj) { env->GetIntField(surfaceObj, gSurfaceClassInfo.mNativeObject)); } jobject android_view_Surface_createFromISurfaceTexture(JNIEnv* env, jobject android_view_Surface_createFromIGraphicBufferProducer(JNIEnv* env, const sp<IGraphicBufferProducer>& bufferProducer) { if (bufferProducer == NULL) { return NULL; Loading Loading @@ -131,22 +131,22 @@ static jint nativeCreateFromSurfaceTexture(JNIEnv* env, jobject surfaceObj, return int(surface.get()); } static void nativeRelease(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeRelease(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); sur->decStrong(surfaceObj); sur->decStrong(clazz); } static void nativeDestroy(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeDestroy(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); sur->decStrong(surfaceObj); sur->decStrong(clazz); } static jboolean nativeIsValid(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static jboolean nativeIsValid(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); return Surface::isValid(sur) ? JNI_TRUE : JNI_FALSE; } static jboolean nativeIsConsumerRunningBehind(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static jboolean nativeIsConsumerRunningBehind(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); if (!Surface::isValid(sur)) { doThrowIAE(env); Loading Loading @@ -284,7 +284,7 @@ static void nativeUnlockCanvasAndPost(JNIEnv* env, jobject surfaceObj, jint nati // ---------------------------------------------------------------------------- static jint nativeCopyFrom(JNIEnv* env, jobject surfaceObj, static jint nativeCopyFrom(JNIEnv* env, jclass clazz, jint nativeObject, jint surfaceControlNativeObj) { /* * This is used by the WindowManagerService just after constructing Loading @@ -295,18 +295,18 @@ static jint nativeCopyFrom(JNIEnv* env, jobject surfaceObj, sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(surfaceControlNativeObj)); sp<Surface> other(ctrl->getSurface()); if (other != NULL) { other->incStrong(surfaceObj); other->incStrong(clazz); } sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); if (sur != NULL) { sur->decStrong(surfaceObj); sur->decStrong(clazz); } return int(other.get()); } static jint nativeReadFromParcel(JNIEnv* env, jobject surfaceObj, static jint nativeReadFromParcel(JNIEnv* env, jclass clazz, jint nativeObject, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { Loading @@ -315,16 +315,16 @@ static jint nativeReadFromParcel(JNIEnv* env, jobject surfaceObj, } sp<Surface> self(reinterpret_cast<Surface *>(nativeObject)); if (self != NULL) { self->decStrong(surfaceObj); self->decStrong(clazz); } sp<Surface> sur(Surface::readFromParcel(*parcel)); if (sur != NULL) { sur->incStrong(surfaceObj); sur->incStrong(clazz); } return int(sur.get()); } static void nativeWriteToParcel(JNIEnv* env, jobject surfaceObj, static void nativeWriteToParcel(JNIEnv* env, jclass clazz, jint nativeObject, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { Loading core/jni/android_view_SurfaceControl.cpp +15 −15 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ private: // ---------------------------------------------------------------------------- static jint nativeCreate(JNIEnv* env, jobject surfaceObj, jobject sessionObj, static jint nativeCreate(JNIEnv* env, jclass clazz, jobject sessionObj, jstring nameStr, jint w, jint h, jint format, jint flags) { ScopedUtfChars name(env, nameStr); sp<SurfaceComposerClient> client(android_view_SurfaceSession_getClient(env, sessionObj)); Loading @@ -130,19 +130,19 @@ static jint nativeCreate(JNIEnv* env, jobject surfaceObj, jobject sessionObj, jniThrowException(env, OutOfResourcesException, NULL); return 0; } surface->incStrong(surfaceObj); surface->incStrong(clazz); return int(surface.get()); } static void nativeRelease(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeRelease(JNIEnv* env, jclass clazz, jint nativeObject) { sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(nativeObject)); ctrl->decStrong(surfaceObj); ctrl->decStrong(clazz); } static void nativeDestroy(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeDestroy(JNIEnv* env, jclass clazz, jint nativeObject) { sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(nativeObject)); ctrl->clear(); ctrl->decStrong(surfaceObj); ctrl->decStrong(clazz); } static inline SkBitmap::Config convertPixelFormat(PixelFormat format) { Loading Loading @@ -210,7 +210,7 @@ static void nativeSetAnimationTransaction(JNIEnv* env, jclass clazz) { SurfaceComposerClient::setAnimationTransaction(); } static void nativeSetLayer(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint zorder) { static void nativeSetLayer(JNIEnv* env, jclass clazz, jint nativeObject, jint zorder) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setLayer(zorder); if (err < 0 && err != NO_INIT) { Loading @@ -218,7 +218,7 @@ static void nativeSetLayer(JNIEnv* env, jobject surfaceObj, jint nativeObject, j } } static void nativeSetPosition(JNIEnv* env, jobject surfaceObj, jint nativeObject, jfloat x, jfloat y) { static void nativeSetPosition(JNIEnv* env, jclass clazz, jint nativeObject, jfloat x, jfloat y) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setPosition(x, y); if (err < 0 && err != NO_INIT) { Loading @@ -226,7 +226,7 @@ static void nativeSetPosition(JNIEnv* env, jobject surfaceObj, jint nativeObject } } static void nativeSetSize(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint w, jint h) { static void nativeSetSize(JNIEnv* env, jclass clazz, jint nativeObject, jint w, jint h) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setSize(w, h); if (err < 0 && err != NO_INIT) { Loading @@ -234,7 +234,7 @@ static void nativeSetSize(JNIEnv* env, jobject surfaceObj, jint nativeObject, ji } } static void nativeSetFlags(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint flags, jint mask) { static void nativeSetFlags(JNIEnv* env, jclass clazz, jint nativeObject, jint flags, jint mask) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setFlags(flags, mask); if (err < 0 && err != NO_INIT) { Loading @@ -242,7 +242,7 @@ static void nativeSetFlags(JNIEnv* env, jobject surfaceObj, jint nativeObject, j } } static void nativeSetTransparentRegionHint(JNIEnv* env, jobject surfaceObj, jint nativeObject, jobject regionObj) { static void nativeSetTransparentRegionHint(JNIEnv* env, jclass clazz, jint nativeObject, jobject regionObj) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); SkRegion* region = android_graphics_Region_getSkRegion(env, regionObj); if (!region) { Loading @@ -267,7 +267,7 @@ static void nativeSetTransparentRegionHint(JNIEnv* env, jobject surfaceObj, jint } } static void nativeSetAlpha(JNIEnv* env, jobject surfaceObj, jint nativeObject, jfloat alpha) { static void nativeSetAlpha(JNIEnv* env, jclass clazz, jint nativeObject, jfloat alpha) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setAlpha(alpha); if (err < 0 && err != NO_INIT) { Loading @@ -275,7 +275,7 @@ static void nativeSetAlpha(JNIEnv* env, jobject surfaceObj, jint nativeObject, j } } static void nativeSetMatrix(JNIEnv* env, jobject surfaceObj, jint nativeObject, static void nativeSetMatrix(JNIEnv* env, jclass clazz, jint nativeObject, jfloat dsdx, jfloat dtdx, jfloat dsdy, jfloat dtdy) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setMatrix(dsdx, dtdx, dsdy, dtdy); Loading @@ -284,7 +284,7 @@ static void nativeSetMatrix(JNIEnv* env, jobject surfaceObj, jint nativeObject, } } static void nativeSetWindowCrop(JNIEnv* env, jobject surfaceObj, jint nativeObject, static void nativeSetWindowCrop(JNIEnv* env, jclass clazz, jint nativeObject, jint l, jint t, jint r, jint b) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); Rect crop(l, t, r, b); Loading @@ -294,7 +294,7 @@ static void nativeSetWindowCrop(JNIEnv* env, jobject surfaceObj, jint nativeObje } } static void nativeSetLayerStack(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint layerStack) { static void nativeSetLayerStack(JNIEnv* env, jclass clazz, jint nativeObject, jint layerStack) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setLayerStack(layerStack); if (err < 0 && err != NO_INIT) { Loading Loading
core/java/android/view/Surface.java +35 −38 Original line number Diff line number Diff line Loading @@ -32,6 +32,19 @@ import dalvik.system.CloseGuard; public class Surface implements Parcelable { private static final String TAG = "Surface"; private native int nativeCreateFromSurfaceTexture(SurfaceTexture surfaceTexture) throws OutOfResourcesException; private native Canvas nativeLockCanvas(int nativeObject, Rect dirty); private native void nativeUnlockCanvasAndPost(int nativeObject, Canvas canvas); private static native void nativeRelease(int nativeObject); private static native void nativeDestroy(int nativeObject); private static native boolean nativeIsValid(int nativeObject); private static native boolean nativeIsConsumerRunningBehind(int nativeObject); private static native int nativeCopyFrom(int nativeObject, int surfaceControlNativeObject); private static native int nativeReadFromParcel(int nativeObject, Parcel source); private static native void nativeWriteToParcel(int nativeObject, Parcel dest); public static final Parcelable.Creator<Surface> CREATOR = new Parcelable.Creator<Surface>() { public Surface createFromParcel(Parcel source) { Loading @@ -44,33 +57,11 @@ public class Surface implements Parcelable { return null; } } public Surface[] newArray(int size) { return new Surface[size]; } }; /** * Rotation constant: 0 degree rotation (natural orientation) */ public static final int ROTATION_0 = 0; /** * Rotation constant: 90 degree rotation. */ public static final int ROTATION_90 = 1; /** * Rotation constant: 180 degree rotation. */ public static final int ROTATION_180 = 2; /** * Rotation constant: 270 degree rotation. */ public static final int ROTATION_270 = 3; private final CloseGuard mCloseGuard = CloseGuard.get(); private String mName; Loading @@ -94,6 +85,28 @@ public class Surface implements Parcelable { private Matrix mCompatibleMatrix; /** * Rotation constant: 0 degree rotation (natural orientation) */ public static final int ROTATION_0 = 0; /** * Rotation constant: 90 degree rotation. */ public static final int ROTATION_90 = 1; /** * Rotation constant: 180 degree rotation. */ public static final int ROTATION_180 = 2; /** * Rotation constant: 270 degree rotation. */ public static final int ROTATION_270 = 3; /** * Create an empty surface, which will later be filled in by readFromParcel(). * @hide Loading Loading @@ -436,20 +449,4 @@ public class Surface implements Parcelable { if (mNativeObject == 0) throw new NullPointerException( "mNativeObject is null. Have you called release() already?"); } private native int nativeCreateFromSurfaceTexture(SurfaceTexture surfaceTexture) throws OutOfResourcesException; private native void nativeRelease(int nativeObject); private native void nativeDestroy(int nativeObject); private native boolean nativeIsValid(int nativeObject); private native boolean nativeIsConsumerRunningBehind(int nativeObject); private native Canvas nativeLockCanvas(int nativeObject, Rect dirty); private native void nativeUnlockCanvasAndPost(int nativeObject, Canvas canvas); private native int nativeCopyFrom(int nativeObject, int surfaceControlNativeObject); private native int nativeReadFromParcel(int nativeObject, Parcel source); private native void nativeWriteToParcel(int nativeObject, Parcel dest); }
core/java/android/view/SurfaceControl.java +40 −40 Original line number Diff line number Diff line Loading @@ -30,6 +30,46 @@ import android.util.Log; */ public class SurfaceControl { private static final String TAG = "SurfaceControl"; private static native int nativeCreate(SurfaceSession session, String name, int w, int h, int format, int flags) throws OutOfResourcesException; private static native void nativeRelease(int nativeObject); private static native void nativeDestroy(int nativeObject); private static native Bitmap nativeScreenshot(IBinder displayToken, int width, int height, int minLayer, int maxLayer, boolean allLayers); private static native void nativeOpenTransaction(); private static native void nativeCloseTransaction(); private static native void nativeSetAnimationTransaction(); private static native void nativeSetLayer(int nativeObject, int zorder); private static native void nativeSetPosition(int nativeObject, float x, float y); private static native void nativeSetSize(int nativeObject, int w, int h); private static native void nativeSetTransparentRegionHint(int nativeObject, Region region); private static native void nativeSetAlpha(int nativeObject, float alpha); private static native void nativeSetMatrix(int nativeObject, float dsdx, float dtdx, float dsdy, float dtdy); private static native void nativeSetFlags(int nativeObject, int flags, int mask); private static native void nativeSetWindowCrop(int nativeObject, int l, int t, int r, int b); private static native void nativeSetLayerStack(int nativeObject, int layerStack); private static native IBinder nativeGetBuiltInDisplay(int physicalDisplayId); private static native IBinder nativeCreateDisplay(String name, boolean secure); private static native void nativeSetDisplaySurface( IBinder displayToken, int nativeSurfaceObject); private static native void nativeSetDisplayLayerStack( IBinder displayToken, int layerStack); private static native void nativeSetDisplayProjection( IBinder displayToken, int orientation, int l, int t, int r, int b, int L, int T, int R, int B); private static native boolean nativeGetDisplayInfo( IBinder displayToken, SurfaceControl.PhysicalDisplayInfo outInfo); private static native void nativeBlankDisplay(IBinder displayToken); private static native void nativeUnblankDisplay(IBinder displayToken); private final CloseGuard mCloseGuard = CloseGuard.get(); private String mName; int mNativeObject; // package visibility only for Surface.java access Loading Loading @@ -532,44 +572,4 @@ public class SurfaceControl { throw new UnsupportedOperationException("Device is headless"); } } private native int nativeCreate(SurfaceSession session, String name, int w, int h, int format, int flags) throws OutOfResourcesException; private native void nativeRelease(int nativeObject); private native void nativeDestroy(int nativeObject); private static native Bitmap nativeScreenshot(IBinder displayToken, int width, int height, int minLayer, int maxLayer, boolean allLayers); private static native void nativeOpenTransaction(); private static native void nativeCloseTransaction(); private static native void nativeSetAnimationTransaction(); private native void nativeSetLayer(int nativeObject, int zorder); private native void nativeSetPosition(int nativeObject, float x, float y); private native void nativeSetSize(int nativeObject, int w, int h); private native void nativeSetTransparentRegionHint(int nativeObject, Region region); private native void nativeSetAlpha(int nativeObject, float alpha); private native void nativeSetMatrix(int nativeObject, float dsdx, float dtdx, float dsdy, float dtdy); private native void nativeSetFlags(int nativeObject, int flags, int mask); private native void nativeSetWindowCrop(int nativeObject, int l, int t, int r, int b); private native void nativeSetLayerStack(int nativeObject, int layerStack); private static native IBinder nativeGetBuiltInDisplay(int physicalDisplayId); private static native IBinder nativeCreateDisplay(String name, boolean secure); private static native void nativeSetDisplaySurface( IBinder displayToken, int nativeSurfaceObject); private static native void nativeSetDisplayLayerStack( IBinder displayToken, int layerStack); private static native void nativeSetDisplayProjection( IBinder displayToken, int orientation, int l, int t, int r, int b, int L, int T, int R, int B); private static native boolean nativeGetDisplayInfo( IBinder displayToken, SurfaceControl.PhysicalDisplayInfo outInfo); private static native void nativeBlankDisplay(IBinder displayToken); private static native void nativeUnblankDisplay(IBinder displayToken); }
core/jni/android_media_RemoteDisplay.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ public: uint32_t width, uint32_t height, uint32_t flags) { JNIEnv* env = AndroidRuntime::getJNIEnv(); jobject surfaceObj = android_view_Surface_createFromISurfaceTexture(env, bufferProducer); jobject surfaceObj = android_view_Surface_createFromIGraphicBufferProducer(env, bufferProducer); if (surfaceObj == NULL) { ALOGE("Could not create Surface from surface texture %p provided by media server.", bufferProducer.get()); Loading
core/jni/android_view_Surface.cpp +14 −14 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ sp<Surface> android_view_Surface_getSurface(JNIEnv* env, jobject surfaceObj) { env->GetIntField(surfaceObj, gSurfaceClassInfo.mNativeObject)); } jobject android_view_Surface_createFromISurfaceTexture(JNIEnv* env, jobject android_view_Surface_createFromIGraphicBufferProducer(JNIEnv* env, const sp<IGraphicBufferProducer>& bufferProducer) { if (bufferProducer == NULL) { return NULL; Loading Loading @@ -131,22 +131,22 @@ static jint nativeCreateFromSurfaceTexture(JNIEnv* env, jobject surfaceObj, return int(surface.get()); } static void nativeRelease(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeRelease(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); sur->decStrong(surfaceObj); sur->decStrong(clazz); } static void nativeDestroy(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeDestroy(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); sur->decStrong(surfaceObj); sur->decStrong(clazz); } static jboolean nativeIsValid(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static jboolean nativeIsValid(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); return Surface::isValid(sur) ? JNI_TRUE : JNI_FALSE; } static jboolean nativeIsConsumerRunningBehind(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static jboolean nativeIsConsumerRunningBehind(JNIEnv* env, jclass clazz, jint nativeObject) { sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); if (!Surface::isValid(sur)) { doThrowIAE(env); Loading Loading @@ -284,7 +284,7 @@ static void nativeUnlockCanvasAndPost(JNIEnv* env, jobject surfaceObj, jint nati // ---------------------------------------------------------------------------- static jint nativeCopyFrom(JNIEnv* env, jobject surfaceObj, static jint nativeCopyFrom(JNIEnv* env, jclass clazz, jint nativeObject, jint surfaceControlNativeObj) { /* * This is used by the WindowManagerService just after constructing Loading @@ -295,18 +295,18 @@ static jint nativeCopyFrom(JNIEnv* env, jobject surfaceObj, sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(surfaceControlNativeObj)); sp<Surface> other(ctrl->getSurface()); if (other != NULL) { other->incStrong(surfaceObj); other->incStrong(clazz); } sp<Surface> sur(reinterpret_cast<Surface *>(nativeObject)); if (sur != NULL) { sur->decStrong(surfaceObj); sur->decStrong(clazz); } return int(other.get()); } static jint nativeReadFromParcel(JNIEnv* env, jobject surfaceObj, static jint nativeReadFromParcel(JNIEnv* env, jclass clazz, jint nativeObject, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { Loading @@ -315,16 +315,16 @@ static jint nativeReadFromParcel(JNIEnv* env, jobject surfaceObj, } sp<Surface> self(reinterpret_cast<Surface *>(nativeObject)); if (self != NULL) { self->decStrong(surfaceObj); self->decStrong(clazz); } sp<Surface> sur(Surface::readFromParcel(*parcel)); if (sur != NULL) { sur->incStrong(surfaceObj); sur->incStrong(clazz); } return int(sur.get()); } static void nativeWriteToParcel(JNIEnv* env, jobject surfaceObj, static void nativeWriteToParcel(JNIEnv* env, jclass clazz, jint nativeObject, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { Loading
core/jni/android_view_SurfaceControl.cpp +15 −15 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ private: // ---------------------------------------------------------------------------- static jint nativeCreate(JNIEnv* env, jobject surfaceObj, jobject sessionObj, static jint nativeCreate(JNIEnv* env, jclass clazz, jobject sessionObj, jstring nameStr, jint w, jint h, jint format, jint flags) { ScopedUtfChars name(env, nameStr); sp<SurfaceComposerClient> client(android_view_SurfaceSession_getClient(env, sessionObj)); Loading @@ -130,19 +130,19 @@ static jint nativeCreate(JNIEnv* env, jobject surfaceObj, jobject sessionObj, jniThrowException(env, OutOfResourcesException, NULL); return 0; } surface->incStrong(surfaceObj); surface->incStrong(clazz); return int(surface.get()); } static void nativeRelease(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeRelease(JNIEnv* env, jclass clazz, jint nativeObject) { sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(nativeObject)); ctrl->decStrong(surfaceObj); ctrl->decStrong(clazz); } static void nativeDestroy(JNIEnv* env, jobject surfaceObj, jint nativeObject) { static void nativeDestroy(JNIEnv* env, jclass clazz, jint nativeObject) { sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(nativeObject)); ctrl->clear(); ctrl->decStrong(surfaceObj); ctrl->decStrong(clazz); } static inline SkBitmap::Config convertPixelFormat(PixelFormat format) { Loading Loading @@ -210,7 +210,7 @@ static void nativeSetAnimationTransaction(JNIEnv* env, jclass clazz) { SurfaceComposerClient::setAnimationTransaction(); } static void nativeSetLayer(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint zorder) { static void nativeSetLayer(JNIEnv* env, jclass clazz, jint nativeObject, jint zorder) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setLayer(zorder); if (err < 0 && err != NO_INIT) { Loading @@ -218,7 +218,7 @@ static void nativeSetLayer(JNIEnv* env, jobject surfaceObj, jint nativeObject, j } } static void nativeSetPosition(JNIEnv* env, jobject surfaceObj, jint nativeObject, jfloat x, jfloat y) { static void nativeSetPosition(JNIEnv* env, jclass clazz, jint nativeObject, jfloat x, jfloat y) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setPosition(x, y); if (err < 0 && err != NO_INIT) { Loading @@ -226,7 +226,7 @@ static void nativeSetPosition(JNIEnv* env, jobject surfaceObj, jint nativeObject } } static void nativeSetSize(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint w, jint h) { static void nativeSetSize(JNIEnv* env, jclass clazz, jint nativeObject, jint w, jint h) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setSize(w, h); if (err < 0 && err != NO_INIT) { Loading @@ -234,7 +234,7 @@ static void nativeSetSize(JNIEnv* env, jobject surfaceObj, jint nativeObject, ji } } static void nativeSetFlags(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint flags, jint mask) { static void nativeSetFlags(JNIEnv* env, jclass clazz, jint nativeObject, jint flags, jint mask) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setFlags(flags, mask); if (err < 0 && err != NO_INIT) { Loading @@ -242,7 +242,7 @@ static void nativeSetFlags(JNIEnv* env, jobject surfaceObj, jint nativeObject, j } } static void nativeSetTransparentRegionHint(JNIEnv* env, jobject surfaceObj, jint nativeObject, jobject regionObj) { static void nativeSetTransparentRegionHint(JNIEnv* env, jclass clazz, jint nativeObject, jobject regionObj) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); SkRegion* region = android_graphics_Region_getSkRegion(env, regionObj); if (!region) { Loading @@ -267,7 +267,7 @@ static void nativeSetTransparentRegionHint(JNIEnv* env, jobject surfaceObj, jint } } static void nativeSetAlpha(JNIEnv* env, jobject surfaceObj, jint nativeObject, jfloat alpha) { static void nativeSetAlpha(JNIEnv* env, jclass clazz, jint nativeObject, jfloat alpha) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setAlpha(alpha); if (err < 0 && err != NO_INIT) { Loading @@ -275,7 +275,7 @@ static void nativeSetAlpha(JNIEnv* env, jobject surfaceObj, jint nativeObject, j } } static void nativeSetMatrix(JNIEnv* env, jobject surfaceObj, jint nativeObject, static void nativeSetMatrix(JNIEnv* env, jclass clazz, jint nativeObject, jfloat dsdx, jfloat dtdx, jfloat dsdy, jfloat dtdy) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setMatrix(dsdx, dtdx, dsdy, dtdy); Loading @@ -284,7 +284,7 @@ static void nativeSetMatrix(JNIEnv* env, jobject surfaceObj, jint nativeObject, } } static void nativeSetWindowCrop(JNIEnv* env, jobject surfaceObj, jint nativeObject, static void nativeSetWindowCrop(JNIEnv* env, jclass clazz, jint nativeObject, jint l, jint t, jint r, jint b) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); Rect crop(l, t, r, b); Loading @@ -294,7 +294,7 @@ static void nativeSetWindowCrop(JNIEnv* env, jobject surfaceObj, jint nativeObje } } static void nativeSetLayerStack(JNIEnv* env, jobject surfaceObj, jint nativeObject, jint layerStack) { static void nativeSetLayerStack(JNIEnv* env, jclass clazz, jint nativeObject, jint layerStack) { SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); status_t err = ctrl->setLayerStack(layerStack); if (err < 0 && err != NO_INIT) { Loading