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 ->