diff options
70 files changed, 238 insertions, 151 deletions
diff --git a/core/java/android/provider/SearchIndexablesContract.java b/core/java/android/provider/SearchIndexablesContract.java index 93ac7f686127..ff8b9dd77068 100644 --- a/core/java/android/provider/SearchIndexablesContract.java +++ b/core/java/android/provider/SearchIndexablesContract.java @@ -108,6 +108,8 @@ public class SearchIndexablesContract { RawData.COLUMN_INTENT_TARGET_CLASS, // 11 RawData.COLUMN_KEY, // 12 RawData.COLUMN_USER_ID, // 13 + RawData.PAYLOAD_TYPE, // 14 + RawData.PAYLOAD // 15 }; /** @@ -127,6 +129,14 @@ public class SearchIndexablesContract { public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; public static final int COLUMN_INDEX_RAW_KEY = 12; public static final int COLUMN_INDEX_RAW_USER_ID = 13; + /** + * @hide + */ + public static final int COLUMN_INDEX_RAW_PAYLOAD_TYPE = 14; + /** + * @hide + */ + public static final int COLUMN_INDEX_RAW_PAYLOAD = 15; /** * Indexable raw data columns. @@ -213,6 +223,18 @@ public class SearchIndexablesContract { * UserId associated with the raw data. */ public static final String COLUMN_USER_ID = "user_id"; + + /** + * Identifier for the Payload object type. + * @hide + */ + public static final String PAYLOAD_TYPE = "payload_type"; + + /** + * Generic payload for improving Search result expressiveness. + * @hide + */ + public static final String PAYLOAD = "payload"; } /** diff --git a/core/jni/android_graphics_Canvas.cpp b/core/jni/android_graphics_Canvas.cpp index 04a754307267..a31bd8066138 100644 --- a/core/jni/android_graphics_Canvas.cpp +++ b/core/jni/android_graphics_Canvas.cpp @@ -183,26 +183,46 @@ static jboolean quickRejectPath(JNIEnv* env, jobject, jlong canvasHandle, jlong return result ? JNI_TRUE : JNI_FALSE; } +// SkRegion::Op and SkClipOp are numerically identical, so we can freely cast +// from one to the other (though SkClipOp is destined to become a strict subset) +static_assert(SkRegion::kDifference_Op == static_cast<SkRegion::Op>(kDifference_SkClipOp), ""); +static_assert(SkRegion::kIntersect_Op == static_cast<SkRegion::Op>(kIntersect_SkClipOp), ""); +static_assert(SkRegion::kUnion_Op == static_cast<SkRegion::Op>(kUnion_SkClipOp), ""); +static_assert(SkRegion::kXOR_Op == static_cast<SkRegion::Op>(kXOR_SkClipOp), ""); +static_assert(SkRegion::kReverseDifference_Op == static_cast<SkRegion::Op>(kReverseDifference_SkClipOp), ""); +static_assert(SkRegion::kReplace_Op == static_cast<SkRegion::Op>(kReplace_SkClipOp), ""); + +static SkClipOp opHandleToClipOp(jint opHandle) { + // The opHandle is defined in Canvas.java to be Region::Op + SkRegion::Op rgnOp = static_cast<SkRegion::Op>(opHandle); + + // In the future, when we no longer support the wide range of ops (e.g. Union, Xor) + // this function can perform a range check and throw an unsupported-exception. + // e.g. if (rgnOp != kIntersect && rgnOp != kDifference) throw... + + // Skia now takes a different type, SkClipOp, as the parameter to clipping calls + // This type is binary compatible with SkRegion::Op, so a static_cast<> is safe. + return static_cast<SkClipOp>(rgnOp); +} + static jboolean clipRect(JNIEnv*, jobject, jlong canvasHandle, jfloat l, jfloat t, jfloat r, jfloat b, jint opHandle) { - SkRegion::Op op = static_cast<SkRegion::Op>(opHandle); - bool nonEmptyClip = get_canvas(canvasHandle)->clipRect(l, t, r, b, op); + bool nonEmptyClip = get_canvas(canvasHandle)->clipRect(l, t, r, b, + opHandleToClipOp(opHandle)); return nonEmptyClip ? JNI_TRUE : JNI_FALSE; } static jboolean clipPath(JNIEnv* env, jobject, jlong canvasHandle, jlong pathHandle, jint opHandle) { SkPath* path = reinterpret_cast<SkPath*>(pathHandle); - SkRegion::Op op = static_cast<SkRegion::Op>(opHandle); - bool nonEmptyClip = get_canvas(canvasHandle)->clipPath(path, op); + bool nonEmptyClip = get_canvas(canvasHandle)->clipPath(path, opHandleToClipOp(opHandle)); return nonEmptyClip ? JNI_TRUE : JNI_FALSE; } static jboolean clipRegion(JNIEnv* env, jobject, jlong canvasHandle, jlong deviceRgnHandle, jint opHandle) { SkRegion* deviceRgn = reinterpret_cast<SkRegion*>(deviceRgnHandle); - SkRegion::Op op = static_cast<SkRegion::Op>(opHandle); - bool nonEmptyClip = get_canvas(canvasHandle)->clipRegion(deviceRgn, op); + bool nonEmptyClip = get_canvas(canvasHandle)->clipRegion(deviceRgn, opHandleToClipOp(opHandle)); return nonEmptyClip ? JNI_TRUE : JNI_FALSE; } diff --git a/core/jni/android_view_GraphicBuffer.cpp b/core/jni/android_view_GraphicBuffer.cpp index 4b105ca6276c..53c9ff04abbd 100644 --- a/core/jni/android_view_GraphicBuffer.cpp +++ b/core/jni/android_view_GraphicBuffer.cpp @@ -196,7 +196,8 @@ static jboolean android_view_GraphicBuffer_lockCanvas(JNIEnv* env, jobject, Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas); nativeCanvas->setBitmap(bitmap); - nativeCanvas->clipRect(rect.left, rect.top, rect.right, rect.bottom); + nativeCanvas->clipRect(rect.left, rect.top, rect.right, rect.bottom, + kIntersect_SkClipOp); if (dirtyRect) { INVOKEV(dirtyRect, gRectClassInfo.set, diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index b6c81cf8738a..63997e5a82cf 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -339,7 +339,7 @@ static jlong nativeLockCanvas(JNIEnv* env, jclass clazz, if (dirtyRectPtr) { nativeCanvas->clipRect(dirtyRect.left, dirtyRect.top, - dirtyRect.right, dirtyRect.bottom); + dirtyRect.right, dirtyRect.bottom, kIntersect_SkClipOp); } if (dirtyRectObj) { diff --git a/core/jni/android_view_TextureView.cpp b/core/jni/android_view_TextureView.cpp index 268aec57032d..351dce97754c 100644 --- a/core/jni/android_view_TextureView.cpp +++ b/core/jni/android_view_TextureView.cpp @@ -166,7 +166,8 @@ static jboolean android_view_TextureView_lockCanvas(JNIEnv* env, jobject, Canvas* nativeCanvas = GraphicsJNI::getNativeCanvas(env, canvas); nativeCanvas->setBitmap(bitmap); - nativeCanvas->clipRect(rect.left, rect.top, rect.right, rect.bottom); + nativeCanvas->clipRect(rect.left, rect.top, rect.right, rect.bottom, + kIntersect_SkClipOp); if (dirtyRect) { INVOKEV(dirtyRect, gRectClassInfo.set, diff --git a/libs/hwui/CanvasState.cpp b/libs/hwui/CanvasState.cpp index 7e2c28c5eb41..489039c2547a 100644 --- a/libs/hwui/CanvasState.cpp +++ b/libs/hwui/CanvasState.cpp @@ -202,17 +202,17 @@ void CanvasState::concatMatrix(const Matrix4& matrix) { // Clip /////////////////////////////////////////////////////////////////////////////// -bool CanvasState::clipRect(float left, float top, float right, float bottom, SkRegion::Op op) { +bool CanvasState::clipRect(float left, float top, float right, float bottom, SkClipOp op) { mSnapshot->clip(Rect(left, top, right, bottom), op); return !mSnapshot->clipIsEmpty(); } -bool CanvasState::clipPath(const SkPath* path, SkRegion::Op op) { +bool CanvasState::clipPath(const SkPath* path, SkClipOp op) { mSnapshot->clipPath(*path, op); return !mSnapshot->clipIsEmpty(); } -bool CanvasState::clipRegion(const SkRegion* region, SkRegion::Op op) { +bool CanvasState::clipRegion(const SkRegion* region, SkClipOp op) { mSnapshot->clipRegionTransformed(*region, op); return !mSnapshot->clipIsEmpty(); } @@ -225,7 +225,7 @@ void CanvasState::setClippingOutline(LinearAllocator& allocator, const Outline* bool outlineIsRounded = MathUtils::isPositive(radius); if (!outlineIsRounded || currentTransform()->isSimple()) { // TODO: consider storing this rect separately, so that this can't be replaced with clip ops - clipRect(bounds.left, bounds.top, bounds.right, bounds.bottom, SkRegion::kIntersect_Op); + clipRect(bounds.left, bounds.top, bounds.right, bounds.bottom, kIntersect_SkClipOp); } if (outlineIsRounded) { setClippingRoundRect(allocator, bounds, radius, false); diff --git a/libs/hwui/CanvasState.h b/libs/hwui/CanvasState.h index 22c7e8a96cc8..a805597ac9b9 100644 --- a/libs/hwui/CanvasState.h +++ b/libs/hwui/CanvasState.h @@ -18,6 +18,7 @@ #include "Snapshot.h" +#include <SkClipOp.h> #include <SkMatrix.h> #include <SkPath.h> #include <SkRegion.h> @@ -121,9 +122,9 @@ public: bool quickRejectConservative(float left, float top, float right, float bottom) const; - bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op); - bool clipPath(const SkPath* path, SkRegion::Op op); - bool clipRegion(const SkRegion* region, SkRegion::Op op); + bool clipRect(float left, float top, float right, float bottom, SkClipOp op); + bool clipPath(const SkPath* path, SkClipOp op); + bool clipRegion(const SkRegion* region, SkClipOp op); /** * Sets a "clipping outline", which is independent from the regular clip. diff --git a/libs/hwui/FrameBuilder.cpp b/libs/hwui/FrameBuilder.cpp index 245db1dcec97..5b683e06b6ed 100644 --- a/libs/hwui/FrameBuilder.cpp +++ b/libs/hwui/FrameBuilder.cpp @@ -120,7 +120,7 @@ void FrameBuilder::deferRenderNode(float tx, float ty, Rect clipRect, RenderNode mCanvasState.save(SaveFlags::MatrixClip); mCanvasState.translate(tx, ty); mCanvasState.clipRect(clipRect.left, clipRect.top, clipRect.right, clipRect.bottom, - SkRegion::kIntersect_Op); + kIntersect_SkClipOp); deferNodePropsAndOps(renderNode); mCanvasState.restore(); } @@ -262,7 +262,7 @@ void FrameBuilder::deferNodePropsAndOps(RenderNode& node) { Rect clipRect; properties.getClippingRectForFlags(clipFlags, &clipRect); mCanvasState.clipRect(clipRect.left, clipRect.top, clipRect.right, clipRect.bottom, - SkRegion::kIntersect_Op); + kIntersect_SkClipOp); } if (properties.getRevealClip().willClip()) { diff --git a/libs/hwui/RecordingCanvas.cpp b/libs/hwui/RecordingCanvas.cpp index 9d18484f39f0..96c6d29af221 100644 --- a/libs/hwui/RecordingCanvas.cpp +++ b/libs/hwui/RecordingCanvas.cpp @@ -234,13 +234,13 @@ bool RecordingCanvas::quickRejectPath(const SkPath& path) const { SkRect bounds = path.getBounds(); return mState.quickRejectConservative(bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom); } -bool RecordingCanvas::clipRect(float left, float top, float right, float bottom, SkRegion::Op op) { +bool RecordingCanvas::clipRect(float left, float top, float right, float bottom, SkClipOp op) { return mState.clipRect(left, top, right, bottom, op); } -bool RecordingCanvas::clipPath(const SkPath* path, SkRegion::Op op) { +bool RecordingCanvas::clipPath(const SkPath* path, SkClipOp op) { return mState.clipPath(path, op); } -bool RecordingCanvas::clipRegion(const SkRegion* region, SkRegion::Op op) { +bool RecordingCanvas::clipRegion(const SkRegion* region, SkClipOp op) { return mState.clipRegion(region, op); } diff --git a/libs/hwui/RecordingCanvas.h b/libs/hwui/RecordingCanvas.h index f93e8b892e81..5d4938581d20 100644 --- a/libs/hwui/RecordingCanvas.h +++ b/libs/hwui/RecordingCanvas.h @@ -131,9 +131,10 @@ public: virtual bool quickRejectRect(float left, float top, float right, float bottom) const override; virtual bool quickRejectPath(const SkPath& path) const override; - virtual bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op) override; - virtual bool clipPath(const SkPath* path, SkRegion::Op op) override; - virtual bool clipRegion(const SkRegion* region, SkRegion::Op op) override; + virtual bool clipRect(float left, float top, float right, float bottom, + SkClipOp op) override; + virtual bool clipPath(const SkPath* path, SkClipOp op) override; + virtual bool clipRegion(const SkRegion* region, SkClipOp op) override; // Misc virtual SkDrawFilter* getDrawFilter() override { return mDrawFilter.get(); } diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp index 6786a69c8dd1..8ab57c9de554 100644 --- a/libs/hwui/SkiaCanvas.cpp +++ b/libs/hwui/SkiaCanvas.cpp @@ -78,13 +78,13 @@ class ClipCopier : public SkCanvas::ClipVisitor { public: explicit ClipCopier(SkCanvas* dstCanvas) : m_dstCanvas(dstCanvas) {} - virtual void clipRect(const SkRect& rect, SkRegion::Op op, bool antialias) { + virtual void clipRect(const SkRect& rect, SkClipOp op, bool antialias) { m_dstCanvas->clipRect(rect, op, antialias); } - virtual void clipRRect(const SkRRect& rrect, SkRegion::Op op, bool antialias) { + virtual void clipRRect(const SkRRect& rrect, SkClipOp op, bool antialias) { m_dstCanvas->clipRRect(rrect, op, antialias); } - virtual void clipPath(const SkPath& path, SkRegion::Op op, bool antialias) { + virtual void clipPath(const SkPath& path, SkClipOp op, bool antialias) { m_dstCanvas->clipPath(path, op, antialias); } @@ -218,11 +218,11 @@ int SkiaCanvas::saveLayerAlpha(float left, float top, float right, float bottom, class SkiaCanvas::Clip { public: - Clip(const SkRect& rect, SkRegion::Op op, const SkMatrix& m) + Clip(const SkRect& rect, SkClipOp op, const SkMatrix& m) : mType(Type::Rect), mOp(op), mMatrix(m), mRRect(SkRRect::MakeRect(rect)) {} - Clip(const SkRRect& rrect, SkRegion::Op op, const SkMatrix& m) + Clip(const SkRRect& rrect, SkClipOp op, const SkMatrix& m) : mType(Type::RRect), mOp(op), mMatrix(m), mRRect(rrect) {} - Clip(const SkPath& path, SkRegion::Op op, const SkMatrix& m) + Clip(const SkPath& path, SkClipOp op, const SkMatrix& m) : mType(Type::Path), mOp(op), mMatrix(m), mPath(&path) {} void apply(SkCanvas* canvas) const { @@ -247,9 +247,9 @@ private: Path, }; - Type mType; - SkRegion::Op mOp; - SkMatrix mMatrix; + Type mType; + SkClipOp mOp; + SkMatrix mMatrix; // These are logically a union (tracked separately due to non-POD path). SkTLazy<SkPath> mPath; @@ -293,7 +293,7 @@ void SkiaCanvas::recordPartialSave(SaveFlags::Flags flags) { } template <typename T> -void SkiaCanvas::recordClip(const T& clip, SkRegion::Op op) { +void SkiaCanvas::recordClip(const T& clip, SkClipOp op) { // Only need tracking when in a partial save frame which // doesn't restore the clip. const SaveRec* rec = this->currentSaveRec(); @@ -397,14 +397,14 @@ bool SkiaCanvas::quickRejectPath(const SkPath& path) const { return mCanvas->quickReject(path); } -bool SkiaCanvas::clipRect(float left, float top, float right, float bottom, SkRegion::Op op) { +bool SkiaCanvas::clipRect(float left, float top, float right, float bottom, SkClipOp op) { SkRect rect = SkRect::MakeLTRB(left, top, right, bottom); this->recordClip(rect, op); mCanvas->clipRect(rect, op); return !mCanvas->isClipEmpty(); } -bool SkiaCanvas::clipPath(const SkPath* path, SkRegion::Op op) { +bool SkiaCanvas::clipPath(const SkPath* path, SkClipOp op) { SkRRect roundRect; if (path->isRRect(&roundRect)) { this->recordClip(roundRect, op); @@ -416,7 +416,7 @@ bool SkiaCanvas::clipPath(const SkPath* path, SkRegion::Op op) { return !mCanvas->isClipEmpty(); } -bool SkiaCanvas::clipRegion(const SkRegion* region, SkRegion::Op op) { +bool SkiaCanvas::clipRegion(const SkRegion* region, SkClipOp op) { SkPath rgnPath; if (region->getBoundaryPath(&rgnPath)) { // The region is specified in device space. diff --git a/libs/hwui/SkiaCanvas.h b/libs/hwui/SkiaCanvas.h index 4f1d8572eb2d..9639ebd19bbb 100644 --- a/libs/hwui/SkiaCanvas.h +++ b/libs/hwui/SkiaCanvas.h @@ -92,9 +92,9 @@ public: virtual bool quickRejectRect(float left, float top, float right, float bottom) const override; virtual bool quickRejectPath(const SkPath& path) const override; virtual bool clipRect(float left, float top, float right, float bottom, - SkRegion::Op op) override; - virtual bool clipPath(const SkPath* path, SkRegion::Op op) override; - virtual bool clipRegion(const SkRegion* region, SkRegion::Op op) override; + SkClipOp op) override; + virtual bool clipPath(const SkPath* path, SkClipOp op) override; + virtual bool clipRegion(const SkRegion* region, SkClipOp op) override; virtual SkDrawFilter* getDrawFilter() override; virtual void setDrawFilter(SkDrawFilter* drawFilter) override; @@ -174,7 +174,7 @@ private: void recordPartialSave(SaveFlags::Flags flags); template<typename T> - void recordClip(const T&, SkRegion::Op); + void recordClip(const T&, SkClipOp); void applyPersistentClips(size_t clipStartIndex); void drawPoints(const float* points, int count, const SkPaint& paint, diff --git a/libs/hwui/SkiaCanvasProxy.cpp b/libs/hwui/SkiaCanvasProxy.cpp index 5978abc9efaa..75396f7b4cf2 100644 --- a/libs/hwui/SkiaCanvasProxy.cpp +++ b/libs/hwui/SkiaCanvasProxy.cpp @@ -430,21 +430,21 @@ void SkiaCanvasProxy::onDrawPatch(const SkPoint cubics[12], const SkColor colors } } -void SkiaCanvasProxy::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle) { +void SkiaCanvasProxy::onClipRect(const SkRect& rect, SkClipOp op, ClipEdgeStyle) { mCanvas->clipRect(rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, op); } -void SkiaCanvasProxy::onClipRRect(const SkRRect& roundRect, SkRegion::Op op, ClipEdgeStyle) { +void SkiaCanvasProxy::onClipRRect(const SkRRect& roundRect, SkClipOp op, ClipEdgeStyle) { SkPath path; path.addRRect(roundRect); mCanvas->clipPath(&path, op); } -void SkiaCanvasProxy::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle) { +void SkiaCanvasProxy::onClipPath(const SkPath& path, SkClipOp op, ClipEdgeStyle) { mCanvas->clipPath(&path, op); } -void SkiaCanvasProxy::onClipRegion(const SkRegion& region, SkRegion::Op op) { +void SkiaCanvasProxy::onClipRegion(const SkRegion& region, SkClipOp op) { mCanvas->clipRegion(®ion, op); } diff --git a/libs/hwui/SkiaCanvasProxy.h b/libs/hwui/SkiaCanvasProxy.h index 01118150a8f0..badcc1dfe8cc 100644 --- a/libs/hwui/SkiaCanvasProxy.h +++ b/libs/hwui/SkiaCanvasProxy.h @@ -90,10 +90,10 @@ protected: const SkPoint texCoords[4], SkBlendMode, const SkPaint& paint) override; - virtual void onClipRect(const SkRect&, SkRegion::Op, ClipEdgeStyle) override; - virtual void onClipRRect(const SkRRect&, SkRegion::Op, ClipEdgeStyle) override; - virtual void onClipPath(const SkPath&, SkRegion::Op, ClipEdgeStyle) override; - virtual void onClipRegion(const SkRegion&, SkRegion::Op) override; + virtual void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override; + virtual void onClipRRect(const SkRRect&, SkClipOp, ClipEdgeStyle) override; + virtual void onClipPath(const SkPath&, SkClipOp, ClipEdgeStyle) override; + virtual void onClipRegion(const SkRegion&, SkClipOp) override; private: Canvas* mCanvas; diff --git a/libs/hwui/Snapshot.cpp b/libs/hwui/Snapshot.cpp index f61c3e9825f8..3f08009b6be9 100644 --- a/libs/hwui/Snapshot.cpp +++ b/libs/hwui/Snapshot.cpp @@ -72,19 +72,19 @@ Snapshot::Snapshot(Snapshot* s, int saveFlags) // Clipping /////////////////////////////////////////////////////////////////////////////// -void Snapshot::clipRegionTransformed(const SkRegion& region, SkRegion::Op op) { +void Snapshot::clipRegionTransformed(const SkRegion& region, SkClipOp op) { flags |= Snapshot::kFlagClipSet; - mClipArea->clipRegion(region, op); + mClipArea->clipRegion(region, static_cast<SkRegion::Op>(op)); } -void Snapshot::clip(const Rect& localClip, SkRegion::Op op) { +void Snapshot::clip(const Rect& localClip, SkClipOp op) { flags |= Snapshot::kFlagClipSet; - mClipArea->clipRectWithTransform(localClip, transform, op); + mClipArea->clipRectWithTransform(localClip, transform, static_cast<SkRegion::Op>(op)); } -void Snapshot::clipPath(const SkPath& path, SkRegion::Op op) { +void Snapshot::clipPath(const SkPath& path, SkClipOp op) { flags |= Snapshot::kFlagClipSet; - mClipArea->clipPathWithTransform(path, transform, op); + mClipArea->clipPathWithTransform(path, transform, static_cast<SkRegion::Op>(op)); } void Snapshot::setClip(float left, float top, float right, float bottom) { diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h index 4ab58302df8f..287e58af0f69 100644 --- a/libs/hwui/Snapshot.h +++ b/libs/hwui/Snapshot.h @@ -23,6 +23,7 @@ #include <utils/RefBase.h> #include <ui/Region.h> +#include <SkClipOp.h> #include <SkRegion.h> #include "ClipArea.h" @@ -107,25 +108,25 @@ public: * the specified operation. The specified rectangle is transformed * by this snapshot's trasnformation. */ - void clip(const Rect& localClip, SkRegion::Op op); + void clip(const Rect& localClip, SkClipOp op); /** * Modifies the current clip with the new clip rectangle and * the specified operation. The specified rectangle is considered * already transformed. */ - void clipTransformed(const Rect& r, SkRegion::Op op = SkRegion::kIntersect_Op); + void clipTransformed(const Rect& r, SkClipOp op = kIntersect_SkClipOp); /** * Modifies the current clip with the specified region and operation. * The specified region is considered already transformed. */ - void clipRegionTransformed(const SkRegion& region, SkRegion::Op op); + void clipRegionTransformed(const SkRegion& region, SkClipOp op); /** * Modifies the current clip with the specified path and operation. */ - void clipPath(const SkPath& path, SkRegion::Op op); + void clipPath(const SkPath& path, SkClipOp op); /** * Sets the current clip. diff --git a/libs/hwui/VectorDrawable.cpp b/libs/hwui/VectorDrawable.cpp index f4ffa7a2aaca..208107f65743 100644 --- a/libs/hwui/VectorDrawable.cpp +++ b/libs/hwui/VectorDrawable.cpp @@ -308,7 +308,7 @@ void FullPath::FullPathProperties::setPropertyValue(int propertyId, float value) void ClipPath::drawPath(SkCanvas* outCanvas, SkPath& renderPath, float strokeScale, const SkMatrix& matrix, bool useStagingData){ - outCanvas->clipPath(renderPath, SkRegion::kIntersect_Op); + outCanvas->clipPath(renderPath); } Group::Group(const Group& group) : Node(group) { diff --git a/libs/hwui/hwui/Canvas.h b/libs/hwui/hwui/Canvas.h index d7839b429648..e7b6b2d329f1 100644 --- a/libs/hwui/hwui/Canvas.h +++ b/libs/hwui/hwui/Canvas.h @@ -182,9 +182,9 @@ public: virtual bool quickRejectPath(const SkPath& path) const = 0; virtual bool clipRect(float left, float top, float right, float bottom, - SkRegion::Op op = SkRegion::kIntersect_Op) = 0; - virtual bool clipPath(const SkPath* path, SkRegion::Op op) = 0; - virtual bool clipRegion(const SkRegion* region, SkRegion::Op op) = 0; + SkClipOp op) = 0; + virtual bool clipPath(const SkPath* path, SkClipOp op) = 0; + virtual bool clipRegion(const SkRegion* region, SkClipOp op) = 0; // filters virtual SkDrawFilter* getDrawFilter() = 0; diff --git a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp index 4b34c7c45c74..14cc44973c8f 100644 --- a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp +++ b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp @@ -68,7 +68,7 @@ static void clipOutline(const Outline& outline, SkCanvas* canvas, const SkRect* if (pendingClip && !pendingClip->contains(rect)) { canvas->clipRect(*pendingClip); } - canvas->clipRRect(SkRRect::MakeRectXY(rect, radius, radius), SkRegion::kIntersect_Op, true); + canvas->clipRRect(SkRRect::MakeRectXY(rect, radius, radius), kIntersect_SkClipOp, true); } else { if (pendingClip) { (void)rect.intersect(*pendingClip); @@ -263,7 +263,7 @@ void RenderNodeDrawable::setViewProperties(const RenderProperties& properties, S } if (properties.getRevealClip().willClip()) { - canvas->clipPath(*properties.getRevealClip().getPath(), SkRegion::kIntersect_Op, true); + canvas->clipPath(*properties.getRevealClip().getPath(), kIntersect_SkClipOp, true); } else if (properties.getOutline().willClip()) { clipOutline(properties.getOutline(), canvas, pendingClip); pendingClip = nullptr; diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp index c9432a17bb43..d77aa4816ccd 100644 --- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp +++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp @@ -99,7 +99,7 @@ void SkiaPipeline::renderLayersImpl(const LayerUpdateQueue& layers, bool opaque) int saveCount = layerCanvas->save(); SkASSERT(saveCount == 1); - layerCanvas->clipRect(layerDamage.toSkRect(), SkRegion::kReplace_Op); + layerCanvas->clipRect(layerDamage.toSkRect(), kReplace_SkClipOp); auto savedLightCenter = mLightCenter; // map current light center into RenderNode's coordinate space @@ -225,7 +225,7 @@ void SkiaPipeline::renderFrameImpl(const LayerUpdateQueue& layers, const SkRect& const std::vector<sp<RenderNode>>& nodes, bool opaque, const Rect &contentDrawBounds, SkCanvas* canvas) { - canvas->clipRect(clip, SkRegion::kReplace_Op); + canvas->clipRect(clip, kReplace_SkClipOp); if (!opaque) { canvas->clear(SK_ColorTRANSPARENT); @@ -275,7 +275,7 @@ void SkiaPipeline::renderFrameImpl(const LayerUpdateQueue& layers, const SkRect& const float dy = backdropBounds.top - contentDrawBounds.top; canvas->translate(dx, dy); // It gets cropped against the bounds of the backdrop to stay inside. - canvas->clipRect(clip, SkRegion::kIntersect_Op); + canvas->clipRect(clip); } RenderNodeDrawable root(node.get(), canvas); diff --git a/libs/hwui/tests/common/TestUtils.h b/libs/hwui/tests/common/TestUtils.h index 0ce598d4dba4..363b94ac492e 100644 --- a/libs/hwui/tests/common/TestUtils.h +++ b/libs/hwui/tests/common/TestUtils.h @@ -118,7 +118,8 @@ public: static std::unique_ptr<Snapshot> makeSnapshot(const Matrix4& transform, const Rect& clip) { std::unique_ptr<Snapshot> snapshot(new Snapshot()); - snapshot->clip(clip, SkRegion::kReplace_Op); // store clip first, so it isn't transformed + // store clip first, so it isn't transformed + snapshot->setClip(clip.left, clip.top, clip.right, clip.bottom); *(snapshot->transform) = transform; return snapshot; } diff --git a/libs/hwui/tests/common/scenes/ClippingAnimation.cpp b/libs/hwui/tests/common/scenes/ClippingAnimation.cpp index 8f2ba2d2cddc..45443b0332d3 100644 --- a/libs/hwui/tests/common/scenes/ClippingAnimation.cpp +++ b/libs/hwui/tests/common/scenes/ClippingAnimation.cpp @@ -34,11 +34,11 @@ public: [](RenderProperties& props, Canvas& canvas) { canvas.save(SaveFlags::MatrixClip); { - canvas.clipRect(0, 0, 200, 200, SkRegion::kIntersect_Op); + canvas.clipRect(0, 0, 200, 200, kIntersect_SkClipOp); canvas.translate(100, 100); canvas.rotate(45); canvas.translate(-100, -100); - canvas.clipRect(0, 0, 200, 200, SkRegion::kIntersect_Op); + canvas.clipRect(0, 0, 200, 200, kIntersect_SkClipOp); canvas.drawColor(Color::Blue_500, SkBlendMode::kSrcOver); } canvas.restore(); @@ -47,7 +47,7 @@ public: { SkPath clipCircle; clipCircle.addCircle(100, 300, 100); - canvas.clipPath(&clipCircle, SkRegion::kIntersect_Op); + canvas.clipPath(&clipCircle, kIntersect_SkClipOp); canvas.drawColor(Color::Red_500, SkBlendMode::kSrcOver); } canvas.restore(); diff --git a/libs/hwui/tests/common/scenes/SaveLayerAnimation.cpp b/libs/hwui/tests/common/scenes/SaveLayerAnimation.cpp index 3630935a809f..8b2852b17b00 100644 --- a/libs/hwui/tests/common/scenes/SaveLayerAnimation.cpp +++ b/libs/hwui/tests/common/scenes/SaveLayerAnimation.cpp @@ -36,7 +36,7 @@ public: // nested clipped saveLayers canvas.saveLayerAlpha(0, 0, 400, 400, 200, SaveFlags::ClipToLayer); canvas.drawColor(Color::Green_700, SkBlendMode::kSrcOver); - canvas.clipRect(50, 50, 350, 350, SkRegion::kIntersect_Op); + canvas.clipRect(50, 50, 350, 350, kIntersect_SkClipOp); canvas.saveLayerAlpha(100, 100, 300, 300, 128, SaveFlags::ClipToLayer); canvas.drawColor(Color::Blue_500, SkBlendMode::kSrcOver); canvas.restore(); diff --git a/libs/hwui/tests/common/scenes/ShapeAnimation.cpp b/libs/hwui/tests/common/scenes/ShapeAnimation.cpp index 5ef8773488b6..d44c3d5baa90 100644 --- a/libs/hwui/tests/common/scenes/ShapeAnimation.cpp +++ b/libs/hwui/tests/common/scenes/ShapeAnimation.cpp @@ -82,7 +82,7 @@ public: int middleCount = canvas.save(SaveFlags::MatrixClip); for (auto op : ops) { int innerCount = canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(0, 0, cellSize, cellSize, SkRegion::kIntersect_Op); + canvas.clipRect(0, 0, cellSize, cellSize, kIntersect_SkClipOp); canvas.drawColor(Color::White, SkBlendMode::kSrcOver); op(canvas, cellSize, paint); canvas.restoreToCount(innerCount); diff --git a/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp b/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp index bbaf267a5798..3ef0d1cf80df 100644 --- a/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp +++ b/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp @@ -177,7 +177,7 @@ void BM_DisplayListCanvas_basicViewGroupDraw(benchmark::State& benchState) { // Clip to padding // Can expect ~25% of views to have clip to padding with a non-null padding int clipRestoreCount = canvas->save(SaveFlags::MatrixClip); - canvas->clipRect(1, 1, 199, 199, SkRegion::kIntersect_Op); + canvas->clipRect(1, 1, 199, 199, kIntersect_SkClipOp); canvas->insertReorderBarrier(true); diff --git a/libs/hwui/tests/unit/CanvasStateTests.cpp b/libs/hwui/tests/unit/CanvasStateTests.cpp index 0afabd83f5cc..7555fd4edd7a 100644 --- a/libs/hwui/tests/unit/CanvasStateTests.cpp +++ b/libs/hwui/tests/unit/CanvasStateTests.cpp @@ -23,7 +23,7 @@ #include <gtest/gtest.h> #include <SkPath.h> -#include <SkRegion.h> +#include <SkClipOp.h> namespace android { namespace uirenderer { @@ -68,13 +68,13 @@ TEST(CanvasState, simpleClipping) { state.initializeSaveStack(200, 200, 0, 0, 200, 200, Vector3()); - state.clipRect(0, 0, 100, 100, SkRegion::kIntersect_Op); + state.clipRect(0, 0, 100, 100, kIntersect_SkClipOp); ASSERT_EQ(state.getRenderTargetClipBounds(), Rect(100, 100)); - state.clipRect(10, 10, 200, 200, SkRegion::kIntersect_Op); + state.clipRect(10, 10, 200, 200, kIntersect_SkClipOp); ASSERT_EQ(state.getRenderTargetClipBounds(), Rect(10, 10, 100, 100)); - state.clipRect(50, 50, 150, 150, SkRegion::kReplace_Op); + state.clipRect(50, 50, 150, 150, kReplace_SkClipOp); ASSERT_EQ(state.getRenderTargetClipBounds(), Rect(50, 50, 150, 150)); } @@ -88,7 +88,7 @@ TEST(CanvasState, complexClipping) { // rotated clip causes complex clip state.rotate(10); EXPECT_TRUE(state.clipIsSimple()); - state.clipRect(0, 0, 200, 200, SkRegion::kIntersect_Op); + state.clipRect(0, 0, 200, 200, kIntersect_SkClipOp); EXPECT_FALSE(state.clipIsSimple()); } state.restore(); @@ -97,7 +97,7 @@ TEST(CanvasState, complexClipping) { { // subtracted clip causes complex clip EXPECT_TRUE(state.clipIsSimple()); - state.clipRect(50, 50, 150, 150, SkRegion::kDifference_Op); + state.clipRect(50, 50, 150, 150, kDifference_SkClipOp); EXPECT_FALSE(state.clipIsSimple()); } state.restore(); @@ -108,7 +108,7 @@ TEST(CanvasState, complexClipping) { SkPath path; path.addOval(SkRect::MakeWH(200, 200)); EXPECT_TRUE(state.clipIsSimple()); - state.clipPath(&path, SkRegion::kDifference_Op); + state.clipPath(&path, kDifference_SkClipOp); EXPECT_FALSE(state.clipIsSimple()); } state.restore(); @@ -121,7 +121,7 @@ TEST(CanvasState, saveAndRestore) { state.save(SaveFlags::Clip); { - state.clipRect(0, 0, 10, 10, SkRegion::kIntersect_Op); + state.clipRect(0, 0, 10, 10, kIntersect_SkClipOp); ASSERT_EQ(state.getRenderTargetClipBounds(), Rect(10, 10)); } state.restore(); @@ -145,7 +145,7 @@ TEST(CanvasState, saveAndRestoreButNotTooMuch) { state.save(SaveFlags::Matrix); // NOTE: clip not saved { - state.clipRect(0, 0, 10, 10, SkRegion::kIntersect_Op); + state.clipRect(0, 0, 10, 10, kIntersect_SkClipOp); ASSERT_EQ(state.getRenderTargetClipBounds(), Rect(10, 10)); } state.restore(); diff --git a/libs/hwui/tests/unit/FrameBuilderTests.cpp b/libs/hwui/tests/unit/FrameBuilderTests.cpp index a1c225f544dd..12622ffd8845 100644 --- a/libs/hwui/tests/unit/FrameBuilderTests.cpp +++ b/libs/hwui/tests/unit/FrameBuilderTests.cpp @@ -174,7 +174,7 @@ RENDERTHREAD_TEST(FrameBuilder, simpleRejection) { auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200, [](RenderProperties& props, RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(200, 200, 400, 400, SkRegion::kIntersect_Op); // intersection should be empty + canvas.clipRect(200, 200, 400, 400, kIntersect_SkClipOp); // intersection should be empty canvas.drawRect(0, 0, 400, 400, SkPaint()); canvas.restore(); }); @@ -453,19 +453,19 @@ RENDERTHREAD_TEST(FrameBuilder, clippedMerging) { sk_sp<Bitmap> bitmap(TestUtils::createBitmap(20, 20)); // left side clipped (to inset left half) - canvas.clipRect(10, 0, 50, 100, SkRegion::kReplace_Op); + canvas.clipRect(10, 0, 50, 100, kReplace_SkClipOp); canvas.drawBitmap(*bitmap, 0, 40, nullptr); // top side clipped (to inset top half) - canvas.clipRect(0, 10, 100, 50, SkRegion::kReplace_Op); + canvas.clipRect(0, 10, 100, 50, kReplace_SkClipOp); canvas.drawBitmap(*bitmap, 40, 0, nullptr); // right side clipped (to inset right half) - canvas.clipRect(50, 0, 90, 100, SkRegion::kReplace_Op); + canvas.clipRect(50, 0, 90, 100, kReplace_SkClipOp); canvas.drawBitmap(*bitmap, 80, 40, nullptr); // bottom not clipped, just abutting (inset bottom half) - canvas.clipRect(0, 50, 100, 90, SkRegion::kReplace_Op); + canvas.clipRect(0, 50, 100, 90, kReplace_SkClipOp); canvas.drawBitmap(*bitmap, 40, 70, nullptr); }); @@ -488,7 +488,7 @@ RENDERTHREAD_TEST(FrameBuilder, regionClipStopsMerge) { SkPath path; path.addCircle(200, 200, 200, SkPath::kCW_Direction); canvas.save(SaveFlags::MatrixClip); - canvas.clipPath(&path, SkRegion::kIntersect_Op); + canvas.clipPath(&path, kIntersect_SkClipOp); SkPaint paint; paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); paint.setAntiAlias(true); @@ -649,7 +649,7 @@ RENDERTHREAD_TEST(FrameBuilder, textureLayer_clipLocalMatrix) { auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200, [&layerUpdater](RenderProperties& props, RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(50, 50, 150, 150, SkRegion::kIntersect_Op); + canvas.clipRect(50, 50, 150, 150, kIntersect_SkClipOp); canvas.drawLayer(layerUpdater.get()); canvas.restore(); }); @@ -973,7 +973,7 @@ RENDERTHREAD_TEST(FrameBuilder, saveLayer_contentRejection) { auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200, [](RenderProperties& props, RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(200, 200, 400, 400, SkRegion::kIntersect_Op); + canvas.clipRect(200, 200, 400, 400, kIntersect_SkClipOp); canvas.saveLayerAlpha(200, 200, 400, 400, 128, SaveFlags::ClipToLayer); // draw within save layer may still be recorded, but shouldn't be drawn @@ -1781,7 +1781,7 @@ RENDERTHREAD_TEST(FrameBuilder, projectionChildScroll) { auto child = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400, [&projectingRipple](RenderProperties& properties, RecordingCanvas& canvas) { // Record time clip will be ignored by projectee - canvas.clipRect(100, 100, 300, 300, SkRegion::kIntersect_Op); + canvas.clipRect(100, 100, 300, 300, kIntersect_SkClipOp); canvas.translate(-scrollX, -scrollY); // Apply scroll (note: bg undoes this internally) canvas.drawRenderNode(projectingRipple.get()); @@ -1993,7 +1993,7 @@ RENDERTHREAD_TEST(FrameBuilder, shadowClipping) { [](RenderProperties& props, RecordingCanvas& canvas) { // Apply a clip before the reorder barrier/shadow casting child is drawn. // This clip must be applied to the shadow cast by the child. - canvas.clipRect(25, 25, 75, 75, SkRegion::kIntersect_Op); + canvas.clipRect(25, 25, 75, 75, kIntersect_SkClipOp); canvas.insertReorderBarrier(true); canvas.drawRenderNode(createWhiteRectShadowCaster(5.0f).get()); }); @@ -2252,7 +2252,7 @@ RENDERTHREAD_TEST(FrameBuilder, clip_replace) { }; auto node = TestUtils::createNode<RecordingCanvas>(20, 20, 30, 30, [](RenderProperties& props, RecordingCanvas& canvas) { - canvas.clipRect(0, -20, 10, 30, SkRegion::kReplace_Op); + canvas.clipRect(0, -20, 10, 30, kReplace_SkClipOp); canvas.drawColor(SK_ColorWHITE, SkBlendMode::kSrcOver); }); diff --git a/libs/hwui/tests/unit/RecordingCanvasTests.cpp b/libs/hwui/tests/unit/RecordingCanvasTests.cpp index dda432ea03ed..14fa5d643ae0 100644 --- a/libs/hwui/tests/unit/RecordingCanvasTests.cpp +++ b/libs/hwui/tests/unit/RecordingCanvasTests.cpp @@ -57,7 +57,7 @@ TEST(RecordingCanvas, emptyPlayback) { TEST(RecordingCanvas, clipRect) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(100, 100, [](RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(0, 0, 100, 100, SkRegion::kIntersect_Op); + canvas.clipRect(0, 0, 100, 100, kIntersect_SkClipOp); canvas.drawRect(0, 0, 50, 50, SkPaint()); canvas.drawRect(50, 50, 100, 100, SkPaint()); canvas.restore(); @@ -73,8 +73,8 @@ TEST(RecordingCanvas, clipRect) { TEST(RecordingCanvas, emptyClipRect) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(0, 0, 100, 100, SkRegion::kIntersect_Op); - canvas.clipRect(100, 100, 200, 200, SkRegion::kIntersect_Op); + canvas.clipRect(0, 0, 100, 100, kIntersect_SkClipOp); + canvas.clipRect(100, 100, 200, 200, kIntersect_SkClipOp); canvas.drawRect(0, 0, 50, 50, SkPaint()); // rejected at record time canvas.restore(); }); @@ -440,7 +440,7 @@ TEST(RecordingCanvas, saveLayer_simpleUnclipped) { TEST(RecordingCanvas, saveLayer_addClipFlag) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(10, 20, 190, 180, SkRegion::kIntersect_Op); + canvas.clipRect(10, 20, 190, 180, kIntersect_SkClipOp); canvas.saveLayerAlpha(10, 20, 190, 180, 128, (SaveFlags::Flags)0); // unclipped canvas.drawRect(10, 20, 190, 180, SkPaint()); canvas.restore(); @@ -459,7 +459,7 @@ TEST(RecordingCanvas, saveLayer_addClipFlag) { TEST(RecordingCanvas, saveLayer_viewportCrop) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) { // shouldn't matter, since saveLayer will clip to its bounds - canvas.clipRect(-1000, -1000, 1000, 1000, SkRegion::kReplace_Op); + canvas.clipRect(-1000, -1000, 1000, 1000, kReplace_SkClipOp); canvas.saveLayerAlpha(100, 100, 300, 300, 128, SaveFlags::ClipToLayer); canvas.drawRect(0, 0, 400, 400, SkPaint()); @@ -549,7 +549,7 @@ TEST(RecordingCanvas, saveLayer_rejectBegin) { canvas.save(SaveFlags::MatrixClip); canvas.translate(0, -20); // avoid identity case // empty clip rect should force layer + contents to be rejected - canvas.clipRect(0, -20, 200, -20, SkRegion::kIntersect_Op); + canvas.clipRect(0, -20, 200, -20, kIntersect_SkClipOp); canvas.saveLayerAlpha(0, 0, 200, 200, 128, SaveFlags::ClipToLayer); canvas.drawRect(0, 0, 200, 200, SkPaint()); canvas.restore(); @@ -568,7 +568,7 @@ TEST(RecordingCanvas, drawRenderNode_rejection) { }); auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [&child](RecordingCanvas& canvas) { - canvas.clipRect(0, 0, 0, 0, SkRegion::kIntersect_Op); // empty clip, reject node + canvas.clipRect(0, 0, 0, 0, kIntersect_SkClipOp); // empty clip, reject node canvas.drawRenderNode(child.get()); // shouldn't crash when rejecting node... }); ASSERT_TRUE(dl->isEmpty()); @@ -621,7 +621,7 @@ TEST(RecordingCanvas, firstClipWillReplace) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); // since no explicit clip set on canvas, this should be the one observed on op: - canvas.clipRect(-100, -100, 300, 300, SkRegion::kIntersect_Op); + canvas.clipRect(-100, -100, 300, 300, kIntersect_SkClipOp); SkPaint paint; paint.setColor(SK_ColorWHITE); @@ -637,7 +637,7 @@ TEST(RecordingCanvas, firstClipWillReplace) { TEST(RecordingCanvas, replaceClipIntersectWithRoot) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(100, 100, [](RecordingCanvas& canvas) { canvas.save(SaveFlags::MatrixClip); - canvas.clipRect(-10, -10, 110, 110, SkRegion::kReplace_Op); + canvas.clipRect(-10, -10, 110, 110, kReplace_SkClipOp); canvas.drawColor(SK_ColorWHITE, SkBlendMode::kSrcOver); canvas.restore(); }); @@ -675,7 +675,7 @@ TEST(RecordingCanvas, insertReorderBarrier_clip) { canvas.drawRect(0, 0, 400, 400, SkPaint()); // second chunk: no recorded clip, since inorder region - canvas.clipRect(0, 0, 200, 200, SkRegion::kIntersect_Op); + canvas.clipRect(0, 0, 200, 200, kIntersect_SkClipOp); canvas.insertReorderBarrier(false); canvas.drawRect(0, 0, 400, 400, SkPaint()); diff --git a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp index f4b686d3b1e2..7c149520f909 100644 --- a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp +++ b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp @@ -469,7 +469,7 @@ RENDERTHREAD_TEST(RenderNodeDrawable, projectionChildScroll) { auto child = TestUtils::createSkiaNode(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT, [&projectingRipple](RenderProperties& properties, SkiaRecordingCanvas& canvas) { // Record time clip will be ignored by projectee - canvas.clipRect(100, 100, 300, 300, SkRegion::kIntersect_Op); + canvas.clipRect(100, 100, 300, 300, kIntersect_SkClipOp); canvas.translate(-SCROLL_X, -SCROLL_Y); // Apply scroll (note: bg undoes this internally) canvas.drawRenderNode(projectingRipple.get()); diff --git a/libs/hwui/utils/TestWindowContext.cpp b/libs/hwui/utils/TestWindowContext.cpp index fa3e13dd71ba..598cd1ef6ae7 100644 --- a/libs/hwui/utils/TestWindowContext.cpp +++ b/libs/hwui/utils/TestWindowContext.cpp @@ -93,8 +93,7 @@ public: SkCanvas* prepareToDraw() { //mCanvas->reset(mSize.width(), mSize.height()); - mCanvas->clipRect(0, 0, mSize.width(), mSize.height(), - SkRegion::Op::kReplace_Op); + mCanvas->clipRect(0, 0, mSize.width(), mSize.height(), kReplace_SkClipOp); return mCanvas->asSkCanvas(); } diff --git a/packages/SystemUI/res/drawable/ic_brightness_thumb.xml b/packages/SystemUI/res/drawable/ic_brightness_thumb.xml index 24ac0184a551..604e91814491 100644 --- a/packages/SystemUI/res/drawable/ic_brightness_thumb.xml +++ b/packages/SystemUI/res/drawable/ic_brightness_thumb.xml @@ -22,6 +22,6 @@ Copyright (C) 2014 The Android Open Source Project android:pathData="m18.250000,12.000000a6.250000,6.250000 0.000000,1.000000 1.000000,-12.500000 0.000000,6.250000 6.250000,0.000000 1.000000,1.000000 12.500000,0.000000z" android:fillColor="?android:attr/colorPrimary" /> <path - android:fillColor="#FFFFFFFF" + android:fillColor="?android:attr/colorControlNormal" android:pathData="M20.000000,8.700000L20.000000,4.000000L15.300000,4.000000L12.000000,0.700000 8.700000,4.000000L4.000000,4.000000L4.000000,8.700000L0.700000,12.000000 4.000000,15.300000L4.000000,20.000000L8.700000,20.000000L12.000000,23.299999 15.300000,20.000000L20.000000,20.000000L20.000000,15.300000L23.299999,12.000000 20.000000,8.700000zM12.000000,18.000000C8.700000,18.000000 6.000000,15.300000 6.000000,12.000000 6.000000,8.700000 8.700000,6.000000 12.000000,6.000000c3.300000,0.000000 6.000000,2.700000 6.000000,6.000000 0.000000,3.300000 -2.700000,6.000000 -6.000000,6.000000zM12.000000,8.000000c-2.200000,0.000000 -4.000000,1.800000 -4.000000,4.000000 0.000000,2.200000 1.800000,4.000000 4.000000,4.000000 2.200000,0.000000 4.000000,-1.800000 4.000000,-4.000000 0.000000,-2.200000 -1.800000,-4.000000 -4.000000,-4.000000z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_invert_colors_disable.xml b/packages/SystemUI/res/drawable/ic_invert_colors_disable.xml index f901e86ed4cc..49ee48b41d89 100644 --- a/packages/SystemUI/res/drawable/ic_invert_colors_disable.xml +++ b/packages/SystemUI/res/drawable/ic_invert_colors_disable.xml @@ -20,7 +20,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="icon" android:translateX="21.9995" diff --git a/packages/SystemUI/res/drawable/ic_invert_colors_enable.xml b/packages/SystemUI/res/drawable/ic_invert_colors_enable.xml index 994cf8c67990..5aecebae1865 100644 --- a/packages/SystemUI/res/drawable/ic_invert_colors_enable.xml +++ b/packages/SystemUI/res/drawable/ic_invert_colors_enable.xml @@ -20,7 +20,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="icon" android:translateX="21.9995" diff --git a/packages/SystemUI/res/drawable/ic_landscape_from_auto_rotate.xml b/packages/SystemUI/res/drawable/ic_landscape_from_auto_rotate.xml index bc545bae6e5b..8b2585bb9958 100644 --- a/packages/SystemUI/res/drawable/ic_landscape_from_auto_rotate.xml +++ b/packages/SystemUI/res/drawable/ic_landscape_from_auto_rotate.xml @@ -18,7 +18,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="ic_screen_rotation_48px_outlines" android:translateX="24" diff --git a/packages/SystemUI/res/drawable/ic_landscape_to_auto_rotate.xml b/packages/SystemUI/res/drawable/ic_landscape_to_auto_rotate.xml index 0bd75d1871ae..603d0bfd11bc 100644 --- a/packages/SystemUI/res/drawable/ic_landscape_to_auto_rotate.xml +++ b/packages/SystemUI/res/drawable/ic_landscape_to_auto_rotate.xml @@ -18,7 +18,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="ic_screen_rotation_48px_outlines" android:translateX="24" diff --git a/packages/SystemUI/res/drawable/ic_portrait_from_auto_rotate.xml b/packages/SystemUI/res/drawable/ic_portrait_from_auto_rotate.xml index 0ac6795ce31b..17185a7c36b0 100644 --- a/packages/SystemUI/res/drawable/ic_portrait_from_auto_rotate.xml +++ b/packages/SystemUI/res/drawable/ic_portrait_from_auto_rotate.xml @@ -18,7 +18,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="icon" android:translateX="24" diff --git a/packages/SystemUI/res/drawable/ic_portrait_to_auto_rotate.xml b/packages/SystemUI/res/drawable/ic_portrait_to_auto_rotate.xml index 0cca6e30fabc..88bf486be459 100644 --- a/packages/SystemUI/res/drawable/ic_portrait_to_auto_rotate.xml +++ b/packages/SystemUI/res/drawable/ic_portrait_to_auto_rotate.xml @@ -18,7 +18,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="icon" android:translateX="24" diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_connected.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connected.xml index 0c65389349ae..8a3e9756ef65 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth_connected.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connected.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml index b9a315cd74e3..1dadc059457a 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connecting.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_detail_empty.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_detail_empty.xml index dd92126a6dc7..435bb9b81116 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth_detail_empty.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_detail_empty.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="56dp" android:height="56dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="@color/qs_detail_empty" diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml index 0cb1f32acb39..36eb418757df 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml index 9a68dad159ef..2e9e741c05b8 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_cast_off.xml b/packages/SystemUI/res/drawable/ic_qs_cast_off.xml index 80517958dac2..0fdbe1f06fc7 100644 --- a/packages/SystemUI/res/drawable/ic_qs_cast_off.xml +++ b/packages/SystemUI/res/drawable/ic_qs_cast_off.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_cast_on.xml b/packages/SystemUI/res/drawable/ic_qs_cast_on.xml index 794eb9e6bd58..d2e9eb2feaaa 100644 --- a/packages/SystemUI/res/drawable/ic_qs_cast_on.xml +++ b/packages/SystemUI/res/drawable/ic_qs_cast_on.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_dnd_off.xml b/packages/SystemUI/res/drawable/ic_qs_dnd_off.xml index 28d2e26a2a35..164a5577fa42 100644 --- a/packages/SystemUI/res/drawable/ic_qs_dnd_off.xml +++ b/packages/SystemUI/res/drawable/ic_qs_dnd_off.xml @@ -18,7 +18,8 @@ Copyright (C) 2015 The Android Open Source Project android:viewportHeight="24.0" android:viewportWidth="24.0" android:alpha=".3" - android:width="64dp" > + android:width="64dp" + android:tint="?android:attr/colorControlNormal" > <path android:fillColor="#FFFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_dnd_on.xml b/packages/SystemUI/res/drawable/ic_qs_dnd_on.xml index f4c20a9f823a..7e2eca86b410 100644 --- a/packages/SystemUI/res/drawable/ic_qs_dnd_on.xml +++ b/packages/SystemUI/res/drawable/ic_qs_dnd_on.xml @@ -17,7 +17,8 @@ android:width="64dp" android:height="64dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" android:pathData="M24.0,4.0C12.95,4.0 4.0,12.95 4.0,24.0s8.95,20.0 20.0,20.0 20.0,-8.95 20.0,-20.0S35.05,4.0 24.0,4.0zm10.0,22.0L14.0,26.0l0.0,-4.0l20.0,0.0l0.0,4.0z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_dnd_on_total_silence.xml b/packages/SystemUI/res/drawable/ic_qs_dnd_on_total_silence.xml index fb26c096f9dc..5f4fa11b66ea 100644 --- a/packages/SystemUI/res/drawable/ic_qs_dnd_on_total_silence.xml +++ b/packages/SystemUI/res/drawable/ic_qs_dnd_on_total_silence.xml @@ -17,7 +17,8 @@ android:width="64dp" android:height="64dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" diff --git a/packages/SystemUI/res/drawable/ic_qs_night_display_off.xml b/packages/SystemUI/res/drawable/ic_qs_night_display_off.xml index 778ccbc5f4a4..b99dc0316bf9 100644 --- a/packages/SystemUI/res/drawable/ic_qs_night_display_off.xml +++ b/packages/SystemUI/res/drawable/ic_qs_night_display_off.xml @@ -18,10 +18,11 @@ android:height="64dp" android:viewportWidth="24" android:viewportHeight="24" - android:alpha="0.3"> + android:alpha="0.3" + android:tint="?android:attr/colorControlNormal"> <path - android:fillColor="#FFF" + android:fillColor="#FFFFFF" android:pathData="M6,12c0,5.5,4.5,10,10,10c1,0,2-0.2,3-0.5c-4.1-1.3-7-5.1-7-9.5s2.9-8.3,7-9.5C18.1,2.2,17.1,2,16,2C10.5,2,6,6.5,6,12z" /> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_night_display_on.xml b/packages/SystemUI/res/drawable/ic_qs_night_display_on.xml index aaca663e59e9..d875592dfd87 100644 --- a/packages/SystemUI/res/drawable/ic_qs_night_display_on.xml +++ b/packages/SystemUI/res/drawable/ic_qs_night_display_on.xml @@ -17,10 +17,11 @@ android:width="64dp" android:height="64dp" android:viewportWidth="24" - android:viewportHeight="24"> + android:viewportHeight="24" + android:tint="?android:attr/colorControlNormal"> <path - android:fillColor="#FFF" + android:fillColor="#FFFFFF" android:pathData="M6,12c0,5.5,4.5,10,10,10c1,0,2-0.2,3-0.5c-4.1-1.3-7-5.1-7-9.5s2.9-8.3,7-9.5C18.1,2.2,17.1,2,16,2C10.5,2,6,6.5,6,12z" /> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_in.xml b/packages/SystemUI/res/drawable/ic_qs_signal_in.xml index 236fdac09c4b..4122b76da01a 100644 --- a/packages/SystemUI/res/drawable/ic_qs_signal_in.xml +++ b/packages/SystemUI/res/drawable/ic_qs_signal_in.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="6.0dp" android:height="32dp" android:viewportWidth="6.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" android:pathData="M6.000000,15.700000l-3.000000,5.599999 -3.000000,-5.599999z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_out.xml b/packages/SystemUI/res/drawable/ic_qs_signal_out.xml index c510972a5df8..a3823ae08375 100644 --- a/packages/SystemUI/res/drawable/ic_qs_signal_out.xml +++ b/packages/SystemUI/res/drawable/ic_qs_signal_out.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="6.0dp" android:height="32dp" android:viewportWidth="6.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" android:pathData="M0.000000,13.700000l3.000000,-5.700000 3.000000,5.700000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_0.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_0.xml index e6f929265709..fe963b153ffa 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_0.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_0.xml @@ -17,7 +17,8 @@ android:width="24.0dp" android:height="24.0dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:pathData="M13.8,12.2l5.7,0.0L23.6,7.0C23.2,6.7 18.7,3.0 12.0,3.0C5.3,3.0 0.8,6.7 0.4,7.0L12.0,21.5l0.0,0.0l0.0,0.0l1.8,-2.2L13.8,12.2z" android:fillAlpha="0.3" diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_1.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_1.xml index d423ccb2d5e2..82d2be2ea032 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_1.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_1.xml @@ -17,7 +17,8 @@ android:width="24.0dp" android:height="24.0dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:pathData="M13.8,13.2c-0.1,0.0 -0.3,-0.1 -0.4,-0.1c-0.1,0.0 -0.3,0.0 -0.4,-0.1c-0.3,0.0 -0.6,-0.1 -0.9,-0.1c0.0,0.0 0.0,0.0 -0.1,0.0c0.0,0.0 0.0,0.0 0.0,0.0s0.0,0.0 0.0,0.0c0.0,0.0 0.0,0.0 -0.1,0.0c-0.3,0.0 -0.6,0.0 -0.9,0.1c-0.1,0.0 -0.3,0.0 -0.4,0.1c-0.2,0.0 -0.3,0.1 -0.5,0.1c-0.2,0.0 -0.3,0.1 -0.5,0.1c-0.1,0.0 -0.1,0.0 -0.2,0.1c-1.6,0.5 -2.7,1.3 -2.8,1.5l5.3,6.6l0.0,0.0l0.0,0.0l0.0,0.0l0.0,0.0l1.8,-2.2L13.700002,13.2z" android:fillColor="#FFFFFF"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_2.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_2.xml index 1982130fb1c6..f30ba7620455 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_2.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_2.xml @@ -17,7 +17,8 @@ android:width="24.0dp" android:height="24.0dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:pathData="M13.8,12.2l4.9,0.0c-1.0,-0.7 -3.4,-2.2 -6.7,-2.2c-4.1,0.0 -6.9,2.2 -7.2,2.5l7.2,9.0l0.0,0.0l0.0,0.0l1.8,-2.2L13.800001,12.2z" android:fillColor="#FFFFFF"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_3.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_3.xml index b35011181a86..8a17083d0148 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_3.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_3.xml @@ -17,7 +17,8 @@ android:width="24.0dp" android:height="24.0dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:pathData="M13.8,12.2l5.7,0.0l1.0,-1.2C20.0,10.6 16.8,8.0 12.0,8.0s-8.0,2.6 -8.5,3.0L12.0,21.5l0.0,0.0l0.0,0.0l1.8,-2.2L13.8,12.2z" android:fillColor="#FFFFFF"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_4.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_4.xml index 136a00435430..fcd57d0b4de8 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_4.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_4.xml @@ -17,7 +17,8 @@ android:width="24.0dp" android:height="24.0dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:pathData="M13.8,12.2l5.7,0.0L23.6,7.0C23.2,6.7 18.7,3.0 12.0,3.0C5.3,3.0 0.8,6.7 0.4,7.0L12.0,21.5l0.0,0.0l0.0,0.0l1.8,-2.2L13.8,12.2z" android:fillColor="#FFFFFF"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_detail_empty.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_detail_empty.xml index ad6b247490d1..a7889ab7786a 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_detail_empty.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_detail_empty.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="56dp" android:height="56dp" android:viewportWidth="48.0" - android:viewportHeight="48.0"> + android:viewportHeight="48.0" + android:tint="?android:attr/colorControlNormal"> <path android:pathData="M24.0,4.0C15.0,4.0 6.7,7.0 0.0,12.0l24.0,32.0l24.0,-32.0C41.3,7.0 33.0,4.0 24.0,4.0z" diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_disabled.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_disabled.xml index c5057836dd6c..bbff2e15ea35 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_disabled.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_disabled.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" android:pathData="M17.500000,16.500000L5.800000,3.400000c0.000000,0.000000 0.000000,0.000000 0.000000,0.000000l-2.700000,-3.000000L1.600000,1.800000l2.200000,2.500000c-2.000000,1.000000 -3.200000,2.000000 -3.400000,2.200000L13.000000,22.000000l0.000000,0.000000l0.000000,0.000000l0.000000,0.000000l0.000000,0.000000l3.200000,-3.900000l2.400000,2.700000l1.500000,-1.400000L17.500000,16.500000L17.500000,16.500000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_disconnected.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_disconnected.xml index 2dcdb71194d1..071892a54698 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_disconnected.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_disconnected.xml @@ -17,7 +17,8 @@ android:width="26.0dp" android:height="24.0dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" android:pathData="M21.0,8.5 diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_full_0.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_full_0.xml index 1bc743816bef..c0e1037bd128 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_full_0.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_full_0.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" android:pathData="M13.000000,22.000000L25.600000,6.500000C25.100000,6.100000 20.299999,2.100000 13.000000,2.100000S0.900000,6.100000 0.400000,6.500000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_full_1.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_full_1.xml index 58561159e6a9..f6092955a35d 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_full_1.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_full_1.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" android:pathData="M13.100000,22.000000L25.600000,6.500000C25.100000,6.100000 20.299999,2.100000 13.000000,2.100000S0.900000,6.100000 0.500000,6.500000L13.100000,22.000000L13.100000,22.000000L13.100000,22.000000L13.100000,22.000000L13.100000,22.000000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_full_2.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_full_2.xml index 4a5e1f8fa1b1..f44b303d1b81 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_full_2.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_full_2.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" android:pathData="M13.000000,22.000000L25.600000,6.500000C25.100000,6.100000 20.299999,2.100000 13.000000,2.100000S0.900000,6.100000 0.400000,6.500000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_full_3.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_full_3.xml index 965442d4c263..850f5b90afc3 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_full_3.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_full_3.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" android:pathData="M13.000000,22.000000L25.600000,6.500000C25.100000,6.100000 20.299999,2.100000 13.000000,2.100000S0.900000,6.100000 0.400000,6.500000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_full_4.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_full_4.xml index b29d3f932b62..8ccc1fd91968 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_full_4.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_full_4.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#FFFFFFFF" android:pathData="M13.000000,22.000000L25.600000,6.500000C25.100000,6.100000 20.299999,2.100000 13.000000,2.100000S0.900000,6.100000 0.400000,6.500000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000L13.000000,22.000000z"/> diff --git a/packages/SystemUI/res/drawable/ic_qs_wifi_no_network.xml b/packages/SystemUI/res/drawable/ic_qs_wifi_no_network.xml index 3d588693e2d5..45cfc1c57b82 100644 --- a/packages/SystemUI/res/drawable/ic_qs_wifi_no_network.xml +++ b/packages/SystemUI/res/drawable/ic_qs_wifi_no_network.xml @@ -17,7 +17,8 @@ Copyright (C) 2014 The Android Open Source Project android:width="32.0dp" android:height="29.5dp" android:viewportWidth="26.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?android:attr/colorControlNormal"> <path android:fillColor="#4DFFFFFF" android:pathData="M13.000000,2.000000C7.700000,2.000000 3.700000,3.900000 0.400000,6.400000L13.000000,22.000000L25.600000,6.500000C22.299999,4.000000 18.299999,2.000000 13.000000,2.000000zM13.000000,18.600000L3.300000,7.000000l0.000000,0.000000l0.000000,0.000000C6.000000,5.300000 8.700000,4.000000 13.000000,4.000000s7.000000,1.400000 9.700000,3.000000l0.000000,0.000000l0.000000,0.000000L13.000000,18.600000z"/> diff --git a/packages/SystemUI/res/drawable/ic_signal_flashlight_disable.xml b/packages/SystemUI/res/drawable/ic_signal_flashlight_disable.xml index 35844b72b9ec..542797a080c4 100644 --- a/packages/SystemUI/res/drawable/ic_signal_flashlight_disable.xml +++ b/packages/SystemUI/res/drawable/ic_signal_flashlight_disable.xml @@ -20,7 +20,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="ic_signal_flashlight" android:translateX="21.9995" diff --git a/packages/SystemUI/res/drawable/ic_signal_flashlight_enable.xml b/packages/SystemUI/res/drawable/ic_signal_flashlight_enable.xml index d53608f53ec4..a5ba05bcfecb 100644 --- a/packages/SystemUI/res/drawable/ic_signal_flashlight_enable.xml +++ b/packages/SystemUI/res/drawable/ic_signal_flashlight_enable.xml @@ -20,7 +20,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="ic_signal_flashlight" android:translateX="21.9995" diff --git a/packages/SystemUI/res/drawable/ic_signal_location_disable.xml b/packages/SystemUI/res/drawable/ic_signal_location_disable.xml index 439851d3500a..e36f270d7560 100644 --- a/packages/SystemUI/res/drawable/ic_signal_location_disable.xml +++ b/packages/SystemUI/res/drawable/ic_signal_location_disable.xml @@ -20,7 +20,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="ic_signal_location" android:translateX="21.9995" diff --git a/packages/SystemUI/res/drawable/ic_signal_location_enable.xml b/packages/SystemUI/res/drawable/ic_signal_location_enable.xml index 8614458fe534..46a72bc7e455 100644 --- a/packages/SystemUI/res/drawable/ic_signal_location_enable.xml +++ b/packages/SystemUI/res/drawable/ic_signal_location_enable.xml @@ -20,7 +20,8 @@ android:height="48dp" android:width="48dp" android:viewportHeight="48" - android:viewportWidth="48" > + android:viewportWidth="48" + android:tint="?android:attr/colorControlNormal" > <group android:name="ic_signal_location" android:translateX="21.9995" diff --git a/preloaded-classes b/preloaded-classes index a79ae5098098..da3861a4b642 100644 --- a/preloaded-classes +++ b/preloaded-classes @@ -365,6 +365,8 @@ android.app.ApplicationPackageManager$ResourceName android.app.BackStackRecord android.app.BackStackRecord$Op android.app.BackStackRecord$TransitionState +android.app.ContentProviderHolder +android.app.ContentProviderHolder$1 android.app.ContextImpl android.app.ContextImpl$ApplicationContentResolver android.app.Dialog @@ -383,8 +385,8 @@ android.app.FragmentManagerImpl android.app.FragmentManagerImpl$1 android.app.FragmentTransaction android.app.IActivityManager -android.app.IActivityManager$ContentProviderHolder -android.app.IActivityManager$ContentProviderHolder$1 +android.app.IActivityManager$Stub +android.app.IActivityManager$Stub$Proxy android.app.IAlarmManager android.app.IAlarmManager$Stub android.app.IAlarmManager$Stub$Proxy |