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

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

Merge "Add edgeEffectType attribute and type property" into sc-dev

parents 61d138ac ba1c4c4e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -573,6 +573,7 @@ package android {
    field public static final int dropDownWidth = 16843362; // 0x1010262
    field public static final int duplicateParentState = 16842985; // 0x10100e9
    field public static final int duration = 16843160; // 0x1010198
    field public static final int edgeEffectType = 16844329; // 0x1010629
    field public static final int editTextBackground = 16843602; // 0x1010352
    field public static final int editTextColor = 16843601; // 0x1010351
    field public static final int editTextPreferenceStyle = 16842898; // 0x1010092
@@ -53586,6 +53587,7 @@ package android.widget {
    method @Nullable public android.graphics.BlendMode getBlendMode();
    method @ColorInt public int getColor();
    method public int getMaxHeight();
    method public int getType();
    method public boolean isFinished();
    method public void onAbsorb(int);
    method public void onPull(float);
@@ -53594,7 +53596,10 @@ package android.widget {
    method public void setBlendMode(@Nullable android.graphics.BlendMode);
    method public void setColor(@ColorInt int);
    method public void setSize(int, int);
    method public void setType(int);
    field public static final android.graphics.BlendMode DEFAULT_BLEND_MODE;
    field public static final int TYPE_GLOW = 0; // 0x0
    field public static final int TYPE_STRETCH = 1; // 0x1
  }
  public class EditText extends android.widget.TextView {
+45 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.widget;

import android.annotation.ColorInt;
import android.annotation.IntDef;
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
@@ -30,6 +31,9 @@ import android.view.animation.AnimationUtils;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * This class performs the graphical effect used at the edges of scrollable widgets
 * when the user scrolls beyond the content bounds in 2D space.
@@ -55,6 +59,24 @@ public class EdgeEffect {
     */
    public static final BlendMode DEFAULT_BLEND_MODE = BlendMode.SRC_ATOP;

    /**
     * Use a color edge glow for the edge effect. From XML, use
     * <code>android:edgeEffectType="glow"</code>.
     */
    public static final int TYPE_GLOW = 0;

    /**
     * Use a stretch for the edge effect. From XML, use
     * <code>android:edgeEffectType="stretch"</code>.
     */
    public static final int TYPE_STRETCH = 1;

    /** @hide */
    @IntDef({TYPE_GLOW, TYPE_STRETCH})
    @Retention(RetentionPolicy.SOURCE)
    public @interface EdgeEffectType {
    }

    @SuppressWarnings("UnusedDeclaration")
    private static final String TAG = "EdgeEffect";

@@ -121,6 +143,7 @@ public class EdgeEffect {
    private float mBaseGlowScale;
    private float mDisplacement = 0.5f;
    private float mTargetDisplacement = 0.5f;
    private @EdgeEffectType int mEdgeEffectType = TYPE_GLOW;

    /**
     * Construct a new EdgeEffect with a theme appropriate for the provided context.
@@ -132,6 +155,8 @@ public class EdgeEffect {
                com.android.internal.R.styleable.EdgeEffect);
        final int themeColor = a.getColor(
                com.android.internal.R.styleable.EdgeEffect_colorEdgeEffect, 0xff666666);
        mEdgeEffectType = a.getInt(
                com.android.internal.R.styleable.EdgeEffect_edgeEffectType, TYPE_GLOW);
        a.recycle();
        mPaint.setColor((themeColor & 0xffffff) | 0x33000000);
        mPaint.setStyle(Paint.Style.FILL);
@@ -308,6 +333,17 @@ public class EdgeEffect {
        mPaint.setColor(color);
    }

    /**
     * Sets the edge effect type to use. The default without a theme attribute set is
     * {@link EdgeEffect#TYPE_GLOW}.
     *
     * @param type The edge effect type to use.
     * @attr ref android.R.styleable#EdgeEffect_edgeEffectType
     */
    public void setType(@EdgeEffectType int type) {
        mEdgeEffectType = type;
    }

    /**
     * Set or clear the blend mode. A blend mode defines how source pixels
     * (generated by a drawing command) are composited with the destination pixels
@@ -333,6 +369,15 @@ public class EdgeEffect {
        return mPaint.getColor();
    }

    /**
     * Return the edge effect type to use.
     *
     * @return The edge effect type to use.
     * @attr ref android.R.styleable#EdgeEffect_edgeEffectType
     */
    public @EdgeEffectType int getType() {
        return mEdgeEffectType;
    }

    /**
     * Returns the blend mode. A blend mode defines how source pixels
+10 −0
Original line number Diff line number Diff line
@@ -1140,6 +1140,15 @@
        <!-- The color applied to the edge effect on scrolling containers. -->
        <attr name="colorEdgeEffect" format="color" />
        <!-- The type of the edge effect. The default is glow. -->
        <attr name="edgeEffectType">
            <!-- Use a colored glow at the edge. -->
            <enum name="glow" value="0" />
            <!-- Stretch the content. -->
            <enum name="stretch" value="1" />
        </attr>
        <!-- =================== -->
        <!-- Lighting properties -->
        <!-- =================== -->
@@ -9050,6 +9059,7 @@
    <!-- Used as a filter array on the theme to pull out only the EdgeEffect-relevant bits. -->
    <declare-styleable name="EdgeEffect">
        <attr name="colorEdgeEffect" />
        <attr name="edgeEffectType" />
    </declare-styleable>
    <!-- Use <code>tv-input</code> as the root tag of the XML resource that describes a
+1 −0
Original line number Diff line number Diff line
@@ -3063,6 +3063,7 @@
    <public name="hotwordDetectionService" />
    <public name="previewLayout" />
    <public name="clipToOutline" />
    <public name="edgeEffectType" />
  </public-group>

  <public-group type="drawable" first-id="0x010800b5">