|
|
@@ -33,19 +33,27 @@ import com.sheep.gamegroup.model.entity.TaskEty;
|
|
|
import com.sheep.gamegroup.presenter.TaskDialogContract;
|
|
|
import com.sheep.gamegroup.presenter.TaskDialogPresenter;
|
|
|
import com.sheep.gamegroup.util.Jump2View;
|
|
|
+import com.sheep.gamegroup.util.MyDbManager;
|
|
|
import com.sheep.gamegroup.view.customview.SProgress;
|
|
|
import com.sheep.jiuyan.samllsheep.R;
|
|
|
import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
|
+import com.sheep.jiuyan.samllsheep.adapter.DownListAdapter;
|
|
|
import com.sheep.jiuyan.samllsheep.base.BaseActivity;
|
|
|
import com.sheep.jiuyan.samllsheep.download.DownloadInfo;
|
|
|
import com.sheep.jiuyan.samllsheep.download.DownloadManager;
|
|
|
import com.sheep.jiuyan.samllsheep.download.DownloadState;
|
|
|
+import com.sheep.jiuyan.samllsheep.download.DownloadViewHolder;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
|
|
|
|
|
|
|
|
|
+import org.xutils.HttpManager;
|
|
|
+import org.xutils.common.Callback;
|
|
|
+import org.xutils.common.task.PriorityExecutor;
|
|
|
import org.xutils.ex.DbException;
|
|
|
+import org.xutils.http.HttpMethod;
|
|
|
+import org.xutils.http.RequestParams;
|
|
|
import org.xutils.x;
|
|
|
|
|
|
import java.io.File;
|
|
|
@@ -87,7 +95,10 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
private boolean isDownLoad = false;//是否下载
|
|
|
private String buttonStr = "开始任务";//是否下载
|
|
|
private Activity activity;
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 下载
|
|
|
+ */
|
|
|
+ private Callback.Cancelable cancelable;
|
|
|
|
|
|
@Inject
|
|
|
TaskDialogPresenter preference;
|
|
|
@@ -111,6 +122,7 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
setContentView(R.layout.download_item_dialog);
|
|
|
ButterKnife.bind(this);
|
|
|
activity = this;
|
|
|
+ x.view().inject(this);
|
|
|
initViews();
|
|
|
initDatas();
|
|
|
}
|
|
|
@@ -126,8 +138,11 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
dialogItemNameTv.setText(task_entity.getTask_name());
|
|
|
dialogItemSizeTv.setText( task_entity.getPackage_size() + "M");
|
|
|
isDownLoad = PackageUtil.isAppInstalled(SheepApp.mContext, task_entity.getPackage_names());
|
|
|
- //Todo 找不到接口,明天继续
|
|
|
- preference.getTaskState(null);
|
|
|
+ //Todo ok
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put("id",task_entity.getRelease_task_id());
|
|
|
+ preference.getTaskState(task_entity.getRelease_task_id());
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private void initViews() {
|
|
|
@@ -181,6 +196,70 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
}
|
|
|
|
|
|
});
|
|
|
+ /**
|
|
|
+ * 下载
|
|
|
+ */
|
|
|
+ ClassFileHelper.getInstance().createSDDirection();
|
|
|
+ File mApkPath = new File(ClassFileHelper.DIR, task_entity.getTask_name() + ClassFileHelper.FILE_SUFFIX);
|
|
|
+ if (!mApkPath.exists()) {
|
|
|
+ try {
|
|
|
+ downloadInfo = DownloadManager.getInstance().startDownloadOne(task_entity.getPackage_names(),
|
|
|
+ task_entity.getDownload_link(), task_entity.getTask_name(),
|
|
|
+ mApkPath.getAbsolutePath(), task_entity.getIcon(), true, false, null);
|
|
|
+// new DownloadItemViewHolder(null, downloadInfo);
|
|
|
+ startStaskSprogress.setProgress(downloadInfo.getProgress());
|
|
|
+ } catch (DbException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ PackageUtil.installApk(getApplicationContext(), mApkPath.getAbsolutePath());
|
|
|
+ }
|
|
|
+ String fileSavePath = new File(mApkPath.getAbsolutePath()).getAbsolutePath();
|
|
|
+ DownloadInfo downloadInfo = MyDbManager.getInstance().dbFindDownLoad(task_entity.getTask_name(), mApkPath.getAbsolutePath());
|
|
|
+ //设置请求参数
|
|
|
+ RequestParams params = new RequestParams(task_entity.getDownload_link());
|
|
|
+ params.setAutoResume(true);//设置是否在下载是自动断点续传
|
|
|
+ params.setAutoRename(false);//设置是否根据头信息自动命名文件
|
|
|
+ params.setSaveFilePath("/sdcard/xutils/xUtils_1.avi");
|
|
|
+ params.setExecutor(new PriorityExecutor(2, true));//自定义线程池,有效的值范围[1, 3], 设置为3时, 可能阻塞图片加载.
|
|
|
+ params.setCancelFast(true);//是否可以被立即停止.
|
|
|
+ cancelable = x.http().get(params, new Callback.ProgressCallback<File>(){
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onSuccess(File file) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Throwable throwable, boolean b) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCancelled(CancelledException e) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFinished() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onWaiting() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onStarted() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onLoading(long l, long l1, boolean b) {
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@OnClick({R.id.doalog_item_get_rewards_tv, R.id.dialog_item_x, R.id.start_task_tv, R.id.start_stask_sprogress})
|
|
|
@@ -198,38 +277,18 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
startStask();
|
|
|
break;
|
|
|
case R.id.start_stask_sprogress:
|
|
|
- DownloadState state = downloadInfo.getState();
|
|
|
- switch (state) {
|
|
|
- case WAITING:
|
|
|
- case STARTED:
|
|
|
- downloadManager.stopDownload(downloadInfo);
|
|
|
- break;
|
|
|
- case ERROR:
|
|
|
- case STOPPED:
|
|
|
- try {
|
|
|
- downloadManager.startDownload(
|
|
|
- downloadInfo.getPkgName(),
|
|
|
- downloadInfo.getUrl(),
|
|
|
- downloadInfo.getLabel(),
|
|
|
- downloadInfo.getFileSavePath(), "",
|
|
|
- downloadInfo.isAutoResume(),
|
|
|
- downloadInfo.isAutoRename(),
|
|
|
- null);
|
|
|
- } catch (DbException ex) {
|
|
|
- Toast.makeText(x.app(), "添加下载失败", Toast.LENGTH_LONG).show();
|
|
|
- }
|
|
|
- break;
|
|
|
- case FINISHED:
|
|
|
- Toast.makeText(x.app(), "已经下载完成", Toast.LENGTH_LONG).show();
|
|
|
- if(PackageUtil.isAppInstalled(activity, downloadInfo.getPkgName())){
|
|
|
- PackageUtil.startApp(SheepApp.mContext, downloadInfo.getPkgName());
|
|
|
- }else{
|
|
|
- PackageUtil.installApk(activity, downloadInfo.getFileSavePath());
|
|
|
- }
|
|
|
-
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+// refresh();
|
|
|
+ try {
|
|
|
+ downloadManager.startDownload(
|
|
|
+ downloadInfo.getPkgName(),
|
|
|
+ downloadInfo.getUrl(),
|
|
|
+ downloadInfo.getLabel(),
|
|
|
+ downloadInfo.getFileSavePath(), "",
|
|
|
+ downloadInfo.isAutoResume(),
|
|
|
+ downloadInfo.isAutoRename(),
|
|
|
+ null);
|
|
|
+ } catch (DbException ex) {
|
|
|
+ Toast.makeText(x.app(), "添加下载失败", Toast.LENGTH_LONG).show();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
@@ -264,7 +323,7 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
*/
|
|
|
private void downLoadApk(){
|
|
|
|
|
|
- start_task_tv.setVisibility(View.GONE);
|
|
|
+ start_task_tv.setVisibility(View.VISIBLE);
|
|
|
startStaskSprogress.setVisibility(View.VISIBLE);
|
|
|
if (task_entity != null) {
|
|
|
ClassFileHelper.getInstance().createSDDirection();
|
|
|
@@ -274,6 +333,7 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
downloadInfo = DownloadManager.getInstance().startDownloadOne(task_entity.getPackage_names(),
|
|
|
task_entity.getDownload_link(), task_entity.getTask_name(),
|
|
|
mApkPath.getAbsolutePath(), task_entity.getIcon(), true, false, null);
|
|
|
+// new DownloadItemViewHolder(null, downloadInfo);
|
|
|
startStaskSprogress.setProgress(downloadInfo.getProgress());
|
|
|
} catch (DbException e) {
|
|
|
e.printStackTrace();
|
|
|
@@ -335,12 +395,13 @@ public class DialogActivity extends Activity implements TaskDialogContract.View
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void withdrawalUpdataView(Object o) {
|
|
|
+ public void getStateSuccess(Object o) {
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void withdrawalFailView(Object o) {
|
|
|
+ public void getStatefail(Object o) {
|
|
|
|
|
|
}
|
|
|
+
|
|
|
}
|