diff options
Diffstat (limited to 'core/java/android/util/TimeUtils.java')
| -rw-r--r-- | core/java/android/util/TimeUtils.java | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/core/java/android/util/TimeUtils.java b/core/java/android/util/TimeUtils.java index 384040013a6d..e0b8d52aa132 100644 --- a/core/java/android/util/TimeUtils.java +++ b/core/java/android/util/TimeUtils.java @@ -30,6 +30,7 @@ import com.android.i18n.timezone.ZoneInfoDb; import java.io.PrintWriter; import java.text.SimpleDateFormat; +import java.time.LocalTime; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -334,7 +335,17 @@ public class TimeUtils { /** @hide Just for debugging; not internationalized. */ public static String formatUptime(long time) { - final long diff = time - SystemClock.uptimeMillis(); + return formatTime(time, SystemClock.uptimeMillis()); + } + + /** @hide Just for debugging; not internationalized. */ + public static String formatRealtime(long time) { + return formatTime(time, SystemClock.elapsedRealtime()); + } + + /** @hide Just for debugging; not internationalized. */ + public static String formatTime(long time, long referenceTime) { + long diff = time - referenceTime; if (diff > 0) { return time + " (in " + diff + " ms)"; } @@ -382,6 +393,28 @@ public class TimeUtils { } /** + * This method is used to find if a clock time is inclusively between two other clock times + * @param reference The time of the day we want check if it is between start and end + * @param start The start time reference + * @param end The end time + * @return true if the reference time is between the two clock times, and false otherwise. + */ + public static boolean isTimeBetween(@NonNull LocalTime reference, + @NonNull LocalTime start, + @NonNull LocalTime end) { + // ////////E----+-----S//////// + if ((reference.isBefore(start) && reference.isAfter(end) + // -----+----S//////////E------ + || (reference.isBefore(end) && reference.isBefore(start) && start.isBefore(end)) + // ---------S//////////E---+--- + || (reference.isAfter(end) && reference.isAfter(start)) && start.isBefore(end))) { + return false; + } else { + return true; + } + } + + /** * Dump a currentTimeMillis style timestamp for dumpsys, with the delta time from now. * * @hide |
