From b29f58d8a53981f78d45dc8e3d5896368b38f4db Mon Sep 17 00:00:00 2001 From: Lais Andrade Date: Mon, 9 Nov 2020 20:28:39 +0000 Subject: [PATCH] Make CombinedVibrationEffect constructor package-private Also add @SuppressWarnings to this class to allow it to be abstract, since it's only extended within the framework codebase. Fix a missing @NonNull annotation found after building the code without the @hide annotations. Bug: 166586119 Test: atest CombinedVibrationEffectTest Change-Id: I1b283c004efb7fb023099fb7f4db455b9994d600 --- .../android/os/CombinedVibrationEffect.java | 19 ++++++++++--------- .../os/CombinedVibrationEffectTest.java | 7 ------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/core/java/android/os/CombinedVibrationEffect.java b/core/java/android/os/CombinedVibrationEffect.java index f552aaa55796f..c9ebc1b7a3c5f 100644 --- a/core/java/android/os/CombinedVibrationEffect.java +++ b/core/java/android/os/CombinedVibrationEffect.java @@ -34,13 +34,14 @@ import java.util.Objects; * @hide * @see VibrationEffect */ +@SuppressWarnings({"ParcelNotFinal", "ParcelCreator"}) // Parcel only extended here. public abstract class CombinedVibrationEffect implements Parcelable { private static final int PARCEL_TOKEN_MONO = 1; private static final int PARCEL_TOKEN_STEREO = 2; private static final int PARCEL_TOKEN_SEQUENTIAL = 3; - /** @hide to prevent subclassing from outside of the framework */ - public CombinedVibrationEffect() { + /** Prevent subclassing from outside of the framework. */ + CombinedVibrationEffect() { } /** @@ -113,7 +114,7 @@ public abstract class CombinedVibrationEffect implements Parcelable { * @see VibrationEffect#createOneShot(long, int) */ @NonNull - public SyncedCombination addVibrator(int vibratorId, VibrationEffect effect) { + public SyncedCombination addVibrator(int vibratorId, @NonNull VibrationEffect effect) { mEffects.put(vibratorId, effect); return this; } @@ -256,11 +257,11 @@ public abstract class CombinedVibrationEffect implements Parcelable { public static final class Mono extends CombinedVibrationEffect { private final VibrationEffect mEffect; - public Mono(Parcel in) { + Mono(Parcel in) { mEffect = VibrationEffect.CREATOR.createFromParcel(in); } - public Mono(@NonNull VibrationEffect effect) { + Mono(@NonNull VibrationEffect effect) { mEffect = effect; } @@ -327,7 +328,7 @@ public abstract class CombinedVibrationEffect implements Parcelable { /** Mapping vibrator ids to effects. */ private final SparseArray mEffects; - public Stereo(Parcel in) { + Stereo(Parcel in) { int size = in.readInt(); mEffects = new SparseArray<>(size); for (int i = 0; i < size; i++) { @@ -336,7 +337,7 @@ public abstract class CombinedVibrationEffect implements Parcelable { } } - public Stereo(@NonNull SparseArray effects) { + Stereo(@NonNull SparseArray effects) { mEffects = new SparseArray<>(effects.size()); for (int i = 0; i < effects.size(); i++) { mEffects.put(effects.keyAt(i), effects.valueAt(i)); @@ -422,7 +423,7 @@ public abstract class CombinedVibrationEffect implements Parcelable { private final List mEffects; private final List mDelays; - public Sequential(Parcel in) { + Sequential(Parcel in) { int size = in.readInt(); mEffects = new ArrayList<>(size); mDelays = new ArrayList<>(size); @@ -432,7 +433,7 @@ public abstract class CombinedVibrationEffect implements Parcelable { } } - public Sequential(@NonNull List effects, + Sequential(@NonNull List effects, @NonNull List delays) { mEffects = new ArrayList<>(effects); mDelays = new ArrayList<>(delays); diff --git a/core/tests/coretests/src/android/os/CombinedVibrationEffectTest.java b/core/tests/coretests/src/android/os/CombinedVibrationEffectTest.java index 1947c6cf8ca03..6955ca84103e0 100644 --- a/core/tests/coretests/src/android/os/CombinedVibrationEffectTest.java +++ b/core/tests/coretests/src/android/os/CombinedVibrationEffectTest.java @@ -84,13 +84,6 @@ public class CombinedVibrationEffectTest { () -> CombinedVibrationEffect.startSequential() .addNext(0, INVALID_EFFECT) .combine()); - assertThrows(IllegalArgumentException.class, - () -> new CombinedVibrationEffect.Sequential( - Arrays.asList(CombinedVibrationEffect.startSequential() - .addNext(CombinedVibrationEffect.createSynced(VALID_EFFECT)) - .combine()), - Arrays.asList(0)) - .validate()); } @Test