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.testapps.toolbox.adapters
15 
16 import android.view.LayoutInflater
17 import android.view.View
18 import android.view.ViewGroup
19 import android.widget.TextView
20 import androidx.recyclerview.widget.RecyclerView
21 import com.android.healthconnect.testapps.toolbox.R
22 
23 class TextViewListAdapter(
24     private val mDataSet: List<Any>,
25     private val mOnBindViewHolderCallback:
26         (viewHolder: TextViewListViewHolder, position: Int) -> Unit,
27 ) : RecyclerView.Adapter<TextViewListViewHolder>() {
28 
onCreateViewHoldernull29     override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): TextViewListViewHolder {
30         val view =
31             LayoutInflater.from(viewGroup.context).inflate(R.layout.text_view, viewGroup, false)
32 
33         return TextViewListViewHolder(view)
34     }
35 
onBindViewHoldernull36     override fun onBindViewHolder(viewHolder: TextViewListViewHolder, position: Int) {
37         mOnBindViewHolderCallback.invoke(viewHolder, position)
38     }
39 
getItemCountnull40     override fun getItemCount() = mDataSet.size
41 }
42 
43 class TextViewListViewHolder(view: View) : RecyclerView.ViewHolder(view) {
44     val textView: TextView
45 
46     init {
47         textView = view.findViewById(R.id.list_item_textview)
48     }
49 }
50