Loading services/core/java/com/android/server/vibrator/HalVibration.java +5 −3 Original line number Diff line number Diff line Loading @@ -170,7 +170,9 @@ final class HalVibration extends Vibration { /** Return {@link VibrationStats.StatsInfo} with read-only metrics about this vibration. */ public VibrationStats.StatsInfo getStatsInfo(long completionUptimeMillis) { int vibrationType = isRepeating() int vibrationType = mEffectToPlay.hasVendorEffects() ? FrameworkStatsLog.VIBRATION_REPORTED__VIBRATION_TYPE__VENDOR : isRepeating() ? FrameworkStatsLog.VIBRATION_REPORTED__VIBRATION_TYPE__REPEATED : FrameworkStatsLog.VIBRATION_REPORTED__VIBRATION_TYPE__SINGLE; return new VibrationStats.StatsInfo( Loading services/core/java/com/android/server/vibrator/PerformVendorEffectVibratorStep.java +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ final class PerformVendorEffectVibratorStep extends AbstractVibratorStep { long vibratorOnResult = controller.on(effect, getVibration().id); vibratorOnResult = Math.min(vibratorOnResult, VENDOR_EFFECT_MAX_DURATION_MS); handleVibratorOnResult(vibratorOnResult); getVibration().stats.reportPerformVendorEffect(vibratorOnResult); return List.of(new CompleteEffectVibratorStep(conductor, startTime, /* cancelled= */ false, controller, mPendingVibratorOffDeadline)); } finally { Loading services/core/java/com/android/server/vibrator/VibrationStats.java +10 −1 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ final class VibrationStats { private int mVibratorSetAmplitudeCount; private int mVibratorSetExternalControlCount; private int mVibratorPerformCount; private int mVibratorPerformVendorCount; private int mVibratorComposeCount; private int mVibratorComposePwleCount; Loading Loading @@ -239,6 +240,11 @@ final class VibrationStats { } } /** Report a call to vibrator method to trigger a vendor vibration effect. */ void reportPerformVendorEffect(long halResult) { mVibratorPerformVendorCount++; } /** Report a call to vibrator method to trigger a vibration as a composition of primitives. */ void reportComposePrimitives(long halResult, PrimitiveSegment[] primitives) { mVibratorComposeCount++; Loading Loading @@ -313,6 +319,7 @@ final class VibrationStats { public final int halOnCount; public final int halOffCount; public final int halPerformCount; public final int halPerformVendorCount; public final int halSetAmplitudeCount; public final int halSetExternalControlCount; public final int halCompositionSize; Loading Loading @@ -357,6 +364,7 @@ final class VibrationStats { halOnCount = stats.mVibratorOnCount; halOffCount = stats.mVibratorOffCount; halPerformCount = stats.mVibratorPerformCount; halPerformVendorCount = stats.mVibratorPerformVendorCount; halSetAmplitudeCount = stats.mVibratorSetAmplitudeCount; halSetExternalControlCount = stats.mVibratorSetExternalControlCount; halCompositionSize = stats.mVibrationCompositionTotalSize; Loading Loading @@ -390,7 +398,8 @@ final class VibrationStats { halOnCount, halOffCount, halPerformCount, halSetAmplitudeCount, halSetExternalControlCount, halSupportedCompositionPrimitivesUsed, halSupportedEffectsUsed, halUnsupportedCompositionPrimitivesUsed, halUnsupportedEffectsUsed, halCompositionSize, halPwleSize, adaptiveScale); halUnsupportedEffectsUsed, halCompositionSize, halPwleSize, adaptiveScale, halPerformVendorCount); } private static int[] filteredKeys(SparseBooleanArray supportArray, boolean supported) { Loading Loading
services/core/java/com/android/server/vibrator/HalVibration.java +5 −3 Original line number Diff line number Diff line Loading @@ -170,7 +170,9 @@ final class HalVibration extends Vibration { /** Return {@link VibrationStats.StatsInfo} with read-only metrics about this vibration. */ public VibrationStats.StatsInfo getStatsInfo(long completionUptimeMillis) { int vibrationType = isRepeating() int vibrationType = mEffectToPlay.hasVendorEffects() ? FrameworkStatsLog.VIBRATION_REPORTED__VIBRATION_TYPE__VENDOR : isRepeating() ? FrameworkStatsLog.VIBRATION_REPORTED__VIBRATION_TYPE__REPEATED : FrameworkStatsLog.VIBRATION_REPORTED__VIBRATION_TYPE__SINGLE; return new VibrationStats.StatsInfo( Loading
services/core/java/com/android/server/vibrator/PerformVendorEffectVibratorStep.java +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ final class PerformVendorEffectVibratorStep extends AbstractVibratorStep { long vibratorOnResult = controller.on(effect, getVibration().id); vibratorOnResult = Math.min(vibratorOnResult, VENDOR_EFFECT_MAX_DURATION_MS); handleVibratorOnResult(vibratorOnResult); getVibration().stats.reportPerformVendorEffect(vibratorOnResult); return List.of(new CompleteEffectVibratorStep(conductor, startTime, /* cancelled= */ false, controller, mPendingVibratorOffDeadline)); } finally { Loading
services/core/java/com/android/server/vibrator/VibrationStats.java +10 −1 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ final class VibrationStats { private int mVibratorSetAmplitudeCount; private int mVibratorSetExternalControlCount; private int mVibratorPerformCount; private int mVibratorPerformVendorCount; private int mVibratorComposeCount; private int mVibratorComposePwleCount; Loading Loading @@ -239,6 +240,11 @@ final class VibrationStats { } } /** Report a call to vibrator method to trigger a vendor vibration effect. */ void reportPerformVendorEffect(long halResult) { mVibratorPerformVendorCount++; } /** Report a call to vibrator method to trigger a vibration as a composition of primitives. */ void reportComposePrimitives(long halResult, PrimitiveSegment[] primitives) { mVibratorComposeCount++; Loading Loading @@ -313,6 +319,7 @@ final class VibrationStats { public final int halOnCount; public final int halOffCount; public final int halPerformCount; public final int halPerformVendorCount; public final int halSetAmplitudeCount; public final int halSetExternalControlCount; public final int halCompositionSize; Loading Loading @@ -357,6 +364,7 @@ final class VibrationStats { halOnCount = stats.mVibratorOnCount; halOffCount = stats.mVibratorOffCount; halPerformCount = stats.mVibratorPerformCount; halPerformVendorCount = stats.mVibratorPerformVendorCount; halSetAmplitudeCount = stats.mVibratorSetAmplitudeCount; halSetExternalControlCount = stats.mVibratorSetExternalControlCount; halCompositionSize = stats.mVibrationCompositionTotalSize; Loading Loading @@ -390,7 +398,8 @@ final class VibrationStats { halOnCount, halOffCount, halPerformCount, halSetAmplitudeCount, halSetExternalControlCount, halSupportedCompositionPrimitivesUsed, halSupportedEffectsUsed, halUnsupportedCompositionPrimitivesUsed, halUnsupportedEffectsUsed, halCompositionSize, halPwleSize, adaptiveScale); halUnsupportedEffectsUsed, halCompositionSize, halPwleSize, adaptiveScale, halPerformVendorCount); } private static int[] filteredKeys(SparseBooleanArray supportArray, boolean supported) { Loading