diff --git a/core/jni/android_view_CompositionSamplingListener.cpp b/core/jni/android_view_CompositionSamplingListener.cpp index 283ba0d057c5..7141e6e14176 100644 --- a/core/jni/android_view_CompositionSamplingListener.cpp +++ b/core/jni/android_view_CompositionSamplingListener.cpp @@ -28,6 +28,7 @@ #include #include +#include #include namespace android { @@ -83,28 +84,22 @@ void nativeRegister(JNIEnv* env, jclass clazz, jlong ptr, jobject stopLayerToken sp listener = reinterpret_cast(ptr); sp stopLayerHandle = ibinderForJavaObject(env, stopLayerTokenObj); - // TODO: Use SurfaceComposerClient once it has addRegionSamplingListener. - sp composer; - if (getService(String16("SurfaceFlinger"), &composer) != NO_ERROR) { - jniThrowRuntimeException(env, "Couldn't retrieve SurfaceFlinger"); - return; + if (SurfaceComposerClient::addRegionSamplingListener( + Rect(left, top, right, bottom), stopLayerHandle, listener) != OK) { + constexpr auto error_msg = "Couldn't addRegionSamplingListener"; + ALOGE(error_msg); + jniThrowRuntimeException(env, error_msg); } - - composer->addRegionSamplingListener( - Rect(left, top, right, bottom), stopLayerHandle, listener); } void nativeUnregister(JNIEnv* env, jclass clazz, jlong ptr) { sp listener = reinterpret_cast(ptr); - // TODO: Use SurfaceComposerClient once it has addRegionSamplingListener. - sp composer; - if (getService(String16("SurfaceFlinger"), &composer) != NO_ERROR) { - jniThrowRuntimeException(env, "Couldn't retrieve SurfaceFlinger"); - return; + if (SurfaceComposerClient::removeRegionSamplingListener(listener) != OK) { + constexpr auto error_msg = "Couldn't removeRegionSamplingListener"; + ALOGE(error_msg); + jniThrowRuntimeException(env, error_msg); } - - composer->removeRegionSamplingListener(listener); } const JNINativeMethod gMethods[] = { diff --git a/core/tests/coretests/AndroidManifest.xml b/core/tests/coretests/AndroidManifest.xml index 1764249de662..37913056fe8d 100644 --- a/core/tests/coretests/AndroidManifest.xml +++ b/core/tests/coretests/AndroidManifest.xml @@ -123,6 +123,9 @@ + + +