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

Commit d4eaef7f authored by Jun Mukai's avatar Jun Mukai
Browse files

Make public pointer icon API with custom icons.

BUG: 25778347, 23804184
Change-Id: If138b97c750c912e9848412c27b65004899961eb
parent 40aa9f1b
Loading
Loading
Loading
Loading
+34 −0
Original line number Original line Diff line number Diff line
@@ -40337,6 +40337,38 @@ package android.view {
    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
  }
  }
  public final class PointerIcon implements android.os.Parcelable {
    method public static android.view.PointerIcon createCustomIcon(android.graphics.Bitmap, float, float);
    method public int describeContents();
    method public static android.view.PointerIcon getSystemIcon(android.content.Context, int);
    method public static android.view.PointerIcon loadCustomIcon(android.content.res.Resources, int);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
    field public static final int STYLE_ALIAS = 1010; // 0x3f2
    field public static final int STYLE_ALL_SCROLL = 1013; // 0x3f5
    field public static final int STYLE_ARROW = 1000; // 0x3e8
    field public static final int STYLE_CELL = 1006; // 0x3ee
    field public static final int STYLE_CONTEXT_MENU = 1001; // 0x3e9
    field public static final int STYLE_COPY = 1011; // 0x3f3
    field public static final int STYLE_CROSSHAIR = 1007; // 0x3ef
    field public static final int STYLE_DEFAULT = 1000; // 0x3e8
    field public static final int STYLE_GRAB = 1020; // 0x3fc
    field public static final int STYLE_GRABBING = 1021; // 0x3fd
    field public static final int STYLE_HAND = 1002; // 0x3ea
    field public static final int STYLE_HELP = 1003; // 0x3eb
    field public static final int STYLE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
    field public static final int STYLE_NO_DROP = 1012; // 0x3f4
    field public static final int STYLE_NULL = 0; // 0x0
    field public static final int STYLE_TEXT = 1008; // 0x3f0
    field public static final int STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
    field public static final int STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
    field public static final int STYLE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
    field public static final int STYLE_VERTICAL_TEXT = 1009; // 0x3f1
    field public static final int STYLE_WAIT = 1004; // 0x3ec
    field public static final int STYLE_ZOOM_IN = 1018; // 0x3fa
    field public static final int STYLE_ZOOM_OUT = 1019; // 0x3fb
  }
  public class ScaleGestureDetector {
  public class ScaleGestureDetector {
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
@@ -40696,6 +40728,7 @@ package android.view {
    method public android.view.ViewParent getParentForAccessibility();
    method public android.view.ViewParent getParentForAccessibility();
    method public float getPivotX();
    method public float getPivotX();
    method public float getPivotY();
    method public float getPivotY();
    method public android.view.PointerIcon getPointerIcon(android.view.MotionEvent, float, float);
    method public android.content.res.Resources getResources();
    method public android.content.res.Resources getResources();
    method public final int getRight();
    method public final int getRight();
    method protected float getRightFadingEdgeStrength();
    method protected float getRightFadingEdgeStrength();
@@ -40978,6 +41011,7 @@ package android.view {
    method public void setPaddingRelative(int, int, int, int);
    method public void setPaddingRelative(int, int, int, int);
    method public void setPivotX(float);
    method public void setPivotX(float);
    method public void setPivotY(float);
    method public void setPivotY(float);
    method public void setPointerIcon(android.view.PointerIcon);
    method public void setPressed(boolean);
    method public void setPressed(boolean);
    method public final void setRight(int);
    method public final void setRight(int);
    method public void setRotation(float);
    method public void setRotation(float);
+34 −0
Original line number Original line Diff line number Diff line
@@ -42675,6 +42675,38 @@ package android.view {
    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
  }
  }
  public final class PointerIcon implements android.os.Parcelable {
    method public static android.view.PointerIcon createCustomIcon(android.graphics.Bitmap, float, float);
    method public int describeContents();
    method public static android.view.PointerIcon getSystemIcon(android.content.Context, int);
    method public static android.view.PointerIcon loadCustomIcon(android.content.res.Resources, int);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
    field public static final int STYLE_ALIAS = 1010; // 0x3f2
    field public static final int STYLE_ALL_SCROLL = 1013; // 0x3f5
    field public static final int STYLE_ARROW = 1000; // 0x3e8
    field public static final int STYLE_CELL = 1006; // 0x3ee
    field public static final int STYLE_CONTEXT_MENU = 1001; // 0x3e9
    field public static final int STYLE_COPY = 1011; // 0x3f3
    field public static final int STYLE_CROSSHAIR = 1007; // 0x3ef
    field public static final int STYLE_DEFAULT = 1000; // 0x3e8
    field public static final int STYLE_GRAB = 1020; // 0x3fc
    field public static final int STYLE_GRABBING = 1021; // 0x3fd
    field public static final int STYLE_HAND = 1002; // 0x3ea
    field public static final int STYLE_HELP = 1003; // 0x3eb
    field public static final int STYLE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
    field public static final int STYLE_NO_DROP = 1012; // 0x3f4
    field public static final int STYLE_NULL = 0; // 0x0
    field public static final int STYLE_TEXT = 1008; // 0x3f0
    field public static final int STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
    field public static final int STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
    field public static final int STYLE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
    field public static final int STYLE_VERTICAL_TEXT = 1009; // 0x3f1
    field public static final int STYLE_WAIT = 1004; // 0x3ec
    field public static final int STYLE_ZOOM_IN = 1018; // 0x3fa
    field public static final int STYLE_ZOOM_OUT = 1019; // 0x3fb
  }
  public class ScaleGestureDetector {
  public class ScaleGestureDetector {
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
@@ -43034,6 +43066,7 @@ package android.view {
    method public android.view.ViewParent getParentForAccessibility();
    method public android.view.ViewParent getParentForAccessibility();
    method public float getPivotX();
    method public float getPivotX();
    method public float getPivotY();
    method public float getPivotY();
    method public android.view.PointerIcon getPointerIcon(android.view.MotionEvent, float, float);
    method public android.content.res.Resources getResources();
    method public android.content.res.Resources getResources();
    method public final int getRight();
    method public final int getRight();
    method protected float getRightFadingEdgeStrength();
    method protected float getRightFadingEdgeStrength();
@@ -43316,6 +43349,7 @@ package android.view {
    method public void setPaddingRelative(int, int, int, int);
    method public void setPaddingRelative(int, int, int, int);
    method public void setPivotX(float);
    method public void setPivotX(float);
    method public void setPivotY(float);
    method public void setPivotY(float);
    method public void setPointerIcon(android.view.PointerIcon);
    method public void setPressed(boolean);
    method public void setPressed(boolean);
    method public final void setRight(int);
    method public final void setRight(int);
    method public void setRotation(float);
    method public void setRotation(float);
+34 −0
Original line number Original line Diff line number Diff line
@@ -40339,6 +40339,38 @@ package android.view {
    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
  }
  }
  public final class PointerIcon implements android.os.Parcelable {
    method public static android.view.PointerIcon createCustomIcon(android.graphics.Bitmap, float, float);
    method public int describeContents();
    method public static android.view.PointerIcon getSystemIcon(android.content.Context, int);
    method public static android.view.PointerIcon loadCustomIcon(android.content.res.Resources, int);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
    field public static final int STYLE_ALIAS = 1010; // 0x3f2
    field public static final int STYLE_ALL_SCROLL = 1013; // 0x3f5
    field public static final int STYLE_ARROW = 1000; // 0x3e8
    field public static final int STYLE_CELL = 1006; // 0x3ee
    field public static final int STYLE_CONTEXT_MENU = 1001; // 0x3e9
    field public static final int STYLE_COPY = 1011; // 0x3f3
    field public static final int STYLE_CROSSHAIR = 1007; // 0x3ef
    field public static final int STYLE_DEFAULT = 1000; // 0x3e8
    field public static final int STYLE_GRAB = 1020; // 0x3fc
    field public static final int STYLE_GRABBING = 1021; // 0x3fd
    field public static final int STYLE_HAND = 1002; // 0x3ea
    field public static final int STYLE_HELP = 1003; // 0x3eb
    field public static final int STYLE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
    field public static final int STYLE_NO_DROP = 1012; // 0x3f4
    field public static final int STYLE_NULL = 0; // 0x0
    field public static final int STYLE_TEXT = 1008; // 0x3f0
    field public static final int STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
    field public static final int STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
    field public static final int STYLE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
    field public static final int STYLE_VERTICAL_TEXT = 1009; // 0x3f1
    field public static final int STYLE_WAIT = 1004; // 0x3ec
    field public static final int STYLE_ZOOM_IN = 1018; // 0x3fa
    field public static final int STYLE_ZOOM_OUT = 1019; // 0x3fb
  }
  public class ScaleGestureDetector {
  public class ScaleGestureDetector {
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
@@ -40698,6 +40730,7 @@ package android.view {
    method public android.view.ViewParent getParentForAccessibility();
    method public android.view.ViewParent getParentForAccessibility();
    method public float getPivotX();
    method public float getPivotX();
    method public float getPivotY();
    method public float getPivotY();
    method public android.view.PointerIcon getPointerIcon(android.view.MotionEvent, float, float);
    method public android.content.res.Resources getResources();
    method public android.content.res.Resources getResources();
    method public final int getRight();
    method public final int getRight();
    method protected float getRightFadingEdgeStrength();
    method protected float getRightFadingEdgeStrength();
@@ -40980,6 +41013,7 @@ package android.view {
    method public void setPaddingRelative(int, int, int, int);
    method public void setPaddingRelative(int, int, int, int);
    method public void setPivotX(float);
    method public void setPivotX(float);
    method public void setPivotY(float);
    method public void setPivotY(float);
    method public void setPointerIcon(android.view.PointerIcon);
    method public void setPressed(boolean);
    method public void setPressed(boolean);
    method public final void setRight(int);
    method public final void setRight(int);
    method public void setRotation(float);
    method public void setRotation(float);
+2 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ import android.hardware.input.TouchCalibration;
import android.os.IBinder;
import android.os.IBinder;
import android.view.InputDevice;
import android.view.InputDevice;
import android.view.InputEvent;
import android.view.InputEvent;
import android.view.PointerIcon;


/** @hide */
/** @hide */
interface IInputManager {
interface IInputManager {
@@ -71,4 +72,5 @@ interface IInputManager {
    void cancelVibrate(int deviceId, IBinder token);
    void cancelVibrate(int deviceId, IBinder token);


    void setPointerIconShape(int shapeId);
    void setPointerIconShape(int shapeId);
    void setCustomPointerIcon(in PointerIcon icon);
}
}
+10 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


package android.hardware.input;
package android.hardware.input;


import android.view.PointerIcon;
import com.android.internal.os.SomeArgs;
import com.android.internal.os.SomeArgs;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ArrayUtils;


@@ -819,6 +820,15 @@ public final class InputManager {
        }
        }
    }
    }


    /** @hide */
    public void setCustomPointerIcon(PointerIcon icon) {
        try {
            mIm.setCustomPointerIcon(icon);
        } catch (RemoteException ex) {
            // Do nothing.
        }
    }

    private void populateInputDevicesLocked() {
    private void populateInputDevicesLocked() {
        if (mInputDevicesChangedListener == null) {
        if (mInputDevicesChangedListener == null) {
            final InputDevicesChangedListener listener = new InputDevicesChangedListener();
            final InputDevicesChangedListener listener = new InputDevicesChangedListener();
Loading