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

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

Fix bug where scrim would be transparent

Test: runtest -x tests/src/com/android/systemui/statusbar/ScrimViewTest.java
Change-Id: I61a810430530c70edcc6a534e5380f7f78448aec
parent ced004da
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;