beyond and Claude Opus 5
d7726424d9
修复: 播放器series logo获取改为独立LaunchedEffect
...
- 将series logo获取拆分为独立的LaunchedEffect
- 先加载episode item,再异步获取series logo
- 避免在同一个LaunchedEffect中修改state导致重组问题
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 18:24:13 +08:00
beyond and Claude Opus 5
fdf14f7dd2
播放器: 剧集无logo时从剧集(series)获取logo
...
- PlayerDestination加载剧集后检查是否有logo
- 若剧集无logo,额外请求series item获取其logo tag
- 合并到剧集的imageTags中,确保播放器显示正确的艺术文字
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 18:21:13 +08:00
beyond and Claude Opus 5
ea6a751e72
播放器: 无logo时显示剧名而非集名
...
- VideoPlayerScreen新增seriesName参数
- 无logo图片时显示seriesName(剧名)而非title(集名)
- AppNavHost传递target.seriesName给播放器
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 18:15:24 +08:00
beyond and Claude Opus 5
0bb52f3ec8
播放器: BatteryIcon颜色统一到LumaColors + 清理空行
...
- BatteryIcon: 硬编码颜色→LumaColors.offline/ratingStar/online
- 清理sed替换产生的多余空行
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 18:09:56 +08:00
beyond and Claude Opus 5
34e2ef6bd7
播放器优化: 菜单状态合并、连播偏好持久化、间距统一
...
- 新增PlayerMenu枚举,替代5个独立boolean状态(showSubtitleMenu等)
- 菜单切换逻辑统一为activeMenu.toggle模式
- BackHandler简化为activeMenu != PlayerMenu.None
- 菜单onDismiss统一关闭activeMenu
- confirmBeforeContinuousPlayback持久化到SharedPreferences
- 顶部间距16.dp→LumaSpacing.md
- 清理sed替换产生的多余空行
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 18:02:00 +08:00
beyond and Claude Opus 5
ebd6963bf5
UI细节优化: 间距令牌、字体统一、LazyList key
...
- LumaComponents: LumaSettingRow/LumaPageTopBar 间距改用LumaSpacing令牌
- LumaComponents: LumaSettingRow标题fontSize改用LumaTypography.body
- HomeScreen: SectionTitle ExtraBold→Bold统一, MyMediaGrid LazyRow添加key
- VideoPlayerScreen: 播放器剧集列表LazyColumn添加key
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 17:36:32 +08:00
beyond and Claude Opus 5
85da03360d
回退搜索历史清除确认对话框
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 17:12:32 +08:00
beyond and Claude Opus 5
3a01b42aeb
功能补全: 错误重试、确认对话框、TMDB错误状态
...
- AppNavHost: 详情页加载失败显示LumaErrorState+重试按钮
- SearchScreen: 搜索历史清除添加GlassConfirmDialog确认对话框
- SearchAllScreen: 修复重试机制(添加retryToken触发重新搜索)
- VideoPlayerScreen: 播放错误添加重试按钮(re-prepare+play)
- RecordsScreen: 日历TMDB API失败显示错误状态而非静默空白
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 17:06:37 +08:00
beyond and Claude Opus 5
6e5c9fce95
全面安全加固 + UI一致性 + 功能修复 + 性能优化
...
安全修复:
- usesCleartextTraffic=false + network_security_config.xml (LAN例外)
- 备份规则排除数据库/SP/缓存 (backup_rules.xml, data_extraction_rules.xml)
- ProGuard Release移除 Log.d/Log.v
- EmbyRepository 日志脱敏 + API Key安全注释
- EmbyServer URL长度/主机名/端口验证
UI一致性:
- LumaDesignSystem 新增16个颜色令牌 + LumaBorders + 2个排版令牌
- 6个屏幕文件硬编码颜色统一到LumaColors
- 排版统一 17sp→18sp, 30sp→32sp, 34sp→32sp
功能修复:
- 首页MyMediaGrid点击导航到库列表
- 搜索齿轮图标导航到设置
- FavoritesAllScreen/HomeLibraryAllScreen 添加下拉刷新
- RecordsScreen 13+硬编码中文→stringResource() + 修复count bug
- 新增16个日历字符串(中英文)
性能优化:
- TMDB数据类添加@Immutable注解
- HomeContentCache添加LRU驱逐策略(最多3个快照)
- VideoPlayerScreen内部轮询从250ms降至500ms
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 16:43:25 +08:00
beyond
c95c8e38f7
小调整
2026-09-06 14:53:32 +08:00
beyond
65519942fe
fix: 首页轮播从最新50个中随机选8个,每次打开app都不同
2026-09-06 14:13:36 +08:00
beyond
67b625101a
fix: 首页轮播每次打开app都随机排序(latestItems保持10个)
2026-09-06 14:11:30 +08:00
beyond
72df0c7a6d
fix: 首页轮播图下拉刷新时随机排序,增加获取数量到20
...
- 首次加载保持API排序(一致性),下拉刷新后shuffle增加多样性
- getLatestItems limit 10→20,让更多内容参与轮播选择
2026-09-06 14:08:18 +08:00
beyond
f44bc036e8
fix: 第三轮优化 — @Immutable覆盖、rememberImageRequest辅助函数、LazyRow keys
...
- EmbyApiModels: 8个嵌套类型添加@Immutable(EmbyUserData/EmbyPerson/EmbyNamedReference/EmbyMediaStream/EmbyItemCounts/EmbyResourceStats/EmbyChapter/EmbyMediaSource)
- LumaComponents: 新增rememberImageRequest()辅助函数避免ImageRequest.Builder重复分配
- HomeScreen/HomeLibraryAllScreen/FavoritesAllScreen/SearchScreen/SearchAllScreen/RecordsScreen/LibraryScreen: 17处ImageRequest.Builder替换为rememberImageRequest()
- MediaDetailScreen: episodes/genres/qualities/streams LazyRow添加stable key
- LibraryScreen: servers LazyVerticalGrid添加stable key
2026-09-06 14:02:04 +08:00
beyond
0ca7cf39b7
fix: 第二轮性能优化 — 轮询合并、HTTP缓存、并行化、remember优化
...
- VideoPlayerScreen: 合并4个轮询循环为1个(wifi+battery+format+speed)
- VideoPlayerScreen: 移除seek bar重复progress写入
- EmbyRepository: 添加HTTP磁盘缓存(20MB) + retry interceptor
- EmbyRepository: searchItems .map{await()} → .awaitAll() 真并发
- EmbyRepository: getSeriesEpisodeCount season请求并行化
- TmdbRepository: 添加Semaphore(8)限制并发season请求
- TmdbRepository: 只获取最近5个season减少请求数
- ServerRepository: addServer/updateServer改为乐观更新
- ServerRepository: init()添加双重检查锁定线程安全
- MediaDetailScreen: 移除调试Log.d调用
- AppNavHost: onViewAll lambda添加remember
- SearchResultsCache: 单槽→LruCache(5)支持多搜索词缓存
- RecordsScreen: LaunchedEffect添加watchlistVersion key支持刷新
- RecordsScreen: filterCalendarEpisodes/groupBy添加remember
- RecordsScreen: 预计算watchByTmdbId Map替代O(n) find
- LumaDesignSystem: 添加isLowEndDevice检测禁用lens效果
- LiquidGlass: 低端设备跳过lens GPU pass
- HomeScreen/LibraryScreen/RecordsScreen: ImageRequest.Builder remember
2026-09-06 13:47:27 +08:00
beyond
3670466a65
fix: 第一轮性能优化 — R8启用、协程泄漏修复、@Immutable注解、状态提取、并行化
...
- Release build 启用 R8/ProGuard + 新建 proguard-rules.pro
- MediaDetailScreen: MainScope → rememberCoroutineScope
- AppNavHost: openDetail/openHome lambda 记忆化
- VideoPlayerScreen: 提取 PlayerStatusBar 独立 Composable
- LibraryScreen: nowMillis 下沉到 ServerStatusLine 内部
- 8个核心数据类添加 @Immutable 注解
- TmdbCalendar: coroutineScope+async 并行化 season 请求
- SearchScreen: derivedStateOf 正确观察 SnapshotStateList
- HomeScreen: MediaPoster/ContinueWatchingPoster ImageRequest remember
- MediaDetailScreen: cast/recommendations/resources LazyRow 添加 key
- RecordsScreen: LaunchedEffect key 用 hashCode 替代 joinToString
2026-09-06 13:30:56 +08:00
beyond
b49fbdca46
优化资源数量显示
2026-09-06 12:34:42 +08:00
beyond
7a06ec9a56
MainApp.kt 10 个 Lambda remember + 双重检测合并
...
ServerRepository.kt StateFlow.update + 并行检测 + 单次更新
EmbyRepository.kt 共享 OkHttp + 有界 Channel + TTL + 剧集缓存
TmdbRepository.kt LruCache 替代 ConcurrentHashMap
LumaApplication.kt 新建 — Coil ImageLoader 缓存配置
AndroidManifest.xml 注册 LumaApplication
FavoriteRepository.kt 新增 isFavoritedAsync
IconLibrary.kt 移除双重 reload
LumaComponents.kt LumaMediaCard 轻量 pointerInput
LiquidGlass.kt SegmentedControl 去 BoxWithConstraints
HomeScreen.kt episodeCounts 用 mutableStateMapOf
MainActivity.kt 保持主线程初始化(已验证安全)
2026-09-06 12:08:06 +08:00
beyond
0a260a47c6
优化首页和底部导航栏性能
2026-09-05 21:30:08 +08:00
beyond
ff2724a302
小调整
2026-09-05 20:50:19 +08:00
beyond
a0e06eeed7
小优化
2026-09-05 20:19:52 +08:00
beyond
c88eb1868a
小优化
2026-09-05 20:12:09 +08:00
beyond
1946319d22
小调整
2026-09-05 19:43:52 +08:00
beyond
082c42e177
小优化
2026-09-05 18:34:21 +08:00
beyond
67c602a5ef
小优化
2026-09-03 15:22:46 +08:00
beyond
e81f5485c6
首页和详情页增加下拉刷新
2026-08-31 23:38:23 +08:00
beyond
b37cf69068
搜索界面小调整
2026-08-31 21:59:17 +08:00
beyond
d6149d08a1
小调整
2026-08-31 21:24:28 +08:00
beyond
ae5b82c6fe
优化剧集详情
2026-08-31 21:09:37 +08:00
beyond
e076f17061
小优化
2026-08-31 20:51:37 +08:00
beyond
6cb94b7793
小优化
2026-08-31 15:54:09 +08:00
beyond
7f24697ece
1、完成收藏和追剧日历
2026-08-31 03:58:55 +08:00
beyond
f1b5a96c2f
1、完善、优化搜索界面功能
2026-08-30 22:17:01 +08:00
beyond
7aad0982df
修改服务器中相关功能调整和优化
2026-08-30 17:13:57 +08:00
beyond
e33dcf533c
服务器列表优化
2026-08-30 02:18:24 +08:00
beyond
bbbebe38eb
1、首页性能优化
2026-08-29 21:14:46 +08:00
beyond
eaf5e432ff
1、增加剧集详情页演员表,资源库信息,推荐,媒体信息,接入tmdb
...
2、优化剧集详情页性能,UI,和数据请求逻辑
2026-08-29 16:58:58 +08:00
beyond
ca5ab982da
feat: 完善播放器控制、媒体轨道与 Emby 状态上报
...
- 修复播放进度圆点与轨道位置偏移
- 优化字幕、剧集、音轨及播放工具弹层
- 完善剧集图片、集数、标题和选中状态展示
- 新增音轨选择、关闭及默认音轨自动恢复
- 新增章节跳转、跳过片头片尾和连播确认
- 支持从单集入口自动加载完整剧集列表
- 调整 Emby 每 10 秒及关键操作即时状态上报
- 补充章节识别、手势和播放上报单元测试
2026-08-29 03:34:15 +08:00
beyond
91366f24b8
1、修复进度条无法拖动问题,
...
2、修复长按快进问题
3、增加亮度、音量调节
2026-08-28 21:33:58 +08:00
beyond
156a6fe067
修改优化播放器界面
2026-08-28 06:13:07 +08:00
beyond
129a2fb028
merge: resolve VideoPlayerScreen conflict with remote design system
...
Adopt the remote LumaDesignSystem redesign as the base and port back player
optimizations: real-time network speed (SpeedMonitor + onBandwidthEstimate,
900ms refresh), LoadControl buffering (100MB/600s/70% refill trigger, fixes OOM),
cache progress in LumaSeekBar (new bufferedValue/bufferColor), long-press 2x
speed with a capsule indicator, and a top status bar (time/network/battery).
2026-08-28 02:25:59 +08:00
beyond
c8c0d0b2c2
1、优化播放器界面
2026-08-28 02:10:56 +08:00
beyond
fc35ae95af
1、服务器列表增加点击后自动跳转首页
...
2、首页增加切换服务器功能
2026-08-27 05:45:54 +08:00
beyond
6ee79f14cb
1、修复资源库列表展示问题
2026-08-26 19:59:01 +08:00
beyond
8eea806ca6
1、修改首次添加图标库时数据没有写入缓存问题
...
2、优化图标库界面
2026-08-26 19:02:33 +08:00
beyond
4a7adfadaa
1.资源库页面增加无数据状态显示
2026-08-26 17:34:35 +08:00
beyond
24c493f448
1.修复界面无数据状态下的显示问题
2026-08-26 16:22:49 +08:00
zhengcs
668a4f8274
播放器首次提交(测试版本)
2026-08-25 18:04:56 +08:00