Snap for 8730993 from 7e0ac197101cfac1085319c2d14932cce2cd9709 to mainline-tzdata3-release

Change-Id: I4d154b25a5361532773578506c529de27494424f
diff --git a/build.gradle b/build.gradle
index 48d6f68..b9666b2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@
  */
 
 buildscript {
-    ext.kotlin_version = "1.5.10"
+    ext.kotlin_version = "1.3.21"
 
     repositories {
         mavenCentral()
diff --git a/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt b/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt
index 7e9d141..ee207e2 100644
--- a/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt
+++ b/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt
@@ -26,7 +26,7 @@
 import java.util.regex.Matcher
 import java.util.regex.Pattern
 
-const val FtraceLineRE = """^ *(.{1,16})-(\d+) +(?:\( *(\d+)?-*\) )?\[(\d+)] (?:[dX.][^\s]+)? *([\d.]*): *([^:]*): *(.*) *$"""
+const val FtraceLineRE = """^ *(.{1,16})-(\d+) +(?:\( *(\d+)?-*\) )?\[(\d+)] (?:[dX.]...)? *([\d.]*): *([^:]*): *(.*) *$"""
 
 interface FtraceEventDetails {
     fun import(event: FtraceEvent, state: FtraceImporterState)
diff --git a/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt b/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
index 00f9953..79a9183 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) }.minByOrNull { it.startTime }
+    return this.processes.values.mapNotNull { it.selectFirst(predicate) }.minBy { it.startTime }
 }
 
 
diff --git a/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt b/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
index fd616ef..d0cc7ea 100644
--- a/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
+++ b/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
@@ -148,32 +148,6 @@
 
     }
 
-    @Test fun testKernel515Changes() {
-        val trace = """ # tracer: nop
-            > #                                        ||| / _-=> migrate-disable
-            > #                                        |||| /     delay
-            > #           TASK-PID       TGID    CPU#  |||||  TIMESTAMP  FUNCTION
-            > #              | |           |       |   |||||     |         |
-            >           atrace-6950    (   6950) [001] .....  7048.491867: tracing_mark_write: trace_event_clock_sync: parent_ts=7048.491699
-            >           atrace-6950    (   6950) [001] .....  7048.491873: tracing_mark_write: trace_event_clock_sync: realtime_ts=1648582795693
-            >  roidJUnitRunner-6981    (   6966) [000] .....  7048.755913: tracing_mark_write: S|6966|AtraceDeviceTest::asyncBeginEndSection|42
-            >  roidJUnitRunner-6981    (   6966) [000] .....  7048.755920: tracing_mark_write: F|6966|AtraceDeviceTest::asyncBeginEndSection|42
-            >  roidJUnitRunner-6981    (   6966) [000] .....  7048.755924: tracing_mark_write: S|6966|ndk::asyncBeginEndSection|4770
-            >  roidJUnitRunner-6981    (   6966) [000] .....  7048.755926: tracing_mark_write: F|6966|ndk::asyncBeginEndSection|4770
-        """.trimMargin(">")
-
-        val importer = FtraceImporter(FatalImportFeedback)
-        val modelFragment = importer.import(trace.makeReader())
-        assertNotNull(modelFragment)
-        val model = Model(modelFragment!!)
-        assertNotNull(model)
-        val p = model.processes[6966].also {
-            assertNotNull(it)
-        }!!
-        assertEquals(6966, p.id)
-        assertEquals(1, p.threads.size)
-    }
-
     fun parse(vararg lines: String): Model {
         val traceData = withHeader(*lines)
         val importer = FtraceImporter(FatalImportFeedback)
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 534d351..f860796 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
diff --git a/trebuchet/startup-common/src/StartupCommon.kt b/trebuchet/startup-common/src/StartupCommon.kt
index 2cf4793..75ed400 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 }.
-                    minOrNull() ?: throw MissingProcessInfoException(process.id)
+                    min() ?: 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 }.minOrNull()!!
+            val firstSliceTime = newProc.threads.map { it.slices.firstOrNull()?.startTime ?: Double.POSITIVE_INFINITY }.min()!!
 
             val schedSliceInfo : MutableMap<SchedulingState, Double> = mutableMapOf()
             newProc.threads.first().schedSlices.forEach schedLoop@ { schedSlice ->