Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b27b47df authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Add transfer mode support to ColorDrawable

Test: runtest --path cts/tests/tests/graphics/src/android/graphics/drawable/cts/ColorDrawableTest.java
Change-Id: Ice87f248e307710315304fc191cb58ee7142e525
parent 947be6be
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13997,6 +13997,7 @@ package android.graphics.drawable {
    method public void draw(android.graphics.Canvas);
    method public int getColor();
    method public int getOpacity();
    method public android.graphics.Xfermode getXfermode();
    method public void setAlpha(int);
    method public void setColor(int);
    method public void setColorFilter(android.graphics.ColorFilter);
+21 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package android.graphics.drawable;

import android.annotation.ColorInt;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.content.pm.ActivityInfo.Config;
import android.graphics.*;
import android.graphics.PorterDuff.Mode;
@@ -213,6 +215,25 @@ public class ColorDrawable extends Drawable {
        return mColorState.mTint != null && mColorState.mTint.hasFocusStateSpecified();
    }

    /**
     * @hide
     * @param mode new transfer mode
     */
    @Override
    public void setXfermode(@Nullable Xfermode mode) {
        mPaint.setXfermode(mode);
        invalidateSelf();
    }

    /**
     * @hide
     * @return current transfer mode
     */
    @TestApi
    public Xfermode getXfermode() {
        return mPaint.getXfermode();
    }

    @Override
    public int getOpacity() {
        if (mTintFilter != null || mPaint.getColorFilter() != null) {