fix some bug

This commit is contained in:
Li ZongYing
2024-05-16 15:35:48 +08:00
parent 7e57aa8c03
commit b782d1f841
2 changed files with 21 additions and 2 deletions
@@ -2,6 +2,7 @@ package com.lizongying.mytv
import android.os.Bundle
import android.util.Log
import android.view.GestureDetector
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.MotionEvent
@@ -43,10 +44,13 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
private lateinit var application: MyTvApplication
private lateinit var gestureDetector: GestureDetector
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
var context = requireContext()
_binding = MenuBinding.inflate(inflater, container, false)
application = requireActivity().applicationContext as MyTvApplication
@@ -58,9 +62,19 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
hideSelf()
}
gestureDetector = GestureDetector(context, GestureListener())
return binding.root
}
private inner class GestureListener : GestureDetector.SimpleOnGestureListener() {
override fun onSingleTapConfirmed(e: MotionEvent): Boolean {
Log.i(TAG, "onSingleTapConfirmed")
hideSelf()
return true
}
}
private fun hideSelf() {
requireActivity().supportFragmentManager.beginTransaction()
.hide(this)
@@ -137,7 +151,7 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
itemBinding.items.addOnItemTouchListener(object : RecyclerView.OnItemTouchListener {
override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
hideSelf()
gestureDetector.onTouchEvent(e)
return false
}
+6 -1
View File
@@ -51,7 +51,12 @@ object SP {
var time: Boolean
get() = sp.getBoolean(KEY_TIME, true)
set(value) = sp.edit().putBoolean(KEY_TIME, value).apply()
set(value) {
if (value != this.time) {
sp.edit().putBoolean(KEY_TIME, value).apply()
listener?.onSharedPreferenceChanged(KEY_TIME)
}
}
var bootStartup: Boolean
get() = sp.getBoolean(KEY_BOOT_STARTUP, false)