1 package expo.modules.devlauncher.launcher.errors 2 3 import android.content.Context 4 import android.view.LayoutInflater 5 import android.view.View 6 import android.view.ViewGroup 7 import android.widget.BaseAdapter 8 import expo.modules.devlauncher.R 9 import expo.modules.devlauncher.databinding.ErrorConsoleListItemBinding 10 11 class DevLauncherStackAdapter( 12 val context: Context, 13 var data: DevLauncherAppError? 14 ) : BaseAdapter() { getCountnull15 override fun getCount(): Int { 16 return data?.error?.stackTrace?.size ?: 0 17 } 18 getItemnull19 override fun getItem(position: Int): Any { 20 return data?.error?.stackTrace?.get(position) ?: 0 21 } 22 getItemIdnull23 override fun getItemId(position: Int): Long { 24 return position.toLong() 25 } 26 getViewnull27 override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { 28 val stackTraceElement = getItem(position) as StackTraceElement 29 30 val currentView = convertView 31 ?: LayoutInflater.from(context).inflate(R.layout.error_console_list_item, parent, false) 32 val binding = ErrorConsoleListItemBinding.bind(currentView) 33 34 binding.rnFrameMethod.text = stackTraceElement.methodName 35 binding.rnFrameFile.text = stackTraceElement.fileName 36 37 return binding.root 38 } 39 } 40