This commit is contained in:
Li ZongYing
2024-01-14 18:58:37 +08:00
parent 2528cf33db
commit 1aade3a48d
6 changed files with 114 additions and 83 deletions
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,7 @@
package com.lizongying.mytv package com.lizongying.mytv
import android.graphics.Color import android.graphics.Color
import android.util.Log
import android.view.ContextThemeWrapper import android.view.ContextThemeWrapper
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@@ -53,6 +53,7 @@ class MainActivity : FragmentActivity() {
.add(R.id.main_browse_fragment, infoFragment) .add(R.id.main_browse_fragment, infoFragment)
.add(R.id.main_browse_fragment, mainFragment) .add(R.id.main_browse_fragment, mainFragment)
.hide(infoFragment) .hide(infoFragment)
.hide(mainFragment)
.commit() .commit()
mainFragment.view?.requestFocus() mainFragment.view?.requestFocus()
} }
@@ -171,33 +172,7 @@ class MainActivity : FragmentActivity() {
} }
} }
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { private fun showHelp() {
when (keyCode) {
KeyEvent.KEYCODE_BACK -> {
if (!mainFragmentIsHidden()) {
hideMainFragment()
return true
}
if (doubleBackToExitPressedOnce) {
super.onBackPressed()
return true
}
this.doubleBackToExitPressedOnce = true
Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show()
Handler(Looper.getMainLooper()).postDelayed({
doubleBackToExitPressedOnce = false
}, 2000)
return true
}
KeyEvent.KEYCODE_SETTINGS -> {
Toast.makeText(this, "KEYCODE_SETTINGS", Toast.LENGTH_SHORT).show()
}
KeyEvent.KEYCODE_MENU -> {
Toast.makeText(this, "KEYCODE_MENU", Toast.LENGTH_SHORT).show()
val versionName = getPackageInfo().versionName val versionName = getPackageInfo().versionName
val textView = TextView(this) val textView = TextView(this)
@@ -206,7 +181,6 @@ class MainActivity : FragmentActivity() {
textView.setBackgroundColor(0xFF263238.toInt()) textView.setBackgroundColor(0xFF263238.toInt())
textView.setPadding(20, 50, 20, 20) textView.setPadding(20, 50, 20, 20)
val imageView = ImageView(this) val imageView = ImageView(this)
val drawable = ContextCompat.getDrawable(this, R.drawable.appreciate) val drawable = ContextCompat.getDrawable(this, R.drawable.appreciate)
imageView.setImageDrawable(drawable) imageView.setImageDrawable(drawable)
@@ -218,15 +192,11 @@ class MainActivity : FragmentActivity() {
linearLayout.addView(imageView) linearLayout.addView(imageView)
val layoutParams = LinearLayout.LayoutParams( val layoutParams = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT,
)
textView.layoutParams = layoutParams
val layoutParams2 = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT LinearLayout.LayoutParams.WRAP_CONTENT
) )
imageView.layoutParams = layoutParams2 imageView.layoutParams = layoutParams
textView.layoutParams = layoutParams
val builder: AlertDialog.Builder = AlertDialog.Builder(this) val builder: AlertDialog.Builder = AlertDialog.Builder(this)
builder builder
@@ -234,20 +204,9 @@ class MainActivity : FragmentActivity() {
val dialog: AlertDialog = builder.create() val dialog: AlertDialog = builder.create()
dialog.show() dialog.show()
return true
} }
KeyEvent.KEYCODE_ENTER -> { private fun channelUp() {
Toast.makeText(this, "KEYCODE_ENTER", Toast.LENGTH_SHORT).show()
switchMainFragment()
}
KeyEvent.KEYCODE_DPAD_CENTER -> {
Toast.makeText(this, "KEYCODE_DPAD_CENTER", Toast.LENGTH_SHORT).show()
switchMainFragment()
}
KeyEvent.KEYCODE_DPAD_UP -> {
if (mainFragment.isHidden) { if (mainFragment.isHidden) {
prev() prev()
} else { } else {
@@ -260,7 +219,7 @@ class MainActivity : FragmentActivity() {
} }
} }
KeyEvent.KEYCODE_DPAD_DOWN -> { private fun channelDown() {
if (mainFragment.isHidden) { if (mainFragment.isHidden) {
next() next()
} else { } else {
@@ -272,6 +231,75 @@ class MainActivity : FragmentActivity() {
} }
} }
private fun back() {
if (!mainFragmentIsHidden()) {
hideMainFragment()
return
}
if (doubleBackToExitPressedOnce) {
super.onBackPressed()
return
}
doubleBackToExitPressedOnce = true
Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show()
Handler(Looper.getMainLooper()).postDelayed({
doubleBackToExitPressedOnce = false
}, 2000)
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
// Toast.makeText(this, "keyCode ${keyCodeToString(keyCode)}", Toast.LENGTH_SHORT).show()
when (keyCode) {
KeyEvent.KEYCODE_ESCAPE -> {
back()
return true
}
KeyEvent.KEYCODE_BACK -> {
back()
return true
}
KeyEvent.KEYCODE_UNKNOWN -> {
showHelp()
return true
}
KeyEvent.KEYCODE_HELP -> {
showHelp()
return true
}
KeyEvent.KEYCODE_SETTINGS -> {
showHelp()
return true
}
KeyEvent.KEYCODE_MENU -> {
showHelp()
return true
}
KeyEvent.KEYCODE_ENTER -> {
switchMainFragment()
}
KeyEvent.KEYCODE_DPAD_CENTER -> {
switchMainFragment()
}
KeyEvent.KEYCODE_DPAD_UP -> {
channelUp()
}
KeyEvent.KEYCODE_CHANNEL_UP -> {
channelUp()
}
KeyEvent.KEYCODE_DPAD_DOWN -> {
channelDown()
}
KeyEvent.KEYCODE_CHANNEL_DOWN -> {
channelDown()
}
KeyEvent.KEYCODE_DPAD_LEFT -> { KeyEvent.KEYCODE_DPAD_LEFT -> {
// if (mainFragment.isHidden) { // if (mainFragment.isHidden) {
// prevSource() // prevSource()
@@ -164,6 +164,11 @@ class MainFragment2 : Fragment(), CardAdapter.ItemListener {
} }
override fun onItemClicked(tvViewModel: TVViewModel) { override fun onItemClicked(tvViewModel: TVViewModel) {
if (this.isHidden) {
(activity as? MainActivity)?.switchMainFragment()
return
}
if (itemPosition != tvViewModel.id.value!!) { if (itemPosition != tvViewModel.id.value!!) {
itemPosition = tvViewModel.id.value!! itemPosition = tvViewModel.id.value!!
tvListViewModel.setItemPosition(itemPosition) tvListViewModel.setItemPosition(itemPosition)
@@ -211,7 +216,6 @@ class MainFragment2 : Fragment(), CardAdapter.ItemListener {
if (ready == 3) { if (ready == 3) {
// request.fetchPage() // request.fetchPage()
tvListViewModel.getTVViewModel(itemPosition)?.changed() tvListViewModel.getTVViewModel(itemPosition)?.changed()
(activity as? MainActivity)?.switchMainFragment()
} }
} }
@@ -98,9 +98,7 @@ class Request {
val title = tvModel.title.value val title = tvModel.title.value
tvModel.seq = 0 tvModel.seq = 0
Log.i(TAG, "test1")
val data = ysp?.switch(tvModel) val data = ysp?.switch(tvModel)
Log.i(TAG, "test2")
val request = data?.let { LiveInfoRequest(it) } val request = data?.let { LiveInfoRequest(it) }
call = request?.let { yspApiService.getLiveInfo("guid=${ysp?.getGuid()}; $cookie", it) } call = request?.let { yspApiService.getLiveInfo("guid=${ysp?.getGuid()}; $cookie", it) }