Loading core/java/android/view/SurfaceControl.java +4 −0 Original line number Diff line number Diff line Loading @@ -594,6 +594,7 @@ public final class SurfaceControl implements Parcelable { private final Runnable mFreeNativeResources; private boolean mRemoved = false; private OnJankDataListener mListener; private OnJankDataListenerRegistration() { mNativeObject = 0; Loading @@ -604,6 +605,8 @@ public final class SurfaceControl implements Parcelable { mNativeObject = nativeCreateJankDataListenerWrapper(surface.mNativeObject, listener); mFreeNativeResources = (mNativeObject == 0) ? () -> {} : sRegistry.registerNativeAllocation(this, mNativeObject); // Make sure the listener doesn't get GCed as long as the registration is alive. mListener = listener; } /** Loading Loading @@ -643,6 +646,7 @@ public final class SurfaceControl implements Parcelable { if (!mRemoved) { removeAfter(0); } mListener = null; mFreeNativeResources.run(); } } Loading Loading
core/java/android/view/SurfaceControl.java +4 −0 Original line number Diff line number Diff line Loading @@ -594,6 +594,7 @@ public final class SurfaceControl implements Parcelable { private final Runnable mFreeNativeResources; private boolean mRemoved = false; private OnJankDataListener mListener; private OnJankDataListenerRegistration() { mNativeObject = 0; Loading @@ -604,6 +605,8 @@ public final class SurfaceControl implements Parcelable { mNativeObject = nativeCreateJankDataListenerWrapper(surface.mNativeObject, listener); mFreeNativeResources = (mNativeObject == 0) ? () -> {} : sRegistry.registerNativeAllocation(this, mNativeObject); // Make sure the listener doesn't get GCed as long as the registration is alive. mListener = listener; } /** Loading Loading @@ -643,6 +646,7 @@ public final class SurfaceControl implements Parcelable { if (!mRemoved) { removeAfter(0); } mListener = null; mFreeNativeResources.run(); } } Loading