|
|
@@ -1,6 +1,7 @@
|
|
|
package com.sheep.gamegroup.view.adapter;
|
|
|
|
|
|
import android.content.Context;
|
|
|
+import android.support.annotation.NonNull;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.Html;
|
|
|
@@ -16,6 +17,7 @@ import com.bumptech.glide.Glide;
|
|
|
import com.bumptech.glide.request.RequestOptions;
|
|
|
import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
|
|
|
import com.kfzs.duanduan.adp.AdpCommonRecy;
|
|
|
+import com.kfzs.duanduan.utils.ApkUtils;
|
|
|
import com.sheep.gamegroup.model.entity.RecyleObj;
|
|
|
import com.sheep.gamegroup.model.entity.RecyleType;
|
|
|
import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
|
|
|
@@ -31,7 +33,9 @@ import com.sheep.gamegroup.util.TestUtil;
|
|
|
import com.sheep.gamegroup.util.TimeUtil;
|
|
|
import com.sheep.gamegroup.util.UMConfigUtils;
|
|
|
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 java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
@@ -54,7 +58,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
|
|
|
@Inject
|
|
|
TryMakeMoneyPresenter presenter;
|
|
|
private Context context;
|
|
|
- private int type = 0;//0:推荐 1:热门 2:预约
|
|
|
+ private int type = 0;//0:推荐 1:热门 2:预约 3:游戏推荐
|
|
|
private int is_succession;//0:一般任务 1:连续任务
|
|
|
|
|
|
public TryMakeMoneyAdp(Context context) {
|
|
|
@@ -68,9 +72,9 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
|
|
|
RecyleType recyleType = RecyleType.values()[type];
|
|
|
switch (recyleType){
|
|
|
case RELEASE_TASK:
|
|
|
- resId = R.layout.try_mkmy_release_task_list;
|
|
|
- break;
|
|
|
+ case BEGIN_TASK:
|
|
|
case RUN_TASK:
|
|
|
+ case GAME_TASK:
|
|
|
resId = R.layout.try_mkmy_release_task_list;
|
|
|
break;
|
|
|
}
|
|
|
@@ -85,10 +89,14 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
|
|
|
bindReleaseTask(holder, (List<TaskReleaseEty>) recyleObj.getDataObj());
|
|
|
break;
|
|
|
case RUN_TASK:
|
|
|
-// List<TaskAcceptedEty> etyList = new ArrayList<>();
|
|
|
-// etyList.add((TaskAcceptedEty) recyleObj.getDataObj());
|
|
|
bindRunTask(holder, (List<TaskAcceptedEty>) recyleObj.getDataObj());
|
|
|
break;
|
|
|
+ case BEGIN_TASK://即将开始
|
|
|
+ bindReleaseTask(holder, (List<TaskReleaseEty>) recyleObj.getDataObj());
|
|
|
+ break;
|
|
|
+ case GAME_TASK://我的游戏
|
|
|
+ bindGameTask(holder, (List<TaskReleaseEty>) recyleObj.getDataObj());
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -126,6 +134,157 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
|
|
|
|
|
|
|
|
|
/**
|
|
|
+ * 我的游戏
|
|
|
+ * @param holder
|
|
|
+ * @param etyList
|
|
|
+ */
|
|
|
+ private void bindGameTask(ViewHolder holder, final List<TaskReleaseEty> etyList) {
|
|
|
+ RecyclerView recyclerView = holder.getView(R.id.release_task_listview, RecyclerView.class);
|
|
|
+ recyclerView.setHasFixedSize(true);
|
|
|
+ recyclerView.setLayoutManager(new LinearLayoutManager(context));
|
|
|
+ recyclerView.setAdapter(new RecyclerView.Adapter() {
|
|
|
+ @NonNull
|
|
|
+ @Override
|
|
|
+ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
|
|
|
+ LinearLayout view = (LinearLayout) LayoutInflater.from(context)
|
|
|
+ .inflate(R.layout.try_makemoney_item_recommend, viewGroup, false);
|
|
|
+ RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view) {
|
|
|
+ @Override
|
|
|
+ public String toString() {
|
|
|
+ return super.toString();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return viewHolder;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) {
|
|
|
+ if(etyList.get(i) == null || etyList.get(i).getTask() == null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ viewHolder.itemView.setTag(TAG_ID_TEMP, etyList.get(i).getId());
|
|
|
+ TextView detail_task_tv = viewHolder.itemView.findViewById(R.id.detail_task_tv);
|
|
|
+ if(i == 0){
|
|
|
+ viewHolder.itemView.findViewById(R.id.item_title_tv).setVisibility(View.VISIBLE);
|
|
|
+ viewHolder.itemView.findViewById(R.id.item_title_iv).setVisibility(View.GONE);
|
|
|
+ String titleStr = "推荐";
|
|
|
+ int resourceId = R.mipmap.task_hot_icon;
|
|
|
+ switch (type){
|
|
|
+ case 0:
|
|
|
+ titleStr = "推荐";
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ titleStr = "热门任务";
|
|
|
+ viewHolder.itemView.findViewById(R.id.item_title_iv).setVisibility(View.VISIBLE);
|
|
|
+ Glide.with(context)
|
|
|
+ .load(resourceId)
|
|
|
+ .apply(new RequestOptions().placeholder(resourceId))
|
|
|
+ .into((ImageView) viewHolder.itemView.findViewById(R.id.item_title_iv));
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ titleStr = "即将开始";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ titleStr = "推荐";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ ((TextView)viewHolder.itemView.findViewById(R.id.item_title_tv)).setText(titleStr+"");
|
|
|
+
|
|
|
+ }else{
|
|
|
+ viewHolder.itemView.findViewById(R.id.item_title_tv).setVisibility(View.GONE);
|
|
|
+ viewHolder.itemView.findViewById(R.id.item_title_iv).setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ if(i == getItemCount()-1){
|
|
|
+ viewHolder.itemView.findViewById(R.id.line_tv).setVisibility(View.GONE);
|
|
|
+ }else {
|
|
|
+ viewHolder.itemView.findViewById(R.id.line_tv).setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ detail_task_tv.setText("去充值");
|
|
|
+ ((TextView)viewHolder.itemView.findViewById(R.id.item_date_tv)).setText(
|
|
|
+ "截止时间:" + TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(etyList.get(i).getDeadline()))+"");
|
|
|
+
|
|
|
+ viewHolder.itemView.findViewById(R.id.cancel_task_tv).setVisibility(View.GONE);
|
|
|
+
|
|
|
+ //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);
|
|
|
+ task_type_tv.setVisibility(View.VISIBLE);
|
|
|
+ //领取任务
|
|
|
+ final boolean isInstall = PackageUtil.isAppInstalled(SheepApp.mContext, etyList.get(i).getTask().getPackage_names());
|
|
|
+ String taskTypeTvValue = "下载游戏";
|
|
|
+ if(isInstall){//已经安装
|
|
|
+ taskTypeTvValue = "启动游戏";
|
|
|
+ PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getTask().getPackage_names());
|
|
|
+ }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(mContext, etyList.get(i).getTask().getPackage_names(), ""))){
|
|
|
+ taskTypeTvValue = "安装游戏";
|
|
|
+ ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(mContext, etyList.get(i).getTask().getPackage_names(), ""));
|
|
|
+ }else {
|
|
|
+ taskTypeTvValue = "下载游戏";
|
|
|
+ }
|
|
|
+
|
|
|
+ task_type_tv.setText(taskTypeTvValue+"");
|
|
|
+ ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ etyList.get(i).getLast_num()+"份");
|
|
|
+ ((TextView)viewHolder.itemView.findViewById(R.id.item_money)).setText("+"+ etyList.get(i).getBonus() +"元");
|
|
|
+ //任务领取
|
|
|
+ task_type_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if(isInstall){//已经安装
|
|
|
+ PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getTask().getPackage_names());
|
|
|
+ }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(mContext, etyList.get(i).getTask().getPackage_names(), ""))){
|
|
|
+ ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(mContext, etyList.get(i).getTask().getPackage_names(), ""));
|
|
|
+ }else {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ detail_task_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if(!ListUtil.hasIndex(etyList, i)){
|
|
|
+ G.showToast(R.string.loading_data);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TaskEty taskEty = etyList.get(i).getTask();
|
|
|
+ if(taskEty == null){
|
|
|
+ G.showToast(R.string.loading_data);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ taskEty.setRunTask(0);
|
|
|
+ taskEty.setRelease_task_id(etyList.get(i).getId());
|
|
|
+ taskEty.setName(etyList.get(i).getName());
|
|
|
+ taskEty.setAcceptedTaskId(etyList.get(i).getAccepted_task_id());
|
|
|
+ Jump2View.getInstance().goDialogActivityView(context, taskEty);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Glide.with(context)
|
|
|
+ .load(etyList.get(i).getTask().getIcon()+"")
|
|
|
+ .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
|
|
|
+ .into((ImageView) viewHolder.itemView.findViewById(R.id.item_icon_iv));
|
|
|
+ viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if(!ListUtil.hasIndex(etyList, i)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TaskEty taskEty = etyList.get(i).getTask();
|
|
|
+ taskEty.setRunTask(0);
|
|
|
+ taskEty.setBonus(etyList.get(i).getBonus());
|
|
|
+ taskEty.setRelease_task_id(etyList.get(i).getId());
|
|
|
+ taskEty.setName(etyList.get(i).getName());
|
|
|
+ Jump2View.getInstance().goTaskDetailView(context, etyList.get(i).getId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ TestUtil.setDebugDownLoad(context, viewHolder.itemView, etyList.get(i).getTask());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getItemCount() {
|
|
|
+ return etyList.size();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 获取已发布的
|
|
|
*/
|
|
|
private void bindReleaseTask(ViewHolder holder, final List<TaskReleaseEty> etyList){
|