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

Commit 8502dbe6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix bug where scrim would be transparent"

parents b7b838fc d2963f3d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.graphics.Xfermode;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v4.graphics.ColorUtils;
import android.view.animation.DecelerateInterpolator;

@@ -196,6 +197,16 @@ public class GradientDrawable extends Drawable {
        canvas.drawRect(x - radius, y - radius, x + radius, y + radius, mPaint);
    }

    @VisibleForTesting
    public int getMainColor() {
        return mMainColor;
    }

    @VisibleForTesting
    public int getSecondaryColor() {
        return mSecondaryColor;
    }

    static final class Splat {
        final float x;
        final float y;
+6 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ public class ScrimView extends View implements ConfigurationController.Configura
        mDrawable.setCallback(this);
        mColors = new ColorExtractor.GradientColors();
        updateScreenSize();
        updateColorWithTint(false);

        // We need to know about configuration changes to update the gradient size
        // since it's independent from view bounds.
@@ -189,6 +190,11 @@ public class ScrimView extends View implements ConfigurationController.Configura
        return mDrawable;
    }

    @VisibleForTesting
    ColorExtractor.GradientColors getColors() {
        return mColors;
    }

    public void setTint(int color) {
        setTint(color, false);
    }
+20 −19
Original line number Diff line number Diff line
@@ -16,39 +16,30 @@

package com.android.systemui.statusbar;

import static junit.framework.Assert.assertEquals;

import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;

import android.graphics.drawable.VectorDrawable;
import android.support.test.filters.SmallTest;
import android.testing.AndroidTestingRunner;
import android.support.test.filters.SmallTest;
import android.view.View;

import com.android.systemui.SysuiTestCase;
import com.android.systemui.statusbar.ScrimView;

import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyFloat;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.mock;
import com.google.android.colorextraction.ColorExtractor;
import com.google.android.colorextraction.drawable.GradientDrawable;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static junit.framework.Assert.assertEquals;

@RunWith(AndroidTestingRunner.class)
@SmallTest
@@ -70,6 +61,16 @@ public class ScrimViewTest extends SysuiTestCase {
        assertEquals(drawable, mView.getDrawable());
    }

    @Test
    public void testCreation_initialColor() {
        GradientDrawable drawable = (GradientDrawable) mView.getDrawable();
        ColorExtractor.GradientColors colors = mView.getColors();
        assertEquals("Main color should be set upon creation",
                drawable.getMainColor(), colors.getMainColor());
        assertEquals("Secondary color should be set upon creation",
                drawable.getSecondaryColor(), colors.getSecondaryColor());
    }

    @Test
    public void testSetViewAlpha_propagatesToDrawable() {
        float alpha = 0.5f;