Remove unnecessary dependency, and fix the chain

Test: No new tests. This should not affect behavior; only dependencies.

Font.h does not need to include SkGlyphCache.h, and doing so requires
a transitive dependency on external/skia/src/utils, which was not
intended. Forward declare it instead, and fix the build errors that
resulted.

Change-Id: Ifd09430bb848d51b139df0f0c06c63e7e48711eb
diff --git a/libs/hwui/font/Font.h b/libs/hwui/font/Font.h
index 288f733..504dabb 100644
--- a/libs/hwui/font/Font.h
+++ b/libs/hwui/font/Font.h
@@ -22,14 +22,16 @@
 #include <utils/KeyedVector.h>
 
 #include <SkScalar.h>
-#include <SkGlyphCache.h>
 #include <SkPaint.h>
 #include <SkPathMeasure.h>
+#include <SkTypeface.h>
 
 #include "FontUtil.h"
 #include "../Rect.h"
 #include "../Matrix.h"
 
+class SkGlyphCache;
+
 namespace android {
 namespace uirenderer {
 
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
index 6606b02..5ba0f42 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
@@ -18,6 +18,7 @@
 
 #include "utils/TraceUtils.h"
 #include <SkImageEncoder.h>
+#include <SkImagePriv.h>
 #include <SkOSFile.h>
 #include <SkOverdrawCanvas.h>
 #include <SkOverdrawColorFilter.h>
diff --git a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp
index 95db258..dbe0296 100644
--- a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp
+++ b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp
@@ -21,6 +21,7 @@
 #include "LayerDrawable.h"
 #include "NinePatchUtils.h"
 #include "pipeline/skia/AnimatedDrawables.h"
+#include <SkImagePriv.h>
 
 namespace android {
 namespace uirenderer {
diff --git a/libs/hwui/tests/common/TestUtils.cpp b/libs/hwui/tests/common/TestUtils.cpp
index 243e401..5f6bcb3 100644
--- a/libs/hwui/tests/common/TestUtils.cpp
+++ b/libs/hwui/tests/common/TestUtils.cpp
@@ -24,6 +24,8 @@
 #include <utils/Unicode.h>
 #include <SkClipStack.h>
 
+#include <SkGlyphCache.h>
+
 namespace android {
 namespace uirenderer {
 
diff --git a/libs/hwui/tests/common/scenes/BitmapShaders.cpp b/libs/hwui/tests/common/scenes/BitmapShaders.cpp
index 9b0b950..e03c9e8 100644
--- a/libs/hwui/tests/common/scenes/BitmapShaders.cpp
+++ b/libs/hwui/tests/common/scenes/BitmapShaders.cpp
@@ -17,6 +17,7 @@
 #include "TestSceneBase.h"
 #include "utils/Color.h"
 #include "tests/common/BitmapAllocationTestUtils.h"
+#include <SkImagePriv.h>
 
 class BitmapShaders;
 
@@ -70,4 +71,4 @@
     void doFrame(int frameNr) override { }
 
     BitmapAllocationTestUtils::BitmapAllocator mAllocator;
-};
\ No newline at end of file
+};
diff --git a/libs/hwui/tests/unit/RecordingCanvasTests.cpp b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
index 14fa5d6..70c9391 100644
--- a/libs/hwui/tests/unit/RecordingCanvasTests.cpp
+++ b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
@@ -25,6 +25,7 @@
 #include <utils/Color.h>
 
 #include <SkGradientShader.h>
+#include <SkImagePriv.h>
 #include <SkShader.h>
 
 namespace android {