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

Commit 7224c1ec authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Moving color extraction classes

Fixes: 62220212
Test: make
Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java
Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
Test: runtest systemui
Change-Id: I7c4cf5c40a88555e81fbad9bec2b32c55c927468
parent 3771c46e
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -14,24 +14,22 @@
 * limitations under the License
 */

package com.google.android.colorextraction;
package com.android.internal.colorextraction;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.WallpaperColors;
import android.app.WallpaperManager;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Trace;
import android.support.annotation.VisibleForTesting;
import android.util.Log;
import android.util.SparseArray;

import com.google.android.colorextraction.types.ExtractionType;
import com.google.android.colorextraction.types.Tonal;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.colorextraction.types.ExtractionType;
import com.android.internal.colorextraction.types.Tonal;

import java.util.ArrayList;
import java.util.List;

/**
 * Class to process wallpaper colors and generate a tonal palette based on them.
+6 −6
Original line number Diff line number Diff line
@@ -14,11 +14,13 @@
 * limitations under the License
 */

package com.google.android.colorextraction.drawable;
package com.android.internal.colorextraction.drawable;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
@@ -29,13 +31,11 @@ import android.graphics.Rect;
import android.graphics.Shader;
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;

import com.google.android.colorextraction.ColorExtractor;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.graphics.ColorUtils;

/**
 * Draws a gradient based on a Palette
+2 −2
Original line number Diff line number Diff line
@@ -14,11 +14,11 @@
 * limitations under the License
 */

package com.google.android.colorextraction.types;
package com.android.internal.colorextraction.types;

import android.app.WallpaperColors;

import com.google.android.colorextraction.ColorExtractor;
import com.android.internal.colorextraction.ColorExtractor;

/**
 * Interface to allow various color extraction implementations.
+11 −13
Original line number Diff line number Diff line
@@ -14,20 +14,19 @@
 * limitations under the License
 */

package com.google.android.colorextraction.types;
package com.android.internal.colorextraction.types;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.WallpaperColors;
import android.graphics.Color;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v4.graphics.ColorUtils;
import android.util.Log;
import android.util.MathUtils;
import android.util.Pair;
import android.util.Range;

import com.google.android.colorextraction.ColorExtractor.GradientColors;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.colorextraction.ColorExtractor.GradientColors;
import com.android.internal.graphics.ColorUtils;

import java.util.Arrays;
import java.util.List;
@@ -616,7 +615,7 @@ public class Tonal implements ExtractionType {

    @SuppressWarnings("WeakerAccess")
    @VisibleForTesting
    static final ColorRange[] BLACKLISTED_COLORS = new ColorRange[] {
    public static final ColorRange[] BLACKLISTED_COLORS = new ColorRange[] {

            // Red
            new ColorRange(
@@ -768,18 +767,18 @@ public class Tonal implements ExtractionType {
     * </ul>
     */
    @VisibleForTesting
    static class ColorRange {
    public static class ColorRange {
        private Range<Float> mHue;
        private Range<Float> mSaturation;
        private Range<Float> mLightness;

        ColorRange(Range<Float> hue, Range<Float> saturation, Range<Float> lightness) {
        public ColorRange(Range<Float> hue, Range<Float> saturation, Range<Float> lightness) {
            mHue = hue;
            mSaturation = saturation;
            mLightness = lightness;
        }

        boolean containsColor(float h, float s, float l) {
        public boolean containsColor(float h, float s, float l) {
            if (!mHue.contains(h)) {
                return false;
            } else if (!mSaturation.contains(s)) {
@@ -790,8 +789,7 @@ public class Tonal implements ExtractionType {
            return true;
        }

        @VisibleForTesting
        float[] getCenter() {
        public float[] getCenter() {
            return new float[] {
                    mHue.getLower() + (mHue.getUpper() - mHue.getLower()) / 2f,
                    mSaturation.getLower() + (mSaturation.getUpper() - mSaturation.getLower()) / 2f,
+1 −2
Original line number Diff line number Diff line
@@ -38,8 +38,7 @@ LOCAL_STATIC_ANDROID_LIBRARIES := \
    android-support-v7-mediarouter \
    android-support-v7-palette \
    android-support-v14-preference \
    android-support-v17-leanback \
    colorextraction
    android-support-v17-leanback

LOCAL_STATIC_JAVA_LIBRARIES := \
    SystemUI-tags \
Loading