1 /*
2  * Copyright (C) 2024 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.tools.flicker.datastore
18 
19 import android.tools.Scenario
20 import android.tools.io.Reader
21 import android.tools.traces.TraceConfigs
22 import android.tools.traces.io.ResultReaderWithLru
23 
24 /** Helper class to read results of a [scenario] from the [DataStore] */
25 class CachedResultReader(
26     private val scenario: Scenario,
27     traceConfig: TraceConfigs,
28     private val reader: Reader =
29         ResultReaderWithLru(
30             android.tools.flicker.datastore.DataStore.getResult(scenario),
31             traceConfig
32         )
<lambda>null33 ) : Reader by reader {
34     override fun toString(): String = "$scenario ($reader)"
35 }
36