diff --git a/HISTORY.md b/HISTORY.md index d6f18f38..a65205c5 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,15 @@ ## 更新日志 +### v1.9.4(通用) + +* 修复默认时间不显示问题 +* 设置页居中 +* 频道号和时间对齐 + +### v1.9.2(通用) + +* 修复一个重试的错误 + ### v1.9.0(通用) * 减少视频播放失败情况 diff --git a/app/src/main/java/com/lizongying/mytv/ChannelFragment.kt b/app/src/main/java/com/lizongying/mytv/ChannelFragment.kt index 5bec0bea..602e8e9a 100644 --- a/app/src/main/java/com/lizongying/mytv/ChannelFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/ChannelFragment.kt @@ -39,6 +39,7 @@ class ChannelFragment : Fragment() { binding.channel.layoutParams = layoutParams binding.content.textSize = application.px2PxFont(binding.content.textSize) + binding.time.textSize = application.px2PxFont(binding.time.textSize) binding.main.layoutParams.width = application.shouldWidthPx() binding.main.layoutParams.height = application.shouldHeightPx() diff --git a/app/src/main/java/com/lizongying/mytv/MainActivity.kt b/app/src/main/java/com/lizongying/mytv/MainActivity.kt index 55cb15e3..3c5584dd 100644 --- a/app/src/main/java/com/lizongying/mytv/MainActivity.kt +++ b/app/src/main/java/com/lizongying/mytv/MainActivity.kt @@ -1,8 +1,5 @@ package com.lizongying.mytv -import android.content.Context -import android.net.ConnectivityManager -import android.net.Network import android.os.Build import android.os.Bundle import android.os.Handler @@ -34,7 +31,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { private val playerFragment = PlayerFragment() private val errorFragment = ErrorFragment() - // private val loadingFragment = LoadingFragment() + private val loadingFragment = LoadingFragment() private val mainFragment = MainFragment() private val infoFragment = InfoFragment() private val channelFragment = ChannelFragment() @@ -86,7 +83,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { // } if (savedInstanceState == null) { - supportFragmentManager.beginTransaction() + val transaction = supportFragmentManager.beginTransaction() .add(R.id.main_browse_fragment, playerFragment) .add(R.id.main_browse_fragment, errorFragment) // .add(R.id.main_browse_fragment, loadingFragment) @@ -96,9 +93,14 @@ class MainActivity : FragmentActivity(), Request.RequestListener { .add(R.id.main_browse_fragment, mainFragment) .hide(mainFragment) .hide(errorFragment) -// .hide(loadingFragment) - .hide(timeFragment) - .commit() + + if (!SP.time) { + transaction.hide(timeFragment) + } else { + transaction.show(timeFragment) + } + + transaction.commitNow() } gestureDetector = GestureDetector(this, GestureListener()) @@ -120,9 +122,6 @@ class MainActivity : FragmentActivity(), Request.RequestListener { // Log.i(TAG, "net ${Build.VERSION.SDK_INT}") // ready++ // } - - showTime() - mainFragment.changeMenu() } fun showInfoFragment(tvViewModel: TVViewModel) { @@ -152,6 +151,14 @@ class MainActivity : FragmentActivity(), Request.RequestListener { .commit() } + fun showLoadingFragment() { + showFragment(loadingFragment) + } + + fun hideLoadingFragment() { + hideFragment(loadingFragment) + } + fun showPlayerFragment() { if (playerFragment.isVisible) { return @@ -222,8 +229,6 @@ class MainActivity : FragmentActivity(), Request.RequestListener { fun settingDelayHide() { handler.removeCallbacks(hideSetting) handler.postDelayed(hideSetting, delayHideSetting) - showTime() - mainFragment.changeMenu() } fun settingNeverHide() { @@ -342,14 +347,12 @@ class MainActivity : FragmentActivity(), Request.RequestListener { return } - Log.i(TAG, "settingFragment ${settingFragment.isVisible}") - if (!settingFragment.isVisible) { - settingFragment.show(supportFragmentManager, "setting") - settingDelayHide() - } else { - handler.removeCallbacks(hideSetting) - settingFragment.dismiss() + if (settingFragment.isVisible) { + return } + + settingFragment.show(supportFragmentManager, TAG) + settingDelayHide() } private val hideSetting = Runnable { @@ -421,6 +424,11 @@ class MainActivity : FragmentActivity(), Request.RequestListener { }, 2000) } + private fun active() { + if (settingFragment.isVisible) { + settingDelayHide() + } + } fun onKey(keyCode: Int): Boolean { Log.i(TAG, "keyCode $keyCode") @@ -511,6 +519,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { } KeyEvent.KEYCODE_ENTER -> { + active() switchMainFragment() } @@ -519,6 +528,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { } KeyEvent.KEYCODE_DPAD_UP -> { + active() channelUp() } @@ -527,6 +537,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { } KeyEvent.KEYCODE_DPAD_DOWN -> { + active() channelDown() } @@ -535,6 +546,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { } KeyEvent.KEYCODE_DPAD_LEFT -> { + active() if (mainFragment.isHidden && !settingFragment.isVisible) { switchMainFragment() return true @@ -542,6 +554,7 @@ class MainActivity : FragmentActivity(), Request.RequestListener { } KeyEvent.KEYCODE_DPAD_RIGHT -> { + active() if (mainFragment.isHidden && !settingFragment.isVisible) { showSetting() return true @@ -570,6 +583,12 @@ class MainActivity : FragmentActivity(), Request.RequestListener { override fun onResume() { Log.i(TAG, "onResume") super.onResume() + } + + override fun onResumeFragments() { + super.onResumeFragments() + mainFragment.changeMenu() + if (!mainFragment.isHidden) { handler.postDelayed(hideMain, delayHideMain) } diff --git a/app/src/main/java/com/lizongying/mytv/MainFragment.kt b/app/src/main/java/com/lizongying/mytv/MainFragment.kt index 7c196b6c..1e19168f 100644 --- a/app/src/main/java/com/lizongying/mytv/MainFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/MainFragment.kt @@ -1,7 +1,5 @@ package com.lizongying.mytv -import android.content.res.Resources -import android.graphics.Color import android.os.Bundle import android.util.Log import android.view.KeyEvent @@ -162,8 +160,10 @@ class MainFragment : Fragment(), CardAdapter.ItemListener { if (tvViewModel.errInfo.value == "") { (activity as? MainActivity)?.showPlayerFragment() (activity as? MainActivity)?.hideErrorFragment() + (activity as? MainActivity)?.hideLoadingFragment() } else { (activity as? MainActivity)?.hidePlayerFragment() + (activity as? MainActivity)?.hideLoadingFragment() (activity as? MainActivity)?.showErrorFragment(tvViewModel.errInfo.value.toString()) } } diff --git a/app/src/main/java/com/lizongying/mytv/SettingFragment.kt b/app/src/main/java/com/lizongying/mytv/SettingFragment.kt index 1fc1a328..bdd94d9b 100644 --- a/app/src/main/java/com/lizongying/mytv/SettingFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/SettingFragment.kt @@ -1,5 +1,6 @@ package com.lizongying.mytv +import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -23,6 +24,11 @@ class SettingFragment : DialogFragment() { dialog?.window?.apply { addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + attributes.layoutInDisplayCutoutMode = + WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES + setAttributes(attributes) + } } } diff --git a/app/src/main/java/com/lizongying/mytv/TimeFragment.kt b/app/src/main/java/com/lizongying/mytv/TimeFragment.kt index c92f9e81..93738d23 100644 --- a/app/src/main/java/com/lizongying/mytv/TimeFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/TimeFragment.kt @@ -1,6 +1,5 @@ package com.lizongying.mytv -import android.content.res.Resources import android.os.Bundle import android.os.Handler import android.view.LayoutInflater @@ -36,10 +35,18 @@ class TimeFragment : Fragment() { binding.time.layoutParams = layoutParams binding.content.textSize = application.px2PxFont(binding.content.textSize) + binding.channel.textSize = application.px2PxFont(binding.channel.textSize) binding.main.layoutParams.width = application.shouldWidthPx() binding.main.layoutParams.height = application.shouldHeightPx() + if (SP.time) { + handler.removeCallbacks(showRunnable) + handler.postDelayed(showRunnable, 0) + } else { + handler.removeCallbacks(showRunnable) + } + (activity as MainActivity).fragmentReady(TAG) return binding.root } diff --git a/app/src/main/res/layout/channel.xml b/app/src/main/res/layout/channel.xml index d0c25b61..f08da0ef 100644 --- a/app/src/main/res/layout/channel.xml +++ b/app/src/main/res/layout/channel.xml @@ -1,5 +1,6 @@ - + android:layout_marginTop="15dp" + android:layout_marginEnd="170dp" + android:gravity="end|bottom" > - + android:textSize="40sp" + tools:text="99" + android:layout_alignBaseline="@+id/time"/> + + \ No newline at end of file diff --git a/app/src/main/res/layout/setting.xml b/app/src/main/res/layout/setting.xml index bb7dabb3..f0a29910 100644 --- a/app/src/main/res/layout/setting.xml +++ b/app/src/main/res/layout/setting.xml @@ -40,7 +40,6 @@ android:id="@+id/check_version" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginEnd="10dp" android:textSize="14sp" android:text="@string/check_version" /> diff --git a/app/src/main/res/layout/time.xml b/app/src/main/res/layout/time.xml index e8c3540c..e4cb06de 100644 --- a/app/src/main/res/layout/time.xml +++ b/app/src/main/res/layout/time.xml @@ -1,5 +1,6 @@ - + android:layout_marginTop="15dp" + android:layout_marginEnd="50dp" + android:gravity="end|bottom" > + - + android:textSize="32sp" + tools:text="12:34" /> + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 228e008c..c03be020 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6,5 +6,5 @@ 开机自启 频道列表采用网格样式 显示时间 - 退出 + 退出应用 \ No newline at end of file