1 /**
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  *      http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 package com.android.healthconnect.controller.dataentries.formatters
15 
16 import android.content.Context
17 import android.health.connect.datatypes.FloorsClimbedRecord
18 import android.icu.text.MessageFormat.format
19 import com.android.healthconnect.controller.R
20 import com.android.healthconnect.controller.dataentries.formatters.shared.EntryFormatter
21 import com.android.healthconnect.controller.dataentries.units.UnitPreferences
22 import dagger.hilt.android.qualifiers.ApplicationContext
23 import javax.inject.Inject
24 
25 /** Formatter for printing FloorsRecord data. */
26 class FloorsFormatter @Inject constructor(@ApplicationContext private val context: Context) :
27     EntryFormatter<FloorsClimbedRecord>(context) {
28 
formatValuenull29     override suspend fun formatValue(
30         record: FloorsClimbedRecord,
31         unitPreferences: UnitPreferences
32     ): String {
33         return format(context.getString(R.string.floors_climbed), mapOf("count" to record.floors))
34     }
35 
formatA11yValuenull36     override suspend fun formatA11yValue(
37         record: FloorsClimbedRecord,
38         unitPreferences: UnitPreferences
39     ): String {
40         return formatValue(record, unitPreferences)
41     }
42 }
43