messenger-android

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

ContactListFragment.kt (2143B)


      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/contact/ContactListFragment.kt
     23  */
     24 
     25 package org.gnunet.gnunetmessenger.ui.contact
     26 
     27 import android.os.Bundle
     28 import android.view.View
     29 import androidx.fragment.app.Fragment
     30 import androidx.fragment.app.activityViewModels
     31 import androidx.lifecycle.Observer
     32 import androidx.recyclerview.widget.LinearLayoutManager
     33 import androidx.recyclerview.widget.RecyclerView
     34 import org.gnunet.gnunetmessenger.R
     35 import org.gnunet.gnunetmessenger.ui.adapters.ContactListAdapter
     36 import org.gnunet.gnunetmessenger.viewmodel.ContactListViewModel
     37 
     38 class ContactListFragment : Fragment(R.layout.fragment_contact_list) {
     39 
     40     private lateinit var recyclerView: RecyclerView
     41     private lateinit var adapter: ContactListAdapter
     42     private val viewModel: ContactListViewModel by activityViewModels()
     43 
     44     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
     45         super.onViewCreated(view, savedInstanceState)
     46 
     47         recyclerView = view.findViewById(R.id.contactRecyclerView)
     48         recyclerView.layoutManager = LinearLayoutManager(requireContext())
     49         adapter = ContactListAdapter()
     50         recyclerView.adapter = adapter
     51 
     52         viewModel.contacts.observe(viewLifecycleOwner, Observer { contactList ->
     53             adapter.submitList(contactList)
     54         })
     55     }
     56 }