Loading services/core/java/com/android/server/vibrator/Vibration.java +25 −17 Original line number Original line Diff line number Diff line Loading @@ -32,8 +32,9 @@ import android.util.IndentingPrintWriter; import android.util.proto.ProtoOutputStream; import android.util.proto.ProtoOutputStream; import java.io.PrintWriter; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.time.Instant; import java.util.Date; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.Locale; import java.util.Objects; import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger; Loading @@ -42,10 +43,11 @@ import java.util.concurrent.atomic.AtomicInteger; * The base class for all vibrations. * The base class for all vibrations. */ */ abstract class Vibration { abstract class Vibration { private static final SimpleDateFormat DEBUG_TIME_FORMAT = private static final DateTimeFormatter DEBUG_TIME_FORMATTER = DateTimeFormatter.ofPattern( new SimpleDateFormat("HH:mm:ss.SSS"); "HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); private static final SimpleDateFormat DEBUG_DATE_TIME_FORMAT = private static final DateTimeFormatter DEBUG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern( new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); "MM-dd HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); // Used to generate globally unique vibration ids. // Used to generate globally unique vibration ids. private static final AtomicInteger sNextVibrationId = new AtomicInteger(1); // 0 = no callback private static final AtomicInteger sNextVibrationId = new AtomicInteger(1); // 0 = no callback Loading Loading @@ -240,10 +242,12 @@ abstract class Vibration { @Override @Override public String toString() { public String toString() { return "createTime: " + DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)) return "createTime: " + DEBUG_DATE_TIME_FORMATTER.format( + ", startTime: " + DEBUG_DATE_TIME_FORMAT.format(new Date(mStartTime)) Instant.ofEpochMilli(mCreateTime)) + ", endTime: " + ", startTime: " + DEBUG_DATE_TIME_FORMATTER.format( + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMAT.format(new Date(mEndTime))) Instant.ofEpochMilli(mStartTime)) + ", endTime: " + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMATTER.format( Instant.ofEpochMilli(mEndTime))) + ", durationMs: " + mDurationMs + ", durationMs: " + mDurationMs + ", status: " + mStatus.name().toLowerCase(Locale.ROOT) + ", status: " + mStatus.name().toLowerCase(Locale.ROOT) + ", playedEffect: " + mPlayedEffect + ", playedEffect: " + mPlayedEffect Loading @@ -267,12 +271,14 @@ abstract class Vibration { boolean isExternalVibration = mPlayedEffect == null; boolean isExternalVibration = mPlayedEffect == null; String timingsStr = String.format(Locale.ROOT, String timingsStr = String.format(Locale.ROOT, "%s | %8s | %20s | duration: %5dms | start: %12s | end: %12s", "%s | %8s | %20s | duration: %5dms | start: %12s | end: %12s", DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)), DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mCreateTime)), isExternalVibration ? "external" : "effect", isExternalVibration ? "external" : "effect", mStatus.name().toLowerCase(Locale.ROOT), mStatus.name().toLowerCase(Locale.ROOT), mDurationMs, mDurationMs, mStartTime == 0 ? "" : DEBUG_TIME_FORMAT.format(new Date(mStartTime)), mStartTime == 0 ? "" mEndTime == 0 ? "" : DEBUG_TIME_FORMAT.format(new Date(mEndTime))); : DEBUG_TIME_FORMATTER.format(Instant.ofEpochMilli(mStartTime)), mEndTime == 0 ? "" : DEBUG_TIME_FORMATTER.format(Instant.ofEpochMilli(mEndTime))); String paramStr = String.format(Locale.ROOT, String paramStr = String.format(Locale.ROOT, " | scale: %8s (adaptive=%.2f) | flags: %4s | usage: %s", " | scale: %8s (adaptive=%.2f) | flags: %4s | usage: %s", VibrationScaler.scaleLevelToString(mScaleLevel), mAdaptiveScale, VibrationScaler.scaleLevelToString(mScaleLevel), mAdaptiveScale, Loading Loading @@ -307,10 +313,12 @@ abstract class Vibration { pw.increaseIndent(); pw.increaseIndent(); pw.println("status = " + mStatus.name().toLowerCase(Locale.ROOT)); pw.println("status = " + mStatus.name().toLowerCase(Locale.ROOT)); pw.println("durationMs = " + mDurationMs); pw.println("durationMs = " + mDurationMs); pw.println("createTime = " + DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime))); pw.println("createTime = " + DEBUG_DATE_TIME_FORMATTER.format( pw.println("startTime = " + DEBUG_DATE_TIME_FORMAT.format(new Date(mStartTime))); Instant.ofEpochMilli(mCreateTime))); pw.println("endTime = " pw.println("startTime = " + DEBUG_DATE_TIME_FORMATTER.format( + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMAT.format(new Date(mEndTime)))); Instant.ofEpochMilli(mStartTime))); pw.println("endTime = " + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mEndTime)))); pw.println("playedEffect = " + mPlayedEffect); pw.println("playedEffect = " + mPlayedEffect); pw.println("originalEffect = " + mOriginalEffect); pw.println("originalEffect = " + mOriginalEffect); pw.println("scale = " + VibrationScaler.scaleLevelToString(mScaleLevel)); pw.println("scale = " + VibrationScaler.scaleLevelToString(mScaleLevel)); Loading services/core/java/com/android/server/vibrator/VibratorControlService.java +6 −5 Original line number Original line Diff line number Diff line Loading @@ -51,8 +51,9 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils; import java.io.PrintWriter; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.time.Instant; import java.util.Date; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.Locale; import java.util.Objects; import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture; Loading @@ -66,8 +67,8 @@ final class VibratorControlService extends IVibratorControlService.Stub { private static final int UNRECOGNIZED_VIBRATION_TYPE = -1; private static final int UNRECOGNIZED_VIBRATION_TYPE = -1; private static final int NO_SCALE = -1; private static final int NO_SCALE = -1; private static final SimpleDateFormat DEBUG_DATE_TIME_FORMAT = private static final DateTimeFormatter DEBUG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern( new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); "MM-dd HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); private final VibrationParamsRecords mVibrationParamsRecords; private final VibrationParamsRecords mVibrationParamsRecords; private final VibratorControllerHolder mVibratorControllerHolder; private final VibratorControllerHolder mVibratorControllerHolder; Loading Loading @@ -567,7 +568,7 @@ final class VibratorControlService extends IVibratorControlService.Stub { public void dump(IndentingPrintWriter pw) { public void dump(IndentingPrintWriter pw) { String line = String.format(Locale.ROOT, String line = String.format(Locale.ROOT, "%s | %6s | scale: %5s | typesMask: %6s | usages: %s", "%s | %6s | scale: %5s | typesMask: %6s | usages: %s", DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)), DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mCreateTime)), mOperation.name().toLowerCase(Locale.ROOT), mOperation.name().toLowerCase(Locale.ROOT), (mScale == NO_SCALE) ? "" : String.format(Locale.ROOT, "%.2f", mScale), (mScale == NO_SCALE) ? "" : String.format(Locale.ROOT, "%.2f", mScale), Long.toBinaryString(mTypesMask), createVibrationUsagesString()); Long.toBinaryString(mTypesMask), createVibrationUsagesString()); Loading Loading
services/core/java/com/android/server/vibrator/Vibration.java +25 −17 Original line number Original line Diff line number Diff line Loading @@ -32,8 +32,9 @@ import android.util.IndentingPrintWriter; import android.util.proto.ProtoOutputStream; import android.util.proto.ProtoOutputStream; import java.io.PrintWriter; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.time.Instant; import java.util.Date; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.Locale; import java.util.Objects; import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger; Loading @@ -42,10 +43,11 @@ import java.util.concurrent.atomic.AtomicInteger; * The base class for all vibrations. * The base class for all vibrations. */ */ abstract class Vibration { abstract class Vibration { private static final SimpleDateFormat DEBUG_TIME_FORMAT = private static final DateTimeFormatter DEBUG_TIME_FORMATTER = DateTimeFormatter.ofPattern( new SimpleDateFormat("HH:mm:ss.SSS"); "HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); private static final SimpleDateFormat DEBUG_DATE_TIME_FORMAT = private static final DateTimeFormatter DEBUG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern( new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); "MM-dd HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); // Used to generate globally unique vibration ids. // Used to generate globally unique vibration ids. private static final AtomicInteger sNextVibrationId = new AtomicInteger(1); // 0 = no callback private static final AtomicInteger sNextVibrationId = new AtomicInteger(1); // 0 = no callback Loading Loading @@ -240,10 +242,12 @@ abstract class Vibration { @Override @Override public String toString() { public String toString() { return "createTime: " + DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)) return "createTime: " + DEBUG_DATE_TIME_FORMATTER.format( + ", startTime: " + DEBUG_DATE_TIME_FORMAT.format(new Date(mStartTime)) Instant.ofEpochMilli(mCreateTime)) + ", endTime: " + ", startTime: " + DEBUG_DATE_TIME_FORMATTER.format( + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMAT.format(new Date(mEndTime))) Instant.ofEpochMilli(mStartTime)) + ", endTime: " + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMATTER.format( Instant.ofEpochMilli(mEndTime))) + ", durationMs: " + mDurationMs + ", durationMs: " + mDurationMs + ", status: " + mStatus.name().toLowerCase(Locale.ROOT) + ", status: " + mStatus.name().toLowerCase(Locale.ROOT) + ", playedEffect: " + mPlayedEffect + ", playedEffect: " + mPlayedEffect Loading @@ -267,12 +271,14 @@ abstract class Vibration { boolean isExternalVibration = mPlayedEffect == null; boolean isExternalVibration = mPlayedEffect == null; String timingsStr = String.format(Locale.ROOT, String timingsStr = String.format(Locale.ROOT, "%s | %8s | %20s | duration: %5dms | start: %12s | end: %12s", "%s | %8s | %20s | duration: %5dms | start: %12s | end: %12s", DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)), DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mCreateTime)), isExternalVibration ? "external" : "effect", isExternalVibration ? "external" : "effect", mStatus.name().toLowerCase(Locale.ROOT), mStatus.name().toLowerCase(Locale.ROOT), mDurationMs, mDurationMs, mStartTime == 0 ? "" : DEBUG_TIME_FORMAT.format(new Date(mStartTime)), mStartTime == 0 ? "" mEndTime == 0 ? "" : DEBUG_TIME_FORMAT.format(new Date(mEndTime))); : DEBUG_TIME_FORMATTER.format(Instant.ofEpochMilli(mStartTime)), mEndTime == 0 ? "" : DEBUG_TIME_FORMATTER.format(Instant.ofEpochMilli(mEndTime))); String paramStr = String.format(Locale.ROOT, String paramStr = String.format(Locale.ROOT, " | scale: %8s (adaptive=%.2f) | flags: %4s | usage: %s", " | scale: %8s (adaptive=%.2f) | flags: %4s | usage: %s", VibrationScaler.scaleLevelToString(mScaleLevel), mAdaptiveScale, VibrationScaler.scaleLevelToString(mScaleLevel), mAdaptiveScale, Loading Loading @@ -307,10 +313,12 @@ abstract class Vibration { pw.increaseIndent(); pw.increaseIndent(); pw.println("status = " + mStatus.name().toLowerCase(Locale.ROOT)); pw.println("status = " + mStatus.name().toLowerCase(Locale.ROOT)); pw.println("durationMs = " + mDurationMs); pw.println("durationMs = " + mDurationMs); pw.println("createTime = " + DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime))); pw.println("createTime = " + DEBUG_DATE_TIME_FORMATTER.format( pw.println("startTime = " + DEBUG_DATE_TIME_FORMAT.format(new Date(mStartTime))); Instant.ofEpochMilli(mCreateTime))); pw.println("endTime = " pw.println("startTime = " + DEBUG_DATE_TIME_FORMATTER.format( + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMAT.format(new Date(mEndTime)))); Instant.ofEpochMilli(mStartTime))); pw.println("endTime = " + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mEndTime)))); pw.println("playedEffect = " + mPlayedEffect); pw.println("playedEffect = " + mPlayedEffect); pw.println("originalEffect = " + mOriginalEffect); pw.println("originalEffect = " + mOriginalEffect); pw.println("scale = " + VibrationScaler.scaleLevelToString(mScaleLevel)); pw.println("scale = " + VibrationScaler.scaleLevelToString(mScaleLevel)); Loading
services/core/java/com/android/server/vibrator/VibratorControlService.java +6 −5 Original line number Original line Diff line number Diff line Loading @@ -51,8 +51,9 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils; import java.io.PrintWriter; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.time.Instant; import java.util.Date; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.Locale; import java.util.Objects; import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture; Loading @@ -66,8 +67,8 @@ final class VibratorControlService extends IVibratorControlService.Stub { private static final int UNRECOGNIZED_VIBRATION_TYPE = -1; private static final int UNRECOGNIZED_VIBRATION_TYPE = -1; private static final int NO_SCALE = -1; private static final int NO_SCALE = -1; private static final SimpleDateFormat DEBUG_DATE_TIME_FORMAT = private static final DateTimeFormatter DEBUG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern( new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); "MM-dd HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); private final VibrationParamsRecords mVibrationParamsRecords; private final VibrationParamsRecords mVibrationParamsRecords; private final VibratorControllerHolder mVibratorControllerHolder; private final VibratorControllerHolder mVibratorControllerHolder; Loading Loading @@ -567,7 +568,7 @@ final class VibratorControlService extends IVibratorControlService.Stub { public void dump(IndentingPrintWriter pw) { public void dump(IndentingPrintWriter pw) { String line = String.format(Locale.ROOT, String line = String.format(Locale.ROOT, "%s | %6s | scale: %5s | typesMask: %6s | usages: %s", "%s | %6s | scale: %5s | typesMask: %6s | usages: %s", DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)), DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mCreateTime)), mOperation.name().toLowerCase(Locale.ROOT), mOperation.name().toLowerCase(Locale.ROOT), (mScale == NO_SCALE) ? "" : String.format(Locale.ROOT, "%.2f", mScale), (mScale == NO_SCALE) ? "" : String.format(Locale.ROOT, "%.2f", mScale), Long.toBinaryString(mTypesMask), createVibrationUsagesString()); Long.toBinaryString(mTypesMask), createVibrationUsagesString()); Loading