Snap for 8414339 from 9ff3c1fd3ea48b7c148fc1f6e2456dbc5596ca8d to tm-qpr1-release

Change-Id: I76ab92672f86a1ed0937ff93260e32abee181b3e
diff --git a/build.gradle b/build.gradle
index b9666b2..48d6f68 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@
  */
 
 buildscript {
-    ext.kotlin_version = "1.3.21"
+    ext.kotlin_version = "1.5.10"
 
     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 ee207e2..7e9d141 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.]...)? *([\d.]*): *([^:]*): *(.*) *$"""
+const val FtraceLineRE = """^ *(.{1,16})-(\d+) +(?:\( *(\d+)?-*\) )?\[(\d+)] (?:[dX.][^\s]+)? *([\d.]*): *([^:]*): *(.*) *$"""
 
 interface FtraceEventDetails {
     fun import(event: FtraceEvent, state: FtraceImporterState)
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 d0cc7ea..fd616ef 100644
--- a/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
+++ b/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
@@ -148,6 +148,32 @@
 
     }
 
+    @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 f860796..534d351 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-4.9-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-all.zip