Loading api/current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -49941,10 +49941,11 @@ package android.view { method @NonNull public android.view.SurfaceControl.Builder setParent(@Nullable android.view.SurfaceControl); } public static class SurfaceControl.Transaction implements java.io.Closeable { public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable { ctor public SurfaceControl.Transaction(); method public void apply(); method public void close(); method public int describeContents(); method @NonNull public android.view.SurfaceControl.Transaction merge(@NonNull android.view.SurfaceControl.Transaction); method @NonNull public android.view.SurfaceControl.Transaction reparent(@NonNull android.view.SurfaceControl, @Nullable android.view.SurfaceControl); method @NonNull public android.view.SurfaceControl.Transaction setAlpha(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0, to=1.0) float); Loading @@ -49952,6 +49953,8 @@ package android.view { method @NonNull public android.view.SurfaceControl.Transaction setGeometry(@NonNull android.view.SurfaceControl, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, int); method @NonNull public android.view.SurfaceControl.Transaction setLayer(@NonNull android.view.SurfaceControl, @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.view.SurfaceControl.Transaction setVisibility(@NonNull android.view.SurfaceControl, boolean); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl.Transaction> CREATOR; } public interface SurfaceHolder { core/java/android/view/SurfaceControl.java +43 −3 Original line number Diff line number Diff line Loading @@ -200,6 +200,8 @@ public final class SurfaceControl implements Parcelable { private static native boolean nativeGetDisplayBrightnessSupport(IBinder displayToken); private static native boolean nativeSetDisplayBrightness(IBinder displayToken, float brightness); private static native long nativeReadTransactionFromParcel(Parcel in); private static native void nativeWriteTransactionToParcel(long nativeObject, Parcel out); private final CloseGuard mCloseGuard = CloseGuard.get(); private String mName; Loading Loading @@ -2064,7 +2066,7 @@ public final class SurfaceControl implements Parcelable { /** * An atomic set of changes to a set of SurfaceControl. */ public static class Transaction implements Closeable { public static class Transaction implements Closeable, Parcelable { /** * @hide */ Loading @@ -2089,6 +2091,10 @@ public final class SurfaceControl implements Parcelable { = sRegistry.registerNativeAllocation(this, mNativeObject); } private Transaction(Parcel in) { readFromParcel(in); } /** * Apply the transaction, clearing it's state, and making it usable * as a new transaction. Loading Loading @@ -2686,5 +2692,39 @@ public final class SurfaceControl implements Parcelable { sc.release(); return this; } @Override public void writeToParcel(@NonNull Parcel dest, @WriteFlags int flags) { if (mNativeObject == 0) { dest.writeInt(0); } else { dest.writeInt(1); } nativeWriteTransactionToParcel(mNativeObject, dest); } private void readFromParcel(Parcel in) { mNativeObject = 0; if (in.readInt() != 0) { mNativeObject = nativeReadTransactionFromParcel(in); mFreeNativeResources = sRegistry.registerNativeAllocation(this, mNativeObject); } } @Override public int describeContents() { return 0; } public static final @NonNull Creator<Transaction> CREATOR = new Creator<Transaction>() { @Override public Transaction createFromParcel(Parcel in) { return new Transaction(in); } @Override public Transaction[] newArray(int size) { return new Transaction[size]; } }; } } core/java/android/view/Transaction.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.view.SurfaceControl; parcelable Transaction; core/jni/android_view_SurfaceControl.cpp +30 −0 Original line number Diff line number Diff line Loading @@ -1255,6 +1255,32 @@ static jboolean nativeSetDisplayBrightness(JNIEnv* env, jclass clazz, jobject di return error == OK ? JNI_TRUE : JNI_FALSE; } static void nativeWriteTransactionToParcel(JNIEnv* env, jclass clazz, jlong nativeObject, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { doThrowNPE(env); return; } SurfaceComposerClient::Transaction* const self = reinterpret_cast<SurfaceComposerClient::Transaction *>(nativeObject); if (self != nullptr) { self->writeToParcel(parcel); } } static jlong nativeReadTransactionFromParcel(JNIEnv* env, jclass clazz, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { doThrowNPE(env); return 0; } std::unique_ptr<SurfaceComposerClient::Transaction> transaction = SurfaceComposerClient::Transaction::createFromParcel(parcel); return reinterpret_cast<jlong>(transaction.release()); } // ---------------------------------------------------------------------------- static const JNINativeMethod sSurfaceControlMethods[] = { Loading Loading @@ -1409,6 +1435,10 @@ static const JNINativeMethod sSurfaceControlMethods[] = { (void*)nativeGetDisplayBrightnessSupport }, {"nativeSetDisplayBrightness", "(Landroid/os/IBinder;F)Z", (void*)nativeSetDisplayBrightness }, {"nativeReadTransactionFromParcel", "(Landroid/os/Parcel;)J", (void*)nativeReadTransactionFromParcel }, {"nativeWriteTransactionToParcel", "(JLandroid/os/Parcel;)V", (void*)nativeWriteTransactionToParcel }, }; int register_android_view_SurfaceControl(JNIEnv* env) Loading Loading
api/current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -49941,10 +49941,11 @@ package android.view { method @NonNull public android.view.SurfaceControl.Builder setParent(@Nullable android.view.SurfaceControl); } public static class SurfaceControl.Transaction implements java.io.Closeable { public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable { ctor public SurfaceControl.Transaction(); method public void apply(); method public void close(); method public int describeContents(); method @NonNull public android.view.SurfaceControl.Transaction merge(@NonNull android.view.SurfaceControl.Transaction); method @NonNull public android.view.SurfaceControl.Transaction reparent(@NonNull android.view.SurfaceControl, @Nullable android.view.SurfaceControl); method @NonNull public android.view.SurfaceControl.Transaction setAlpha(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0, to=1.0) float); Loading @@ -49952,6 +49953,8 @@ package android.view { method @NonNull public android.view.SurfaceControl.Transaction setGeometry(@NonNull android.view.SurfaceControl, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, int); method @NonNull public android.view.SurfaceControl.Transaction setLayer(@NonNull android.view.SurfaceControl, @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.view.SurfaceControl.Transaction setVisibility(@NonNull android.view.SurfaceControl, boolean); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl.Transaction> CREATOR; } public interface SurfaceHolder {
core/java/android/view/SurfaceControl.java +43 −3 Original line number Diff line number Diff line Loading @@ -200,6 +200,8 @@ public final class SurfaceControl implements Parcelable { private static native boolean nativeGetDisplayBrightnessSupport(IBinder displayToken); private static native boolean nativeSetDisplayBrightness(IBinder displayToken, float brightness); private static native long nativeReadTransactionFromParcel(Parcel in); private static native void nativeWriteTransactionToParcel(long nativeObject, Parcel out); private final CloseGuard mCloseGuard = CloseGuard.get(); private String mName; Loading Loading @@ -2064,7 +2066,7 @@ public final class SurfaceControl implements Parcelable { /** * An atomic set of changes to a set of SurfaceControl. */ public static class Transaction implements Closeable { public static class Transaction implements Closeable, Parcelable { /** * @hide */ Loading @@ -2089,6 +2091,10 @@ public final class SurfaceControl implements Parcelable { = sRegistry.registerNativeAllocation(this, mNativeObject); } private Transaction(Parcel in) { readFromParcel(in); } /** * Apply the transaction, clearing it's state, and making it usable * as a new transaction. Loading Loading @@ -2686,5 +2692,39 @@ public final class SurfaceControl implements Parcelable { sc.release(); return this; } @Override public void writeToParcel(@NonNull Parcel dest, @WriteFlags int flags) { if (mNativeObject == 0) { dest.writeInt(0); } else { dest.writeInt(1); } nativeWriteTransactionToParcel(mNativeObject, dest); } private void readFromParcel(Parcel in) { mNativeObject = 0; if (in.readInt() != 0) { mNativeObject = nativeReadTransactionFromParcel(in); mFreeNativeResources = sRegistry.registerNativeAllocation(this, mNativeObject); } } @Override public int describeContents() { return 0; } public static final @NonNull Creator<Transaction> CREATOR = new Creator<Transaction>() { @Override public Transaction createFromParcel(Parcel in) { return new Transaction(in); } @Override public Transaction[] newArray(int size) { return new Transaction[size]; } }; } }
core/java/android/view/Transaction.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.view.SurfaceControl; parcelable Transaction;
core/jni/android_view_SurfaceControl.cpp +30 −0 Original line number Diff line number Diff line Loading @@ -1255,6 +1255,32 @@ static jboolean nativeSetDisplayBrightness(JNIEnv* env, jclass clazz, jobject di return error == OK ? JNI_TRUE : JNI_FALSE; } static void nativeWriteTransactionToParcel(JNIEnv* env, jclass clazz, jlong nativeObject, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { doThrowNPE(env); return; } SurfaceComposerClient::Transaction* const self = reinterpret_cast<SurfaceComposerClient::Transaction *>(nativeObject); if (self != nullptr) { self->writeToParcel(parcel); } } static jlong nativeReadTransactionFromParcel(JNIEnv* env, jclass clazz, jobject parcelObj) { Parcel* parcel = parcelForJavaObject(env, parcelObj); if (parcel == NULL) { doThrowNPE(env); return 0; } std::unique_ptr<SurfaceComposerClient::Transaction> transaction = SurfaceComposerClient::Transaction::createFromParcel(parcel); return reinterpret_cast<jlong>(transaction.release()); } // ---------------------------------------------------------------------------- static const JNINativeMethod sSurfaceControlMethods[] = { Loading Loading @@ -1409,6 +1435,10 @@ static const JNINativeMethod sSurfaceControlMethods[] = { (void*)nativeGetDisplayBrightnessSupport }, {"nativeSetDisplayBrightness", "(Landroid/os/IBinder;F)Z", (void*)nativeSetDisplayBrightness }, {"nativeReadTransactionFromParcel", "(Landroid/os/Parcel;)J", (void*)nativeReadTransactionFromParcel }, {"nativeWriteTransactionToParcel", "(JLandroid/os/Parcel;)V", (void*)nativeWriteTransactionToParcel }, }; int register_android_view_SurfaceControl(JNIEnv* env) Loading