diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png index ee66d8a..d64bca6 100644 Binary files a/app/src/main/ic_launcher-playstore.png and b/app/src/main/ic_launcher-playstore.png differ diff --git a/app/src/main/java/com/lizongying/mytv/MainActivity.kt b/app/src/main/java/com/lizongying/mytv/MainActivity.kt index 3761952..bef2255 100644 --- a/app/src/main/java/com/lizongying/mytv/MainActivity.kt +++ b/app/src/main/java/com/lizongying/mytv/MainActivity.kt @@ -85,7 +85,6 @@ class MainActivity : FragmentActivity() { val transaction = supportFragmentManager.beginTransaction() if (mainFragment.isHidden) { -// focusMainFragment() transaction.show(mainFragment) } else { transaction.hide(mainFragment) @@ -94,10 +93,6 @@ class MainActivity : FragmentActivity() { transaction.commit() } - private fun focusMainFragment() { - mainFragment.focus() - } - private fun mainFragmentIsHidden(): Boolean { return mainFragment.isHidden } diff --git a/app/src/main/java/com/lizongying/mytv/MainFragment.kt b/app/src/main/java/com/lizongying/mytv/MainFragment.kt index c60480d..7c3f674 100644 --- a/app/src/main/java/com/lizongying/mytv/MainFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/MainFragment.kt @@ -114,6 +114,10 @@ class MainFragment : BrowseSupportFragment() { override fun onDestroy() { super.onDestroy() handler.removeCallbacks(mUpdateProgramRunnable) + with(sharedPref!!.edit()) { + putInt("position", itemPosition) + apply() + } } fun updateProgram(tvViewModel: TVViewModel) { @@ -202,7 +206,7 @@ class MainFragment : BrowseSupportFragment() { itemPosition = sharedPref?.getInt("position", 0)!! if (itemPosition >= tvListViewModel.size()) { itemPosition = 0 - savePosition(0) + tvListViewModel.setItemPosition(itemPosition) } } @@ -227,21 +231,13 @@ class MainFragment : BrowseSupportFragment() { } } - fun savePosition(position: Int) { - tvListViewModel.setItemPosition(position) - with(sharedPref!!.edit()) { - putInt("position", position) - apply() - } - } - fun prev() { view?.post { itemPosition-- if (itemPosition == -1) { itemPosition = tvListViewModel.size() - 1 } - savePosition(itemPosition) + tvListViewModel.setItemPosition(itemPosition) val tvViewModel = tvListViewModel.getTVViewModel(itemPosition) tvViewModel?.changed() @@ -254,7 +250,7 @@ class MainFragment : BrowseSupportFragment() { if (itemPosition == tvListViewModel.size()) { itemPosition = 0 } - savePosition(itemPosition) + tvListViewModel.setItemPosition(itemPosition) val tvViewModel = tvListViewModel.getTVViewModel(itemPosition) tvViewModel?.changed() @@ -310,7 +306,7 @@ class MainFragment : BrowseSupportFragment() { if (item is TVViewModel) { if (itemPosition != item.id.value!!) { itemPosition = item.id.value!! - savePosition(itemPosition) + tvListViewModel.setItemPosition(itemPosition) val tvViewModel = tvListViewModel.getTVViewModel(itemPosition) tvViewModel?.changed() diff --git a/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt b/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt index 2f14de2..d7b31fc 100644 --- a/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt @@ -1,6 +1,7 @@ package com.lizongying.mytv import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -43,11 +44,20 @@ class PlayerFragment : Fragment() { override fun onVideoSizeChanged(videoSize: VideoSize) { val aspectRatio = 16f / 9f val layoutParams = playerView?.layoutParams - layoutParams?.width = - (playerView?.measuredHeight?.times(aspectRatio))?.toInt() - playerView?.layoutParams = layoutParams + val ratio = playerView?.measuredWidth?.div(playerView?.measuredHeight!!) + if (ratio != null) { + if (ratio < aspectRatio) { + layoutParams?.height = + (playerView?.measuredWidth?.div(aspectRatio))?.toInt() + playerView?.layoutParams = layoutParams + } else if (ratio > aspectRatio) { + layoutParams?.width = + (playerView?.measuredHeight?.times(aspectRatio))?.toInt() + playerView?.layoutParams = layoutParams + } + } } -// + // override fun onPlayerError(error: PlaybackException) { // super.onPlayerError(error) // } diff --git a/app/src/main/java/com/lizongying/mytv/models/TVListViewModel.kt b/app/src/main/java/com/lizongying/mytv/models/TVListViewModel.kt index 5e1ab2c..138b937 100644 --- a/app/src/main/java/com/lizongying/mytv/models/TVListViewModel.kt +++ b/app/src/main/java/com/lizongying/mytv/models/TVListViewModel.kt @@ -9,8 +9,6 @@ class TVListViewModel : ViewModel() { var maxNum = mutableListOf() - private var sharedPref: SharedPreferences? = null - private val tvListViewModel = MutableLiveData>() private val _itemPosition = MutableLiveData() @@ -48,13 +46,6 @@ class TVListViewModel : ViewModel() { _itemPositionCurrent.value = position } - fun savePosition(position: Int) { - with(sharedPref!!.edit()) { - putInt("position", position) - apply() - } - } - fun size(): Int { return tvListViewModel.value!!.size } diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp index 77cdce6..cadfb30 100644 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..890ab6d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..e28f108 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp index 8fc4659..3266f0d 100644 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..624cb93 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..f0bea90 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp index 08157d0..17ee38e 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..090d089 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..46c6660 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp index 62cf549..dad10cd 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..32e3c06 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..94f5eb0 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp index d2bb582..2b65b04 100644 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..77e0a94 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..997bd80 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 0000000..c6c36f6 --- /dev/null +++ b/app/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #223239 + \ No newline at end of file