|
|
@@ -19,6 +19,8 @@ import com.bumptech.glide.request.RequestOptions;
|
|
|
import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
|
|
|
import com.kfzs.duanduan.adp.AdpCommonRecy;
|
|
|
import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
|
|
|
+import com.kfzs.duanduan.event.BigEvent;
|
|
|
+import com.kfzs.duanduan.event.EventTypes;
|
|
|
import com.kfzs.duanduan.services.DownloadTaskService;
|
|
|
import com.kfzs.duanduan.utils.ApkUtils;
|
|
|
import com.sheep.gamegroup.model.entity.OrienteeringDetail;
|
|
|
@@ -36,11 +38,14 @@ import com.sheep.gamegroup.util.TestUtil;
|
|
|
import com.sheep.gamegroup.util.TimeUtil;
|
|
|
import com.sheep.gamegroup.util.UMConfigUtils;
|
|
|
import com.sheep.gamegroup.util.ViewUtil;
|
|
|
+import com.sheep.gamegroup.view.activity.TaskDetailAct;
|
|
|
import com.sheep.jiuyan.samllsheep.R;
|
|
|
import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
|
|
|
|
|
|
+import org.greenrobot.eventbus.EventBus;
|
|
|
+
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
@@ -49,6 +54,8 @@ import java.util.Set;
|
|
|
|
|
|
import javax.inject.Inject;
|
|
|
|
|
|
+import rx.functions.Action1;
|
|
|
+
|
|
|
import static com.sheep.gamegroup.model.entity.RecyleType.RUN_TASK;
|
|
|
|
|
|
/**
|
|
|
@@ -200,22 +207,47 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
|
|
|
|
|
|
//CommonUtil.getInstance().getCharSequence(context, etyList.get(i).getName(), "")
|
|
|
((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(etyList.get(i).getName()+"");
|
|
|
- TextView task_type_tv = viewHolder.itemView.findViewById(R.id.task_type_tv);
|
|
|
+ final TextView task_type_tv = viewHolder.itemView.findViewById(R.id.task_type_tv);
|
|
|
task_type_tv.setVisibility(View.VISIBLE);
|
|
|
viewHolder.itemView.findViewById(R.id.item_money).setVisibility(View.GONE);
|
|
|
//领取任务
|
|
|
final boolean isInstall = PackageUtil.isAppInstalled(SheepApp.mContext, etyList.get(i).getPackage_name());
|
|
|
+ boolean isExistApk = !TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
|
|
|
+ final DownloadTaskService mDownloadTaskService = new DownloadTaskService(context);
|
|
|
+
|
|
|
String taskTypeTvValue;
|
|
|
if(isInstall){//已经安装
|
|
|
taskTypeTvValue = "启动游戏";
|
|
|
-// PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
|
|
|
- }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()))){
|
|
|
- taskTypeTvValue = "安装游戏";
|
|
|
-// ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
|
|
|
- }else {
|
|
|
- taskTypeTvValue = "下载游戏";
|
|
|
+ }else{
|
|
|
+ DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(etyList.get(i).getDownload_url());
|
|
|
+ if(downLoadInfo == null) {
|
|
|
+ taskTypeTvValue = "下载游戏";
|
|
|
+ }else {
|
|
|
+ Integer mStatus = downLoadInfo.getMStatus();
|
|
|
+ int taskState = mStatus == null ? 0 : mStatus;
|
|
|
+ switch (taskState) {
|
|
|
+ case DownloadTaskService.STATUS_ING:
|
|
|
+ taskTypeTvValue = Math.abs(downLoadInfo.getMPercent()) + "%";
|
|
|
+ break;
|
|
|
+ case DownloadTaskService.STATUS_PAUSE:
|
|
|
+ taskTypeTvValue = CommonUtil.CONTINUE_DOWNLOAD;
|
|
|
+ break;
|
|
|
+ case DownloadTaskService.STATUS_FINISH:
|
|
|
+ if(isExistApk){
|
|
|
+ taskTypeTvValue = "安装游戏";
|
|
|
+ } else {
|
|
|
+ taskTypeTvValue = CommonUtil.START_DOWNLOAD;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case DownloadTaskService.STATUS_FAIL:
|
|
|
+ taskTypeTvValue = CommonUtil.FAIL_DOWNLOAD;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ taskTypeTvValue = CommonUtil.START_DOWNLOAD;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
task_type_tv.setText(taskTypeTvValue+"");
|
|
|
task_type_tv.findViewWithTag(PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + etyList.get(i).getDownload_url());
|
|
|
// ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ etyList.get(i).getLast_num()+"份");
|
|
|
@@ -224,18 +256,33 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
|
|
|
task_type_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
- if(isInstall){//已经安装
|
|
|
- PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
|
|
|
- }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()))){
|
|
|
- ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
|
|
|
- }else {
|
|
|
- try{
|
|
|
- DownloadTaskService mDownloadTaskService = new DownloadTaskService(context);
|
|
|
- DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(etyList.get(i));
|
|
|
- mDownloadTaskService.start(downLoadInfo);
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
+ try{
|
|
|
+ switch (task_type_tv.getText().toString().trim() +""){
|
|
|
+ case "安装游戏":
|
|
|
+ ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
|
|
|
+ PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
|
|
|
+ break;
|
|
|
+ case "启动游戏":
|
|
|
+ ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
|
|
|
+ PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ final DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(etyList.get(i));
|
|
|
+ mDownloadTaskService.start(downLoadInfo);
|
|
|
+ new Thread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ if(mDownloadTaskService.addDownloadTask(downLoadInfo)){
|
|
|
+ //发送红点信息
|
|
|
+ EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }).start();
|
|
|
+ break;
|
|
|
}
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ G.showToast("服务器繁忙,请稍候再试!");
|
|
|
}
|
|
|
}
|
|
|
});
|