diff --git a/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt b/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt index f78ef77..db5d1f8 100644 --- a/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt +++ b/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt @@ -75,8 +75,11 @@ class EuiccManagementFragment : Fragment(), EuiccFragmentMarker, EuiccProfilesCh } } } +} - inner class ViewHolder(private val binding: EuiccProfileBinding) : RecyclerView.ViewHolder(binding.root) { +class EuiccProfileAdapter(var profiles: List>) : + RecyclerView.Adapter() { + data class ViewHolder(val binding: EuiccProfileBinding) : RecyclerView.ViewHolder(binding.root) { init { binding.iccid.setOnClickListener { if (binding.iccid.transformationMethod == null) { @@ -86,37 +89,28 @@ class EuiccManagementFragment : Fragment(), EuiccFragmentMarker, EuiccProfilesCh } } } - - private lateinit var profile: Map - - fun setProfile(profile: Map) { - this.profile = profile - // TODO: The library is not exposing the nicknames. Expose them so that we can do something here. - binding.name.text = profile["NAME"] - binding.state.setText( - if (profile["STATE"]?.lowercase() == "enabled") { - R.string.enabled - } else { - R.string.disabled - } - ) - binding.provider.text = profile["PROVIDER_NAME"] - binding.iccid.text = profile["ICCID"] - binding.iccid.transformationMethod = PasswordTransformationMethod.getInstance() - } } - inner class EuiccProfileAdapter(var profiles: List>) : RecyclerView.Adapter() { - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val binding = - EuiccProfileBinding.inflate(LayoutInflater.from(parent.context), parent, false) - return ViewHolder(binding) - } - - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - holder.setProfile(profiles[position]) - } - - override fun getItemCount(): Int = profiles.size + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = + EuiccProfileBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ViewHolder(binding) } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + // TODO: The library is not exposing the nicknames. Expose them so that we can do something here. + holder.binding.name.text = profiles[position]["NAME"] + holder.binding.state.setText( + if (profiles[position]["STATE"]?.lowercase() == "enabled") { + R.string.enabled + } else { + R.string.disabled + } + ) + holder.binding.provider.text = profiles[position]["PROVIDER_NAME"] + holder.binding.iccid.text = profiles[position]["ICCID"] + holder.binding.iccid.transformationMethod = PasswordTransformationMethod.getInstance() + } + + override fun getItemCount(): Int = profiles.size } \ No newline at end of file