Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
284 commits
Select commit Hold shift + click to select a range
dc9e4e4
Add files via upload
llb0 Aug 10, 2026
178e887
Add files via upload
llb0 Aug 10, 2026
0871cb6
找到真正原因了,clan必须解析为http地址
llb0 Aug 10, 2026
3996908
修复clan://的bug
llb0 Aug 10, 2026
3323bd2
Add files via upload
llb0 Aug 10, 2026
13612ef
Add files via upload
llb0 Aug 10, 2026
9ad7389
Add files via upload
llb0 Aug 10, 2026
7a6f802
继续处理clan协议
llb0 Aug 10, 2026
b433af2
Add files via upload
llb0 Aug 10, 2026
01d3688
Add files via upload
llb0 Aug 10, 2026
68efbd0
Add files via upload
llb0 Aug 10, 2026
4017f2e
Add files via upload
llb0 Aug 10, 2026
270e730
Add files via upload
llb0 Aug 10, 2026
b7a34a5
Add files via upload
llb0 Aug 10, 2026
4ef65e5
开启文件站源时允许无接口
llb0 Aug 10, 2026
954f747
删掉调试日志
llb0 Aug 10, 2026
424696e
修复文件站点名称显示bug
llb0 Aug 11, 2026
af12c32
设置增加标题换行、外观增加稍宽松
llb0 Aug 11, 2026
612d6c1
Add files via upload
llb0 Aug 11, 2026
e31c4d4
Add files via upload
llb0 Aug 11, 2026
abeec7f
Add files via upload
llb0 Aug 11, 2026
2a49878
Add files via upload
llb0 Aug 11, 2026
1bbd1ad
Add files via upload
llb0 Aug 11, 2026
8bb74fa
Add files via upload
llb0 Aug 11, 2026
35382ca
完善文件源名称附带的开关解析
llb0 Aug 11, 2026
76f4fdf
站点选择界面可直接删除文件站点
llb0 Aug 11, 2026
7bc207b
Add files via upload
llb0 Aug 11, 2026
076b345
删除图标
llb0 Aug 11, 2026
39d32af
Add ic_site_delete vector drawable resource
llb0 Aug 11, 2026
2e673e1
Add files via upload
llb0 Aug 11, 2026
5e772e8
Add files via upload
llb0 Aug 11, 2026
122b129
删除动作监听
llb0 Aug 11, 2026
310c532
Add files via upload
llb0 Aug 11, 2026
d60cc03
文件站源删除逻辑
llb0 Aug 11, 2026
be86fbc
Add files via upload
llb0 Aug 11, 2026
91acfcc
删除文件站源对话框文本
llb0 Aug 11, 2026
b5d7cbd
Add files via upload
llb0 Aug 11, 2026
b41548b
Add files via upload
llb0 Aug 11, 2026
3ed139d
文件站点排前面
llb0 Aug 11, 2026
0412886
Add files via upload
llb0 Aug 11, 2026
daa4d16
修复文件站源删除bug
llb0 Aug 11, 2026
fdbd926
默认界面大小稍宽松,标题不限行数
llb0 Aug 11, 2026
97307ee
调整外观和语言设置排序
llb0 Aug 11, 2026
e904ec2
站点排序优先级:拖拽>文件站>接口站
llb0 Aug 11, 2026
ec224c5
Add files via upload
llb0 Aug 11, 2026
bf61904
Bump version code and name to 5.5.7
llb0 Aug 11, 2026
e214e66
Add files via upload
llb0 Aug 11, 2026
f0ef2f0
Update Gradle command in android-release.yml
llb0 Aug 11, 2026
e48f1cc
Add files via upload
llb0 Aug 11, 2026
d4695ce
Add files via upload
llb0 Aug 11, 2026
197be85
删除多余代码
llb0 Aug 11, 2026
ff1b8ac
平时只打一个包
llb0 Aug 11, 2026
a456295
修复未设置接口不加载文件源的问题
llb0 Aug 11, 2026
693506b
完善刷新机制
llb0 Aug 12, 2026
1af01b8
Add files via upload
llb0 Aug 12, 2026
b0adf5c
Add files via upload
llb0 Aug 12, 2026
9ae2ea2
Add files via upload
llb0 Aug 12, 2026
faba9e9
Add files via upload
llb0 Aug 12, 2026
e47c32c
Add files via upload
llb0 Aug 12, 2026
c8199cd
Add files via upload
llb0 Aug 12, 2026
71aa808
Add files via upload
llb0 Aug 12, 2026
4ea5146
Add files via upload
llb0 Aug 12, 2026
c1985aa
Fix indentation in android-release.yml
llb0 Aug 12, 2026
20824fc
完善刷新机制
llb0 Aug 12, 2026
28dd305
Add files via upload
llb0 Aug 12, 2026
6c20bbb
HomeActivity
llb0 Aug 12, 2026
7d251ee
VodFragment
llb0 Aug 12, 2026
59c8f97
调整tv版设置界面
llb0 Aug 12, 2026
dcef3cd
activity_setting.xml
llb0 Aug 12, 2026
9deb742
Setting
llb0 Aug 12, 2026
182985d
Add files via upload
llb0 Aug 12, 2026
9348d82
LiveConfig、VodConfig
llb0 Aug 12, 2026
712bb02
HomeActivity
llb0 Aug 12, 2026
601908a
HomeActivity mobile
llb0 Aug 12, 2026
b90a8da
VodFragment
llb0 Aug 12, 2026
5d02831
SettingActivity
llb0 Aug 12, 2026
623bdad
activity_setting.xml
llb0 Aug 12, 2026
24e45f3
修复刷新bug
llb0 Aug 12, 2026
88201bd
完善站源初始化
llb0 Aug 12, 2026
4557eac
修复刷新bug
llb0 Aug 12, 2026
6baa5af
修复纯文件源不保存DB的问题
llb0 Aug 12, 2026
121310a
继续完善文件源
llb0 Aug 12, 2026
75b2fda
用户目录的所谓共享数据文件有可能无数个G,不能也没必要备份
llb0 Aug 12, 2026
321d5c5
JarLoader
llb0 Aug 12, 2026
37ac890
VodConfig
llb0 Aug 12, 2026
5468917
修复file路径解析bug
llb0 Aug 12, 2026
075334f
修复file:路径bug
llb0 Aug 12, 2026
b9fefe8
修复file:路径bug
llb0 Aug 12, 2026
7091a83
修复路径bug
llb0 Aug 12, 2026
9185199
一键同步可选择文件,不止目录
llb0 Aug 12, 2026
c5ec998
取消同步默认选择,最大缓存减小到4G
llb0 Aug 12, 2026
5633ab7
同步目录不设默认
llb0 Aug 12, 2026
a18cd6c
strings.xml
llb0 Aug 12, 2026
b5ab52e
Add files via upload
llb0 Aug 12, 2026
9a96338
Add files via upload
llb0 Aug 12, 2026
5123197
Add files via upload
llb0 Aug 12, 2026
534eb97
Add files via upload
llb0 Aug 12, 2026
94d89e0
VodConfig
llb0 Aug 12, 2026
81f48af
tv版无数据,回退VodConfig找原因
llb0 Aug 12, 2026
a805d20
再回退
llb0 Aug 12, 2026
c1b276b
JarLoader、BaseLoader
llb0 Aug 13, 2026
39300f9
VodConfig.load增加异常处理
llb0 Aug 13, 2026
7fd8890
修Path.local路径解析bug
llb0 Aug 13, 2026
001b7b6
解决还原/同步无法覆盖的问题
llb0 Aug 13, 2026
1914d48
太相信ai了,堵Path漏洞
llb0 Aug 13, 2026
b9b4adc
堵JarLoader漏洞
llb0 Aug 13, 2026
90aa046
堵VodConfig漏洞
llb0 Aug 13, 2026
709ecac
Path
llb0 Aug 13, 2026
5006303
音乐播放器支持站名含[听][聽]【听】【聽】
llb0 Aug 13, 2026
eac26a8
新增接口下载功能ConfigDownload
llb0 Aug 13, 2026
c2aa0ce
添加按钮
llb0 Aug 13, 2026
875d518
删除重复
llb0 Aug 13, 2026
7cbeec4
菜单文本
llb0 Aug 13, 2026
13c6e6a
中文菜单文本
llb0 Aug 13, 2026
a8e3e20
繁體中文菜單
llb0 Aug 13, 2026
c4136d3
提示框文字颜色自适应主题背景
llb0 Aug 13, 2026
a18bb2c
加调试日志找问题
llb0 Aug 13, 2026
17f8d76
VodFragment加调试日志
llb0 Aug 13, 2026
88f2821
完善接口下载细节
llb0 Aug 13, 2026
35138b0
增加版本号
llb0 Aug 13, 2026
14f372a
优化接口下载细节
llb0 Aug 14, 2026
a62afdb
更改下载提示样式
llb0 Aug 14, 2026
856b85e
调整中文提示
llb0 Aug 14, 2026
1ac641c
英文菜单
llb0 Aug 14, 2026
efec1ac
Add files via upload
llb0 Aug 14, 2026
a1db438
Add files via upload
llb0 Aug 14, 2026
a36fced
Add files via upload
llb0 Aug 14, 2026
26f8f1d
细节调整完毕
llb0 Aug 14, 2026
9770c72
VodFragment
llb0 Aug 14, 2026
6dadc87
Update download start message in strings.xml
llb0 Aug 14, 2026
0b6789b
Update download start message in Chinese localization
llb0 Aug 14, 2026
ffcfc51
Update download start message in Chinese localization
llb0 Aug 14, 2026
1ad25c5
优化下载提示
llb0 Aug 14, 2026
def5929
VodFragment
llb0 Aug 14, 2026
03bf046
重构搜索过滤,使用其支持黑白名单等Add SearchSourceItem
llb0 Aug 14, 2026
5109923
Add SearchSourceHelper for managing search sources
llb0 Aug 14, 2026
f089d58
Delete SearchSourceItem.java
llb0 Aug 14, 2026
c08f7c6
SearchSourceItem.java
llb0 Aug 14, 2026
933cef6
英文strings
llb0 Aug 14, 2026
ef19024
Implement SearchSourceAdapter for RecyclerView
llb0 Aug 14, 2026
8285442
Add SearchSourceDialog for managing search sources
llb0 Aug 14, 2026
78f6813
Add SearchSitePickerDialog for site selection
llb0 Aug 14, 2026
a33555f
Add SearchSourceAdapter for managing search sources
llb0 Aug 14, 2026
0f81311
Add SiteCheckAdapter for managing site selections
llb0 Aug 14, 2026
737b024
Add SearchSourceDialog for managing search sources
llb0 Aug 14, 2026
21149a5
Add SearchSitePickerDialog for site selection
llb0 Aug 14, 2026
2f58d06
更改电视版搜索设置调用
llb0 Aug 14, 2026
4488959
样式
llb0 Aug 14, 2026
cb617a5
Add files via upload
llb0 Aug 14, 2026
356f07e
手机版样式
llb0 Aug 14, 2026
72d83fa
Implement SiteCheckAdapter for site selection
llb0 Aug 14, 2026
1e18155
手机版搜索设置调用更改
llb0 Aug 14, 2026
f014719
中文strings
llb0 Aug 14, 2026
e0f5a2a
繁体中文strings
llb0 Aug 14, 2026
6e4fc37
最后一个SearchModeStore,打包测试
llb0 Aug 14, 2026
c01a0b3
修复引用声明
llb0 Aug 14, 2026
e4f45f6
Fix missing newline at end of SiteCheckAdapter.java
llb0 Aug 14, 2026
91ee709
美化对话框
llb0 Aug 14, 2026
8d0d848
Update dialog_site_picker.xml layout attributes
llb0 Aug 14, 2026
85a243f
Update XML namespace in strings.xml for zh-rCN
llb0 Aug 14, 2026
d6fa4da
Update XML namespace in strings.xml for zh-rTW
llb0 Aug 14, 2026
8aa75d5
Update strings.xml
llb0 Aug 14, 2026
30d4ad4
Add files via upload
llb0 Aug 14, 2026
a0af934
换标准图标
llb0 Aug 14, 2026
8147af1
Remove unused app namespace from layout XML
llb0 Aug 14, 2026
6ff5351
Change icon source in item_search_source layout
llb0 Aug 14, 2026
6f3596f
修复tv版搜索设置焦点问题
llb0 Aug 14, 2026
5eef68c
解决搜索列表图片大小和标题换行设置无效的问题
llb0 Aug 14, 2026
6c7d521
SearchAdapter
llb0 Aug 14, 2026
6170281
Remove singleLine attribute from adapter_search.xml
llb0 Aug 14, 2026
7c18c24
SearchAdapter
llb0 Aug 14, 2026
cc15fae
SearchAdapter
llb0 Aug 14, 2026
1846795
dialog_site_picker
llb0 Aug 14, 2026
61f5937
Add files via upload
llb0 Aug 14, 2026
08a2188
Setting
llb0 Aug 14, 2026
290a2ad
dialog_site_picker
llb0 Aug 14, 2026
c837356
文件站源开关改为来源屏蔽选项Add SourceBlockItem class for source management
llb0 Aug 14, 2026
938672f
Add SourceCheckAdapter for managing source blocks
llb0 Aug 14, 2026
19e8c8a
Add SourceBlockDialog for source blocking functionality
llb0 Aug 14, 2026
3c585db
Add SourceCheckAdapter for managing source block items
llb0 Aug 14, 2026
85773cb
Delete app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SourceChe…
llb0 Aug 15, 2026
1ff5ff4
Add SourceBlockDialog class for source management
llb0 Aug 15, 2026
783b571
Delete app/src/leanback/java/com/fongmi/android/tv/ui/adapter/SourceC…
llb0 Aug 15, 2026
8d34c04
Add SourceCheckAdapter for managing source blocks
llb0 Aug 15, 2026
75bdcff
Add source constants for various URL types
llb0 Aug 15, 2026
7791b82
Add source block management methods in Setting.java
llb0 Aug 15, 2026
3a97b10
Update string resources for source blocking feature
llb0 Aug 15, 2026
d921a4b
Update strings for file source settings in Chinese
llb0 Aug 15, 2026
b41e712
Update Chinese translations in strings.xml
llb0 Aug 15, 2026
5a651a2
增加来源过滤
llb0 Aug 15, 2026
72b7405
SettingEnhanceActivity
llb0 Aug 15, 2026
e1af73c
SettingEnhanceFragment
llb0 Aug 15, 2026
67a9dca
Update reloadConfig to initialize HomeActivity config
llb0 Aug 15, 2026
e3c3950
Remove read-only check in JarLoader
llb0 Aug 15, 2026
ead898d
Refactor layout for activity_home.xml
llb0 Aug 15, 2026
e64e02f
Remove FuncPresenter and related functionality
llb0 Aug 15, 2026
a147a42
Refactor key event handling and remove getSite methods
llb0 Aug 15, 2026
e5c8dcf
Make CustomTitleView focusable
llb0 Aug 15, 2026
fd46b73
Enhance JarLoader to handle local file paths
llb0 Aug 15, 2026
adfee40
Add methods to get site and list of sites
llb0 Aug 15, 2026
0b349bb
修复长按刷新
llb0 Aug 15, 2026
7c943f9
还原Refactor HomeActivity to include FuncPresenter
llb0 Aug 15, 2026
7692a8c
恢复布局
llb0 Aug 15, 2026
640c8c1
Refactor key event handling and listener methods
llb0 Aug 15, 2026
83c7353
Update onKeyUp method to set coolDown correctly
llb0 Aug 15, 2026
246ebb5
Enhance onRefresh and reloadConfig methods
llb0 Aug 15, 2026
a016e04
Improve permission requests and config reload
llb0 Aug 15, 2026
70a2f35
Check file read-only status in JarLoader
llb0 Aug 15, 2026
dc9ce97
Update spider and XBPQ_JAR path resolution
llb0 Aug 16, 2026
b0d7faf
Update spider URL resolution in VodConfig
llb0 Aug 16, 2026
c2c3444
Update data replacement logic in verify method
llb0 Aug 16, 2026
30ad08f
Update JarLoader.java
llb0 Aug 16, 2026
7d9d5fa
Update UrlUtil method from resolve to convert
llb0 Aug 16, 2026
46d0a29
Refactor URL conversion logic in UrlUtil
llb0 Aug 16, 2026
e452bdb
Add proxy URL to debug logs HTML output
llb0 Aug 16, 2026
4daee5c
Start proxy if not already running in getAddress
llb0 Aug 16, 2026
31de4ba
Change start method to startManage in getAddress
llb0 Aug 16, 2026
83b61ba
Change localUrl to xbpqUrl in DebugLogs.java
llb0 Aug 16, 2026
88e9b48
Change clanPrefix to use local directory path
llb0 Aug 16, 2026
ba50651
Replace listener refresh calls with HomeActivity refresh
llb0 Aug 16, 2026
8a9fd45
Merge branch 'main' into test
llb0 Aug 16, 2026
03b520d
Merge pull request #2 from llb0/test
llb0 Aug 16, 2026
2214a05
Replace HomeActivity.onRefresh() with listener call
llb0 Aug 16, 2026
532ee3c
Update onRefresh method to initialize config
llb0 Aug 16, 2026
8a5cbe2
Update clanPrefix to use current directory
llb0 Aug 16, 2026
e0238ba
Refine local URL detection in shouldShow method
llb0 Aug 16, 2026
7ee6a21
Remove URL replacements in verify method
llb0 Aug 16, 2026
c53c12d
Remove mobile arm64_v8a release assembly step
llb0 Aug 16, 2026
7c61b11
增加源指定播放器功能Add playerType and player fields to Result class
llb0 Aug 17, 2026
d1e2613
历史保存指定播放器Add playerType and player fields to History class
llb0 Aug 17, 2026
8e6044d
Increment database version to 38
llb0 Aug 17, 2026
7d380a5
Refactor fetch method to handle player selection
llb0 Aug 17, 2026
ad826c5
Add forcedPlayer handling in PlaySpec
llb0 Aug 17, 2026
a0fcbef
Update player start method to include player settings
llb0 Aug 17, 2026
75df1dd
Improve player type management in PlayerManager
llb0 Aug 17, 2026
1970d01
Implement forced player logic in start method
llb0 Aug 17, 2026
b270521
Set player type in saveHistory method
llb0 Aug 17, 2026
aaa4be1
Add player type and create time to history saving
llb0 Aug 17, 2026
5f0e1cc
Fix gradlew permissions and clean Release/apk directory
llb0 Aug 17, 2026
adfac09
Fix method call to get player type in saveHistory
llb0 Aug 17, 2026
29aaab4
Fix method call to get player type in saveHistory
llb0 Aug 17, 2026
0f816a5
Remove unused build cache option from workflow
llb0 Aug 17, 2026
15e78b8
Fix formatting in android-release.yml for gradlew commands
llb0 Aug 17, 2026
1727eca
Fix formatting in android-release.yml for gradlew command
llb0 Aug 17, 2026
8b1993a
Refactor player type switching logic in start method
llb0 Aug 17, 2026
202d237
Add delay to switchPlayer when changing kernel
llb0 Aug 17, 2026
e2ac9f3
Merge branch 'main' into test
llb0 Aug 18, 2026
2b02ddb
支持源指定播放器 #3 from llb0/test
llb0 Aug 18, 2026
eb412b4
Change postDelayed to post for player switch
llb0 Aug 18, 2026
cf3e6af
Add path selection logic using prefix matching
llb0 Aug 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions .github/workflows/android-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ on:
sync_cnb:
description: "Mirror APKs to CNB Release and sync CNB manifests"
required: false
default: true
default: false
type: boolean

permissions:
Expand Down Expand Up @@ -143,19 +143,30 @@ jobs:
STORE_PASSWORD="${RELEASE_STORE_PASSWORD:-$KEY_PASSWORD}"
ALIAS="${RELEASE_KEY_ALIAS:-$KEY_ALIAS}"
KEY_PASS="${RELEASE_KEY_PASSWORD:-$STORE_PASSWORD}"
mkdir -p app/signing
if [ -z "$KS_BASE64" ] || [ -z "$STORE_PASSWORD" ] || [ -z "$ALIAS" ]; then
echo "::error title=Release signing not configured::Configure RELEASE_KEYSTORE_BASE64, RELEASE_KEY_ALIAS and RELEASE_STORE_PASSWORD in repository secrets."
exit 1
echo "No signing secrets found, generating debug keystore..."
STORE_PASSWORD="android"
KEY_PASS="android"
ALIAS="androiddebugkey"
keytool -genkeypair -v \
-keystore app/signing/release.jks \
-alias "$ALIAS" \
-keyalg RSA -keysize 2048 -validity 10000 \
-storepass "$STORE_PASSWORD" \
-keypass "$KEY_PASS" \
-dname "CN=Android Debug,O=Android,C=US"
else
echo "Using provided release signing key"
printf '%s' "$KS_BASE64" | base64 --decode > app/signing/release.jks
fi
mkdir -p app/signing
printf '%s' "$KS_BASE64" | base64 --decode > app/signing/release.jks
{
echo "storeFile=$GITHUB_WORKSPACE/app/signing/release.jks"
echo "keyAlias=$ALIAS"
echo "storePassword=$STORE_PASSWORD"
echo "keyPassword=$KEY_PASS"
} > local.properties
echo "Release signing configured"
echo "Signing configured (alias=$ALIAS)"

- name: Build four release APKs
env:
Expand All @@ -166,10 +177,8 @@ jobs:
rm -rf Release/apk
./gradlew \
:app:assembleMobileArm64_v8aRelease \
:app:assembleMobileArmeabi_v7aRelease \
:app:assembleLeanbackArm64_v8aRelease \
:app:assembleLeanbackArmeabi_v7aRelease \
--no-daemon
--no-daemon \

- name: Collect artifacts
run: |
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ android {
applicationId "com.fongmi.android.tv"
minSdk libs.versions.minSdk.get().toInteger()
targetSdk libs.versions.targetSdk.get().toInteger()
versionCode 556
versionName "5.5.6"
versionCode 558
versionName "5.5.8"
buildConfigField "String", "BUILD_TIME", "\"${buildTime}\""
buildConfigField "String", "BUILD_TAG", "\"${releaseTag}\""
buildConfigField "String", "MEDIA3_VERSION", "\"${libs.versions.media3.get()}\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import com.bumptech.glide.Glide;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Collect;
Expand All @@ -30,6 +31,7 @@
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomScroller;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.SearchModeStore;
import com.github.catvod.crawler.SpiderDebug;
import com.google.gson.reflect.TypeToken;

Expand Down Expand Up @@ -173,13 +175,7 @@ private void saveKeyword() {
}

private void setSites() {
String siteKey = getSiteKey();
mSites = new ArrayList<>();
for (Site site : VodConfig.get().getSites()) {
if (!site.isSearchable()) continue;
if (!siteKey.isEmpty() && !site.getKey().equals(siteKey)) continue;
mSites.add(site);
}
mSites = new ArrayList<>(SearchModeStore.filterSites(VodConfig.get().getSites(), getSiteKey()));
SiteHealthStore.sortSites(mSites);
}

Expand All @@ -196,7 +192,7 @@ private void search() {
}

private int getCount() {
return 5;
return Product.getColumn();
}

private int getItemWidth(int count) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,10 @@ protected void initView(Bundle savedInstanceState) {
private void initAfterFirstFrame() {
SpiderDebug.log("startup", "home first frame cost=%sms", System.currentTimeMillis() - App.time());
App.post(this::initConfig, 80);
App.post(() -> PermissionUtil.requestFile(this, allGranted -> PermissionUtil.requestNotify(this)), 1800);
App.post(() -> PermissionUtil.requestFile(this, allGranted -> {
PermissionUtil.requestNotify(this);
if (allGranted) initConfig();
}), 1800);
App.post(() -> DLNARendererService.start(this), 2500);
}

Expand Down Expand Up @@ -461,7 +464,7 @@ private void addGrid(List<Vod> items, Style style) {

private void setFunc() {
List<Func> items = new ArrayList<>();
if (LiveConfig.hasUrl()) items.add(Func.create(R.string.home_live));
if (LiveConfig.hasLoadedLives()) items.add(Func.create(R.string.home_live));
items.add(Func.create(R.string.home_search));
items.add(Func.create(R.string.home_keep));
items.add(Func.create(R.string.home_push));
Expand Down Expand Up @@ -654,29 +657,12 @@ public void showDialog() {

@Override
public void onRefresh() {
if (mWeb != null && mWeb.isVisible()) mWeb.reload();
else getVideo();
initConfig();
}

@Override
public void reloadConfig() {
VodConfig.get().clear().config(getConfig()).load(new Callback() {
@Override
public void start() {
mBinding.progressLayout.showProgress();
}

@Override
public void success() {
showContent();
}

@Override
public void error(String msg) {
Notify.show(msg);
showContent();
}
});
onRefresh();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomKeyboard;
import com.fongmi.android.tv.ui.custom.CustomTextListener;
import com.fongmi.android.tv.ui.dialog.SiteDialog;
import com.fongmi.android.tv.ui.dialog.SearchSourceDialog;
import com.fongmi.android.tv.utils.KeyUtil;
import com.fongmi.android.tv.utils.SearchSuggest;
import com.fongmi.android.tv.utils.Util;
Expand Down Expand Up @@ -276,7 +276,7 @@ public void onSearch() {

@Override
public void showDialog() {
SiteDialog.create().search().show(this);
SearchSourceDialog.create().show(this);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public class SettingActivity extends BaseActivity implements ConfigListener, Sit
private ActivitySettingBinding mBinding;
private String[] size;
private String[] language;
private String[] titleLines;

public static void start(Activity activity) {
activity.startActivity(new Intent(activity, SettingActivity.class));
Expand Down Expand Up @@ -94,6 +95,7 @@ private void setOtherText() {
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
mBinding.languageText.setText((language = ResUtil.getStringArray(R.array.select_language))[Setting.getLanguageIndex()]);
mBinding.sizeText.setText((size = ResUtil.getStringArray(R.array.select_size))[PlayerSetting.getSize()]);
mBinding.titleLinesText.setText((titleLines = ResUtil.getStringArray(R.array.select_title_lines))[Setting.getTitleLinesIndex()]);
}

private void setCacheText() {
Expand All @@ -113,6 +115,7 @@ protected void initEvent() {
mBinding.wall.setOnClickListener(this::onWall);
mBinding.size.setOnClickListener(this::setSize);
mBinding.language.setOnClickListener(this::setLanguage);
mBinding.titleLines.setOnClickListener(this::setTitleLines);
mBinding.cache.setOnClickListener(this::onCache);
mBinding.backup.setOnClickListener(this::onBackup);
mBinding.enhance.setOnClickListener(this::onEnhance);
Expand Down Expand Up @@ -284,6 +287,13 @@ private void setLanguage(View view) {
RefreshEvent.language();
}

private void setTitleLines(View view) {
int index = (Setting.getTitleLinesIndex() + 1) % titleLines.length;
mBinding.titleLinesText.setText(titleLines[index]);
Setting.putTitleLinesIndex(index);
RefreshEvent.size();
}

private void setDoh(View view) {
DohDialog.create().index(getDohIndex()).show(this);
}
Expand Down Expand Up @@ -360,4 +370,4 @@ private void setWallText() {
mBinding.wallUrl.setText(Setting.getWallDesc(WallConfig.getDesc()));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import com.fongmi.android.tv.ui.dialog.RemoteTrustDialog;
import com.fongmi.android.tv.ui.dialog.ShellProxyDialog;
import com.fongmi.android.tv.ui.dialog.SiteHealthDialog;
import com.fongmi.android.tv.ui.dialog.SourceBlockDialog;
import com.fongmi.android.tv.ui.dialog.ViewingRecordSyncDialog;
import com.fongmi.android.tv.ui.dialog.WebHomeExtensionDialog;
import com.fongmi.android.tv.utils.LoginStateSync;
Expand All @@ -40,7 +41,7 @@

public class SettingEnhanceActivity extends BaseActivity {

private static final String URL_GITHUB = "https://github.com/fish2018/webhtv";
private static final String URL_GITHUB = "https://github.com/llb0/webhtv";
private static final String URL_CNB = "https://cnb.cool/fish2035/ext";

private ActivitySettingEnhanceBinding mBinding;
Expand Down Expand Up @@ -69,6 +70,7 @@ protected void initView(Bundle savedInstanceState) {
protected void initEvent() {
mBinding.githubRepo.setOnClickListener(view -> openRepo(URL_GITHUB));
mBinding.cnbRepo.setOnClickListener(view -> openRepo(URL_CNB));
mBinding.fileSites.setOnClickListener(this::setFileSites);
mBinding.driveCheck.setOnClickListener(this::setDriveCheck);
mBinding.debugLog.setOnClickListener(this::setDebugLog);
mBinding.siteHealthSort.setOnClickListener(view -> SiteHealthDialog.show(this, this::setText));
Expand Down Expand Up @@ -97,6 +99,7 @@ protected void initEvent() {
private void reorderItems() {
ViewGroup parent = (ViewGroup) mBinding.customCsp.getParent();
View[] order = {
mBinding.fileSites,
mBinding.customCsp,
mBinding.webHomeExtension,
mBinding.gitCloud,
Expand All @@ -120,6 +123,7 @@ private void reorderItems() {

private void setText() {
if (!canSetText()) return;
safeSet("fileSites", mBinding.fileSitesText, () -> getString(R.string.setting_source_block_count, Setting.getSourceBlockedCount(), Setting.SOURCE_ALL.length));
safeSet("driveCheck", mBinding.driveCheckText, () -> getSwitch(Setting.isDriveCheck()));
safeSet("debugLog", mBinding.debugLogText, () -> getSwitch(Setting.isDebugLog()));
safeSet("siteHealthSort", mBinding.siteHealthSortText, () -> getSwitch(Setting.isSiteHealthSort()));
Expand Down Expand Up @@ -195,6 +199,10 @@ private interface TextSupplier {
CharSequence get();
}

private void setFileSites(View view) {
SourceBlockDialog.create(this::setText).show(this);
}

private void setDriveCheck(View view) {
Setting.putDriveCheck(!Setting.isDriveCheck());
mBinding.driveCheckText.setText(getSwitch(Setting.isDriveCheck()));
Expand Down Expand Up @@ -252,4 +260,4 @@ protected void onResume() {
super.onResume();
setText();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3561,6 +3561,7 @@ private void saveHistory(boolean exit) {
if (mHistory == null || Setting.isIncognito()) return;
if (service() != null && isOwner()) {
updatePlaybackHistoryPosition();
mHistory.setPlayerType(player().getPlayerType());
mHistory.setCreateTime(System.currentTimeMillis());
}
if (exit && service() != null) PlaybackEventCollector.get().onStop(player());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.databinding.AdapterSearchBinding;
import com.fongmi.android.tv.setting.Setting;
import com.fongmi.android.tv.utils.ImgUtil;
import com.fongmi.android.tv.utils.ResUtil;

Expand Down Expand Up @@ -116,7 +117,7 @@ public int getItemCount() {
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
ViewHolder holder = new ViewHolder(AdapterSearchBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
holder.binding.getRoot().getLayoutParams().width = width;
holder.binding.getRoot().getLayoutParams().height = height + ResUtil.dp2px(34);
holder.binding.getRoot().getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
holder.binding.image.getLayoutParams().height = height;
return holder;
}
Expand Down Expand Up @@ -147,19 +148,17 @@ public static class ViewHolder extends RecyclerView.ViewHolder {
ViewHolder(@NonNull AdapterSearchBinding binding) {
super(binding.getRoot());
this.binding = binding;
binding.name.setSingleLine(true);
binding.name.setHorizontallyScrolling(true);
binding.name.setMarqueeRepeatLimit(-1);
binding.getRoot().setOnFocusChangeListener((view, hasFocus) -> setMarquee(hasFocus));
}

private void bindName(String name) {
Setting.applyTitleMaxLines(binding.name);
binding.name.setHorizontallyScrolling(Setting.resolveTitleMaxLines() <= 1);
binding.name.setText(name);
setMarquee(binding.getRoot().hasFocus());
}

private void setMarquee(boolean focused) {
binding.name.setEllipsize(focused ? TextUtils.TruncateAt.MARQUEE : TextUtils.TruncateAt.END);
binding.name.setSelected(focused);
}
}
Expand Down
Loading