修复m3u8、http上传记录重复的问题
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.arialyy.aria.m3u8;
|
||||
|
||||
import com.arialyy.aria.core.common.RecordHandler;
|
||||
import com.arialyy.aria.core.download.DTaskWrapper;
|
||||
import com.arialyy.aria.core.download.DownloadEntity;
|
||||
import com.arialyy.aria.core.download.M3U8Entity;
|
||||
@@ -127,8 +128,10 @@ public abstract class BaseM3U8Loader extends AbsLoader {
|
||||
}
|
||||
|
||||
@Override protected IRecordHandler getRecordHandler(AbsTaskWrapper wrapper) {
|
||||
|
||||
return null;
|
||||
RecordHandler handler = new RecordHandler(wrapper);
|
||||
M3U8RecordAdapter adapter = new M3U8RecordAdapter((DTaskWrapper) wrapper);
|
||||
handler.setAdapter(adapter);
|
||||
return handler;
|
||||
}
|
||||
|
||||
protected DownloadEntity getEntity() {
|
||||
|
||||
@@ -21,8 +21,10 @@ import com.arialyy.aria.core.common.AbsRecordHandlerAdapter;
|
||||
import com.arialyy.aria.core.download.DTaskWrapper;
|
||||
import com.arialyy.aria.core.download.DownloadEntity;
|
||||
import com.arialyy.aria.core.download.M3U8Entity;
|
||||
import com.arialyy.aria.core.inf.IRecordHandler;
|
||||
import com.arialyy.aria.core.wrapper.ITaskWrapper;
|
||||
import com.arialyy.aria.util.ALog;
|
||||
import com.arialyy.aria.util.RecordUtil;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -33,11 +35,18 @@ import java.util.ArrayList;
|
||||
public class M3U8RecordAdapter extends AbsRecordHandlerAdapter {
|
||||
private M3U8TaskOption mOption;
|
||||
|
||||
public M3U8RecordAdapter(DTaskWrapper wrapper) {
|
||||
M3U8RecordAdapter(DTaskWrapper wrapper) {
|
||||
super(wrapper);
|
||||
mOption = (M3U8TaskOption) wrapper.getM3u8Option();
|
||||
}
|
||||
|
||||
@Override public void onPre() {
|
||||
super.onPre();
|
||||
if (getWrapper().getRequestType() == ITaskWrapper.M3U8_LIVE){
|
||||
RecordUtil.delTaskRecord(getEntity().getFilePath(), IRecordHandler.TYPE_DOWNLOAD);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 不处理live的记录
|
||||
*/
|
||||
|
||||
@@ -52,19 +52,18 @@ public class M3U8LiveLoader extends BaseM3U8Loader {
|
||||
private static final int EXEC_MAX_NUM = 4;
|
||||
private Handler mStateHandler;
|
||||
private ArrayBlockingQueue<Long> mFlagQueue = new ArrayBlockingQueue<>(EXEC_MAX_NUM);
|
||||
private LiveStateManager mManager;
|
||||
private ReentrantLock LOCK = new ReentrantLock();
|
||||
private Condition mCondition = LOCK.newCondition();
|
||||
private LinkedBlockingQueue<String> mPeerQueue = new LinkedBlockingQueue<>();
|
||||
|
||||
public M3U8LiveLoader(M3U8Listener listener, DTaskWrapper wrapper) {
|
||||
M3U8LiveLoader(M3U8Listener listener, DTaskWrapper wrapper) {
|
||||
super(listener, wrapper);
|
||||
}
|
||||
|
||||
@Override protected IThreadState createStateManager(Looper looper) {
|
||||
mManager = new LiveStateManager(looper, mListener);
|
||||
mStateHandler = new Handler(looper, mManager);
|
||||
return mManager;
|
||||
LiveStateManager manager = new LiveStateManager(looper, mListener);
|
||||
mStateHandler = new Handler(looper, manager);
|
||||
return manager;
|
||||
}
|
||||
|
||||
void offerPeer(String peerUrl) {
|
||||
|
||||
@@ -154,6 +154,7 @@ public class M3U8LiveUtil extends AbsNormalLoaderUtil {
|
||||
mInfoPool.execute(mInfoThread);
|
||||
}
|
||||
}, 0, mM3U8Option.getLiveUpdateInterval(), TimeUnit.MILLISECONDS);
|
||||
getLoader().start();
|
||||
}
|
||||
|
||||
private void closeTimer() {
|
||||
|
||||
Reference in New Issue
Block a user