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

Commit 60ce0824 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Unify logging timestamp string." into udc-dev

parents 82bb3b83 9723490f
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -204,8 +204,7 @@ public class BatteryHistEntry {

    @Override
    public String toString() {
        final String recordAtDateTime =
                ConvertUtils.utcToLocalTime(/*context=*/ null, mTimestamp);
        final String recordAtDateTime = ConvertUtils.utcToLocalTimeForLogging(mTimestamp);
        final StringBuilder builder = new StringBuilder()
                .append("\nBatteryHistEntry{")
                .append(String.format("\n\tpackage=%s|label=%s|uid=%d|userId=%d|isHidden=%b",
+4 −3
Original line number Diff line number Diff line
@@ -237,9 +237,10 @@ public final class ConvertUtils {
        return eventBuilder.build();
    }

    /** Converts UTC timestamp to human readable local time string. */
    public static String utcToLocalTime(Context context, long timestamp) {
        final Locale locale = getLocale(context);
    /** Converts UTC timestamp to local time string for logging only, so use the US locale for
     *  better readability in debugging. */
    public static String utcToLocalTimeForLogging(long timestamp) {
        final Locale locale = Locale.US;
        final String pattern =
                DateFormat.getBestDateTimePattern(locale, "MMM dd,yyyy HH:mm:ss");
        return DateFormat.format(pattern, timestamp).toString();
+2 −3
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.settings.fuelgauge.batteryusage;

import static com.android.settings.fuelgauge.batteryusage.ConvertUtils.getEffectivePackageName;
import static com.android.settings.fuelgauge.batteryusage.ConvertUtils.utcToLocalTime;

import android.app.usage.IUsageStatsManager;
import android.app.usage.UsageEvents;
@@ -1357,7 +1356,7 @@ public final class DataProcessor {
        final Map<String, BatteryHistEntry> entryMap = processedBatteryHistoryMap.get(timestamp);
        if (entryMap == null || entryMap.isEmpty()) {
            Log.e(TAG, "abnormal entry list in the timestamp:"
                    + utcToLocalTime(context, timestamp));
                    + ConvertUtils.utcToLocalTimeForLogging(timestamp));
            return null;
        }
        // The current time battery history hasn't been loaded yet, returns the current battery
@@ -1934,7 +1933,7 @@ public final class DataProcessor {
            final BatteryHistEntry entry) {
        if (sDebug) {
            Log.d(TAG, String.format(entry != null ? "%s %s:\n%s" : "%s %s:%s",
                    utcToLocalTime(context, timestamp), content, entry));
                    ConvertUtils.utcToLocalTimeForLogging(timestamp), content, entry));
        }
    }
}
+10 −13
Original line number Diff line number Diff line
@@ -39,15 +39,12 @@ import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
import com.android.settingslib.fuelgauge.BatteryStatus;

import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.time.Clock;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -134,9 +131,10 @@ public final class DatabaseUtils {
                        .build();
        final long latestTimestamp =
                loadAppUsageLatestTimestampFromContentProvider(context, appUsageLatestTimestampUri);
        final String latestTimestampString = ConvertUtils.utcToLocalTimeForLogging(latestTimestamp);
        Log.d(TAG, String.format(
                "getAppUsageStartTimestampOfUser() userId=%d latestTimestamp=%d in %d/ms",
                userId, latestTimestamp, (System.currentTimeMillis() - startTime)));
                "getAppUsageStartTimestampOfUser() userId=%d latestTimestamp=%s in %d/ms",
                userId, latestTimestampString, (System.currentTimeMillis() - startTime)));
        // Use (latestTimestamp + 1) here to avoid loading the events of the latestTimestamp
        // repeatedly.
        return Math.max(latestTimestamp + 1, earliestTimestamp);
@@ -154,7 +152,8 @@ public final class DatabaseUtils {
        // sure the app usage calculation near the boundaries is correct.
        final long queryTimestamp =
                Math.max(rawStartTimestamp, sixDaysAgoTimestamp) - USAGE_QUERY_BUFFER_HOURS;
        Log.d(TAG, "sixDayAgoTimestamp: " + sixDaysAgoTimestamp);
        Log.d(TAG, "sixDayAgoTimestamp: " + ConvertUtils.utcToLocalTimeForLogging(
                sixDaysAgoTimestamp));
        final String queryUserIdString = userIds.stream()
                .map(userId -> String.valueOf(userId))
                .collect(Collectors.joining(","));
@@ -182,7 +181,8 @@ public final class DatabaseUtils {
            Context context, Calendar calendar) {
        final long startTime = System.currentTimeMillis();
        final long sixDaysAgoTimestamp = getTimestampSixDaysAgo(calendar);
        Log.d(TAG, "sixDayAgoTimestamp: " + sixDaysAgoTimestamp);
        Log.d(TAG, "sixDayAgoTimestamp: " + ConvertUtils.utcToLocalTimeForLogging(
                sixDaysAgoTimestamp));
        // Builds the content uri everytime to avoid cache.
        final Uri batteryStateUri =
                new Uri.Builder()
@@ -410,7 +410,9 @@ public final class DatabaseUtils {
    static void recordDateTime(Context context, String preferenceKey) {
        final SharedPreferences sharedPreferences = getSharedPreferences(context);
        if (sharedPreferences != null) {
            sharedPreferences.edit().putString(preferenceKey, getCurrentDateTime()).apply();
            final String currentTime = ConvertUtils.utcToLocalTimeForLogging(
                    System.currentTimeMillis());
            sharedPreferences.edit().putString(preferenceKey, currentTime).apply();
        }
    }

@@ -519,9 +521,4 @@ public final class DatabaseUtils {
            Log.w(TAG, "invoke clearMemory()");
        }, CLEAR_MEMORY_DELAYED_MS);
    }

    private static String getCurrentDateTime() {
        return new SimpleDateFormat("MMM dd,yyyy HH:mm:ss", Locale.getDefault())
                .format(new Date(System.currentTimeMillis()));
    }
}
+1 −7
Original line number Diff line number Diff line
@@ -26,11 +26,8 @@ import androidx.annotation.VisibleForTesting;

import com.android.settings.overlay.FeatureFactory;

import java.text.SimpleDateFormat;
import java.time.Clock;
import java.time.Duration;
import java.util.Date;
import java.util.Locale;

/** Manages the periodic job to schedule or cancel the next job. */
public final class PeriodicJobManager {
@@ -41,8 +38,6 @@ public final class PeriodicJobManager {

    private final Context mContext;
    private final AlarmManager mAlarmManager;
    private final SimpleDateFormat mSimpleDateFormat =
            new SimpleDateFormat("MMM dd,yyyy HH:mm:ss", Locale.ENGLISH);

    @VisibleForTesting
    static final int DATA_FETCH_INTERVAL_MINUTE = 60;
@@ -69,7 +64,6 @@ public final class PeriodicJobManager {
    }

    /** Schedules the next alarm job if it is available. */
    @SuppressWarnings("JavaUtilDate")
    public void refreshJob(final boolean fromBoot) {
        if (mAlarmManager == null) {
            Log.e(TAG, "cannot schedule next alarm job");
@@ -83,7 +77,7 @@ public final class PeriodicJobManager {
        mAlarmManager.setExactAndAllowWhileIdle(
                AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
        Log.d(TAG, "schedule next alarm job at "
                + mSimpleDateFormat.format(new Date(triggerAtMillis)));
                + ConvertUtils.utcToLocalTimeForLogging(triggerAtMillis));
    }

    void cancelJob(PendingIntent pendingIntent) {
Loading