summaryrefslogtreecommitdiff
path: root/core/java/android/util/TimeUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/util/TimeUtils.java')
-rw-r--r--core/java/android/util/TimeUtils.java35
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