Fix google-explicit-constructor warnings in libs/hwui.
* Add explicit keyword to conversion constructors,
or add NOLINT for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1
Change-Id: Id8ca42433a4fc3652e4cb13787c4cb169f20d9a9
diff --git a/libs/hwui/ClipArea.h b/libs/hwui/ClipArea.h
index 6eb2eef..32ab501 100644
--- a/libs/hwui/ClipArea.h
+++ b/libs/hwui/ClipArea.h
@@ -97,9 +97,9 @@
};
struct ClipBase {
- ClipBase(ClipMode mode)
+ explicit ClipBase(ClipMode mode)
: mode(mode) {}
- ClipBase(const Rect& rect)
+ explicit ClipBase(const Rect& rect)
: mode(ClipMode::Rectangle)
, rect(rect) {}
const ClipMode mode;
@@ -112,19 +112,19 @@
};
struct ClipRect : ClipBase {
- ClipRect(const Rect& rect)
+ explicit ClipRect(const Rect& rect)
: ClipBase(rect) {}
};
struct ClipRectList : ClipBase {
- ClipRectList(const RectangleList& rectList)
+ explicit ClipRectList(const RectangleList& rectList)
: ClipBase(ClipMode::RectangleList)
, rectList(rectList) {}
RectangleList rectList;
};
struct ClipRegion : ClipBase {
- ClipRegion(const SkRegion& region)
+ explicit ClipRegion(const SkRegion& region)
: ClipBase(ClipMode::Region)
, region(region) {}
ClipRegion()
diff --git a/libs/hwui/DeferredLayerUpdater.h b/libs/hwui/DeferredLayerUpdater.h
index 44a24c8..4005822 100644
--- a/libs/hwui/DeferredLayerUpdater.h
+++ b/libs/hwui/DeferredLayerUpdater.h
@@ -35,7 +35,7 @@
public:
// Note that DeferredLayerUpdater assumes it is taking ownership of the layer
// and will not call incrementRef on it as a result.
- ANDROID_API DeferredLayerUpdater(Layer* layer);
+ ANDROID_API explicit DeferredLayerUpdater(Layer* layer);
ANDROID_API ~DeferredLayerUpdater();
ANDROID_API bool setSize(int width, int height) {
diff --git a/libs/hwui/FontRenderer.h b/libs/hwui/FontRenderer.h
index e10a81b..d656864 100644
--- a/libs/hwui/FontRenderer.h
+++ b/libs/hwui/FontRenderer.h
@@ -96,7 +96,7 @@
class FontRenderer {
public:
- FontRenderer(const uint8_t* gammaTable);
+ explicit FontRenderer(const uint8_t* gammaTable);
~FontRenderer();
void flushLargeCaches(std::vector<CacheTexture*>& cacheTextures);
diff --git a/libs/hwui/GpuMemoryTracker.h b/libs/hwui/GpuMemoryTracker.h
index 851aeae..bfb1bf1 100644
--- a/libs/hwui/GpuMemoryTracker.h
+++ b/libs/hwui/GpuMemoryTracker.h
@@ -52,7 +52,7 @@
static void onFrameCompleted();
protected:
- GpuMemoryTracker(GpuObjectType type) : mType(type) {
+ explicit GpuMemoryTracker(GpuObjectType type) : mType(type) {
ASSERT_GPU_THREAD();
startTrackingObject();
}
diff --git a/libs/hwui/PropertyValuesAnimatorSet.h b/libs/hwui/PropertyValuesAnimatorSet.h
index c7ae7c0..602fd91 100644
--- a/libs/hwui/PropertyValuesAnimatorSet.h
+++ b/libs/hwui/PropertyValuesAnimatorSet.h
@@ -73,7 +73,7 @@
class PropertyAnimatorSetListener : public AnimationListener {
public:
- PropertyAnimatorSetListener(PropertyValuesAnimatorSet* set) : mSet(set) {}
+ explicit PropertyAnimatorSetListener(PropertyValuesAnimatorSet* set) : mSet(set) {}
virtual void onAnimationFinished(BaseRenderNodeAnimator* animator) override;
private:
diff --git a/libs/hwui/RecordedOp.h b/libs/hwui/RecordedOp.h
index aee9d63..5497f86 100644
--- a/libs/hwui/RecordedOp.h
+++ b/libs/hwui/RecordedOp.h
@@ -509,7 +509,7 @@
, mode(PaintUtils::getXfermodeDirect(paint))
, colorFilter(paint ? paint->getColorFilter() : nullptr) {}
- LayerOp(RenderNode& node)
+ explicit LayerOp(RenderNode& node)
: RecordedOp(RecordedOpId::LayerOp, Rect(node.getWidth(), node.getHeight()), Matrix4::identity(), nullptr, nullptr)
, layerHandle(node.getLayerHandle())
, alpha(node.properties().layerProperties().alpha() / 255.0f)
diff --git a/libs/hwui/VectorDrawable.h b/libs/hwui/VectorDrawable.h
index a5d1d4b..3586d8a 100644
--- a/libs/hwui/VectorDrawable.h
+++ b/libs/hwui/VectorDrawable.h
@@ -90,7 +90,7 @@
public:
class Properties {
public:
- Properties(Node* node) : mNode(node) {}
+ explicit Properties(Node* node) : mNode(node) {}
inline void onPropertyChanged() {
mNode->onPropertyChanged(this);
}
@@ -132,7 +132,7 @@
class PathProperties : public Properties {
public:
- PathProperties(Node* node) : Properties(node) {}
+ explicit PathProperties(Node* node) : Properties(node) {}
void syncProperties(const PathProperties& prop) {
mData = prop.mData;
onPropertyChanged();
@@ -218,7 +218,7 @@
float strokeMiterLimit = 4;
int fillType = 0; /* non-zero or kWinding_FillType in Skia */
};
- FullPathProperties(Node* mNode) : Properties(mNode), mTrimDirty(false) {}
+ explicit FullPathProperties(Node* mNode) : Properties(mNode), mTrimDirty(false) {}
~FullPathProperties() {
SkSafeUnref(fillGradient);
SkSafeUnref(strokeGradient);
@@ -409,7 +409,7 @@
public:
class GroupProperties : public Properties {
public:
- GroupProperties(Node* mNode) : Properties(mNode) {}
+ explicit GroupProperties(Node* mNode) : Properties(mNode) {}
struct PrimitiveFields {
float rotate = 0;
float pivotX = 0;
@@ -539,7 +539,7 @@
class ANDROID_API Tree : public VirtualLightRefBase {
public:
- Tree(Group* rootNode) : mRootNode(rootNode) {
+ explicit Tree(Group* rootNode) : mRootNode(rootNode) {
mRootNode->setPropertyChangedListener(&mPropertyChangedListener);
}
@@ -576,7 +576,7 @@
class TreeProperties {
public:
- TreeProperties(Tree* tree) : mTree(tree) {}
+ explicit TreeProperties(Tree* tree) : mTree(tree) {}
// Properties that can only be modified by UI thread, therefore sync should
// only go from UI to RT
struct NonAnimatableProperties {
diff --git a/libs/hwui/hwui/Paint.h b/libs/hwui/hwui/Paint.h
index 9599c30..f72a632 100644
--- a/libs/hwui/hwui/Paint.h
+++ b/libs/hwui/hwui/Paint.h
@@ -30,7 +30,7 @@
public:
Paint();
Paint(const Paint& paint);
- Paint(const SkPaint& paint);
+ Paint(const SkPaint& paint); // NOLINT(implicit)
~Paint();
Paint& operator=(const Paint& other);
diff --git a/libs/hwui/renderstate/OffscreenBufferPool.h b/libs/hwui/renderstate/OffscreenBufferPool.h
index 73a3392..26d4e36 100644
--- a/libs/hwui/renderstate/OffscreenBufferPool.h
+++ b/libs/hwui/renderstate/OffscreenBufferPool.h
@@ -126,7 +126,7 @@
: width(OffscreenBuffer::computeIdealDimension(layerWidth))
, height(OffscreenBuffer::computeIdealDimension(layerHeight)) {}
- Entry(OffscreenBuffer* layer)
+ explicit Entry(OffscreenBuffer* layer)
: layer(layer)
, width(layer->texture.width())
, height(layer->texture.height()) {
diff --git a/libs/hwui/tests/common/TestScene.h b/libs/hwui/tests/common/TestScene.h
index 706f2ff..060984e 100644
--- a/libs/hwui/tests/common/TestScene.h
+++ b/libs/hwui/tests/common/TestScene.h
@@ -55,7 +55,7 @@
class Registrar {
public:
- Registrar(const TestScene::Info& info) {
+ explicit Registrar(const TestScene::Info& info) {
TestScene::registerScene(info);
}
private:
diff --git a/libs/hwui/tests/common/TestUtils.h b/libs/hwui/tests/common/TestUtils.h
index a48469c..5a4ab99 100644
--- a/libs/hwui/tests/common/TestUtils.h
+++ b/libs/hwui/tests/common/TestUtils.h
@@ -102,7 +102,7 @@
public:
SignalingDtor()
: mSignal(nullptr) {}
- SignalingDtor(int* signal)
+ explicit SignalingDtor(int* signal)
: mSignal(signal) {}
void setSignal(int* signal) {
mSignal = signal;
@@ -202,7 +202,7 @@
class TestTask : public renderthread::RenderTask {
public:
- TestTask(RtCallback rtCallback)
+ explicit TestTask(RtCallback rtCallback)
: rtCallback(rtCallback) {}
virtual ~TestTask() {}
virtual void run() override;
diff --git a/libs/hwui/utils/FatVector.h b/libs/hwui/utils/FatVector.h
index 93d37c2..df8cb076 100644
--- a/libs/hwui/utils/FatVector.h
+++ b/libs/hwui/utils/FatVector.h
@@ -53,7 +53,7 @@
typedef T value_type; // needed to implement std::allocator
typedef T* pointer; // needed to implement std::allocator
- InlineStdAllocator(Allocation& allocation)
+ explicit InlineStdAllocator(Allocation& allocation)
: mAllocation(allocation) {}
InlineStdAllocator(const InlineStdAllocator& other)
: mAllocation(other.mAllocation) {}
@@ -93,7 +93,7 @@
this->reserve(SIZE);
}
- FatVector(size_t capacity) : FatVector() {
+ explicit FatVector(size_t capacity) : FatVector() {
this->resize(capacity);
}
diff --git a/libs/hwui/utils/LinearAllocator.h b/libs/hwui/utils/LinearAllocator.h
index 34c8c6b..f95a6fe 100644
--- a/libs/hwui/utils/LinearAllocator.h
+++ b/libs/hwui/utils/LinearAllocator.h
@@ -157,7 +157,7 @@
typedef T value_type; // needed to implement std::allocator
typedef T* pointer; // needed to implement std::allocator
- LinearStdAllocator(LinearAllocator& allocator)
+ explicit LinearStdAllocator(LinearAllocator& allocator)
: linearAllocator(allocator) {}
LinearStdAllocator(const LinearStdAllocator& other)
: linearAllocator(other.linearAllocator) {}
@@ -170,7 +170,7 @@
};
// enable allocators to be constructed from other templated types
template <class U>
- LinearStdAllocator(const LinearStdAllocator<U>& other)
+ LinearStdAllocator(const LinearStdAllocator<U>& other) // NOLINT(implicit)
: linearAllocator(other.linearAllocator) {}
T* allocate(size_t num, const void* = 0) {
@@ -195,7 +195,7 @@
template <class T>
class LsaVector : public std::vector<T, LinearStdAllocator<T>> {
public:
- LsaVector(const LinearStdAllocator<T>& allocator)
+ explicit LsaVector(const LinearStdAllocator<T>& allocator)
: std::vector<T, LinearStdAllocator<T>>(allocator) {}
};