xiaji
5ca5c659b8
refactor: 移除tvcat源配置,保留xb6v和lequgo
2026-06-10 20:12:02 +08:00
xiaji
e2118d8faa
feat: 添加lequgo(片吧影院)源,支持搜索/详情/播放
2026-06-10 19:35:40 +08:00
xiaji
100ecb4aef
fix: TvcatHandler搜索和详情修复UTF-8编码,使用Jsoup.parseBodyFragment替代parse
2026-06-09 21:37:31 +08:00
xiaji
15e13d9e37
fix: TvcatHandler搜索和详情用HttpURLConnection替代Jsoup下载,绕过Jsoup默认UA被反爬拦截
2026-06-09 20:39:33 +08:00
xiaji
667bd9bbe8
fix: Jsoup请求添加User-Agent头,防止tvcat反爬拦截
2026-06-09 20:04:04 +08:00
xiaji
60e2e8ee77
fix: tvcat搜索extraParams默认为空,避免xb6v参数污染GET请求
2026-06-09 20:01:52 +08:00
xiaji
16b1cbfc31
feat: SettingsActivity 使用 SourceRegistry 驱动源切换
2026-06-09 19:55:36 +08:00
xiaji
2824f3f396
feat: SearchFragment 使用 SourceHandler 执行搜索
2026-06-09 19:55:27 +08:00
xiaji
42cb79609a
feat: PlayerActivity 使用 SourceHandler 获取剧集和播放链接
2026-06-09 19:54:43 +08:00
xiaji
3a3f401ddc
feat: 应用启动时初始化 SourceRegistry
2026-06-09 19:54:27 +08:00
xiaji
f79f0c7a16
feat: ConfigRepository 添加 currentSourceId 存储
2026-06-09 19:53:34 +08:00
xiaji
b199b12a83
feat: 添加 SourceRegistry 注册中心
2026-06-09 19:53:05 +08:00
xiaji
dea2700da1
feat: 添加 TvcatHandler,支持 /_fetch_p/ API 获取播放链接
2026-06-09 19:52:29 +08:00
xiaji
a75225332b
feat: 添加 Xb6vHandler
2026-06-09 19:52:15 +08:00
xiaji
08ab90bb47
feat: 添加 BaseSourceHandler 抽象基类
2026-06-09 19:51:38 +08:00
xiaji
507e3fdbb4
feat: 添加 SourceHandler 接口
2026-06-09 19:50:22 +08:00
xiaji
b82cc74aad
fix: 修复tvcat.cc选择器和播放页URL提取
...
- 详情页: sourceSelector/episodeGroupSelector置空,强制走fallback正确提取剧集
- 播放页: 新增fetchPlayUrlFromApi方法,通过/_fetch_p/ API获取m3u8直链
- PlayerActivity: extractFromPlayPage返回空时尝试API获取,失败再用WebView
2026-06-08 22:21:00 +08:00
xiaji
cb238a6f36
feat: 新增tvcat.cc视频来源, 设置页面支持多来源切换
2026-06-08 21:01:00 +08:00
xiaji
1f363e74fa
修复: dispatchTouchEvent替代OnTouchListener,解决点击视频无法暂停问题; controllerHideOnTouch=false解决暂停后进度条不显示问题
2026-05-31 18:22:34 +08:00
xiaji
06e55ccb26
fix: 暂停时显示ExoPlayer进度条,触摸事件不冲突
2026-05-31 14:52:50 +08:00
xiaji
f04d8d23be
fix: 修复视频播放发热问题 - WebView暂停/销毁、亮度恢复
2026-05-28 21:34:57 +08:00
xiaji
2782d413cb
fix: 数据库版本更新到3,修复续播逻辑
2026-05-28 18:03:44 +08:00
xiaji
eb72b061e6
feat: 暂停显示选集、亮度音量手势调节、播放进度续播
2026-05-27 22:34:03 +08:00
xiaji
98e96f3438
feat: 历史播放进入时不自动播放,滚动定位到历史剧集
2026-05-27 20:45:51 +08:00
xiaji
ac9239376a
优化播放历史列表样式:固定宽度卡片、横向滚动、添加封面图
2026-05-24 22:26:22 +08:00
xiaji
bbec29382d
修改应用名称为夏季TV,添加播放历史功能,修复搜索框高度问题
2026-05-24 22:14:50 +08:00
xiaji
cb016c116f
feat: multi-source player with episode selection and auto-hide controls
...
- VideoExtractor: extract PlaySource (source tabs) with episodes grouped per source
- SiteConfig: add sourceSelector and sourceEpisodeGroupSelector CSS selectors
- PlayerActivity: source tabs + episode list at bottom, auto-hide after 4s, tap to toggle
- SettingsActivity: add source selector configuration fields
- Fullscreen playback with ExoPlayer or WebView fallback
2026-05-24 21:30:37 +08:00
xiaji
cf17ce7722
feat: replace direct player with web browser for search results
...
- Add BrowserActivity with WebView, toolbar (back/forward/close), URL bar, progress bar
- SearchFragment: open BrowserActivity instead of PlayerActivity on result click
- Browser allows user to browse the video site directly before choosing to play
2026-05-24 21:24:27 +08:00
xiaji
153b555d52
refactor: convert from Android TV to phone/tablet mode
...
- Replace Theme.Leanback with Theme.AppCompat.DayNight.NoActionBar
- Remove leanback dependencies (leanback, leanback-preference)
- Remove LEANBACK_LAUNCHER, leanback feature, banner from manifest
- PlayerActivity: replace D-pad with touch controls (click to toggle episodes, close button)
- SearchFragment: adaptive grid (3 cols phone / 5 cols tablet), remove focus-based history toggle
- Fix deprecated adapterPosition -> bindingAdapterPosition
2026-05-24 21:19:34 +08:00
xiaji
7dee3977de
fix: API compatibility and leanback requirement
...
- Replace resources.getColor(id, null) with ContextCompat.getColor() for API 21-22 compatibility
- Change android.software.leanback to required=false to allow testing on non-TV emulators
2026-05-24 21:14:19 +08:00
xiaji
98d05aa90a
fix: resolve emulator crash - thread safety and icon fallback
...
- NativeSearch: move onResult/onError callbacks outside withContext(Dispatchers.IO) to prevent CalledFromWrongThreadException
- SearchStrategy: change callback types to suspend to enable proper coroutine chaining
- SearchCoordinator: remove leaked CoroutineScope, rely on suspend callback chaining for fallback flow
- Resources: add mipmap-hdpi/mdpi/xhdpi/xxhdpi icon fallbacks for API < 26 devices
2026-05-24 21:09:05 +08:00