From 65ce82ee56e89db983c7e0d04f2a1e0f301ecf1f Mon Sep 17 00:00:00 2001 From: John Reck Date: Fri, 4 Feb 2022 16:01:09 -0500 Subject: [PATCH] Adjust where TransactionCommittedListener lives android.view.TransactionCommittedListener sounds generic & broad, but this is really very specific to a single callback in SurfaceControl. So move the listener there. Test: make Bug: 217776226 Change-Id: Ib51a525c5b5ca5fd5c08b667ade6742774047131 --- core/api/current.txt | 10 +++---- core/java/android/view/SurfaceControl.java | 11 +++++++ .../view/TransactionCommittedListener.java | 30 ------------------- core/jni/android_view_SurfaceControl.cpp | 4 +-- .../android/server/wm/TransitionTests.java | 5 ++-- 5 files changed, 20 insertions(+), 40 deletions(-) delete mode 100644 core/java/android/view/TransactionCommittedListener.java diff --git a/core/api/current.txt b/core/api/current.txt index 40f589d6f1690..ded673dd74f07 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -49216,7 +49216,7 @@ package android.view { public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable { ctor public SurfaceControl.Transaction(); - method @NonNull public android.view.SurfaceControl.Transaction addTransactionCommittedListener(@NonNull java.util.concurrent.Executor, @NonNull android.view.TransactionCommittedListener); + method @NonNull public android.view.SurfaceControl.Transaction addTransactionCommittedListener(@NonNull java.util.concurrent.Executor, @NonNull android.view.SurfaceControl.TransactionCommittedListener); method public void apply(); method public void close(); method public int describeContents(); @@ -49240,6 +49240,10 @@ package android.view { field @NonNull public static final android.os.Parcelable.Creator CREATOR; } + public static interface SurfaceControl.TransactionCommittedListener { + method public void onTransactionCommitted(); + } + public class SurfaceControlViewHost { ctor public SurfaceControlViewHost(@NonNull android.content.Context, @NonNull android.view.Display, @Nullable android.os.IBinder); method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage getSurfacePackage(); @@ -49352,10 +49356,6 @@ package android.view { field public static final int TO_RIGHT = 8; // 0x8 } - public interface TransactionCommittedListener { - method public void onTransactionCommitted(); - } - public final class VelocityTracker { method public void addMovement(android.view.MotionEvent); method public void clear(); diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index 904d7c82959b7..3c414921c9a0f 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -2693,6 +2693,17 @@ public final class SurfaceControl implements Parcelable { return nativeGetGPUContextPriority(); } + /** + * Interface to handle request to + * {@link SurfaceControl.Transaction#addTransactionCommittedListener(Executor, TransactionCommittedListener)} + */ + public interface TransactionCommittedListener { + /** + * Invoked when the transaction has been committed in SurfaceFlinger. + */ + void onTransactionCommitted(); + } + /** * An atomic set of changes to a set of SurfaceControl. */ diff --git a/core/java/android/view/TransactionCommittedListener.java b/core/java/android/view/TransactionCommittedListener.java deleted file mode 100644 index 6abded23a2e7f..0000000000000 --- a/core/java/android/view/TransactionCommittedListener.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2021 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; - -import java.util.concurrent.Executor; - -/** - * Interface to handle request to - * {@link SurfaceControl.Transaction#addTransactionCommittedListener(Executor, TransactionCommittedListener)} - */ -public interface TransactionCommittedListener { - /** - * Invoked when the transaction has been committed in SurfaceFlinger. - */ - void onTransactionCommitted(); -} diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp index a8cf2536341ba..56392f780486f 100644 --- a/core/jni/android_view_SurfaceControl.cpp +++ b/core/jni/android_view_SurfaceControl.cpp @@ -2137,7 +2137,7 @@ static const JNINativeMethod sSurfaceControlMethods[] = { (void*)nativeGetLayerId }, {"nativeSetDropInputMode", "(JJI)V", (void*)nativeSetDropInputMode }, - {"nativeAddTransactionCommittedListener", "(JLandroid/view/TransactionCommittedListener;)V", + {"nativeAddTransactionCommittedListener", "(JLandroid/view/SurfaceControl$TransactionCommittedListener;)V", (void*) nativeAddTransactionCommittedListener }, {"nativeSanitize", "(J)V", (void*) nativeSanitize } @@ -2360,7 +2360,7 @@ int register_android_view_SurfaceControl(JNIEnv* env) "([Landroid/view/SurfaceControl$JankData;)V"); jclass transactionCommittedListenerClazz = - FindClassOrDie(env, "android/view/TransactionCommittedListener"); + FindClassOrDie(env, "android/view/SurfaceControl$TransactionCommittedListener"); gTransactionCommittedListenerClassInfo.clazz = MakeGlobalRefOrDie(env, transactionCommittedListenerClazz); gTransactionCommittedListenerClassInfo.onTransactionCommitted = diff --git a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java index fd523f0585c78..2d7a3c3cc58c3 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java @@ -49,7 +49,6 @@ import android.platform.test.annotations.Presubmit; import android.util.ArrayMap; import android.util.ArraySet; import android.view.SurfaceControl; -import android.view.TransactionCommittedListener; import android.window.IDisplayAreaOrganizer; import android.window.ITaskOrganizer; import android.window.ITransitionPlayer; @@ -533,8 +532,8 @@ public class TransitionTests extends WindowTestsBase { assertTrue(asyncRotationController.isTargetToken(statusBar.mToken)); final SurfaceControl.Transaction startTransaction = mock(SurfaceControl.Transaction.class); - final ArgumentCaptor listenerCaptor = - ArgumentCaptor.forClass(TransactionCommittedListener.class); + final ArgumentCaptor listenerCaptor = + ArgumentCaptor.forClass(SurfaceControl.TransactionCommittedListener.class); player.onTransactionReady(startTransaction); verify(startTransaction).addTransactionCommittedListener(any(), listenerCaptor.capture());