[skottie] Fix image loading in Viewer

With the switch to ImageAsset, I forgot to update the default/local
resource loader.

TBR=
Change-Id: I1ab898a896162718df04094a31648bf8e876d91b
Reviewed-on: https://skia-review.googlesource.com/c/161546
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/modules/skottie/src/Skottie.cpp b/modules/skottie/src/Skottie.cpp
index 598a7c7..792ca05 100644
--- a/modules/skottie/src/Skottie.cpp
+++ b/modules/skottie/src/Skottie.cpp
@@ -10,6 +10,7 @@
 #include "SkCanvas.h"
 #include "SkData.h"
 #include "SkFontMgr.h"
+#include "SkImage.h"
 #include "SkMakeUnique.h"
 #include "SkOSPath.h"
 #include "SkPaint.h"
@@ -398,7 +399,29 @@
             return SkData::MakeFromFileName(full_path.c_str());
         }
 
+        sk_sp<ImageAsset> loadImageAsset(const char resource_path[],
+                                         const char resource_name[]) const override {
+            auto data = this->load(resource_path, resource_name);
+
+            return data
+                ? sk_make_sp<StaticImageAsset>(SkImage::MakeFromEncoded(std::move(data)))
+                : nullptr;
+        }
+
     private:
+        class StaticImageAsset final : public ImageAsset {
+        public:
+            explicit StaticImageAsset(sk_sp<SkImage> image)
+                : fImage(std::move(image)) {}
+
+            bool isMultiFrame() override { return false; }
+
+            sk_sp<SkImage> getFrame(float) override { return fImage; }
+
+        private:
+            sk_sp<SkImage> fImage;
+        };
+
         const SkString fDir;
     };