Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
fadb818
修复详情显示
scemsjyd Jun 24, 2022
880c516
增加配置缓存,优化切换首页的加载速度,支持spider的md5缓存
Jun 24, 2022
a85ee4f
Bug.
Jun 24, 2022
b7adc89
FIX:修复爬虫缓存异常造成多次重复加载问题
scemsjyd Jun 24, 2022
d59a572
Merge branch 'CatVodTVOfficial:main' into main
scemsjyd Jun 24, 2022
a78e2e4
add live channel group support
haha459862 Jun 25, 2022
a706ccc
Merge pull request #47 from haha459862/main
catvod Jun 25, 2022
7f45f08
Merge pull request #37 from scemsjyd/main
catvod Jun 25, 2022
cf403b8
升级IJK内核,Exo版本
Jun 25, 2022
792168e
升级播放器内核所需修改,顺带解决播放进度保存问题
Jun 25, 2022
8ec2c2f
TogglePlay
Jun 25, 2022
448531d
bugs fixes & proxy mode optimize
haha459862 Jun 26, 2022
bccc414
修复播放进度问题
Jun 26, 2022
ca9ffe3
Merge pull request #57 from haha459862/main
Scut-Demo Jun 26, 2022
623ab07
修复jar加载失败时导致主界面一直转圈卡死
comblue Jun 26, 2022
2bb3e27
fix live layout
ixiumu Jun 26, 2022
efa42cd
Merge pull request #61 from comblue/main
Scut-Demo Jun 26, 2022
8287520
Merge branch 'CatVodTVOfficial:main' into dev
ixiumu Jun 26, 2022
bf0a01d
update xwalk utils
Jun 26, 2022
50b64ed
Merge branch 'CatVodTVOfficial:main' into dev
ixiumu Jun 26, 2022
fe1455b
临时增加筛选.
Jun 26, 2022
095fb71
Bug
Jun 26, 2022
fd7be81
Merge pull request #63 from ixiumu/dev
Scut-Demo Jun 26, 2022
9489168
bug fix: load live channel from config file error
lppsuixn Jun 26, 2022
410d9aa
clean up.
Jun 27, 2022
bc72e43
Merge pull request #68 from lppsuixn/main
S-DL Jun 27, 2022
8838081
sync
Jun 27, 2022
fe31c04
sync
Jun 27, 2022
aff1861
full screen.
Jun 27, 2022
e810604
sync
Jun 27, 2022
b9b2ce1
sync
Jun 27, 2022
ba2fc9e
sync
Jun 27, 2022
cc27b75
Fix release build runtime error.
Jun 27, 2022
e3b0bb8
Complete push logic.
Jun 27, 2022
1352e67
清理无用代码,修改部分UI
Jun 27, 2022
2970b90
清理无用代码,修改部分UI
Jun 27, 2022
0ed92ad
爬虫源获取分类增加超时逻辑
Jun 27, 2022
074dc83
尝试优化缩略图锯齿问题
Jun 27, 2022
0a48ba3
Fix load err.
Jun 27, 2022
730de45
Clean。
Jun 28, 2022
5dd9798
开始播放界面相关UI调整
Jun 28, 2022
b8018ab
开始播放界面相关UI调整
Jun 28, 2022
279d4db
live bugs fixes
haha459862 Jun 28, 2022
d0fbd26
Update PlayActivity.
Jun 28, 2022
2dca0b4
Update PlayActivity.
Jun 28, 2022
989dc84
Fix history miss bug.
Jun 28, 2022
64d2c85
Update PlayActivity.
Jun 28, 2022
4853774
Fix Bug。
Jun 28, 2022
c58d07d
Merge pull request #92 from CatVodTVOfficial/dev
DreamDSTR Jun 28, 2022
438d104
Merge pull request #88 from haha459862/dev
DreamDSTR Jun 28, 2022
32fd2ae
Merge pull request #95 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
c01fbac
collect complete。
Jun 29, 2022
206e2eb
Merge pull request #99 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
fc15ba1
完善播放器控制UI
Jun 29, 2022
c9ea0f9
Merge pull request #100 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
738ac09
完善播放器控制UI
Jun 29, 2022
e22a41a
Merge pull request #101 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
6d3a8e4
完善播放器控制UI
Jun 29, 2022
706d256
Merge pull request #102 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
1d7e262
Complete play activity.
Jun 29, 2022
04408da
调整扫码设置配置地址的方式.
Jun 29, 2022
eb3ef3e
Merge pull request #103 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
bd47780
Add dns over https.
Jun 29, 2022
f3dd1c2
Merge pull request #104 from CatVodTVOfficial/dev
lite-cucumber Jun 29, 2022
e77f472
剧集列表页增加倒序
Jun 29, 2022
feb43f7
live focus color bug fix
haha459862 Jun 29, 2022
9a486e5
Merge pull request #105 from haha459862/main
lite-cucumber Jun 29, 2022
92edc81
Merge pull request #106 from CatVodTVOfficial/dev
DreamDSTR Jun 29, 2022
e7aad4c
字体大小统一 倍速递增量改为0.25
Jun 29, 2022
60c1f2c
Merge pull request #107 from CatVodTVOfficial/dev
DreamDSTR Jun 29, 2022
345b205
完善解析逻辑,支持原配置格式中采集站配置json解析的格式,支持json解析ext头设置
Jun 29, 2022
49731c2
Merge pull request #110 from CatVodTVOfficial/dev
DreamDSTR Jun 30, 2022
72a4305
补齐爬虫jar嗅探扩展接口调用 & BugFix.
Jun 30, 2022
fe73bd2
Merge pull request #111 from CatVodTVOfficial/dev
S-DL Jun 30, 2022
8c3c095
优化搜索后台占用问题,新增应用备份还原
Jun 30, 2022
c4b8908
Temp commit.
Jul 1, 2022
6887cc2
Temp commit.
Jul 1, 2022
ebae981
首页列表源设置 搜索视图设置 补齐配置接口中的分类配置 修复片尾跳过无法从头播放问题
Jul 1, 2022
ae5596c
首页列表源设置 搜索视图设置 补齐配置接口中的分类配置 修复片尾跳过无法从头播放问题
Jul 1, 2022
ecdead2
Merge pull request #117 from CatVodTVOfficial/dev
S-DL Jul 1, 2022
dd3b5d0
Fix
Jul 1, 2022
3d9dd3e
Merge pull request #118 from CatVodTVOfficial/dev
DreamDSTR Jul 1, 2022
4a2321e
Fix
Jul 1, 2022
7325aef
Merge pull request #119 from CatVodTVOfficial/dev
DreamDSTR Jul 1, 2022
80e5308
Fix
Jul 2, 2022
2534ad0
Merge pull request #123 from CatVodTVOfficial/dev
DreamDSTR Jul 2, 2022
6cc4f4f
Fix
Jul 2, 2022
a9b13c3
Fix
Jul 2, 2022
3f56ec4
Merge pull request #124 from CatVodTVOfficial/dev
DreamDSTR Jul 2, 2022
18c2b25
live setting support, to be continued
haha459862 Jul 2, 2022
3b35bdc
live setting support, complete
haha459862 Jul 3, 2022
ff42ba3
Block webview js alert。
Jul 4, 2022
31486fc
Merge pull request #130 from CatVodTVOfficial/dev
lite-cucumber Jul 4, 2022
14ef3bc
默认Ua改为OKHTTP
Jul 4, 2022
dcd30f5
Parse url proxy support.
Jul 4, 2022
d0430df
New icon.
Jul 4, 2022
b7c47f9
Merge pull request #133 from CatVodTVOfficial/dev
S-DL Jul 4, 2022
08f8056
Autosize fix. Mix parse fix. Add call mxplayer with subtitle support。
Jul 5, 2022
d908313
Merge pull request #135 from CatVodTVOfficial/dev
lite-cucumber Jul 5, 2022
e059699
Fix auto size padding.
Jul 5, 2022
ba435d1
Merge pull request #137 from CatVodTVOfficial/dev
lite-cucumber Jul 5, 2022
72bfa62
live player control modify
haha459862 Jul 5, 2022
a833a04
Hide MXPlayer if not install.
Jul 5, 2022
eb14864
Merge pull request #138 from CatVodTVOfficial/dev
lite-cucumber Jul 5, 2022
fcd7625
resize app banner
Jul 5, 2022
1e99f6b
Merge pull request #142 from CatVodTVOfficial/dev
S-DL Jul 5, 2022
c68bdd3
Add Reex player support.
Jul 6, 2022
9e4a99d
Merge pull request #147 from CatVodTVOfficial/dev
lite-cucumber Jul 6, 2022
ad27460
live channel group password support
haha459862 Jul 6, 2022
ece6b83
bug fix
haha459862 Jul 6, 2022
8024e5d
Merge branch 'main' into main
lite-cucumber Jul 7, 2022
45daa84
Merge pull request #127 from haha459862/main
lite-cucumber Jul 7, 2022
bba0e91
Resolve
Jul 7, 2022
ab18039
Merge pull request #153 from CatVodTVOfficial/dev
lite-cucumber Jul 7, 2022
fba92e9
live quit bug fix
haha459862 Jul 7, 2022
9f31b69
Merge pull request #154 from haha459862/main
lite-cucumber Jul 7, 2022
a5c9cf7
live channel list empty bug fix
haha459862 Jul 7, 2022
19df866
Merge pull request #156 from haha459862/main
S-DL Jul 8, 2022
b19f45c
Add magnet support.
Jul 14, 2022
6b71a63
Merge pull request #165 from CatVodTVOfficial/dev
lite-cucumber Jul 14, 2022
befb61a
live bug fix
haha459862 Jul 15, 2022
e8c12d2
Merge pull request #168 from haha459862/main
lite-cucumber Jul 18, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 11 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 0 additions & 13 deletions .idea/runConfigurations.xml

This file was deleted.

7 changes: 3 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation files('libs\\thunder.jar')

annotationProcessor 'androidx.room:room-compiler:2.3.0'
implementation 'androidx.room:room-runtime:2.3.0'
Expand All @@ -85,15 +86,13 @@ dependencies {
implementation 'org.greenrobot:eventbus:3.2.0'
implementation 'com.orhanobut:hawk:2.0.1'

implementation project(":player")

implementation('org.xwalk:xwalk_shared_library:23.53.589.4') {
exclude group: 'com.android.support'
}
implementation 'com.lzy.net:okgo:3.0.4'
// implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'
implementation 'com.github.dueeeke.dkplayer:dkplayer-java:3.2.6'
implementation 'com.github.dueeeke.dkplayer:dkplayer-ui:3.2.6'
implementation 'com.github.dueeeke.dkplayer:player-exo:3.2.6'
implementation 'com.github.dueeeke.dkplayer:player-ijk:3.2.6'
implementation 'com.owen:tv-recyclerview:3.0.0'

implementation 'com.github.getActivity:XXPermissions:13.6'
Expand Down
Binary file added app/libs/thunder.jar
Binary file not shown.
10 changes: 10 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,16 @@
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keep class com.orhanobut.hawk.** { *; }

# 保留Parcelable序列化类不被混淆
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
Expand Down
60 changes: 30 additions & 30 deletions app/schemas/com.github.tvbox.osc.data.AppDataBase/1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"formatVersion": 1,
"database": {
"version": 1,
"identityHash": "7eeed1930e952258dac040695df9dd32",
"identityHash": "d1c2780b5424f0e960fe2364f63c86b8",
"entities": [
{
"tableName": "cache",
Expand Down Expand Up @@ -32,7 +32,7 @@
},
{
"tableName": "vodRecord",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `vodId` TEXT, `updateTime` INTEGER NOT NULL, `sourceKey` TEXT, `data` BLOB, `dataJson` TEXT, `testMigration` INTEGER NOT NULL)",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `vodId` TEXT, `updateTime` INTEGER NOT NULL, `sourceKey` TEXT, `dataJson` TEXT)",
"fields": [
{
"fieldPath": "id",
Expand All @@ -58,23 +58,11 @@
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "data",
"columnName": "data",
"affinity": "BLOB",
"notNull": false
},
{
"fieldPath": "dataJson",
"columnName": "dataJson",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "testMigration",
"columnName": "testMigration",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
Expand All @@ -87,39 +75,51 @@
"foreignKeys": []
},
{
"tableName": "sourceState",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`sourceKey` TEXT NOT NULL, `home` INTEGER NOT NULL, `active` INTEGER NOT NULL, `tidSort` TEXT, PRIMARY KEY(`sourceKey`))",
"tableName": "vodCollect",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `vodId` TEXT, `updateTime` INTEGER NOT NULL, `sourceKey` TEXT, `name` TEXT, `pic` TEXT)",
"fields": [
{
"fieldPath": "sourceKey",
"columnName": "sourceKey",
"affinity": "TEXT",
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "home",
"columnName": "home",
"affinity": "INTEGER",
"notNull": true
"fieldPath": "vodId",
"columnName": "vodId",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "active",
"columnName": "active",
"fieldPath": "updateTime",
"columnName": "updateTime",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "tidSort",
"columnName": "tidSort",
"fieldPath": "sourceKey",
"columnName": "sourceKey",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "pic",
"columnName": "pic",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"sourceKey"
"id"
],
"autoGenerate": false
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
Expand All @@ -128,7 +128,7 @@
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '7eeed1930e952258dac040695df9dd32')"
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'd1c2780b5424f0e960fe2364f63c86b8')"
]
}
}
12 changes: 6 additions & 6 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<application
android:name=".base.App"
android:allowBackup="true"
android:banner="@drawable/app_banner"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:icon="@drawable/app_icon"
Expand All @@ -31,6 +32,7 @@
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>

Expand All @@ -44,7 +46,7 @@
android:name=".ui.activity.PlayActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.activity.ProjectionPlayActivity"
android:name=".ui.activity.PushActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.activity.SearchActivity"
Expand All @@ -55,6 +57,9 @@
<activity
android:name=".ui.activity.HistoryActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.activity.CollectActivity"
android:screenOrientation="landscape" />

<receiver android:name=".receiver.SearchReceiver">
<intent-filter>
Expand All @@ -66,11 +71,6 @@
<action android:name="android.content.movie.custom.web.Action" />
</intent-filter>
</receiver>
<receiver android:name=".receiver.ProjectionReceiver">
<intent-filter>
<action android:name="android.content.movie.projection.Action" />
</intent-filter>
</receiver>

<provider
android:name="androidx.core.content.FileProvider"
Expand Down
24 changes: 8 additions & 16 deletions app/src/main/java/com/github/catvod/crawler/JarLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import org.json.JSONObject;

import java.io.File;
import java.io.FileOutputStream;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.LinkedHashMap;
Expand All @@ -24,32 +23,27 @@ public class JarLoader {
/**
* 不要在主线程调用我
*
* @param jarData
* @param cache
*/
public boolean load(byte[] jarData) {
public boolean load(String cache) {
spiders.clear();
proxyFun = null;
boolean success = false;
try {
File cacheDir = new File(App.getInstance().getCacheDir().getAbsolutePath() + "/catvod_csp");
if (!cacheDir.exists())
cacheDir.mkdirs();
String cache = App.getInstance().getCacheDir().getAbsolutePath() + "/catvod_csp.jar";
FileOutputStream fos = new FileOutputStream(cache);
fos.write(jarData);
fos.flush();
fos.close();
classLoader = new DexClassLoader(cache, cacheDir.getAbsolutePath(), null, App.getInstance().getClassLoader());
// make force wait here, some device async dex load
int count = 0;
do {
try {
Class classInit = classLoader.loadClass("com.github.catvod.spider.Init");
if (classInit != null) {
success = true;
Method method = classInit.getMethod("init", Context.class);
method.invoke(null, App.getInstance());
System.out.println("自定义爬虫代码加载成功!");
success = true;
try {
Class proxy = classLoader.loadClass("com.github.catvod.spider.Proxy");
Method mth = proxy.getMethod("proxy", Map.class);
Expand All @@ -59,8 +53,6 @@ public boolean load(byte[] jarData) {
}
break;
}


Thread.sleep(200);
} catch (Throwable th) {
th.printStackTrace();
Expand All @@ -73,16 +65,16 @@ public boolean load(byte[] jarData) {
return success;
}

public Spider getSpider(String key, String ext) {
String clsKey = key.replace("csp_", "");
if (spiders.contains(clsKey))
return spiders.get(clsKey);
public Spider getSpider(String key, String cls, String ext) {
String clsKey = cls.replace("csp_", "");
if (spiders.containsKey(key))
return spiders.get(key);
if (classLoader == null)
return new SpiderNull();
try {
Spider sp = (Spider) classLoader.loadClass("com.github.catvod.spider." + clsKey).newInstance();
sp.init(App.getInstance(), ext);
spiders.put(clsKey, sp);
spiders.put(key, sp);
return sp;
} catch (Throwable th) {
th.printStackTrace();
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/java/com/github/catvod/crawler/Spider.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@

import android.content.Context;

import com.github.tvbox.osc.util.OkGoHelper;

import org.json.JSONObject;

import java.util.HashMap;
import java.util.List;

import okhttp3.Dns;

public abstract class Spider {

public static JSONObject empty = new JSONObject();
Expand Down Expand Up @@ -100,4 +104,8 @@ public boolean isVideoFormat(String url) {
public boolean manualVideoCheck() {
return false;
}

public static Dns safeDns() {
return OkGoHelper.dnsOverHttps;
}
}
Loading