mirror of
https://github.com/lizongying/my-tv.git
synced 2026-10-26 14:16:29 +08:00
menu delay disappears
This commit is contained in:
@@ -0,0 +1,83 @@
|
|||||||
|
name: Bug 反馈
|
||||||
|
description: 反馈一个 Bug
|
||||||
|
labels: [ "bug" ]
|
||||||
|
title: "[BUG] "
|
||||||
|
body:
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: 检查清单
|
||||||
|
description: 确保我们的错误报告表单适合您。
|
||||||
|
options:
|
||||||
|
- label: 之前没有人提交过类似或相同的 bug report。
|
||||||
|
required: true
|
||||||
|
- label: 我正在使用本软件的最新版本。
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: my-ty 版本
|
||||||
|
description: 请选择正在使用的版本
|
||||||
|
options:
|
||||||
|
- 最新稳定版
|
||||||
|
- 最新 CI 版
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: bug
|
||||||
|
attributes:
|
||||||
|
label: Bug 描述
|
||||||
|
description: 请描述 bug 详情
|
||||||
|
placeholder: |
|
||||||
|
e.g. Crashed when generating snapshot.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: expected
|
||||||
|
attributes:
|
||||||
|
label: 预期行为
|
||||||
|
description: 你预期会发生什么?
|
||||||
|
placeholder: |
|
||||||
|
e.g. A New snapshot!
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: actual
|
||||||
|
attributes:
|
||||||
|
label: 实际行为
|
||||||
|
description: 反而发生了什么?
|
||||||
|
placeholder: |
|
||||||
|
e.g. Crashed.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: steps
|
||||||
|
attributes:
|
||||||
|
label: 复现步骤
|
||||||
|
description: 如何复现这个 bug。
|
||||||
|
placeholder: |
|
||||||
|
1. Open the app
|
||||||
|
2. Crashed
|
||||||
|
|
||||||
|
What an app.
|
||||||
|
- type: input
|
||||||
|
id: ui
|
||||||
|
attributes:
|
||||||
|
label: UI / OS
|
||||||
|
description: 你的电视系统 UI 或 OS 或 品牌
|
||||||
|
placeholder: TCL / XIAOMI / PHONE / etc.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: android
|
||||||
|
attributes:
|
||||||
|
label: Android 版本
|
||||||
|
description: 你的 Android 版本
|
||||||
|
placeholder: "12"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional
|
||||||
|
attributes:
|
||||||
|
label: 额外信息
|
||||||
|
description: 任何你觉得值得说的。
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
name: 功能(新频道)请求
|
||||||
|
description: 提出一个建议
|
||||||
|
labels: [ "enhancement" ]
|
||||||
|
title: "[FR] "
|
||||||
|
body:
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: 检查清单
|
||||||
|
description: 确保我们的错误报告表单适合您。
|
||||||
|
options:
|
||||||
|
- label: 之前没有人提交过类似或相同的功能请求。
|
||||||
|
required: true
|
||||||
|
- label: 这个建议不会背离 LibChecker 的初衷。
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: propose
|
||||||
|
attributes:
|
||||||
|
label: 改进目的
|
||||||
|
description: 改进有什么用
|
||||||
|
placeholder: |
|
||||||
|
Show your idea here.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: solution
|
||||||
|
attributes:
|
||||||
|
label: 解决方案
|
||||||
|
description: 你会怎么完成这个改进?
|
||||||
|
placeholder: |
|
||||||
|
How to do it on your opinion? Or left this blank
|
||||||
|
- type: textarea
|
||||||
|
id: addition
|
||||||
|
attributes:
|
||||||
|
label: 额外信息
|
||||||
|
description: 任何你觉得值得说的。
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
下载安装 [releases](https://github.com/lizongying/my-tv/releases/)
|
下载安装 [releases](https://github.com/lizongying/my-tv/releases/)
|
||||||
|
|
||||||
其他地址 [my-tv](https://lyrics.run/my-tv.html)
|
更多地址 [my-tv](https://lyrics.run/my-tv.html)
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
@@ -14,56 +14,110 @@
|
|||||||
|
|
||||||
## 更新日志
|
## 更新日志
|
||||||
|
|
||||||
### v1.5.8(通用版)
|
### v1.6.0(通用)
|
||||||
|
|
||||||
|
* 通用(春晚緊急修復)
|
||||||
|
|
||||||
|
### v1.5.9(安卓5及以上专用)
|
||||||
|
|
||||||
|
* 解决天猫魔盒闪退问题
|
||||||
|
|
||||||
|
### v1.5.8(通用)
|
||||||
|
|
||||||
* 修复央视6画质差的问题
|
* 修复央视6画质差的问题
|
||||||
* 增加兵团卫视
|
* 增加兵团卫视
|
||||||
* 播放失败重试
|
* 播放失败重试
|
||||||
|
|
||||||
### v1.5.6(通用版)
|
### v1.5.7(安卓5及以上专用)
|
||||||
|
|
||||||
|
* 修复播放失败的问题
|
||||||
|
|
||||||
|
### v1.5.6(通用)
|
||||||
|
|
||||||
* 解决部分设备系统时间不对导致播放失败的问题
|
* 解决部分设备系统时间不对导致播放失败的问题
|
||||||
|
|
||||||
### v1.5.2(通用版)
|
### v1.5.5(安卓5及以上专用)
|
||||||
|
|
||||||
|
* 修复播放失败的问题
|
||||||
|
* 修复APP恢复后频道号、频道列表不自动消失的问题
|
||||||
|
|
||||||
|
### v1.5.4(通用)
|
||||||
|
|
||||||
|
* 修复播放失败的问题
|
||||||
|
|
||||||
|
### 以下已不可用
|
||||||
|
|
||||||
|
### v1.5.3(安卓5及以上专用)
|
||||||
|
|
||||||
|
* 修复部分情况下APP切换后无法继续播放的问题
|
||||||
|
* 优化重试逻辑
|
||||||
|
|
||||||
|
### v1.5.2(通用)
|
||||||
|
|
||||||
* 修复APP恢复后频道号、频道列表不自动消失的问题
|
* 修复APP恢复后频道号、频道列表不自动消失的问题
|
||||||
|
|
||||||
### v1.5.1(高版本专用)
|
### v1.5.1(安卓5及以上专用)
|
||||||
|
|
||||||
* 性能优化
|
* 性能优化
|
||||||
|
|
||||||
### v1.5.0(通用版)
|
### v1.5.0(通用)
|
||||||
|
|
||||||
* 修复部分情况下APP切换后无法继续播放的问题
|
* 修复部分情况下APP切换后无法继续播放的问题
|
||||||
|
|
||||||
### v1.4.9(高版本专用)
|
### v1.4.9(安卓5及以上专用)
|
||||||
|
|
||||||
* 同步v1.4.8
|
* 同步v1.4.8
|
||||||
|
|
||||||
### v1.4.8(通用版)
|
### v1.4.8(通用)
|
||||||
|
|
||||||
* 频道号从1开始,CCTV5+为18
|
* 频道号从1开始,CCTV5+为18
|
||||||
* 提高CCTV6清晰度
|
* 提高CCTV6清晰度
|
||||||
* 增加天津卫视、新疆卫视
|
* 增加天津卫视、新疆卫视
|
||||||
|
|
||||||
### v1.4.7(高版本专用)
|
### v1.4.7(安卓5及以上专用)
|
||||||
|
|
||||||
* 修复部分用户CCTV13播放过程中卡住的问题
|
* 修复部分用户CCTV13播放过程中卡住的问题
|
||||||
* 调整CCTV的频道顺序
|
* 调整CCTV的频道顺序
|
||||||
|
|
||||||
### v1.4.6(通用版)
|
### v1.4.6(通用)
|
||||||
|
|
||||||
* 10以下频道不再需要先按0
|
* 10以下频道不再需要先按0
|
||||||
|
|
||||||
### v1.4.5(高版本专用)
|
### v1.4.5(安卓5及以上专用)
|
||||||
|
|
||||||
* 数字选台配置
|
* 数字选台配置
|
||||||
|
|
||||||
### v1.4.4(通用版)
|
### v1.4.4(通用)
|
||||||
|
|
||||||
* 优化图标显示
|
* 优化图标显示
|
||||||
* 增加换台反转
|
* 增加换台反转
|
||||||
|
|
||||||
|
### v1.4.3(安卓5及以上专用)
|
||||||
|
|
||||||
|
* 支持频道反转配置
|
||||||
|
|
||||||
|
### v1.4.2(通用)
|
||||||
|
|
||||||
|
* 支持安卓4
|
||||||
|
|
||||||
|
### v1.4.1
|
||||||
|
|
||||||
|
* 解决部分用户无法打开菜单的问题
|
||||||
|
|
||||||
|
### v1.4.0
|
||||||
|
|
||||||
|
* 解决极个别高版本机型黑屏问题
|
||||||
|
|
||||||
|
### v1.3.9
|
||||||
|
|
||||||
|
* 提高稳定性
|
||||||
|
* 提高连接速度
|
||||||
|
|
||||||
|
### v1.3.4
|
||||||
|
|
||||||
|
* 部分错误会提示用户
|
||||||
|
* 菜单3秒钟后自动关闭
|
||||||
|
|
||||||
### v1.3.3
|
### v1.3.3
|
||||||
|
|
||||||
* 部分错误会提示用户
|
* 部分错误会提示用户
|
||||||
@@ -74,6 +128,27 @@
|
|||||||
* 增加重试,减少因网络问题导致的播放失败
|
* 增加重试,减少因网络问题导致的播放失败
|
||||||
* 优化横幅banner
|
* 优化横幅banner
|
||||||
|
|
||||||
|
### v1.3.1
|
||||||
|
|
||||||
|
* 增加CCTV 8K 超高清频道
|
||||||
|
* 增加国际频道栏目
|
||||||
|
|
||||||
|
### v1.3.0
|
||||||
|
|
||||||
|
* 处理368可能失败的情形
|
||||||
|
|
||||||
|
### v1.2.9
|
||||||
|
|
||||||
|
* 支持3、6、8
|
||||||
|
|
||||||
|
### v1.2.8
|
||||||
|
|
||||||
|
* 兼容16:10等分辨率
|
||||||
|
|
||||||
|
### v1.2.7
|
||||||
|
|
||||||
|
* 此版本是为了测试安卓6.0以下版本,如之前可以正常运行,请勿安装。
|
||||||
|
|
||||||
### v1.2.6
|
### v1.2.6
|
||||||
|
|
||||||
* 支持安卓4.2
|
* 支持安卓4.2
|
||||||
@@ -94,6 +169,14 @@
|
|||||||
* 播放相同的频道,不再重复加载
|
* 播放相同的频道,不再重复加载
|
||||||
* 暂时移除部分频道
|
* 暂时移除部分频道
|
||||||
|
|
||||||
|
### v1.2.3
|
||||||
|
|
||||||
|
* 固定视频比列为16:9
|
||||||
|
* 隐藏全面屏底部的小横条
|
||||||
|
* 移除移动专区
|
||||||
|
* 修复一个闪退问题
|
||||||
|
* 更换图标和应用名
|
||||||
|
|
||||||
## 其他
|
## 其他
|
||||||
|
|
||||||
小米电视可以使用小米电视助手进行安装
|
小米电视可以使用小米电视助手进行安装
|
||||||
@@ -116,9 +199,7 @@ adb install my-tv.apk
|
|||||||
* 凤凰卫视、凤凰资讯台
|
* 凤凰卫视、凤凰资讯台
|
||||||
* 海外
|
* 海外
|
||||||
* 1.5.0 无法安装,1.5.1 可以安装
|
* 1.5.0 无法安装,1.5.1 可以安装
|
||||||
* 获取系统时间
|
|
||||||
* 选中的图标比例能否相差更大
|
* 选中的图标比例能否相差更大
|
||||||
* 自动重连
|
|
||||||
* 节目增加预告
|
* 节目增加预告
|
||||||
|
|
||||||
## 赞赏
|
## 赞赏
|
||||||
|
|||||||
@@ -2,12 +2,14 @@ package com.lizongying.mytv
|
|||||||
|
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.view.ContextThemeWrapper
|
import android.view.ContextThemeWrapper
|
||||||
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.animation.ScaleAnimation
|
import android.view.animation.ScaleAnimation
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.leanback.widget.ImageCardView
|
import androidx.leanback.widget.ImageCardView
|
||||||
import androidx.lifecycle.LifecycleOwner
|
import androidx.lifecycle.LifecycleOwner
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.lizongying.mytv.models.TVListViewModel
|
import com.lizongying.mytv.models.TVListViewModel
|
||||||
@@ -48,7 +50,7 @@ class CardAdapter(private val owner: LifecycleOwner, private var tvListViewModel
|
|||||||
val tvViewModel = item as TVViewModel
|
val tvViewModel = item as TVViewModel
|
||||||
val cardView = viewHolder.view as ImageCardView
|
val cardView = viewHolder.view as ImageCardView
|
||||||
|
|
||||||
cardView.setOnFocusChangeListener { _, hasFocus ->
|
val onFocusChangeListener = View.OnFocusChangeListener { _, hasFocus ->
|
||||||
listener?.onItemFocusChange(item, hasFocus)
|
listener?.onItemFocusChange(item, hasFocus)
|
||||||
if (hasFocus) {
|
if (hasFocus) {
|
||||||
startScaleAnimation(cardView, 0.9f, 1.0f)
|
startScaleAnimation(cardView, 0.9f, 1.0f)
|
||||||
@@ -57,6 +59,8 @@ class CardAdapter(private val owner: LifecycleOwner, private var tvListViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cardView.onFocusChangeListener = onFocusChangeListener
|
||||||
|
|
||||||
cardView.setOnClickListener { _ ->
|
cardView.setOnClickListener { _ ->
|
||||||
listener?.onItemClicked(item)
|
listener?.onItemClicked(item)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,8 @@ class MainActivity : FragmentActivity() {
|
|||||||
} else {
|
} else {
|
||||||
packageInfo.versionCode.toLong()
|
packageInfo.versionCode.toLong()
|
||||||
}
|
}
|
||||||
settingFragment = SettingFragment(versionName, versionCode, channelReversal, channelNum, bootStartup)
|
settingFragment =
|
||||||
|
SettingFragment(versionName, versionCode, channelReversal, channelNum, bootStartup)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showInfoFragment(tvViewModel: TVViewModel) {
|
fun showInfoFragment(tvViewModel: TVViewModel) {
|
||||||
@@ -148,7 +149,7 @@ class MainActivity : FragmentActivity() {
|
|||||||
if (mainFragment.isHidden) {
|
if (mainFragment.isHidden) {
|
||||||
mainFragment.setPosition()
|
mainFragment.setPosition()
|
||||||
transaction.show(mainFragment)
|
transaction.show(mainFragment)
|
||||||
keepRunnable()
|
mainActive()
|
||||||
} else {
|
} else {
|
||||||
transaction.hide(mainFragment)
|
transaction.hide(mainFragment)
|
||||||
}
|
}
|
||||||
@@ -156,7 +157,7 @@ class MainActivity : FragmentActivity() {
|
|||||||
transaction.commit()
|
transaction.commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun keepRunnable() {
|
fun mainActive() {
|
||||||
handler.removeCallbacks(hideMain)
|
handler.removeCallbacks(hideMain)
|
||||||
handler.postDelayed(hideMain, delayHideMain)
|
handler.postDelayed(hideMain, delayHideMain)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,6 +84,19 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
|
|||||||
itemBinding.rowItems.layoutManager =
|
itemBinding.rowItems.layoutManager =
|
||||||
LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
|
LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
|
||||||
|
|
||||||
|
itemBinding.rowItems.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||||
|
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||||
|
// super.onScrolled(recyclerView, dx, dy)
|
||||||
|
// val layoutManager = recyclerView.layoutManager as LinearLayoutManager
|
||||||
|
// val firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition()
|
||||||
|
// val firstVisibleViewHolder = recyclerView.findViewHolderForAdapterPosition(firstVisibleItemPosition)
|
||||||
|
// if (firstVisibleViewHolder != null && !firstVisibleViewHolder.itemView.hasFocus()) {
|
||||||
|
// firstVisibleViewHolder.itemView.requestFocus()
|
||||||
|
// }
|
||||||
|
(activity as MainActivity).mainActive()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
val layoutParams = itemBinding.row.layoutParams as ViewGroup.MarginLayoutParams
|
val layoutParams = itemBinding.row.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
layoutParams.topMargin = dpToPx(11F)
|
layoutParams.topMargin = dpToPx(11F)
|
||||||
itemBinding.row.layoutParams = layoutParams
|
itemBinding.row.layoutParams = layoutParams
|
||||||
@@ -158,7 +171,7 @@ class MainFragment : Fragment(), CardAdapter.ItemListener {
|
|||||||
override fun onItemFocusChange(tvViewModel: TVViewModel, hasFocus: Boolean) {
|
override fun onItemFocusChange(tvViewModel: TVViewModel, hasFocus: Boolean) {
|
||||||
if (hasFocus) {
|
if (hasFocus) {
|
||||||
tvListViewModel.setItemPositionCurrent(tvViewModel.id.value!!)
|
tvListViewModel.setItemPositionCurrent(tvViewModel.id.value!!)
|
||||||
(activity as MainActivity).keepRunnable()
|
(activity as MainActivity).mainActive()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
package com.lizongying.mytv
|
package com.lizongying.mytv
|
||||||
|
|
||||||
import android.os.Build
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.annotation.RequiresApi
|
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import com.lizongying.mytv.databinding.DialogBinding
|
import com.lizongying.mytv.databinding.DialogBinding
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="end"
|
android:layout_gravity="end"
|
||||||
android:layout_marginTop="0dp"
|
android:layout_marginTop="0dp"
|
||||||
android:text="99"
|
|
||||||
android:textColor="#FFEEEEEE"
|
android:textColor="#FFEEEEEE"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textSize="50sp" />
|
android:textSize="50sp" />
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
Reference in New Issue
Block a user