LogcatRecyclerAdapter.kt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.v2ray.ang.ui
  2. import android.util.Log
  3. import android.view.LayoutInflater
  4. import android.view.ViewGroup
  5. import androidx.recyclerview.widget.RecyclerView
  6. import com.v2ray.ang.AppConfig
  7. import com.v2ray.ang.databinding.ItemRecyclerLogcatBinding
  8. class LogcatRecyclerAdapter(val activity: LogcatActivity) : RecyclerView.Adapter<LogcatRecyclerAdapter.MainViewHolder>() {
  9. private var mActivity: LogcatActivity = activity
  10. override fun getItemCount() = mActivity.logsets.size
  11. override fun onBindViewHolder(holder: MainViewHolder, position: Int) {
  12. try {
  13. val log = mActivity.logsets[position]
  14. if (log.isEmpty()) {
  15. holder.itemSubSettingBinding.logTag.text = ""
  16. holder.itemSubSettingBinding.logContent.text = ""
  17. } else {
  18. val content = log.split("):", limit = 2)
  19. holder.itemSubSettingBinding.logTag.text = content.first().split("(", limit = 2).first().trim()
  20. holder.itemSubSettingBinding.logContent.text = if (content.count() > 1) content.last().trim() else ""
  21. }
  22. } catch (e: Exception) {
  23. Log.e(AppConfig.TAG, "Error binding log view data", e)
  24. }
  25. }
  26. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MainViewHolder {
  27. return MainViewHolder(
  28. ItemRecyclerLogcatBinding.inflate(
  29. LayoutInflater.from(parent.context),
  30. parent,
  31. false
  32. )
  33. )
  34. }
  35. class MainViewHolder(val itemSubSettingBinding: ItemRecyclerLogcatBinding) : RecyclerView.ViewHolder(itemSubSettingBinding.root)
  36. }