Merge changes Ia42a37c0,I644bc828

* changes:
  Make libandroid_runtime build on mac
  Make HWUI build for macOs
This commit is contained in:
Jerome Gaillard
2020-02-10 11:56:33 +00:00
committed by Android (Google) Code Review
3 changed files with 8 additions and 2 deletions

View File

@@ -360,7 +360,6 @@ cc_library_static {
"android_view_RenderNode.cpp",
"android_util_PathParser.cpp",
"android/graphics/AnimatedImageDrawable.cpp",
"android/graphics/Bitmap.cpp",
"android/graphics/BitmapFactory.cpp",
"android/graphics/ByteBufferStreamAdaptor.cpp",
@@ -436,6 +435,7 @@ cc_library_static {
"android_view_TextureLayer.cpp",
"android_view_ThreadedRenderer.cpp",
"android/graphics/AnimatedImageDrawable.cpp",
"android/graphics/BitmapRegionDecoder.cpp",
"android/graphics/GIFMovie.cpp",
"android/graphics/Movie.cpp",

View File

@@ -171,7 +171,6 @@ cc_defaults {
"renderthread/RenderTask.cpp",
"renderthread/TimeLord.cpp",
"hwui/AnimatedImageDrawable.cpp",
"hwui/AnimatedImageThread.cpp",
"hwui/Bitmap.cpp",
"hwui/Canvas.cpp",
"hwui/ImageDecoder.cpp",
@@ -213,6 +212,7 @@ cc_defaults {
android: {
srcs: [
"hwui/AnimatedImageThread.cpp",
"pipeline/skia/ATraceMemoryDump.cpp",
"pipeline/skia/GLFunctorDrawable.cpp",
"pipeline/skia/LayerDrawable.cpp",

View File

@@ -15,7 +15,9 @@
*/
#include "AnimatedImageDrawable.h"
#ifdef __ANDROID__ // Layoutlib does not support AnimatedImageThread
#include "AnimatedImageThread.h"
#endif
#include "utils/TraceUtils.h"
@@ -160,8 +162,10 @@ void AnimatedImageDrawable::onDraw(SkCanvas* canvas) {
} else if (starting) {
// The image has animated, and now is being reset. Queue up the first
// frame, but keep showing the current frame until the first is ready.
#ifdef __ANDROID__ // Layoutlib does not support AnimatedImageThread
auto& thread = uirenderer::AnimatedImageThread::getInstance();
mNextSnapshot = thread.reset(sk_ref_sp(this));
#endif
}
bool finalFrame = false;
@@ -187,8 +191,10 @@ void AnimatedImageDrawable::onDraw(SkCanvas* canvas) {
}
if (mRunning && !mNextSnapshot.valid()) {
#ifdef __ANDROID__ // Layoutlib does not support AnimatedImageThread
auto& thread = uirenderer::AnimatedImageThread::getInstance();
mNextSnapshot = thread.decodeNextFrame(sk_ref_sp(this));
#endif
}
if (!drawDirectly) {