messenger-android

Android graphical user interfaces for GNUnet Messenger
Log | Files | Refs | README | LICENSE

AttributeAdapter.kt (2048B)


      1 /*
      2    This file is part of GNUnet.
      3    Copyright (C) 2021--2025 GNUnet e.V.
      4 
      5    GNUnet is free software: you can redistribute it and/or modify it
      6    under the terms of the GNU Affero General Public License as published
      7    by the Free Software Foundation, either version 3 of the License,
      8    or (at your option) any later version.
      9 
     10    GNUnet is distributed in the hope that it will be useful, but
     11    WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13    Affero General Public License for more details.
     14 
     15    You should have received a copy of the GNU Affero General Public License
     16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18    SPDX-License-Identifier: AGPL3.0-or-later
     19  */
     20 /*
     21  * @author t3sserakt
     22  * @file GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/adapters/AttributeAdapter.kt
     23  */
     24 
     25 package org.gnunet.gnunetmessenger.ui.adapters
     26 
     27 import android.view.LayoutInflater
     28 import android.view.ViewGroup
     29 import androidx.recyclerview.widget.RecyclerView
     30 import org.gnunet.gnunetmessenger.databinding.AttributeItemBinding
     31 
     32 class AttributeAdapter(private val attributes: MutableList<Pair<String, String>>) : RecyclerView.Adapter<AttributeAdapter.AttributeViewHolder>() {
     33 
     34     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AttributeViewHolder {
     35         val binding = AttributeItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
     36         return AttributeViewHolder(binding)
     37     }
     38 
     39     override fun onBindViewHolder(holder: AttributeViewHolder, position: Int) {
     40         val attribute = attributes[position]
     41         holder.bind(attribute)
     42     }
     43 
     44     override fun getItemCount(): Int = attributes.size
     45 
     46     inner class AttributeViewHolder(private val binding: AttributeItemBinding) : RecyclerView.ViewHolder(binding.root) {
     47         fun bind(attribute: Pair<String, String>) {
     48             binding.keyName.text = attribute.first
     49             binding.valueName.text = attribute.second
     50         }
     51     }
     52 }