Remove DMSrcSinkAndroid.

This code involves Skia having knowledge of HWUI internals and
causes problems with various build systems.  It is also not
currently being used and is therefore expendable.

Change-Id: I7b6a37fa4c9afcefbc6a957b49e7735da872ff14
Merged-In: I7b6a37fa4c9afcefbc6a957b49e7735da872ff14
Reviewed-on: https://skia-review.googlesource.com/6597
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
(cherry picked from commit c65386ae55555819e321b77fd5a2b25dfcf94c3d)
diff --git a/dm/DM.cpp b/dm/DM.cpp
index bceaff7..2678b6b 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -10,7 +10,6 @@
 #include "CrashHandler.h"
 #include "DMJsonWriter.h"
 #include "DMSrcSink.h"
-#include "DMSrcSinkAndroid.h"
 #include "ProcStats.h"
 #include "Resources.h"
 #include "SkBBHFactory.h"
@@ -695,10 +694,6 @@
 
 #define SINK(t, sink, ...) if (config->getBackend().equals(t)) { return new sink(__VA_ARGS__); }
 
-#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
-    SINK("hwui",           HWUISink);
-#endif
-
     if (FLAGS_cpu) {
         SINK("565",  RasterSink, kRGB_565_SkColorType);
         SINK("8888", RasterSink, kN32_SkColorType);
@@ -737,10 +732,6 @@
         VIA("upright", ViaUpright, m, wrapped);
     }
 
-#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
-    VIA("androidsdk", ViaAndroidSDK, wrapped);
-#endif
-
 #undef VIA
     return nullptr;
 }
diff --git a/dm/DMSrcSinkAndroid.cpp b/dm/DMSrcSinkAndroid.cpp
deleted file mode 100644
index 3958e48..0000000
--- a/dm/DMSrcSinkAndroid.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2015 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "DMSrcSink.h"
-#include "DMSrcSinkAndroid.h"
-
-#include "SkAndroidSDKCanvas.h"
-#include "SkCanvas.h"
-#include "SkiaCanvasProxy.h"
-#include "SkStream.h"
-#include <utils/TestWindowContext.h>
-
-/* These functions are only compiled in the Android Framework. */
-
-namespace DM {
-
-Error HWUISink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString*) const {
-    android::uirenderer::TestWindowContext renderer;
-    renderer.initialize(src.size().width(), src.size().height());
-    SkCanvas* canvas = renderer.prepareToDraw();
-    Error err = src.draw(canvas);
-    if (!err.isEmpty()) {
-        return err;
-    }
-    renderer.finishDrawing();
-    renderer.fence();
-    renderer.capturePixels(dst);
-    return "";
-}
-
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-ViaAndroidSDK::ViaAndroidSDK(Sink* sink) : fSink(sink) { }
-
-Error ViaAndroidSDK::draw(const Src& src,
-                          SkBitmap* bitmap,
-                          SkWStream* stream,
-                          SkString* log) const {
-    struct ProxySrc : public Src {
-        const Src& fSrc;
-        ProxySrc(const Src& src)
-            : fSrc(src) {}
-
-        Error draw(SkCanvas* canvas) const override {
-            // Pass through HWUI's upper layers to get operational transforms
-            SkAutoTDelete<android::Canvas> ac (android::Canvas::create_canvas(canvas));
-            SkAutoTUnref<android::uirenderer::SkiaCanvasProxy> scProxy
-                (new android::uirenderer::SkiaCanvasProxy(ac));
-
-            // Pass through another proxy to get paint transforms
-            SkAndroidSDKCanvas fc;
-            fc.reset(scProxy);
-
-            fSrc.draw(&fc);
-
-            return "";
-        }
-        SkISize size() const override { return fSrc.size(); }
-        Name name() const override { sk_throw(); return ""; }
-    } proxy(src);
-
-    return fSink->draw(proxy, bitmap, stream, log);
-}
-
-}  // namespace DM
diff --git a/dm/DMSrcSinkAndroid.h b/dm/DMSrcSinkAndroid.h
deleted file mode 100644
index 2d7ad65..0000000
--- a/dm/DMSrcSinkAndroid.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2015 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef DMSrcSinkAndroid_DEFINED
-#define DMSrcSinkAndroid_DEFINED
-
-#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
-
-#include "DMSrcSink.h"
-
-namespace DM {
-
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-// Draws to the Android Framework's HWUI API.
-
-class HWUISink : public Sink {
-public:
-    HWUISink() { }
-
-    Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
-    bool serial() const override { return true; }
-    const char* fileExtension() const override { return "png"; }
-    SinkFlags flags() const override { return SinkFlags{ SinkFlags::kGPU, SinkFlags::kDirect }; }
-};
-
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-// Trims draw commands to only include those supported by the Android Framework's HWUI API.
-
-class ViaAndroidSDK : public Sink {
-public:
-    explicit ViaAndroidSDK(Sink*);
-
-    Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
-    bool serial() const override { return fSink->serial(); }
-    const char* fileExtension() const override { return fSink->fileExtension(); }
-    SinkFlags flags() const override {
-        SinkFlags flags = fSink->flags();
-        flags.approach = SinkFlags::kIndirect;
-        return flags;
-    }
-
-private:
-    SkAutoTDelete<Sink> fSink;
-};
-
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-}  // namespace DM
-
-#endif  // SK_BUILD_FOR_ANDROID_FRAMEWORK
-
-#endif  // DMSrcSinkAndroid_DEFINED
diff --git a/gyp/dm.gyp b/gyp/dm.gyp
index a8a7fd7..d5f71cf 100644
--- a/gyp/dm.gyp
+++ b/gyp/dm.gyp
@@ -16,10 +16,6 @@
           ['skia_android_framework', {
               'libraries': [
                   'skia_static.a',
-                  'hwui_static.a',
-              ],
-              'sources': [
-                '../dm/DMSrcSinkAndroid.cpp',
               ],
               'dependencies': [
                 'tools.gyp:android_utils',
diff --git a/public.bzl b/public.bzl
index 986bfd9..40bcfb8 100644
--- a/public.bzl
+++ b/public.bzl
@@ -412,7 +412,6 @@
         "tools/timer/*.h",
     ],
     exclude = [
-        "dm/DMSrcSinkAndroid.cpp",  # Android-only.
         "tests/FontMgrAndroidParserTest.cpp",  # Android-only.
         "tests/PathOpsSkpClipTest.cpp",  # Alternate main.
         "tests/skia_test.cpp",  # Old main.
@@ -426,8 +425,6 @@
 
 DM_SRCS_ANDROID = struct(
     include = [
-        # Depends on Android HWUI library that is not available in google3.
-        #"dm/DMSrcSinkAndroid.cpp",
         "tests/FontMgrAndroidParserTest.cpp",
     ],
 )
diff --git a/tools/flags/SkCommonFlagsConfig.cpp b/tools/flags/SkCommonFlagsConfig.cpp
index c82e8de..1e47230 100644
--- a/tools/flags/SkCommonFlagsConfig.cpp
+++ b/tools/flags/SkCommonFlagsConfig.cpp
@@ -16,9 +16,6 @@
     " angle"
 #endif
 #endif
-#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
-    " hwui"
-#endif
     ;
 
 static const char configHelp[] =
@@ -37,9 +34,6 @@
 #if SK_MESA
     " mesa"
 #endif
-#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
-    " hwui"
-#endif
     " or use extended form 'backend(option=value,...)'.\n";
 
 static const char configExtendedHelp[] =