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

Commit 370e8f68 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 9348344 from bcea9cc0 to tm-qpr2-release

Change-Id: I0276b545fd66a0fde063588bfe19ca0541417bab
parents 83aec716 bcea9cc0
Loading
Loading
Loading
Loading
+17 −19
Original line number Diff line number Diff line
@@ -31,9 +31,9 @@ import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
import android.os.Build;
import android.os.UserHandle;
import android.util.Log;
import android.util.SparseBooleanArray;

import androidx.annotation.ColorInt;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -82,8 +82,6 @@ public class BaseIconFactory implements AutoCloseable {
    @NonNull
    private final ColorExtractor mColorExtractor;

    private boolean mDisableColorExtractor;

    protected final int mFillResIconDpi;
    protected final int mIconBitmapSize;

@@ -126,7 +124,6 @@ public class BaseIconFactory implements AutoCloseable {

    protected void clear() {
        mWrapperBackgroundColor = DEFAULT_WRAPPER_BACKGROUND;
        mDisableColorExtractor = false;
    }

    @NonNull
@@ -180,7 +177,7 @@ public class BaseIconFactory implements AutoCloseable {
            icon = createIconBitmap(new BitmapDrawable(mContext.getResources(), icon), 1f);
        }

        return BitmapInfo.of(icon, extractColor(icon));
        return BitmapInfo.of(icon, mColorExtractor.findDominantColorByHue(icon));
    }

    /**
@@ -217,7 +214,8 @@ public class BaseIconFactory implements AutoCloseable {
        icon = normalizeAndWrapToAdaptiveIcon(icon, shrinkNonAdaptiveIcons, null, scale);
        Bitmap bitmap = createIconBitmap(icon, scale[0], MODE_WITH_SHADOW);

        int color = extractColor(bitmap);
        int color = (options != null && options.mExtractedColor != null)
                ? options.mExtractedColor : mColorExtractor.findDominantColorByHue(bitmap);
        BitmapInfo info = BitmapInfo.of(bitmap, color);

        if (icon instanceof BitmapInfo.Extender) {
@@ -288,13 +286,6 @@ public class BaseIconFactory implements AutoCloseable {
        mWrapperBackgroundColor = (Color.alpha(color) < 255) ? DEFAULT_WRAPPER_BACKGROUND : color;
    }

    /**
     * Disables the dominant color extraction for all icons loaded.
     */
    public void disableColorExtraction() {
        mDisableColorExtractor = true;
    }

    @Nullable
    protected Drawable normalizeAndWrapToAdaptiveIcon(@Nullable Drawable icon,
            final boolean shrinkNonAdaptiveIcons, @Nullable final RectF outIconBounds,
@@ -448,10 +439,6 @@ public class BaseIconFactory implements AutoCloseable {
                android.R.drawable.sym_def_app_icon, iconDpi));
    }

    private int extractColor(@NonNull final Bitmap bitmap) {
        return mDisableColorExtractor ? 0 : mColorExtractor.findDominantColorByHue(bitmap);
    }

    /**
     * Returns the correct badge size given an icon size
     */
@@ -465,8 +452,10 @@ public class BaseIconFactory implements AutoCloseable {

        boolean mIsInstantApp;

        @Nullable
        UserHandle mUserHandle;
        @Nullable UserHandle mUserHandle;

        @ColorInt
        @Nullable Integer mExtractedColor;

        /**
         * Set to false if non-adaptive icons should not be treated
@@ -494,6 +483,15 @@ public class BaseIconFactory implements AutoCloseable {
            mIsInstantApp = instantApp;
            return this;
        }

        /**
         * Disables auto color extraction and overrides the color to the provided value
         */
        @NonNull
        public IconOptions setExtractedColor(@ColorInt int color) {
            mExtractedColor = color;
            return this;
        }
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ public class ColorExtractor {
     * This picks a dominant color, looking for high-saturation, high-value, repeated hues.
     * @param bitmap The bitmap to scan
     */
    public int findDominantColorByHue(@NonNull final Bitmap bitmap, final int samples) {
    protected int findDominantColorByHue(@NonNull final Bitmap bitmap, final int samples) {
        final int height = bitmap.getHeight();
        final int width = bitmap.getWidth();
        int sampleStride = (int) Math.sqrt((height * width) / samples);
+7 −1
Original line number Diff line number Diff line
@@ -209,6 +209,12 @@ class DdmHandleMotionToolTest {
        return MotionToolsResponse.parseFrom(wrapChunk(responseChunk).array())
    }

    private fun getActivityViewRootId() = WindowManagerGlobal.getInstance().viewRootNames.first()
    private fun getActivityViewRootId(): String {
        var activityViewRootId = ""
        activityScenarioRule.scenario.onActivity {
            activityViewRootId = WindowManagerGlobal.getInstance().viewRootNames.first()
        }
        return activityViewRootId
    }

}
+7 −2
Original line number Diff line number Diff line
@@ -112,6 +112,11 @@ class MotionToolManagerTest {

    }

    private fun getActivityViewRootId() = WindowManagerGlobal.getInstance().viewRootNames.first()

    private fun getActivityViewRootId(): String {
        var activityViewRootId = ""
        activityScenarioRule.scenario.onActivity {
            activityViewRootId = WindowManagerGlobal.getInstance().viewRootNames.first()
        }
        return activityViewRootId
    }
}