This commit is contained in:
Li ZongYing 2024-02-01 17:04:02 +08:00
parent cc2514a81a
commit 73239a6677
7 changed files with 76 additions and 29 deletions

View File

@ -1,6 +1,6 @@
# 我的电视
安卓电视直播软件,内置直播源
电视直播软件,安装即可使用
## 使用

View File

@ -9,17 +9,19 @@
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:largeHeap="true"
android:icon="@drawable/logo"
android:logo="@drawable/logo"
android:banner="@drawable/banner"
android:label="@string/app_name"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network"
android:usesCleartextTraffic="true"
android:theme="@style/Theme.MyTV">
<activity
android:keepScreenOn="true"
android:name=".MainActivity"
android:banner="@drawable/banner"
android:exported="true"
android:icon="@drawable/logo"
android:logo="@drawable/logo"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@ -35,8 +35,8 @@ class MainActivity : FragmentActivity() {
private lateinit var gestureDetector: GestureDetector
private val handler = Handler()
private val delay: Long = 4000
private val delayHideHelp: Long = 10000
private val delayHideMain: Long = 5000
private val delayHideSetting: Long = 10000
lateinit var sharedPref: SharedPreferences
private var channelReversal = false
@ -45,6 +45,7 @@ class MainActivity : FragmentActivity() {
private var versionName = ""
override fun onCreate(savedInstanceState: Bundle?) {
Log.i(TAG, "onCreate")
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
@ -53,6 +54,7 @@ class MainActivity : FragmentActivity() {
window.decorView.systemUiVisibility = SYSTEM_UI_FLAG_HIDE_NAVIGATION
if (savedInstanceState == null) {
Log.i(TAG, "beginTransaction begin")
supportFragmentManager.beginTransaction()
.add(R.id.main_browse_fragment, playerFragment)
.add(R.id.main_browse_fragment, infoFragment)
@ -60,6 +62,9 @@ class MainActivity : FragmentActivity() {
.add(R.id.main_browse_fragment, mainFragment)
.hide(mainFragment)
.commit()
Log.i(TAG, "beginTransaction end")
} else {
Log.i(TAG, "savedInstanceState $savedInstanceState")
}
gestureDetector = GestureDetector(this, GestureListener())
@ -131,11 +136,11 @@ class MainActivity : FragmentActivity() {
}
fun keepRunnable() {
handler.removeCallbacks(hideRunnable)
handler.postDelayed(hideRunnable, delay)
handler.removeCallbacks(hideMain)
handler.postDelayed(hideMain, delayHideMain)
}
private val hideRunnable = Runnable {
private val hideMain = Runnable {
if (!mainFragment.isHidden) {
supportFragmentManager.beginTransaction().hide(mainFragment).commit()
}
@ -221,7 +226,7 @@ class MainActivity : FragmentActivity() {
this.channelNum = channelNum
}
private fun showHelp() {
private fun showSetting() {
if (!mainFragment.isHidden) {
return
}
@ -229,15 +234,15 @@ class MainActivity : FragmentActivity() {
Log.i(TAG, "settingFragment ${settingFragment.isVisible}")
if (!settingFragment.isVisible) {
settingFragment.show(supportFragmentManager, "setting")
handler.removeCallbacks(hideHelp)
handler.postDelayed(hideHelp, delayHideHelp)
handler.removeCallbacks(hideSetting)
handler.postDelayed(hideSetting, delayHideSetting)
} else {
handler.removeCallbacks(hideHelp)
handler.removeCallbacks(hideSetting)
settingFragment.dismiss()
}
}
private val hideHelp = Runnable {
private val hideSetting = Runnable {
if (settingFragment.isVisible) {
settingFragment.dismiss()
}
@ -358,27 +363,27 @@ class MainActivity : FragmentActivity() {
}
KeyEvent.KEYCODE_BOOKMARK -> {
showHelp()
showSetting()
return true
}
KeyEvent.KEYCODE_UNKNOWN -> {
showHelp()
showSetting()
return true
}
KeyEvent.KEYCODE_HELP -> {
showHelp()
showSetting()
return true
}
KeyEvent.KEYCODE_SETTINGS -> {
showHelp()
showSetting()
return true
}
KeyEvent.KEYCODE_MENU -> {
showHelp()
showSetting()
return true
}
@ -486,6 +491,22 @@ class MainActivity : FragmentActivity() {
}
}
override fun onStart() {
Log.i(TAG, "onStart")
super.onStart()
}
override fun onResume() {
Log.i(TAG, "onResume")
super.onResume()
}
override fun onPause() {
Log.i(TAG, "onPause")
super.onPause()
handler.removeCallbacks(hideMain)
}
companion object {
private const val TAG = "MainActivity"
private const val CHANNEL_REVERSAL = "channel_reversal"

View File

@ -44,10 +44,16 @@ class MainFragment : BrowseSupportFragment() {
private var ready = 0
override fun onCreate(savedInstanceState: Bundle?) {
Log.i(TAG, "onCreate")
super.onCreate(savedInstanceState)
headersState = HEADERS_DISABLED
}
override fun onStart() {
Log.i(TAG, "onStart")
super.onStart()
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
@ -308,6 +314,11 @@ class MainFragment : BrowseSupportFragment() {
}
}
override fun onResume() {
Log.i(TAG, "onResume")
super.onResume()
}
override fun onStop() {
Log.i(TAG, "onStop")
super.onStop()
@ -315,7 +326,7 @@ class MainFragment : BrowseSupportFragment() {
putInt(POSITION, itemPosition)
apply()
}
Log.i(TAG, "POSITION saved")
Log.i(TAG, "$POSITION saved")
}
override fun onDestroy() {
@ -324,11 +335,6 @@ class MainFragment : BrowseSupportFragment() {
handler.removeCallbacks(mUpdateProgramRunnable)
}
override fun onResume() {
super.onResume()
view?.post { view?.requestFocus() }
}
companion object {
private const val TAG = "MainFragment"
private const val POSITION = "position"

View File

@ -81,14 +81,23 @@ class PlayerFragment : Fragment() {
}
override fun onStart() {
Log.i(TAG, "onStart")
super.onStart()
if (playerView != null && playerView!!.player?.isPlaying == false) {
playerView!!.player?.play()
Log.i(TAG, "replay")
playerView!!.player?.prepare()
} else {
Log.i(TAG, "playing")
}
}
override fun onStop() {
super.onStop()
override fun onResume() {
Log.i(TAG, "onResume")
super.onResume()
}
override fun onPause() {
super.onPause()
if (playerView != null && playerView!!.player?.isPlaying == true) {
playerView!!.player?.stop()
}

View File

@ -361,7 +361,7 @@ class Request {
val program = response.body()
if (program != null) {
tvViewModel.addProgram(program.dataListList)
Log.i(TAG, "$title program ${program.dataListList.size}")
Log.d(TAG, "$title program ${program.dataListList.size}")
}
} else {
Log.w(TAG, "$title program error")

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>