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

Commit 7d4ebb99 authored by Lais Andrade's avatar Lais Andrade
Browse files

Small fixes to ParsedVibration

- Make a defensive copy of the effect list in the constructors;
- Add toString to improve debugging test failures;

Bug: 349244612
Flag: EXEMPT refactor
Test: ParsedVibrationTest
Change-Id: I40d8d33ebf2fee3749a6f569762283282f8d3006
parent 0b8d6213
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.os.VibrationEffect;
import android.os.Vibrator;
import android.os.VibratorInfo;

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

@@ -41,17 +42,18 @@ import java.util.Objects;
@SystemApi
@FlaggedApi(FLAG_VIBRATION_XML_APIS)
public final class ParsedVibration {
    private final List<VibrationEffect> mEffects;
    private final ArrayList<VibrationEffect> mEffects;

    /** @hide */
    @TestApi
    public ParsedVibration(@NonNull List<VibrationEffect> effects) {
        mEffects = effects;
        mEffects = new ArrayList<>(effects);
    }

    /** @hide */
    public ParsedVibration(@NonNull VibrationEffect effect) {
        mEffects = List.of(effect);
        mEffects = new ArrayList<>(1);
        mEffects.add(effect);
    }

    /**
@@ -100,4 +102,11 @@ public final class ParsedVibration {
    public int hashCode() {
        return Objects.hashCode(mEffects);
    }

    @Override
    public String toString() {
        return "ParsedVibration{"
                + "effects=" + mEffects
                + '}';
    }
}