Revert "thunder"

This reverts commit decc8e9f2b.
pull/368/head
okjack 2 years ago
parent decc8e9f2b
commit ba46c33fca
  1. 7
      thunder/src/main/AndroidManifest.xml
  2. 48
      thunder/src/main/java/com/xunlei/downloadlib/XLDownloadManager.java
  3. 15
      thunder/src/main/java/com/xunlei/downloadlib/XLLoader.java
  4. 11
      thunder/src/main/java/com/xunlei/downloadlib/XLTaskHelper.java
  5. 51
      thunder/src/main/java/com/xunlei/downloadlib/android/XLUtil.java
  6. 26
      thunder/src/main/java/com/xunlei/downloadlib/parameter/InitParam.java
  7. 6
      thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentFileInfo.java
  8. 8
      thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentInfo.java
  9. 99
      thunder/src/main/java/com/xunlei/downloadlib/parameter/XLTaskInfo.java
  10. BIN
      thunder/src/main/jniLibs/arm64-v8a/libxl_stat.so
  11. BIN
      thunder/src/main/jniLibs/arm64-v8a/libxl_thunder_sdk.so
  12. BIN
      thunder/src/main/jniLibs/armeabi-v7a/libxl_stat.so
  13. BIN
      thunder/src/main/jniLibs/armeabi-v7a/libxl_thunder_sdk.so

@ -1,6 +1 @@
<manifest package="com.ghost.thunder" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application>
<meta-data android:name="com.xunlei.download.APP_KEY" android:value="bpIzNjAxNTsxNTA0MDk0ODg4LjQyODAwMA&amp;&amp;OxNw==21^5e1c1b6a73^c76f3^cd3c0e331d164^ed3c62==2974DD65D2^39222^5954C5914A8267D"/>
</application>
</manifest>
<manifest package="com.ghost.thunder" />

@ -1,7 +1,7 @@
package com.xunlei.downloadlib;
import android.content.Context;
import android.text.TextUtils;
import android.os.Build;
import com.github.catvod.Init;
import com.github.catvod.utils.Prefers;
@ -10,6 +10,7 @@ import com.xunlei.downloadlib.parameter.BtIndexSet;
import com.xunlei.downloadlib.parameter.BtSubTaskDetail;
import com.xunlei.downloadlib.parameter.BtTaskParam;
import com.xunlei.downloadlib.parameter.EmuleTaskParam;
import com.xunlei.downloadlib.parameter.GetDownloadLibVersion;
import com.xunlei.downloadlib.parameter.GetFileName;
import com.xunlei.downloadlib.parameter.GetTaskId;
import com.xunlei.downloadlib.parameter.InitParam;
@ -24,7 +25,6 @@ public class XLDownloadManager {
private XLLoader loader;
private Context context;
private static boolean mAllowExecution = true;
public XLDownloadManager() {
this.context = Init.context();
@ -33,16 +33,13 @@ public class XLDownloadManager {
}
public void init() {
InitParam initParam = new InitParam(context.getFilesDir().getPath());
System.loadLibrary("xl_thunder_sdk");
String peerid = getPeerId();
String guid = getGuid();
if (!TextUtils.isEmpty(initParam.mGuid)) {
guid = initParam.mGuid;
}
loader.init(context, initParam.mAppVersion, "", peerid, guid, initParam.mStatSavePath, initParam.mStatCfgSavePath, initParam.mLogSavePath, mAllowExecution ? XLUtil.getNetworkTypeComplete(context) : 0, initParam.mPermissionLevel);
loader.setUserId("Yt4vsji-qngamdRo");
setSpeedLimit(-1L, -1L);
InitParam param = new InitParam(context.getFilesDir().getPath());
loader.init(param.getSoKey(), "com.android.providers.downloads", param.mAppVersion, "", getPeerId(), getGuid(), param.mStatSavePath, param.mStatCfgSavePath, 0, param.mPermissionLevel, param.mQueryConfOnInit);
getDownloadLibVersion(new GetDownloadLibVersion());
setOSVersion(Build.VERSION.INCREMENTAL + "_alpha");
setLocalProperty("PhoneModel", Build.MODEL);
setStatReportSwitch(false);
setSpeedLimit(-1, -1);
}
public void release() {
@ -66,7 +63,7 @@ public class XLDownloadManager {
}
public void startTask(long taskId) {
loader.startTask(taskId, false);
loader.startTask(taskId);
}
public void stopTask(long taskId) {
@ -89,8 +86,24 @@ public class XLDownloadManager {
loader.setDownloadTaskOrigin(taskId, str);
}
public void setTaskLxState(long j, int i, int i2) {
loader.setTaskLxState(j, i, i2);
private void setLocalProperty(String key, String value) {
loader.setLocalProperty(key, value);
}
public void setOSVersion(String str) {
loader.setMiUiVersion(str);
}
public void getDownloadLibVersion(GetDownloadLibVersion version) {
loader.getDownloadLibVersion(version);
}
public void setTaskGsState(long j, int i, int i2) {
loader.setTaskGsState(j, i, i2);
}
public void setStatReportSwitch(boolean value) {
loader.setStatReportSwitch(value);
}
public int createP2spTask(P2spTaskParam param, GetTaskId taskId) {
@ -136,9 +149,4 @@ public class XLDownloadManager {
public void setSpeedLimit(long min, long max) {
loader.setSpeedLimit(min, max);
}
public void setAccelerateToken(long j, int i, long j2, int i2, String str) {
loader.setAccelerateToken(j, i, j2, i2, str);
}
}

@ -1,7 +1,5 @@
package com.xunlei.downloadlib;
import android.content.Context;
import com.xunlei.downloadlib.parameter.BtIndexSet;
import com.xunlei.downloadlib.parameter.BtSubTaskDetail;
import com.xunlei.downloadlib.parameter.GetDownloadLibVersion;
@ -12,9 +10,10 @@ import com.xunlei.downloadlib.parameter.TorrentInfo;
import com.xunlei.downloadlib.parameter.XLTaskInfo;
import com.xunlei.downloadlib.parameter.XLTaskLocalUrl;
public class XLLoader {
class XLLoader {
public XLLoader() {
System.loadLibrary("xl_stat");
System.loadLibrary("xl_thunder_sdk");
}
@ -40,14 +39,12 @@ public class XLLoader {
public native int getTorrentInfo(String str, TorrentInfo torrentInfo);
public native int init(Context context, String str, String str2, String str3, String str4, String str5, String str6, String str7, int i, int i2);
public native int init(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, int i, int i2, int i3);
public native int parserThunderUrl(String str, ThunderUrlInfo thunderUrlInfo);
public native int releaseTask(long j);
public native int setAccelerateToken(long j, int i, long j2, int i2, String str);
public native int setDownloadTaskOrigin(long j, String str);
public native int setLocalProperty(String str, String str2);
@ -62,11 +59,7 @@ public class XLLoader {
public native int setTaskGsState(long j, int i, int i2);
public native int setTaskLxState(long j, int i, int i2);
public native int setUserId(String str);
public native int startTask(long j, boolean z);
public native int startTask(long j);
public native int stopTask(long j);

@ -41,8 +41,8 @@ public class XLTaskHelper {
}
private synchronized GetTaskId startTask(GetTaskId taskId, int index) {
getManager().setTaskLxState(taskId.getTaskId(), index, 1);
getManager().startTask(taskId.getTaskId());
getManager().setTaskGsState(taskId.getTaskId(), index, 2);
return taskId;
}
@ -64,7 +64,7 @@ public class XLTaskHelper {
public synchronized GetTaskId addThunderTask(String url, File savePath) {
String fileName = getManager().getFileNameFromUrl(url);
GetTaskId taskId = new GetTaskId(savePath, fileName, url);
if (url.startsWith("ftp://") || url.startsWith("http://") || url.startsWith("https://")) {
if (url.startsWith("ftp://")) {
P2spTaskParam param = new P2spTaskParam();
param.setFilePath(savePath.getAbsolutePath());
param.setSeqId(getSeq().incrementAndGet());
@ -77,6 +77,8 @@ public class XLTaskHelper {
param.setPass("");
int code = getManager().createP2spTask(param, taskId);
if (code != XLConstant.XLErrorCode.NO_ERROR) return taskId;
getManager().setDownloadTaskOrigin(taskId.getTaskId(), "out_app/out_app_paste");
getManager().setOriginUserAgent(taskId.getTaskId(), "AndroidDownloadManager/5.41.2.4980 (Linux; U; Android 4.4.4; Build/KTU84Q)");
} else if (url.startsWith("ed2k://")) {
EmuleTaskParam param = new EmuleTaskParam();
param.setFilePath(savePath.getAbsolutePath());
@ -87,8 +89,6 @@ public class XLTaskHelper {
int code = getManager().createEmuleTask(param, taskId);
if (code != XLConstant.XLErrorCode.NO_ERROR) return taskId;
}
getManager().setDownloadTaskOrigin(taskId.getTaskId(), "out_app/out_app_paste");
getManager().setOriginUserAgent(taskId.getTaskId(), "AndroidDownloadManager/4.4.4 (Linux; U; Android 4.4.4; Build/KTU84Q)");
return startTask(taskId, 0);
}
@ -115,8 +115,7 @@ public class XLTaskHelper {
for (int i = 0; i < list.size(); i++) btIndexSet.mIndexSet[i] = list.get(i);
getManager().deselectBtSubTask(taskId.getTaskId(), btIndexSet);
}
startTask(taskId, index);
return taskId;
return startTask(taskId, index);
}
public synchronized TorrentInfo getTorrentInfo(File file) {

@ -1,8 +1,5 @@
package com.xunlei.downloadlib.android;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Base64;
import java.util.Random;
@ -47,52 +44,4 @@ public class XLUtil {
bArr[length + 3] = b;
return new String(Base64.encode(bArr, 0)).trim();
}
public static int getNetworkTypeComplete(Context context) {
if (context == null) {
return 0;
}
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
int i = 0;
if (connectivityManager != null) {
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
i = 0;
if (activeNetworkInfo != null) {
int type = activeNetworkInfo.getType();
if (type == 1) {
i = 9;
} else if (type == 0) {
switch (activeNetworkInfo.getSubtype()) {
case 1:
case 2:
case 4:
case 7:
case 11:
i = 2;
break;
case 3:
case 5:
case 6:
case 8:
case 9:
case 10:
case 12:
case 14:
case 15:
i = 3;
break;
case 13:
i = 4;
break;
default:
i = 0;
break;
}
} else {
i = 5;
}
}
}
return i;
}
}

@ -1,21 +1,33 @@
package com.xunlei.downloadlib.parameter;
import android.util.Base64;
import com.xunlei.downloadlib.android.XLUtil;
import java.nio.charset.StandardCharsets;
public class InitParam {
public String mAppKey;
public String mAppVersion;
public String mGuid;
public String mLogSavePath;
public int mPermissionLevel;
public String mStatCfgSavePath;
public int mQueryConfOnInit;
public String mStatSavePath;
public String mStatCfgSavePath;
public InitParam(String path) {
this.mAppVersion = "1.18.2";
this.mPermissionLevel = 3;
this.mAppKey = "xzNjAwMQ^^yb==0^852^083dbcff^cee25055f125a2fde";
this.mAppVersion = "21.01.07.800002";
this.mPermissionLevel = 1;
this.mQueryConfOnInit = 0;
this.mStatSavePath = path;
this.mStatCfgSavePath = path;
this.mLogSavePath = path;
this.mGuid = "000000000000000000";
}
public String getSoKey() {
String[] split = mAppKey.split("==");
String replace = split[0].replace('^', '=');
String str = new String(Base64.decode(replace.substring(2, replace.length() - 2), 0), StandardCharsets.UTF_8);
return XLUtil.generateAppKey("com.android.providers.downloads", Short.parseShort(str.split(";")[0]), (byte) 1);
}
}

@ -10,11 +10,13 @@ import java.util.Comparator;
import java.util.List;
public class TorrentFileInfo {
public int mFileIndex;
public boolean isSelected;
public String mFileName;
public String mSubPath;
public long mFileSize;
public int mFileIndex;
public int mRealIndex;
public String mSubPath;
public File mFile;
public String getFileName() {

@ -8,11 +8,11 @@ import java.util.List;
public class TorrentInfo {
public int mFileCount;
public String mInfoHash;
public boolean mIsMultiFiles;
public String mMultiFileBaseFolder;
public TorrentFileInfo[] mSubFileInfo;
public String mMultiFileBaseFolder;
public boolean mIsMultiFiles;
public String mInfoHash;
public int mFileCount;
public File mFile;
public TorrentInfo(File file) {

@ -1,33 +1,14 @@
package com.xunlei.downloadlib.parameter;
import android.os.Parcel;
import android.os.Parcelable;
public class XLTaskInfo {
public class XLTaskInfo implements Parcelable {
public static final Creator<XLTaskInfo> CREATOR = new Creator<XLTaskInfo>() {
@Override // android.os.Parcelable.Creator
public final XLTaskInfo createFromParcel(Parcel parcel) {
return new XLTaskInfo(parcel);
}
@Override // android.os.Parcelable.Creator
public final XLTaskInfo[] newArray(int i) {
return new XLTaskInfo[i];
}
};
public int mAddedHighSourceState;
public int mAdditionalResCount;
public long mAdditionalResDCDNBytes;
public long mAdditionalResDCDNSpeed;
public long mAdditionalResPeerBytes;
public long mAdditionalResPeerSpeed;
public int mAdditionalResType;
public long mAdditionalResVipRecvBytes;
public long mAdditionalResVipSpeed;
public long mCheckedSize;
public String mCid;
public int mDcdnState;
public long mDownloadFileCount;
public long mDownloadSize;
public long mDownloadSpeed;
public int mErrorCode;
@ -35,8 +16,6 @@ public class XLTaskInfo implements Parcelable {
public long mFileSize;
public String mGcid;
public int mInfoLen;
public int mLanPeerResState;
public int mOriginErrcode;
public long mOriginRecvBytes;
public long mOriginSpeed;
public long mP2PRecvBytes;
@ -44,82 +23,10 @@ public class XLTaskInfo implements Parcelable {
public long mP2SRecvBytes;
public long mP2SSpeed;
public int mQueryIndexStatus;
public long mScdnRecvBytes;
public long mScdnSpeed;
public long mTaskId;
public int mTaskStatus;
public long mTotalFileCount;
public XLTaskInfo() {
}
public XLTaskInfo(Parcel parcel) {
this.mTaskId = parcel.readLong();
this.mFileName = parcel.readString();
this.mInfoLen = parcel.readInt();
this.mTaskStatus = parcel.readInt();
this.mErrorCode = parcel.readInt();
this.mFileSize = parcel.readLong();
this.mDownloadSize = parcel.readLong();
this.mDownloadSpeed = parcel.readLong();
this.mTotalFileCount = parcel.readLong();
this.mDownloadFileCount = parcel.readLong();
this.mQueryIndexStatus = parcel.readInt();
this.mCid = parcel.readString();
this.mGcid = parcel.readString();
this.mOriginSpeed = parcel.readLong();
this.mOriginRecvBytes = parcel.readLong();
this.mP2SSpeed = parcel.readLong();
this.mP2SRecvBytes = parcel.readLong();
this.mP2PSpeed = parcel.readLong();
this.mP2PRecvBytes = parcel.readLong();
this.mAdditionalResCount = parcel.readInt();
this.mAdditionalResType = parcel.readInt();
this.mAdditionalResVipSpeed = parcel.readLong();
this.mAdditionalResVipRecvBytes = parcel.readLong();
this.mAdditionalResPeerSpeed = parcel.readLong();
this.mAdditionalResPeerBytes = parcel.readLong();
this.mDcdnState = parcel.readInt();
this.mCheckedSize = parcel.readLong();
this.mLanPeerResState = parcel.readInt();
this.mOriginErrcode = parcel.readInt();
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeLong(this.mTaskId);
parcel.writeString(this.mFileName);
parcel.writeInt(this.mInfoLen);
parcel.writeInt(this.mTaskStatus);
parcel.writeInt(this.mErrorCode);
parcel.writeLong(this.mFileSize);
parcel.writeLong(this.mDownloadSize);
parcel.writeLong(this.mDownloadSpeed);
parcel.writeLong(this.mTotalFileCount);
parcel.writeLong(this.mDownloadFileCount);
parcel.writeInt(this.mQueryIndexStatus);
parcel.writeString(this.mCid);
parcel.writeString(this.mGcid);
parcel.writeLong(this.mOriginSpeed);
parcel.writeLong(this.mOriginRecvBytes);
parcel.writeLong(this.mP2SSpeed);
parcel.writeLong(this.mP2SRecvBytes);
parcel.writeLong(this.mP2PSpeed);
parcel.writeLong(this.mP2PRecvBytes);
parcel.writeInt(this.mAdditionalResCount);
parcel.writeInt(this.mAdditionalResType);
parcel.writeLong(this.mAdditionalResVipSpeed);
parcel.writeLong(this.mAdditionalResVipRecvBytes);
parcel.writeLong(this.mAdditionalResPeerSpeed);
parcel.writeLong(this.mAdditionalResPeerBytes);
parcel.writeInt(this.mDcdnState);
parcel.writeLong(this.mCheckedSize);
parcel.writeInt(this.mLanPeerResState);
parcel.writeInt(this.mOriginErrcode);
}
public int getTaskStatus() {
return mTaskStatus;

Loading…
Cancel
Save