Revert^2 "Fix usage of minBy to unblock Kotlin 1.5 upgrade" am: 060dea15b0 am: ce196881e9

Original change: https://android-review.googlesource.com/c/platform/tools/trebuchet/+/1709772

Change-Id: Iefb96d7ecf1f36b89358e19eb95e6be2bf99a08e
diff --git a/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt b/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
index 79a9183..00f9953 100644
--- a/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
+++ b/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
@@ -113,7 +113,7 @@
  * @param predicate  The predicate used to test slices
  */
 fun Model.selectFirst(predicate: (Slice) -> Boolean) : Slice? {
-    return this.processes.values.mapNotNull { it.selectFirst(predicate) }.minBy { it.startTime }
+    return this.processes.values.mapNotNull { it.selectFirst(predicate) }.minByOrNull { it.startTime }
 }
 
 
diff --git a/trebuchet/startup-common/src/StartupCommon.kt b/trebuchet/startup-common/src/StartupCommon.kt
index 75ed400..2cf4793 100644
--- a/trebuchet/startup-common/src/StartupCommon.kt
+++ b/trebuchet/startup-common/src/StartupCommon.kt
@@ -115,7 +115,7 @@
                     map { it.slices }.
                     filter { it.isNotEmpty() }.
                     map { it.first().startTime }.
-                    min() ?: throw MissingProcessInfoException(process.id)
+                    minOrNull() ?: throw MissingProcessInfoException(process.id)
 
             if (firstSliceStart in lowerBound..upperBound) {
                 return process
@@ -142,7 +142,7 @@
             val newProc        = this.findProcess(newProcName, systemServerSlice.startTime, systemServerSlice.endTime)
             val startProcSlice = systemServerProc.findFirstSlice(SLICE_NAME_PROC_START, newProcName, systemServerSlice.startTime, systemServerSlice.endTime)
             val rfdSlice       = systemServerProc.findFirstSliceOrNull(SLICE_NAME_REPORT_FULLY_DRAWN, newProcName, systemServerSlice.startTime)
-            val firstSliceTime = newProc.threads.map { it.slices.firstOrNull()?.startTime ?: Double.POSITIVE_INFINITY }.min()!!
+            val firstSliceTime = newProc.threads.map { it.slices.firstOrNull()?.startTime ?: Double.POSITIVE_INFINITY }.minOrNull()!!
 
             val schedSliceInfo : MutableMap<SchedulingState, Double> = mutableMapOf()
             newProc.threads.first().schedSlices.forEach schedLoop@ { schedSlice ->