diff --git a/engine/src/flutter/shell/platform/android/platform_view_android.cc b/engine/src/flutter/shell/platform/android/platform_view_android.cc index 3e5c91c0f69..42403c1f0b5 100644 --- a/engine/src/flutter/shell/platform/android/platform_view_android.cc +++ b/engine/src/flutter/shell/platform/android/platform_view_android.cc @@ -430,7 +430,8 @@ base::android::ScopedJavaLocalRef PlatformViewAndroid::GetBitmap( jobject pixels_ref = nullptr; SkISize frame_size; blink::Threads::Gpu()->PostTask([this, &latch, &pixels_ref, &frame_size]() { - GetBitmapGpuTask(&latch, &pixels_ref, &frame_size); + GetBitmapGpuTask(&pixels_ref, &frame_size); + latch.Signal(); }); latch.Wait(); @@ -471,8 +472,7 @@ base::android::ScopedJavaLocalRef PlatformViewAndroid::GetBitmap( return base::android::ScopedJavaLocalRef(env, bitmap); } -void PlatformViewAndroid::GetBitmapGpuTask(ftl::AutoResetWaitableEvent* latch, - jobject* pixels_out, +void PlatformViewAndroid::GetBitmapGpuTask(jobject* pixels_out, SkISize* size_out) { flow::LayerTree* layer_tree = rasterizer_->GetLastLayerTree(); if (layer_tree == nullptr) @@ -519,8 +519,6 @@ void PlatformViewAndroid::GetBitmapGpuTask(ftl::AutoResetWaitableEvent* latch, *size_out = frame_size; base::android::DetachFromVM(); - - latch->Signal(); } jstring GetObservatoryUri(JNIEnv* env, jclass clazz) { diff --git a/engine/src/flutter/shell/platform/android/platform_view_android.h b/engine/src/flutter/shell/platform/android/platform_view_android.h index d72703268b6..e7aa202d801 100644 --- a/engine/src/flutter/shell/platform/android/platform_view_android.h +++ b/engine/src/flutter/shell/platform/android/platform_view_android.h @@ -114,8 +114,7 @@ class PlatformViewAndroid : public PlatformView { void ReleaseSurface(); - void GetBitmapGpuTask(ftl::AutoResetWaitableEvent* latch, - jobject* pixels_out, + void GetBitmapGpuTask(jobject* pixels_out, SkISize* size_out); FTL_DISALLOW_COPY_AND_ASSIGN(PlatformViewAndroid);