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

Commit f7eb2d82 authored by Michael Wright's avatar Michael Wright
Browse files

Address API Council feedback.

- Make VibrationEffect.Composition final
- Hide the VibrationEffect.Composition default constructor
- Fix doc and nullability annotation bugs on
  VibrationEffect.Composition#addPrimiritive
- Make Vibrator#areAllEffectsSupported and
  Vibrator#areAllPrimitivesSupported

Fixes: 150958120
Test: build
Change-Id: I0d9a782fd4130639ad99179d7770dcde1a2afba5
parent 887941cb
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -37145,11 +37145,10 @@ package android.os {
    field public static final int EFFECT_TICK = 2; // 0x2
  }
  public static class VibrationEffect.Composition {
    ctor public VibrationEffect.Composition();
    method @Nullable public android.os.VibrationEffect.Composition addPrimitive(int);
    method @Nullable public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float);
    method @Nullable public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
  public static final class VibrationEffect.Composition {
    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int);
    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float);
    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
    method @NonNull public android.os.VibrationEffect compose();
    field public static final int PRIMITIVE_CLICK = 1; // 0x1
    field public static final int PRIMITIVE_QUICK_FALL = 6; // 0x6
@@ -37159,8 +37158,8 @@ package android.os {
  }
  public abstract class Vibrator {
    method @Nullable public Boolean areAllEffectsSupported(@NonNull int...);
    method public boolean areAllPrimitivesSupported(@NonNull int...);
    method @Nullable public final Boolean areAllEffectsSupported(@NonNull int...);
    method public final boolean areAllPrimitivesSupported(@NonNull int...);
    method @Nullable public boolean[] areEffectsSupported(@NonNull int...);
    method @NonNull public boolean[] arePrimitivesSupported(@NonNull int...);
    method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel();
+7 −5
Original line number Diff line number Diff line
@@ -961,7 +961,7 @@ public abstract class VibrationEffect implements Parcelable {
     *
     * @see VibrationEffect#startComposition()
     */
    public static class Composition {
    public static final class Composition {
        /** @hide */
        @IntDef(prefix = { "PRIMITIVE_" }, value = {
                PRIMITIVE_CLICK,
@@ -1020,6 +1020,8 @@ public abstract class VibrationEffect implements Parcelable {

        private ArrayList<PrimitiveEffect> mEffects = new ArrayList<>();

        Composition() { }

        /**
         * Add a haptic primitive to the end of the current composition.
         *
@@ -1030,7 +1032,7 @@ public abstract class VibrationEffect implements Parcelable {
         *
         * @return The {@link Composition} object to enable adding multiple primitives in one chain.
         */
        @Nullable
        @NonNull
        public Composition addPrimitive(@Primitive int primitiveId) {
            addPrimitive(primitiveId, /*scale*/ 1.0f, /*delay*/ 0);
            return this;
@@ -1046,7 +1048,7 @@ public abstract class VibrationEffect implements Parcelable {
         *
         * @return The {@link Composition} object to enable adding multiple primitives in one chain.
         */
        @Nullable
        @NonNull
        public Composition addPrimitive(@Primitive int primitiveId,
                @FloatRange(from = 0f, to = 1f) float scale) {
            addPrimitive(primitiveId, scale, /*delay*/ 0);
@@ -1058,11 +1060,11 @@ public abstract class VibrationEffect implements Parcelable {
         *
         * @param primitiveId The primitive to add
         * @param scale The scale to apply to the intensity of the primitive.
         * @param delay The amount of time, in milliseconds, to wait before playing the prior
         * @param delay The amount of time, in milliseconds, to wait between playing the prior
         *              primitive and this one
         * @return The {@link Composition} object to enable adding multiple primitives in one chain.
         */
        @Nullable
        @NonNull
        public Composition addPrimitive(@Primitive int primitiveId,
                @FloatRange(from = 0f, to = 1f) float scale, @IntRange(from = 0) int delay) {
            mEffects.add(new PrimitiveEffect(checkPrimitive(primitiveId), scale, delay));
+2 −2
Original line number Diff line number Diff line
@@ -351,7 +351,7 @@ public abstract class Vibrator {
     *         what it supports.
     */
    @Nullable
    public Boolean areAllEffectsSupported(
    public final Boolean areAllEffectsSupported(
            @NonNull @VibrationEffect.EffectType int... effectIds) {
        for (boolean supported : areEffectsSupported(effectIds)) {
            if (!supported) {
@@ -384,7 +384,7 @@ public abstract class Vibrator {
     * @param primitiveIds Which primitives to query for.
     * @return Whether primitives effects are supported.
     */
    public boolean areAllPrimitivesSupported(
    public final boolean areAllPrimitivesSupported(
            @NonNull @VibrationEffect.Composition.Primitive int... primitiveIds) {
        for (boolean supported : arePrimitivesSupported(primitiveIds)) {
            if (!supported) {