@@ -6,6 +6,8 @@ import android.content.Context
66import android.content.Intent
77import android.net.Uri
88import android.os.Bundle
9+ import android.os.Handler
10+ import android.os.Looper
911import android.os.StrictMode
1012import android.view.*
1113import androidx.appcompat.widget.SearchView
@@ -33,6 +35,7 @@ abstract class LogBaseFragment : Fragment() {
3335
3436 private var filename: String? = null
3537 private var searchHint: String? = null
38+ protected var live: Boolean = false
3639
3740 override fun onCreateView (inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ): View ? {
3841 super .onCreateView(inflater, container, savedInstanceState)
@@ -43,7 +46,10 @@ abstract class LogBaseFragment : Fragment() {
4346 logsRecycler = view.findViewById(R .id.log_recycler)
4447 logsRecycler.layoutManager = layoutManager
4548 // empty adapter to avoid "E/RecyclerView﹕ No adapter attached; skipping layou..."
46- logsRecycler.adapter = LogListAdapter (mutableListOf (), currentFilter)
49+ logListAdapter = LogListAdapter (mutableListOf (), currentFilter)
50+ logsRecycler.adapter = logListAdapter
51+
52+ setFilter2LogAdapter(" " )
4753
4854 activity!! .actionBar?.setDisplayHomeAsUpEnabled(true )
4955 if (savedInstanceState == null ) {
@@ -63,13 +69,19 @@ abstract class LogBaseFragment : Fragment() {
6369 return view
6470 }
6571
66- private fun showLogContent () = lifecycle.coroutineScope.launch(Dispatchers .Main ) {
67- val logEntries = withContext(Dispatchers .Default ) {
68- readLogFile()
72+ private fun showLogContent () {
73+ lifecycle.coroutineScope.launch(Dispatchers .Main ) {
74+ val logEntries = withContext(Dispatchers .Default ) {
75+ readLogFile()
76+ }
77+ logListAdapter?.setItems(logEntries)
78+ logsRecycler.adapter = logListAdapter
79+ logsRecycler.adapter?.itemCount?.minus(1 )?.let { logsRecycler.scrollToPosition(it) }
80+
81+ if (live) {
82+ Handler (Looper .getMainLooper()).postDelayed({ showLogContent() }, 1000 )
83+ }
6984 }
70- logListAdapter = LogListAdapter (logEntries, currentFilter)
71- logsRecycler.adapter = logListAdapter
72- logsRecycler.adapter?.itemCount?.minus(1 )?.let { logsRecycler.scrollToPosition(it) }
7385 }
7486
7587 override fun onCreateOptionsMenu (menu : Menu , inflater : MenuInflater ) {
0 commit comments