diff options
| -rw-r--r-- | services/core/java/com/android/server/vibrator/Vibration.java | 42 | ||||
| -rw-r--r-- | services/core/java/com/android/server/vibrator/VibratorControlService.java | 11 |
2 files changed, 31 insertions, 22 deletions
diff --git a/services/core/java/com/android/server/vibrator/Vibration.java b/services/core/java/com/android/server/vibrator/Vibration.java index 6fc9d9a8ce1d..ad54efcd11d3 100644 --- a/services/core/java/com/android/server/vibrator/Vibration.java +++ b/services/core/java/com/android/server/vibrator/Vibration.java @@ -32,8 +32,9 @@ import android.util.IndentingPrintWriter; import android.util.proto.ProtoOutputStream; import java.io.PrintWriter; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; @@ -42,10 +43,11 @@ import java.util.concurrent.atomic.AtomicInteger; * The base class for all vibrations. */ abstract class Vibration { - private static final SimpleDateFormat DEBUG_TIME_FORMAT = - new SimpleDateFormat("HH:mm:ss.SSS"); - private static final SimpleDateFormat DEBUG_DATE_TIME_FORMAT = - new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); + private static final DateTimeFormatter DEBUG_TIME_FORMATTER = DateTimeFormatter.ofPattern( + "HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); + private static final DateTimeFormatter DEBUG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern( + "MM-dd HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); + // Used to generate globally unique vibration ids. private static final AtomicInteger sNextVibrationId = new AtomicInteger(1); // 0 = no callback @@ -240,10 +242,12 @@ abstract class Vibration { @Override public String toString() { - return "createTime: " + DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime)) - + ", startTime: " + DEBUG_DATE_TIME_FORMAT.format(new Date(mStartTime)) - + ", endTime: " - + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMAT.format(new Date(mEndTime))) + return "createTime: " + DEBUG_DATE_TIME_FORMATTER.format( + Instant.ofEpochMilli(mCreateTime)) + + ", startTime: " + DEBUG_DATE_TIME_FORMATTER.format( + Instant.ofEpochMilli(mStartTime)) + + ", endTime: " + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMATTER.format( + Instant.ofEpochMilli(mEndTime))) + ", durationMs: " + mDurationMs + ", status: " + mStatus.name().toLowerCase(Locale.ROOT) + ", playedEffect: " + mPlayedEffect @@ -267,12 +271,14 @@ abstract class Vibration { boolean isExternalVibration = mPlayedEffect == null; String timingsStr = String.format(Locale.ROOT, "%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", mStatus.name().toLowerCase(Locale.ROOT), mDurationMs, - mStartTime == 0 ? "" : DEBUG_TIME_FORMAT.format(new Date(mStartTime)), - mEndTime == 0 ? "" : DEBUG_TIME_FORMAT.format(new Date(mEndTime))); + mStartTime == 0 ? "" + : DEBUG_TIME_FORMATTER.format(Instant.ofEpochMilli(mStartTime)), + mEndTime == 0 ? "" + : DEBUG_TIME_FORMATTER.format(Instant.ofEpochMilli(mEndTime))); String paramStr = String.format(Locale.ROOT, " | scale: %8s (adaptive=%.2f) | flags: %4s | usage: %s", VibrationScaler.scaleLevelToString(mScaleLevel), mAdaptiveScale, @@ -307,10 +313,12 @@ abstract class Vibration { pw.increaseIndent(); pw.println("status = " + mStatus.name().toLowerCase(Locale.ROOT)); pw.println("durationMs = " + mDurationMs); - pw.println("createTime = " + DEBUG_DATE_TIME_FORMAT.format(new Date(mCreateTime))); - pw.println("startTime = " + DEBUG_DATE_TIME_FORMAT.format(new Date(mStartTime))); - pw.println("endTime = " - + (mEndTime == 0 ? null : DEBUG_DATE_TIME_FORMAT.format(new Date(mEndTime)))); + pw.println("createTime = " + DEBUG_DATE_TIME_FORMATTER.format( + Instant.ofEpochMilli(mCreateTime))); + pw.println("startTime = " + DEBUG_DATE_TIME_FORMATTER.format( + Instant.ofEpochMilli(mStartTime))); + pw.println("endTime = " + (mEndTime == 0 ? null + : DEBUG_DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(mEndTime)))); pw.println("playedEffect = " + mPlayedEffect); pw.println("originalEffect = " + mOriginalEffect); pw.println("scale = " + VibrationScaler.scaleLevelToString(mScaleLevel)); diff --git a/services/core/java/com/android/server/vibrator/VibratorControlService.java b/services/core/java/com/android/server/vibrator/VibratorControlService.java index 10317c997581..b33fa6f56a23 100644 --- a/services/core/java/com/android/server/vibrator/VibratorControlService.java +++ b/services/core/java/com/android/server/vibrator/VibratorControlService.java @@ -51,8 +51,9 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import java.io.PrintWriter; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -66,8 +67,8 @@ final class VibratorControlService extends IVibratorControlService.Stub { private static final int UNRECOGNIZED_VIBRATION_TYPE = -1; private static final int NO_SCALE = -1; - private static final SimpleDateFormat DEBUG_DATE_TIME_FORMAT = - new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); + private static final DateTimeFormatter DEBUG_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern( + "MM-dd HH:mm:ss.SSS").withZone(ZoneId.systemDefault()); private final VibrationParamsRecords mVibrationParamsRecords; private final VibratorControllerHolder mVibratorControllerHolder; @@ -567,7 +568,7 @@ final class VibratorControlService extends IVibratorControlService.Stub { public void dump(IndentingPrintWriter pw) { String line = String.format(Locale.ROOT, "%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), (mScale == NO_SCALE) ? "" : String.format(Locale.ROOT, "%.2f", mScale), Long.toBinaryString(mTypesMask), createVibrationUsagesString()); |