mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
ViewBinding
This commit is contained in:
parent
512a58b49c
commit
3c94fbcb86
4 changed files with 30 additions and 31 deletions
|
@ -1,44 +1,41 @@
|
||||||
package com.lagradost.cloudstream3.ui.account
|
package com.lagradost.cloudstream3.ui.account
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.ImageView
|
|
||||||
import android.widget.TextView
|
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.lagradost.cloudstream3.R
|
import com.lagradost.cloudstream3.databinding.AccountListItemBinding
|
||||||
import com.lagradost.cloudstream3.ui.result.setImage
|
import com.lagradost.cloudstream3.ui.result.setImage
|
||||||
import com.lagradost.cloudstream3.utils.DataStoreHelper
|
import com.lagradost.cloudstream3.utils.DataStoreHelper
|
||||||
|
|
||||||
class AccountAdapter(private val accounts: List<DataStoreHelper.Account>, private val onItemClick: (DataStoreHelper.Account) -> Unit) :
|
class AccountAdapter(
|
||||||
RecyclerView.Adapter<AccountAdapter.AccountViewHolder>() {
|
private val accounts: List<DataStoreHelper.Account>,
|
||||||
|
private val onItemClick: (DataStoreHelper.Account) -> Unit
|
||||||
|
) : RecyclerView.Adapter<AccountAdapter.AccountViewHolder>() {
|
||||||
|
|
||||||
inner class AccountViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
inner class AccountViewHolder(private val binding: AccountListItemBinding) :
|
||||||
val accountName: TextView = itemView.findViewById(R.id.account_name)
|
RecyclerView.ViewHolder(binding.root) {
|
||||||
val accountImage: ImageView = itemView.findViewById(R.id.account_image)
|
|
||||||
val lockIcon: ImageView = itemView.findViewById(R.id.lock_icon)
|
fun bind(account: DataStoreHelper.Account) {
|
||||||
|
binding.accountName.text = account.name
|
||||||
|
binding.accountImage.setImage(account.image)
|
||||||
|
binding.lockIcon.isVisible = account.lockPin != null
|
||||||
|
|
||||||
|
binding.root.setOnClickListener {
|
||||||
|
onItemClick(account)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AccountViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AccountViewHolder {
|
||||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.account_list_item, parent, false)
|
val binding = AccountListItemBinding.inflate(
|
||||||
return AccountViewHolder(view)
|
LayoutInflater.from(parent.context), parent, false
|
||||||
|
)
|
||||||
|
return AccountViewHolder(binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: AccountViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: AccountViewHolder, position: Int) {
|
||||||
val account = accounts[position]
|
holder.bind(accounts[position])
|
||||||
|
|
||||||
// Populate data into the UI elements
|
|
||||||
holder.accountName.text = account.name
|
|
||||||
holder.accountImage.setImage(account.image)
|
|
||||||
|
|
||||||
if (account.lockPin != null) {
|
|
||||||
holder.lockIcon.isVisible = true
|
|
||||||
}
|
|
||||||
|
|
||||||
holder.itemView.setOnClickListener {
|
|
||||||
onItemClick(account)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getItemCount(): Int {
|
override fun getItemCount(): Int {
|
||||||
|
|
|
@ -6,18 +6,21 @@ import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.lagradost.cloudstream3.MainActivity
|
import com.lagradost.cloudstream3.MainActivity
|
||||||
import com.lagradost.cloudstream3.R
|
import com.lagradost.cloudstream3.databinding.ActivityAccountSelectBinding
|
||||||
import com.lagradost.cloudstream3.ui.account.AccountDialog.showPinInputDialog
|
import com.lagradost.cloudstream3.ui.account.AccountDialog.showPinInputDialog
|
||||||
import com.lagradost.cloudstream3.utils.DataStoreHelper
|
import com.lagradost.cloudstream3.utils.DataStoreHelper
|
||||||
import com.lagradost.cloudstream3.utils.DataStoreHelper.getAccounts
|
import com.lagradost.cloudstream3.utils.DataStoreHelper.getAccounts
|
||||||
|
|
||||||
class AccountSelectActivity : AppCompatActivity() {
|
class AccountSelectActivity : AppCompatActivity() {
|
||||||
|
|
||||||
|
private lateinit var binding: ActivityAccountSelectBinding
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_account_select)
|
binding = ActivityAccountSelectBinding.inflate(layoutInflater)
|
||||||
|
setContentView(binding.root)
|
||||||
|
|
||||||
val recyclerView: RecyclerView = findViewById(R.id.accountRecyclerView)
|
val recyclerView: RecyclerView = binding.accountRecyclerView
|
||||||
|
|
||||||
val accounts = getAccounts(this@AccountSelectActivity)
|
val accounts = getAccounts(this@AccountSelectActivity)
|
||||||
|
|
||||||
|
@ -51,6 +54,4 @@ class AccountSelectActivity : AppCompatActivity() {
|
||||||
startActivity(mainIntent)
|
startActivity(mainIntent)
|
||||||
finish() // Finish the account selection activity
|
finish() // Finish the account selection activity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
android:layout_margin="4dp"
|
android:layout_margin="4dp"
|
||||||
android:src="@drawable/video_locked"
|
android:src="@drawable/video_locked"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/account_name"
|
android:id="@+id/account_name"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
android:layout_marginBottom="16dp" />
|
android:layout_marginBottom="16dp" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/accountRecyclerView"
|
android:id="@+id/account_recycler_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="16dp" />
|
android:padding="16dp" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue