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

Commit 134bfe9d authored by Lais Andrade's avatar Lais Andrade Committed by Android (Google) Code Review
Browse files

Merge "Improve VibratorManagerService dumpsys" into main

parents 9466777d 7b41ed78
Loading
Loading
Loading
Loading
+38 −0
Original line number Original line Diff line number Diff line
@@ -24,7 +24,9 @@ import com.android.internal.util.Preconditions;


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


/**
/**
 * A CombinedVibration describes a combination of haptic effects to be performed by one or more
 * A CombinedVibration describes a combination of haptic effects to be performed by one or more
@@ -150,6 +152,13 @@ public abstract class CombinedVibration implements Parcelable {
    /** @hide */
    /** @hide */
    public abstract boolean hasVibrator(int vibratorId);
    public abstract boolean hasVibrator(int vibratorId);


    /**
     * Returns a compact version of the {@link #toString()} result for debugging purposes.
     *
     * @hide
     */
    public abstract String toDebugString();

    /**
    /**
     * Adapts a {@link VibrationEffect} to a specific device vibrator using the ID.
     * Adapts a {@link VibrationEffect} to a specific device vibrator using the ID.
     *
     *
@@ -437,6 +446,13 @@ public abstract class CombinedVibration implements Parcelable {
            return "Mono{mEffect=" + mEffect + '}';
            return "Mono{mEffect=" + mEffect + '}';
        }
        }


        /** @hide */
        @Override
        public String toDebugString() {
            // Simplify vibration string, use the single effect to represent it.
            return mEffect.toDebugString();
        }

        @Override
        @Override
        public int describeContents() {
        public int describeContents() {
            return 0;
            return 0;
@@ -619,6 +635,17 @@ public abstract class CombinedVibration implements Parcelable {
            return "Stereo{mEffects=" + mEffects + '}';
            return "Stereo{mEffects=" + mEffects + '}';
        }
        }


        /** @hide */
        @Override
        public String toDebugString() {
            StringJoiner sj = new StringJoiner(",", "Stereo{", "}");
            for (int i = 0; i < mEffects.size(); i++) {
                sj.add(String.format(Locale.ROOT, "vibrator(id=%d): %s",
                        mEffects.keyAt(i), mEffects.valueAt(i).toDebugString()));
            }
            return sj.toString();
        }

        @Override
        @Override
        public int describeContents() {
        public int describeContents() {
            return 0;
            return 0;
@@ -833,6 +860,17 @@ public abstract class CombinedVibration implements Parcelable {
            return "Sequential{mEffects=" + mEffects + ", mDelays=" + mDelays + '}';
            return "Sequential{mEffects=" + mEffects + ", mDelays=" + mDelays + '}';
        }
        }


        /** @hide */
        @Override
        public String toDebugString() {
            StringJoiner sj = new StringJoiner(",", "Sequential{", "}");
            for (int i = 0; i < mEffects.size(); i++) {
                sj.add(String.format(Locale.ROOT, "delayMs=%d, effect=%s",
                        mDelays.get(i), mEffects.get(i).toDebugString()));
            }
            return sj.toString();
        }

        @Override
        @Override
        public int describeContents() {
        public int describeContents() {
            return 0;
            return 0;
+5 −4
Original line number Original line Diff line number Diff line
@@ -336,10 +336,11 @@ public final class VibrationAttributes implements Parcelable {


    @Override
    @Override
    public String toString() {
    public String toString() {
        return "VibrationAttributes:"
        return "VibrationAttributes{"
                + " Usage=" + usageToString()
                + "mUsage=" + usageToString()
                + " Audio Usage= " + AudioAttributes.usageToString(mOriginalAudioUsage)
                + ", mAudioUsage= " + AudioAttributes.usageToString(mOriginalAudioUsage)
                + " Flags=" + mFlags;
                + ", mFlags=" + mFlags
                + '}';
    }
    }


    /** @hide */
    /** @hide */
+35 −9
Original line number Original line Diff line number Diff line
@@ -44,7 +44,9 @@ import java.time.Duration;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Arrays;
import java.util.List;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.Objects;
import java.util.StringJoiner;


/**
/**
 * A VibrationEffect describes a haptic effect to be performed by a {@link Vibrator}.
 * A VibrationEffect describes a haptic effect to be performed by a {@link Vibrator}.
@@ -629,6 +631,13 @@ public abstract class VibrationEffect implements Parcelable {
        return MathUtils.constrain(a * fx, 0f, 1f);
        return MathUtils.constrain(a * fx, 0f, 1f);
    }
    }


    /**
     * Returns a compact version of the {@link #toString()} result for debugging purposes.
     *
     * @hide
     */
    public abstract String toDebugString();

    /** @hide */
    /** @hide */
    public static String effectIdToString(int effectId) {
    public static String effectIdToString(int effectId) {
        switch (effectId) {
        switch (effectId) {
@@ -925,6 +934,23 @@ public abstract class VibrationEffect implements Parcelable {
                    + "}";
                    + "}";
        }
        }


        /** @hide */
        @Override
        public String toDebugString() {
            if (mSegments.size() == 1 && mRepeatIndex < 0) {
                // Simplify effect string, use the single segment to represent it.
                return mSegments.get(0).toDebugString();
            }
            StringJoiner sj = new StringJoiner(",", "[", "]");
            for (int i = 0; i < mSegments.size(); i++) {
                sj.add(mSegments.get(i).toDebugString());
            }
            if (mRepeatIndex >= 0) {
                return String.format(Locale.ROOT, "%s, repeat=%d", sj, mRepeatIndex);
            }
            return sj.toString();
        }

        @Override
        @Override
        public int describeContents() {
        public int describeContents() {
            return 0;
            return 0;
@@ -1250,23 +1276,23 @@ public abstract class VibrationEffect implements Parcelable {
        public static String primitiveToString(@PrimitiveType int id) {
        public static String primitiveToString(@PrimitiveType int id) {
            switch (id) {
            switch (id) {
                case PRIMITIVE_NOOP:
                case PRIMITIVE_NOOP:
                    return "PRIMITIVE_NOOP";
                    return "NOOP";
                case PRIMITIVE_CLICK:
                case PRIMITIVE_CLICK:
                    return "PRIMITIVE_CLICK";
                    return "CLICK";
                case PRIMITIVE_THUD:
                case PRIMITIVE_THUD:
                    return "PRIMITIVE_THUD";
                    return "THUD";
                case PRIMITIVE_SPIN:
                case PRIMITIVE_SPIN:
                    return "PRIMITIVE_SPIN";
                    return "SPIN";
                case PRIMITIVE_QUICK_RISE:
                case PRIMITIVE_QUICK_RISE:
                    return "PRIMITIVE_QUICK_RISE";
                    return "QUICK_RISE";
                case PRIMITIVE_SLOW_RISE:
                case PRIMITIVE_SLOW_RISE:
                    return "PRIMITIVE_SLOW_RISE";
                    return "SLOW_RISE";
                case PRIMITIVE_QUICK_FALL:
                case PRIMITIVE_QUICK_FALL:
                    return "PRIMITIVE_QUICK_FALL";
                    return "QUICK_FALL";
                case PRIMITIVE_TICK:
                case PRIMITIVE_TICK:
                    return "PRIMITIVE_TICK";
                    return "TICK";
                case PRIMITIVE_LOW_TICK:
                case PRIMITIVE_LOW_TICK:
                    return "PRIMITIVE_LOW_TICK";
                    return "LOW_TICK";
                default:
                default:
                    return Integer.toString(id);
                    return Integer.toString(id);
            }
            }
+22 −2
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.hardware.vibrator.Braking;
import android.hardware.vibrator.Braking;
import android.hardware.vibrator.IVibrator;
import android.hardware.vibrator.IVibrator;
import android.util.IndentingPrintWriter;
import android.util.MathUtils;
import android.util.MathUtils;
import android.util.Range;
import android.util.Range;
import android.util.SparseBooleanArray;
import android.util.SparseBooleanArray;
@@ -207,6 +208,25 @@ public class VibratorInfo implements Parcelable {
                + '}';
                + '}';
    }
    }


    /** @hide */
    public void dump(IndentingPrintWriter pw) {
        pw.println("VibratorInfo:");
        pw.increaseIndent();
        pw.println("id = " + mId);
        pw.println("capabilities = " + Arrays.toString(getCapabilitiesNames()));
        pw.println("capabilitiesFlags = " + Long.toBinaryString(mCapabilities));
        pw.println("supportedEffects = " + Arrays.toString(getSupportedEffectsNames()));
        pw.println("supportedPrimitives = " + Arrays.toString(getSupportedPrimitivesNames()));
        pw.println("supportedBraking = " + Arrays.toString(getSupportedBrakingNames()));
        pw.println("primitiveDelayMax = " + mPrimitiveDelayMax);
        pw.println("compositionSizeMax = " + mCompositionSizeMax);
        pw.println("pwlePrimitiveDurationMax = " + mPwlePrimitiveDurationMax);
        pw.println("pwleSizeMax = " + mPwleSizeMax);
        pw.println("q-factor = " + mQFactor);
        pw.println("frequencyProfile = " + mFrequencyProfile);
        pw.decreaseIndent();
    }

    /** Return the id of this vibrator. */
    /** Return the id of this vibrator. */
    public int getId() {
    public int getId() {
        return mId;
        return mId;
+9 −0
Original line number Original line Diff line number Diff line
@@ -203,6 +203,15 @@ public final class PrebakedSegment extends VibrationEffectSegment {
                + "}";
                + "}";
    }
    }


    /** @hide */
    @Override
    public String toDebugString() {
        return String.format("Prebaked=%s(%s, %s fallback)",
                VibrationEffect.effectIdToString(mEffectId),
                VibrationEffect.effectStrengthToString(mEffectStrength),
                mFallback ? "with" : "no");
    }

    @Override
    @Override
    public int describeContents() {
    public int describeContents() {
        return 0;
        return 0;
Loading