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

Commit 4af0a613 authored by Ahmad Khalil's avatar Ahmad Khalil Committed by Android (Google) Code Review
Browse files

Merge "Fix timestamps offset in vibrator_manager logs" into main

parents 626434f0 4a757b0f
Loading
Loading
Loading
Loading
+25 −17
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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


@@ -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
@@ -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,
@@ -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));
+6 −5
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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;
@@ -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());