1 package jp.osdn.gokigen.gokigenassets.utils.logcat
3 import android.app.Activity
4 import android.os.Bundle
5 import android.util.Log
7 import android.widget.ArrayAdapter
8 import android.widget.ListView
9 import android.widget.Toast
10 import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_LABEL_FINISHED_REFRESH
11 import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_MENU_ACTION_REFRESH
12 import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_MENU_LAYOUT_DEBUG_VIEW
15 class LogCatFragment : androidx.fragment.app.ListFragment()
17 private val updater : LogCatUpdater = LogCatUpdater()
18 private var myView : View? = null
19 private var adapter: ArrayAdapter<String>? = null
20 private var myDataItems: List<String> = ArrayList()
24 private val TAG = LogCatFragment::class.java.simpleName
25 fun newInstance() = LogCatFragment().apply { }
28 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?) : View?
35 adapter = ArrayAdapter(inflater.context, android.R.layout.simple_list_item_1, myDataItems)
37 myView = super.onCreateView(inflater, container, savedInstanceState)!!
41 override fun onActivityCreated(savedInstanceState: Bundle?)
43 super.onActivityCreated(savedInstanceState)
44 Log.v(TAG, "LogCatFragment::onActivityCreated()")
45 setHasOptionsMenu(true)
47 val activity: Activity? = activity
50 listView.onItemLongClickListener = LogCatExporter(activity)
54 override fun onResume()
61 override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater)
63 inflater.inflate(ID_MENU_LAYOUT_DEBUG_VIEW, menu)
66 override fun onOptionsItemSelected(item: MenuItem) : Boolean
71 ID_MENU_ACTION_REFRESH -> ret = update()
72 else -> ret = super.onOptionsItemSelected(item)
77 fun update() : Boolean
80 Log.v(TAG, "START LOGCAT")
81 myDataItems = updater.getLogCat("main", "time", "*:v", "gokigen", Regex(""))
82 Log.v(TAG, "FINISH LOGCAT")
84 val activity = activity
85 activity?.runOnUiThread {
88 if (adapter!!.count > 0) {
93 adapter!!.addAll(myDataItems)
97 activity.findViewById<ListView>(android.R.id.list)
98 view.setSelection(myDataItems.size)
103 getString(ID_LABEL_FINISHED_REFRESH),
106 } catch (ee: Exception) {
110 } catch (e: Exception) {