Move Assertion Engine from common to service

Test: atest FlickerLibTest
Change-Id: I0e0200b0202d85b1a2227b954f78e5b1d5e65ebf
diff --git a/libraries/flicker/src/com/android/server/wm/traces/common/service/AssertionEngine.kt b/libraries/flicker/src/com/android/server/wm/flicker/service/AssertionEngine.kt
similarity index 97%
rename from libraries/flicker/src/com/android/server/wm/traces/common/service/AssertionEngine.kt
rename to libraries/flicker/src/com/android/server/wm/flicker/service/AssertionEngine.kt
index 0a8a236..be3ead5 100644
--- a/libraries/flicker/src/com/android/server/wm/traces/common/service/AssertionEngine.kt
+++ b/libraries/flicker/src/com/android/server/wm/flicker/service/AssertionEngine.kt
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.server.wm.traces.common.service
+package com.android.server.wm.flicker.service
 
 import com.android.server.wm.traces.common.errors.ErrorState
 import com.android.server.wm.traces.common.errors.ErrorTrace
 import com.android.server.wm.traces.common.layers.LayersTrace
+import com.android.server.wm.traces.common.service.ITransitionAssertor
 import com.android.server.wm.traces.common.tags.Tag
 import com.android.server.wm.traces.common.tags.TagTrace
 import com.android.server.wm.traces.common.tags.Transition
diff --git a/libraries/flicker/src/com/android/server/wm/flicker/service/FlickerService.kt b/libraries/flicker/src/com/android/server/wm/flicker/service/FlickerService.kt
index 9cc8b49..a760c5b 100644
--- a/libraries/flicker/src/com/android/server/wm/flicker/service/FlickerService.kt
+++ b/libraries/flicker/src/com/android/server/wm/flicker/service/FlickerService.kt
@@ -21,7 +21,6 @@
 import com.android.server.wm.flicker.monitor.TransitionMonitor.Companion.WINSCOPE_EXT
 import com.android.server.wm.traces.common.errors.ErrorTrace
 import com.android.server.wm.traces.common.layers.LayersTrace
-import com.android.server.wm.traces.common.service.AssertionEngine
 import com.android.server.wm.traces.common.service.TaggingEngine
 import com.android.server.wm.traces.common.windowmanager.WindowManagerTrace
 import com.android.server.wm.traces.parser.errors.writeToFile
diff --git a/libraries/flicker/src/com/android/server/wm/flicker/service/TaggingEngine.kt b/libraries/flicker/src/com/android/server/wm/flicker/service/TaggingEngine.kt
deleted file mode 100644
index 9664167..0000000
--- a/libraries/flicker/src/com/android/server/wm/flicker/service/TaggingEngine.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.wm.flicker.service
-
-import android.util.Log
-import com.android.server.wm.flicker.FLICKER_TAG
-import com.android.server.wm.traces.common.layers.LayersTrace
-import com.android.server.wm.traces.common.service.processors.AppLaunchProcessor
-import com.android.server.wm.traces.common.service.processors.ImeAppearProcessor
-import com.android.server.wm.traces.common.service.processors.ImeDisappearProcessor
-import com.android.server.wm.traces.common.service.processors.RotationProcessor
-import com.android.server.wm.traces.common.tags.TagState
-import com.android.server.wm.traces.common.tags.TagTrace
-import com.android.server.wm.traces.common.windowmanager.WindowManagerTrace
-import java.nio.file.Path
-
-/**
- * Invokes all concrete tag producers and writes to a .winscope file
- */
-class TaggingEngine(private val outputDir: Path, private val testTag: String) {
-    private val transitions = listOf(
-        // TODO: Keep adding new transition processors to invoke
-        AppLaunchProcessor { log(it) },
-        ImeAppearProcessor { log(it) },
-        ImeDisappearProcessor { log(it) },
-        RotationProcessor { log(it) }
-    )
-
-    private fun log(value: String) {
-        Log.v(FLICKER_TAG, value)
-    }
-
-    /**
-     * Generate tags denoting start and end points for all [transitions] within traces
-     * @param wmTrace - WindowManager trace
-     * @param layersTrace - SurfaceFlinger trace
-     */
-    fun tag(wmTrace: WindowManagerTrace, layersTrace: LayersTrace): TagTrace {
-        val allStates = transitions.flatMap {
-            it.generateTags(wmTrace, layersTrace).entries.asList()
-        }
-
-        /**
-         * Ensure all tag states with the same timestamp are merged
-         */
-        val tagStates = allStates.distinct()
-            .groupBy({ it.timestamp }, { it.tags.asList() })
-            .mapValues { (key, value) -> TagState(key.toString(), value.flatten().toTypedArray()) }
-            .values.toTypedArray()
-
-        return TagTrace(tagStates, source = "")
-    }
-}
diff --git a/libraries/flicker/test/src/com/android/server/wm/flicker/service/AssertionEngineTest.kt b/libraries/flicker/test/src/com/android/server/wm/flicker/service/AssertionEngineTest.kt
index 144ca69..6250045 100644
--- a/libraries/flicker/test/src/com/android/server/wm/flicker/service/AssertionEngineTest.kt
+++ b/libraries/flicker/test/src/com/android/server/wm/flicker/service/AssertionEngineTest.kt
@@ -19,7 +19,6 @@
 import com.android.server.wm.flicker.readLayerTraceFromFile
 import com.android.server.wm.flicker.readTagTraceFromFile
 import com.android.server.wm.flicker.readWmTraceFromFile
-import com.android.server.wm.traces.common.service.AssertionEngine
 import com.android.server.wm.traces.common.tags.Tag
 import com.android.server.wm.traces.common.tags.Transition
 import com.android.server.wm.traces.common.tags.TransitionTag