parent
30c41e4cb2
commit
b3501dc3c3
@ -1,199 +0,0 @@ |
|||||||
///*
|
|
||||||
// * Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
|
||||||
// *
|
|
||||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// * you may not use this file except in compliance with the License.
|
|
||||||
// * You may obtain a copy of the License at
|
|
||||||
// *
|
|
||||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
// *
|
|
||||||
// * Unless required by applicable law or agreed to in writing, software
|
|
||||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// * See the License for the specific language governing permissions and
|
|
||||||
// * limitations under the License.
|
|
||||||
// */
|
|
||||||
//package com.arialyy.aria.core.download;
|
|
||||||
//
|
|
||||||
//import android.text.TextUtils;
|
|
||||||
//import com.arialyy.aria.core.manager.TaskWrapperManager;
|
|
||||||
//import com.arialyy.aria.core.queue.DownloadTaskQueue;
|
|
||||||
//import com.arialyy.aria.orm.DbEntity;
|
|
||||||
//import com.arialyy.aria.util.ALog;
|
|
||||||
//import com.arialyy.aria.util.CommonUtil;
|
|
||||||
//import java.io.File;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Created by Aria.Lao on 2017/7/26.
|
|
||||||
// */
|
|
||||||
//abstract class BaseNormalTarget<TARGET extends BaseNormalTarget>
|
|
||||||
// extends AbsDownloadTarget<TARGET, DownloadEntity, DTaskWrapper> {
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 通过地址初始化target
|
|
||||||
// */
|
|
||||||
// void initTarget(String url, String targetName) {
|
|
||||||
// setUrl(url);
|
|
||||||
// setTargetName(targetName);
|
|
||||||
// setTaskWrapper(TaskWrapperManager.getInstance().getHttpTaskWrapper(DTaskWrapper.class, url));
|
|
||||||
// mEntity = getTaskWrapper().getEntity();
|
|
||||||
//
|
|
||||||
// if (mEntity != null) {
|
|
||||||
// setTempFilePath(mEntity.getDownloadPath());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 更新下载url
|
|
||||||
// *
|
|
||||||
// * @param newUrl 新的下载url
|
|
||||||
// */
|
|
||||||
// public TARGET updateUrl(String newUrl) {
|
|
||||||
// if (TextUtils.isEmpty(newUrl)) {
|
|
||||||
// ALog.e(TAG, "下载url更新失败,newUrl为null");
|
|
||||||
// return (TARGET) this;
|
|
||||||
// }
|
|
||||||
// if (getUrl().equals(newUrl)) {
|
|
||||||
// ALog.e(TAG, "下载url更新失败,新的下载url和旧的url一致");
|
|
||||||
// return (TARGET) this;
|
|
||||||
// }
|
|
||||||
// setNewUrl(newUrl);
|
|
||||||
// getTaskWrapper().setRefreshInfo(true);
|
|
||||||
// return (TARGET) this;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 将任务设置为最高优先级任务,最高优先级任务有以下特点:
|
|
||||||
// * 1、在下载队列中,有且只有一个最高优先级任务
|
|
||||||
// * 2、最高优先级任务会一直存在,直到用户手动暂停或任务完成
|
|
||||||
// * 3、任务调度器不会暂停最高优先级任务
|
|
||||||
// * 4、用户手动暂停或任务完成后,第二次重新执行该任务,该命令将失效
|
|
||||||
// * 5、如果下载队列中已经满了,则会停止队尾的任务,当高优先级任务完成后,该队尾任务将自动执行
|
|
||||||
// * 6、把任务设置为最高优先级任务后,将自动执行任务,不需要重新调用start()启动任务
|
|
||||||
// */
|
|
||||||
// @Override public void setHighestPriority() {
|
|
||||||
// super.setHighestPriority();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 下载任务是否存在
|
|
||||||
// *
|
|
||||||
// * @return {@code true}任务存在
|
|
||||||
// */
|
|
||||||
// @Override public boolean taskExists() {
|
|
||||||
// return DbEntity.checkDataExist(DownloadEntity.class, "url=?", getUrl());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 获取下载实体
|
|
||||||
// */
|
|
||||||
// public DownloadEntity getDownloadEntity() {
|
|
||||||
// return mEntity;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 是否在下载
|
|
||||||
// *
|
|
||||||
// * @return {@code true}任务正在下载
|
|
||||||
// */
|
|
||||||
// @Override public boolean isRunning() {
|
|
||||||
// DownloadTask task = DownloadTaskQueue.getInstance().getTask(mEntity.getKey());
|
|
||||||
// return task != null && task.isRunning();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 检查下载实体,判断实体是否合法 合法标准为:
|
|
||||||
// * 1、下载路径不为null,并且下载路径是正常的http或ftp路径
|
|
||||||
// * 2、保存路径不为null,并且保存路径是android文件系统路径
|
|
||||||
// * 3、保存路径不能重复
|
|
||||||
// *
|
|
||||||
// * @return {@code true}合法
|
|
||||||
// */
|
|
||||||
// @Override protected boolean checkEntity() {
|
|
||||||
// boolean b = getTargetType() < GROUP_HTTP && checkUrl() && checkFilePath();
|
|
||||||
// if (b) {
|
|
||||||
// mEntity.save();
|
|
||||||
// }
|
|
||||||
// return b;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 检查并设置普通任务的文件保存路径
|
|
||||||
// *
|
|
||||||
// * @return {@code true}保存路径合法
|
|
||||||
// */
|
|
||||||
// private boolean checkFilePath() {
|
|
||||||
// String filePath = getTempFilePath();
|
|
||||||
// if (TextUtils.isEmpty(filePath)) {
|
|
||||||
// ALog.e(TAG, "下载失败,文件保存路径为null");
|
|
||||||
// return false;
|
|
||||||
// } else if (!filePath.startsWith("/")) {
|
|
||||||
// ALog.e(TAG, "下载失败,文件保存路径【" + filePath + "】错误");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// File file = new File(filePath);
|
|
||||||
// if (file.isDirectory()) {
|
|
||||||
// if (getTargetType() == HTTP) {
|
|
||||||
// ALog.e(TAG, "下载失败,保存路径【" + filePath + "】不能为文件夹,路径需要是完整的文件路径,如:/mnt/sdcard/game.zip");
|
|
||||||
// return false;
|
|
||||||
// } else if (getTargetType() == FTP) {
|
|
||||||
// filePath += mEntity.getFileName();
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// // http文件名设置
|
|
||||||
// if (TextUtils.isEmpty(mEntity.getFileName())) {
|
|
||||||
// mEntity.setFileName(file.getName());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //设置文件保存路径,如果新文件路径和旧文件路径不同,则修改路径
|
|
||||||
// if (!filePath.equals(mEntity.getDownloadPath())) {
|
|
||||||
// // 检查路径冲突
|
|
||||||
// if (DbEntity.checkDataExist(DownloadEntity.class, "downloadPath=?", filePath)) {
|
|
||||||
// if (!isForceDownload()) {
|
|
||||||
// ALog.e(TAG, "下载失败,保存路径【" + filePath + "】已经被其它任务占用,请设置其它保存路径");
|
|
||||||
// return false;
|
|
||||||
// } else {
|
|
||||||
// ALog.w(TAG, "保存路径【" + filePath + "】已经被其它任务占用,当前任务将覆盖该路径的文件");
|
|
||||||
// CommonUtil.delTaskRecord(filePath, 1);
|
|
||||||
// setTaskWrapper(
|
|
||||||
// TaskWrapperManager.getInstance().getHttpTaskWrapper(DTaskWrapper.class, getUrl()));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// File oldFile = new File(mEntity.getDownloadPath());
|
|
||||||
// File newFile = new File(filePath);
|
|
||||||
// mEntity.setDownloadPath(filePath);
|
|
||||||
// mEntity.setFileName(newFile.getName());
|
|
||||||
// if (oldFile.exists()) {
|
|
||||||
// oldFile.renameTo(newFile);
|
|
||||||
// CommonUtil.modifyTaskRecord(oldFile.getPath(), newFile.getPath());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 检查普通任务的下载地址
|
|
||||||
// *
|
|
||||||
// * @return {@code true}地址合法
|
|
||||||
// */
|
|
||||||
// private boolean checkUrl() {
|
|
||||||
// final String url = mEntity.getUrl();
|
|
||||||
// if (TextUtils.isEmpty(url)) {
|
|
||||||
// ALog.e(TAG, "下载失败,url为null");
|
|
||||||
// return false;
|
|
||||||
// } else if (!url.startsWith("http") && !url.startsWith("ftp")) {
|
|
||||||
// ALog.e(TAG, "下载失败,url【" + url + "】错误");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// int index = url.indexOf("://");
|
|
||||||
// if (index == -1) {
|
|
||||||
// ALog.e(TAG, "下载失败,url【" + url + "】不合法");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// if (!TextUtils.isEmpty(getNewUrl())) {
|
|
||||||
// mEntity.setUrl(getNewUrl());
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//}
|
|
@ -1,146 +0,0 @@ |
|||||||
///*
|
|
||||||
// * Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
|
||||||
// *
|
|
||||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// * you may not use this file except in compliance with the License.
|
|
||||||
// * You may obtain a copy of the License at
|
|
||||||
// *
|
|
||||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
// *
|
|
||||||
// * Unless required by applicable law or agreed to in writing, software
|
|
||||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// * See the License for the specific language governing permissions and
|
|
||||||
// * limitations under the License.
|
|
||||||
// */
|
|
||||||
//package com.arialyy.aria.core.upload;
|
|
||||||
//
|
|
||||||
//import android.support.annotation.CheckResult;
|
|
||||||
//import android.support.annotation.NonNull;
|
|
||||||
//import android.text.TextUtils;
|
|
||||||
//import com.arialyy.aria.core.manager.TaskWrapperManager;
|
|
||||||
//import com.arialyy.aria.core.queue.UploadTaskQueue;
|
|
||||||
//import com.arialyy.aria.orm.DbEntity;
|
|
||||||
//import com.arialyy.aria.util.ALog;
|
|
||||||
//import java.io.File;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Created by AriaL on 2018/3/9.
|
|
||||||
// */
|
|
||||||
//abstract class BaseNormalTarget<TARGET extends AbsUploadTarget>
|
|
||||||
// extends AbsUploadTarget<TARGET, UploadEntity, UTaskWrapper> {
|
|
||||||
//
|
|
||||||
// protected String mTempUrl;
|
|
||||||
//
|
|
||||||
// void initTarget(String filePath) {
|
|
||||||
// mTaskWrapper =
|
|
||||||
// TaskWrapperManager.getInstance().getHttpTaskWrapper(UTaskWrapper.class, filePath);
|
|
||||||
// mEntity = mTaskWrapper.getEntity();
|
|
||||||
// File file = new File(filePath);
|
|
||||||
// mEntity.setFileName(file.getName());
|
|
||||||
// mEntity.setFileSize(file.length());
|
|
||||||
// mTempUrl = mEntity.getUrl();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 设置上传路径
|
|
||||||
// *
|
|
||||||
// * @param uploadUrl 上传路径
|
|
||||||
// */
|
|
||||||
// @CheckResult
|
|
||||||
// public TARGET setTempUrl(@NonNull String uploadUrl) {
|
|
||||||
// mTempUrl = uploadUrl;
|
|
||||||
// return (TARGET) this;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 上传任务是否存在
|
|
||||||
// *
|
|
||||||
// * @return {@code true}存在
|
|
||||||
// */
|
|
||||||
// @Override public boolean taskExists() {
|
|
||||||
// return DbEntity.checkDataExist(UploadEntity.class, "key=?", mEntity.getFilePath());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 是否在上传
|
|
||||||
// *
|
|
||||||
// * @deprecated {@link #isRunning()}
|
|
||||||
// */
|
|
||||||
// public boolean isUploading() {
|
|
||||||
// return isRunning();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override public boolean isRunning() {
|
|
||||||
// UploadTask task = UploadTaskQueue.getInstance().getTask(mEntity.getKey());
|
|
||||||
// return task != null && task.isRunning();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override protected boolean checkEntity() {
|
|
||||||
// boolean b = checkUrl() && checkFilePath();
|
|
||||||
// if (b) {
|
|
||||||
// mEntity.save();
|
|
||||||
// }
|
|
||||||
// if (mTaskWrapper.asFtp().getUrlEntity() != null && mTaskWrapper.asFtp().getUrlEntity().isFtps) {
|
|
||||||
// //if (TextUtils.isEmpty(mTaskWrapper.getUrlEntity().storePath)) {
|
|
||||||
// // ALog.e(TAG, "证书路径为空");
|
|
||||||
// // return false;
|
|
||||||
// //}
|
|
||||||
// if (TextUtils.isEmpty(mTaskWrapper.asFtp().getUrlEntity().keyAlias)) {
|
|
||||||
// ALog.e(TAG, "证书别名为空");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return b;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 检查上传文件路径是否合法
|
|
||||||
// *
|
|
||||||
// * @return {@code true} 合法
|
|
||||||
// */
|
|
||||||
// private boolean checkFilePath() {
|
|
||||||
// String filePath = mEntity.getFilePath();
|
|
||||||
// if (TextUtils.isEmpty(filePath)) {
|
|
||||||
// ALog.e(TAG, "上传失败,文件路径为null");
|
|
||||||
// return false;
|
|
||||||
// } else if (!filePath.startsWith("/")) {
|
|
||||||
// ALog.e(TAG, "上传失败,文件路径【" + filePath + "】不合法");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// File file = new File(mEntity.getFilePath());
|
|
||||||
// if (!file.exists()) {
|
|
||||||
// ALog.e(TAG, "上传失败,文件【" + filePath + "】不存在");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// if (file.isDirectory()) {
|
|
||||||
// ALog.e(TAG, "上传失败,文件【" + filePath + "】不能是文件夹");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 检查普通任务的下载地址
|
|
||||||
// *
|
|
||||||
// * @return {@code true}地址合法
|
|
||||||
// */
|
|
||||||
// protected boolean checkUrl() {
|
|
||||||
// final String url = mTempUrl;
|
|
||||||
// if (TextUtils.isEmpty(url)) {
|
|
||||||
// ALog.e(TAG, "上传失败,url为null");
|
|
||||||
// return false;
|
|
||||||
// } else if (!url.startsWith("http") && !url.startsWith("ftp")) {
|
|
||||||
// ALog.e(TAG, "上传失败,url【" + url + "】错误");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// int index = url.indexOf("://");
|
|
||||||
// if (index == -1) {
|
|
||||||
// ALog.e(TAG, "上传失败,url【" + url + "】不合法");
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// mEntity.setUrl(url);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//}
|
|
@ -0,0 +1,24 @@ |
|||||||
|
/* |
||||||
|
* Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
||||||
|
* |
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
* you may not use this file except in compliance with the License. |
||||||
|
* You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
package com.arialyy.aria.exception; |
||||||
|
|
||||||
|
public class ParamException extends RuntimeException { |
||||||
|
private static final String ARIA_NET_EXCEPTION = "Aria Params Exception:"; |
||||||
|
|
||||||
|
public ParamException(String message) { |
||||||
|
super(String.format("%s%s", ARIA_NET_EXCEPTION, message)); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue