liujiangyao 8 anni fa
parent
commit
71b6ccff59

+ 3 - 2
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -178,6 +178,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 case 1:
                     tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position);
                     tryMakeMoneyAdp.notifyDataSetChanged();
+                    scrollView.scrollTo(0,0);
                     break;
             }
 
@@ -275,7 +276,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         });
 
         //recyclerView 禁止滑动
-        recyclerview.setNestedScrollingEnabled(false);
+//        recyclerview.setNestedScrollingEnabled(false);
     }
 
     public void initData() {
@@ -329,7 +330,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
         RequestParameEty parameEty = new RequestParameEty();
         parameEty.setHashMap(CommonUtil.getInstance().setHashMap(1, 100, 1,
-                1, 0, 0));
+                0, 0, 0));
 
         tryMakeMoneyPresenter.releaseTask(parameEty);
     }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/di/components/FgtTryMakeMoneyComponent.java

@@ -2,7 +2,7 @@ package com.sheep.gamegroup.di.components;
 
 import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
 import com.sheep.gamegroup.di.scopes.UserScope;
-import com.sheep.gamegroup.view.fragment.FgtTryMakeMoney;
+import com.sheep.gamegroup.view.fragment.FgtTryMakeMoney2;
 
 import dagger.Component;
 
@@ -13,5 +13,5 @@ import dagger.Component;
 @UserScope
 @Component(modules = TryMakeMoneyModule.class, dependencies = NetComponent.class)
 public interface FgtTryMakeMoneyComponent {
-    void inject(FgtTryMakeMoney fgtTryMakeMoney);
+    void inject(FgtTryMakeMoney2 fgtTryMakeMoney);
 }

+ 6 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/TryMakeMoneyact.java

@@ -8,6 +8,7 @@ import android.support.v4.view.ViewPager;
 import com.kfzs.duanduan.event.BigEvent;
 import com.sheep.gamegroup.view.adapter.AdpTryMakemoney;
 import com.sheep.gamegroup.view.fragment.FgtTryMakeMoney;
+import com.sheep.gamegroup.view.fragment.FgtTryMakeMoney2;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.base.BaseActivity;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
@@ -46,10 +47,13 @@ public class TryMakeMoneyact extends BaseActivity {
                 .setTitleFinish(activity);
 
         mAdapter = new AdpTryMakemoney(getSupportFragmentManager(), this);
-        mAdapter.add(FgtTryMakeMoney.newInstance(0), titles[0]);
-        mAdapter.add(FgtTryMakeMoney.newInstance(1), titles[1]);
+//        mAdapter.add(FgtTryMakeMoney.newInstance(0), titles[0]);
+//        mAdapter.add(FgtTryMakeMoney.newInstance(1), titles[1]);
+        mAdapter.add(new FgtTryMakeMoney2(0), titles[0]);
+        mAdapter.add(new FgtTryMakeMoney2(1), titles[1]);
         pager.setAdapter(mAdapter);
         indicator.setupWithViewPager(pager);
+
     }
 
     @Override

+ 15 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpTryMakemoney.java

@@ -5,6 +5,8 @@ import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentPagerAdapter;
 import android.support.v4.app.FragmentStatePagerAdapter;
+import android.support.v4.app.FragmentTransaction;
+import android.util.Log;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -46,4 +48,17 @@ public class AdpTryMakemoney extends FragmentStatePagerAdapter {
     public CharSequence getPageTitle(int position) {
         return (CharSequence) mTitles.get(position);
     }
+//    public void setFragments(ArrayList<Fragment> fragments) {
+//        if(this.mFragments != null){
+//            FragmentTransaction ft = fm.beginTransaction();
+//            for(Fragment f:this.mFragments){
+//                ft.remove(f);
+//            }
+//            ft.commit();
+//            ft=null;
+//            fm.executePendingTransactions();
+//        }
+//        this.mFragments = fragments;
+//        notifyDataSetChanged();
+//    }
 }

+ 407 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdb2.java

@@ -0,0 +1,407 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.app.Activity;
+import android.app.DownloadManager;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.support.v7.app.AlertDialog;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.model.entity.WithdrawalEty;
+import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.SelfCountDownTimer;
+import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import javax.inject.Inject;
+
+import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
+
+/**
+ * Created by ljy on 2018/4/27.
+ */
+
+public class TryMakeMoneyAdb2 extends BaseAdapter {
+    private HashMap<View, SelfCountDownTimer> timerHashMap= new HashMap<>();
+    private ArrayList<Object> list;
+    private Context context;
+    @Inject
+    TryMakeMoneyPresenter presenter;
+    private int type = 0;//0:推荐 1:热门 2:预约
+
+    public TryMakeMoneyAdb2(ArrayList<Object> list, Context context) {
+        this.list = list;
+        this.context = context;
+    }
+    /**
+     * 传入presenter
+     */
+    public void addPresenter(TryMakeMoneyPresenter presenter){
+        this.presenter = presenter;
+    }
+    /**
+     * 传入type
+     */
+    public void addType(int type){
+        this.type = type;
+    }
+
+    /**
+     * 传入正在运行的任务
+     * @param taskAcceptedEty
+     */
+    public void setTaskAcceptedEty(TaskAcceptedEty taskAcceptedEty) {
+        this.taskAcceptedEty = taskAcceptedEty;
+    }
+    private TaskAcceptedEty taskAcceptedEty;
+
+    @Override
+    public int getCount() {
+        return list.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return list.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder holder = null;
+        if(holder == null){
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.try_makemoney_item_recommend, null);
+            holder.item_title_tv = convertView.findViewById(R.id.item_title_tv);
+            holder.item_money = convertView.findViewById(R.id.item_money);
+            holder.item_anem_tv = convertView.findViewById(R.id.item_anem_tv);
+            holder.item_num_tv = convertView.findViewById(R.id.item_num_tv);
+            holder.item_date_tv = convertView.findViewById(R.id.item_date_tv);
+            holder.detail_task_tv = convertView.findViewById(R.id.detail_task_tv);
+            holder.countdown_tv = convertView.findViewById(R.id.countdown_tv);
+            holder.item_num_tv = convertView.findViewById(R.id.item_num_tv);
+            holder.item_title_iv = convertView.findViewById(R.id.item_title_iv);
+            holder.item_icon_iv = convertView.findViewById(R.id.item_icon_iv);
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+
+        Object object = getItem(position);
+        if(object == null){
+            return convertView;
+        }
+        if(object instanceof TaskReleaseEty){
+            otherTask(holder, convertView, (TaskReleaseEty) object,position);
+        }else {//正在运行中
+            runTask(holder, convertView, (TaskAcceptedEty) object);
+        }
+
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView item_title_tv, item_money, item_anem_tv, item_num_tv,
+                item_date_tv, detail_task_tv, countdown_tv, line_tv;
+        ImageView item_title_iv, item_icon_iv;
+    }
+
+    /**
+     * 正在运行中的任务
+     */
+    private void runTask(ViewHolder viewHolder,View convertView, final TaskAcceptedEty taskAcceptedEty){
+        viewHolder.line_tv.setVisibility(View.GONE);
+        viewHolder.item_title_tv.setVisibility(View.VISIBLE);
+        viewHolder.item_title_tv.setText("进行中");
+
+
+        viewHolder.item_anem_tv.setText(taskAcceptedEty.getRelease_task().getName()+"");
+        viewHolder.item_num_tv.setText("剩余"+ taskAcceptedEty.getRelease_task().getLast_num()+"份");
+        viewHolder.item_money.setText("+"+ taskAcceptedEty.getRelease_task().getBonus() +"元");
+        viewHolder.item_date_tv.setText(
+                "截止时间:" + TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(taskAcceptedEty.getRelease_task().getDeadline()+"")));
+
+        viewHolder.detail_task_tv.setText("取消任务");
+        viewHolder.detail_task_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                presenter.giveUpTask(taskAcceptedEty.getId());
+                //暂停下载
+                CommonUtil.getInstance().stopDownloadTask(context, taskAcceptedEty.getRelease_task().getTask().getDownload_link());
+            }
+        });
+        Glide.with(context)
+                .load(taskAcceptedEty.getRelease_task().getTask().getIcon()+"")
+                .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                .into((ImageView) viewHolder.item_icon_iv);
+        convertView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                TaskEty taskEty = taskAcceptedEty.getRelease_task().getTask();
+                taskEty.setRunTask(1);
+                taskEty.setBonus(taskAcceptedEty.getRelease_task().getBonus());
+                taskEty.setRelease_task_id(taskAcceptedEty.getRelease_task().getId());
+                taskEty.setAcceptedTaskId(taskAcceptedEty.getId());
+                taskEty.setName(taskAcceptedEty.getRelease_task().getName());
+                Jump2View.getInstance().goTaskDetailView(context, taskEty, taskAcceptedEty);
+                UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_DETAIL);
+            }
+        });
+        setDebugDownLoad(context, convertView, taskAcceptedEty.getRelease_task().getTask());
+
+        /**
+         * 倒计时
+         */
+        if(taskAcceptedEty.getRelease_task().getCancel_duration() > 0){
+            final TextView countdown_tv = viewHolder.countdown_tv;
+            SelfCountDownTimer scTimer = timerHashMap.get(countdown_tv);
+            if(scTimer != null){
+                scTimer.cancel();
+                scTimer = null;
+            }
+
+            countdown_tv.setVisibility(View.VISIBLE);
+            String sr = "若<font color='#ff2d4b'><small>" + "" + "</small></font>后任务未完成,该任务自动取消,您可以重新接受该任务";
+            countdown_tv.setText(sr+"");
+            SelfCountDownTimer selfCountDownTimer = new SelfCountDownTimer( taskAcceptedEty.getRelease_task().getCancel_duration() * 1000, 1000,(int)taskAcceptedEty.getRelease_task().getCancel_duration()) {
+                @Override
+                public void onTimerRest() {
+                    countdown_tv.setText("");
+                }
+
+                @Override
+                public void onTimerTick(long millisUntilFinished, int counTime) {
+                    countdown_tv.setText(CommonUtil.getInstance().assemblyString(TimeUtil.getHours(millisUntilFinished))+"");
+                }
+
+                @Override
+                public void onTimerFinish() {
+                    countdown_tv.setVisibility(View.GONE);
+                    presenter.giveUpTask(taskAcceptedEty.getId());
+                    //暂停下载
+                    CommonUtil.getInstance().stopDownloadTask(context, taskAcceptedEty.getRelease_task().getTask().getDownload_link());
+                }
+            };
+            selfCountDownTimer.reset(taskAcceptedEty.getRelease_task().getCancel_duration());
+            selfCountDownTimer.start();
+            timerHashMap.put(countdown_tv, selfCountDownTimer);
+        }
+    }
+
+    /**
+     * 其他任务
+     */
+    private void otherTask(ViewHolder viewHolder, View convertView, final TaskReleaseEty taskReleaseEty,int i){
+        if(i == 0){
+            viewHolder.item_title_tv.setVisibility(View.VISIBLE);
+            viewHolder.item_title_iv.setVisibility(View.VISIBLE);
+            String titleStr = "推荐";
+            switch (type){
+                case 0:
+                    titleStr = "推荐";
+                    break;
+                case 1:
+                    titleStr = "热门任务";
+                    break;
+                case 2:
+                    titleStr = "即将开始";
+                    break;
+                default:
+                    titleStr = "推荐";
+                    break;
+            }
+            viewHolder.item_title_tv.setText(titleStr+"");
+            Glide.with(context)
+                    .load(new RequestOptions().placeholder(R.mipmap.task_hot_icon))
+                    .into(viewHolder.item_title_iv);
+
+        }else{
+            viewHolder.item_title_tv.setVisibility(View.GONE);
+            viewHolder.item_title_iv.setVisibility(View.GONE);
+        }
+        if(i == getCount()-1){
+            viewHolder.line_tv.setVisibility(View.GONE);
+        }else {
+            viewHolder.line_tv.setVisibility(View.VISIBLE);
+        }
+        viewHolder.item_anem_tv.setText(taskReleaseEty.getName()+"");
+        viewHolder.item_num_tv.setText("剩余"+ taskReleaseEty.getLast_num()+"份");
+        viewHolder.item_money.setText("+"+ taskReleaseEty.getBonus() +"元");
+        viewHolder.item_date_tv.setText(
+                "截止时间:" + TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(taskReleaseEty.getDeadline()+"")));
+        viewHolder.detail_task_tv.setText("领取任务");
+        viewHolder.detail_task_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                TaskEty taskEty = taskReleaseEty.getTask();
+                taskEty.setRunTask(0);
+                taskEty.setRelease_task_id(taskReleaseEty.getId());
+                taskEty.setName(taskReleaseEty.getName());
+                Jump2View.getInstance().goDialogActivityView(context, taskEty, taskAcceptedEty);
+            }
+        });
+        Glide.with(context)
+                .load(taskReleaseEty.getTask().getIcon()+"")
+                .apply(new RequestOptions().placeholder(R.mipmap.x_ic_def_head))
+                .into( viewHolder.item_icon_iv);
+        convertView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                TaskEty taskEty = taskReleaseEty.getTask();
+                taskEty.setRunTask(0);
+                taskEty.setBonus(taskReleaseEty.getBonus());
+                taskEty.setRelease_task_id(taskReleaseEty.getId());
+                taskEty.setName(taskReleaseEty.getName());
+                Jump2View.getInstance().goTaskDetailView(context, taskEty, taskAcceptedEty);
+            }
+        });
+        setDebugDownLoad(context, convertView, taskReleaseEty.getTask());
+    }
+
+    public static void setDebugDownLoad(final Context context, View view, final TaskEty taskEty) {
+        view.setOnLongClickListener(new View.OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View view) {
+                final String[] items = {"复制", "系统下载", "浏览器下载"};
+                AlertDialog dialog = new AlertDialog.Builder(context).setTitle("请选择操作")
+                        .setItems(items, new DialogInterface.OnClickListener() {
+
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                switch (items[which]){
+                                    case "复制":
+                                        debugCopy(context, taskEty);
+                                        break;
+                                    case "系统下载":
+                                        debugSysDownload(context, taskEty);
+                                        break;
+                                    case "浏览器下载":
+                                        debugWebDownload(context, taskEty);
+                                        break;
+                                }
+                            }
+                        }).create();
+                dialog.show();
+                return true;
+            }
+        });
+    }
+
+    private static void debugCopy(final Context context, final TaskEty taskEty) {
+        ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
+        if(clipboardManager != null && !TextUtils.isEmpty(taskEty.getDownload_link())) {
+            //创建ClipData对象
+            ClipData clipData = ClipData.newPlainText("sheep text copy", taskEty.getDownload_link());
+            //添加ClipData对象到剪切板中
+            clipboardManager.setPrimaryClip(clipData);
+            G.showToast("已经复制游戏下载链接");
+        }
+    }
+
+    private static void debugSysDownload(final Context context, final TaskEty taskEty) {
+        // 创建下载请求
+        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(taskEty.getDownload_link()));
+
+        /*
+         * 设置在通知栏是否显示下载通知(下载进度), 有 3 个值可选:
+         *    VISIBILITY_VISIBLE:                   下载过程中可见, 下载完后自动消失 (默认)
+         *    VISIBILITY_VISIBLE_NOTIFY_COMPLETED:  下载过程中和下载完成后均可见
+         *    VISIBILITY_HIDDEN:                    始终不显示通知
+         */
+        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
+
+        // 设置通知的标题和描述
+        request.setTitle(taskEty.getTask_name());
+        request.setDescription("下载小绵羊任务中的apk:"+taskEty.getPackage_names());
+
+        /*
+         * 设置允许使用的网络类型, 可选值:
+         *     NETWORK_MOBILE:      移动网络
+         *     NETWORK_WIFI:        WIFI网络
+         *     NETWORK_BLUETOOTH:   蓝牙网络
+         * 默认为所有网络都允许
+         */
+//                     request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
+
+        // 添加请求头
+        // request.addRequestHeader("User-Agent", "Chrome Mozilla/5.0");
+
+        // 设置下载文件的保存位置
+        File saveFile = new File(DIR, taskEty.getTask_name()+".apk");
+        request.setDestinationUri(Uri.fromFile(saveFile));
+
+        /*
+         * 2. 获取下载管理器服务的实例, 添加下载任务
+         */
+        DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
+        if(manager != null) {
+            // 将下载请求加入下载队列, 返回一个下载ID
+            long downloadId = manager.enqueue(request);
+            G.showToast("系统开始下载apk");
+        }
+    }
+    private static void debugWebDownload(final Context context, final TaskEty taskEty) {
+        if(context instanceof Activity) {
+            Intent intent = new Intent();
+            intent.setAction(Intent.ACTION_VIEW);
+            intent.addCategory(Intent.CATEGORY_BROWSABLE);
+            intent.setData(Uri.parse(taskEty.getDownload_link()));
+            context.startActivity(intent);
+            G.showToast("浏览器开始下载apk");
+        }
+    }
+
+    /**
+     * 重置map参数
+     */
+    public void cancelAllTimers() {
+        Set<Map.Entry<View, SelfCountDownTimer>> s = timerHashMap.entrySet();
+        Iterator it = s.iterator();
+        while (it.hasNext()) {
+            try {
+                Map.Entry pairs = (Map.Entry) it.next();
+                SelfCountDownTimer cdt = (SelfCountDownTimer) pairs.getValue();
+                cdt.cancel();
+                cdt = null;
+            } catch (Exception e) {
+            }
+        }
+        it = null;
+        s = null;
+        timerHashMap.clear();
+    }
+}

+ 4 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -469,4 +469,8 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
         s = null;
         timerHashMap.clear();
     }
+
+    public void refreshAdapter(){
+        notifyDataSetChanged();
+    }
 }

+ 32 - 11
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java

@@ -51,7 +51,7 @@ import butterknife.Unbinder;
  * Created by ljy on 2018/4/26.
  */
 
-public class FgtTryMakeMoney extends BaseCompatFragment implements TryMakeMoneyContract.View{
+public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContract.View{
     @BindView(R.id.recyclerview)
     RecyclerView recyclerview;
     @BindView(R.id.refresh)
@@ -71,9 +71,11 @@ public class FgtTryMakeMoney extends BaseCompatFragment implements TryMakeMoneyC
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
 
+            tryMakeMoneyAdp.getmListDatas();
             tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists),position);
-            tryMakeMoneyAdp.notifyDataSetChanged();
-            recyclerview.setAdapter(tryMakeMoneyAdp);
+            tryMakeMoneyAdp.getmListDatas();
+            tryMakeMoneyAdp.refreshAdapter();
+//            recyclerview.setAdapter(tryMakeMoneyAdp);
         }
     };
 
@@ -85,6 +87,9 @@ public class FgtTryMakeMoney extends BaseCompatFragment implements TryMakeMoneyC
         return fgtTryMakeMoney;
     }
 
+    public FgtTryMakeMoney() {
+    }
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         // TODO: inflate a fragment view
@@ -98,25 +103,41 @@ public class FgtTryMakeMoney extends BaseCompatFragment implements TryMakeMoneyC
     }
 
     @Override
-    protected void initView(Bundle savedInstanceState) {
+    public int getLayoutId() {
+        return R.layout.fgt_try_makemoney_layout;
+    }
+
+    @Override
+    public void onViewCreated() {
 
-        setContentView(R.layout.fgt_try_makemoney_layout);
         initView();
         initListener();
     }
+
+    public FgtTryMakeMoney(int type) {
+        this.type = type;
+    }
+
+//    @Override
+//    protected void initView(Bundle savedInstanceState) {
+//
+//        setContentView(R.layout.fgt_try_makemoney_layout);
+//        initView();
+//        initListener();
+//    }
     public void initView() {
         EventBus.getDefault().register(this);
         activity = getActivity();
-        ButterKnife.bind(this, mContentView);
+//        ButterKnife.bind(this, mContentView);
         TitleBarUtils
                 .getInstance()
                 .setTitle(activity, "试玩赚钱")
                 .setTitleFinish(activity);
-        DaggerFgtTryMakeMoneyComponent.builder()
-                .netComponent(SheepApp.get(activity).getNetComponent())
-                .tryMakeMoneyModule(new TryMakeMoneyModule(FgtTryMakeMoney.this))
-                .build()
-                .inject(FgtTryMakeMoney.this);
+//        DaggerFgtTryMakeMoneyComponent.builder()
+//                .netComponent(SheepApp.get(activity).getNetComponent())
+//                .tryMakeMoneyModule(new TryMakeMoneyModule(FgtTryMakeMoney.this))
+//                .build()
+//                .inject(FgtTryMakeMoney.this);
         recyclerview.setLayoutManager(new LinearLayoutManager(activity));
         tryMakeMoneyAdp = new TryMakeMoneyAdp(activity);
         for (int i = 0; i < 2; i++) {

+ 279 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney2.java

@@ -0,0 +1,279 @@
+package com.sheep.gamegroup.view.fragment;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AbsListView;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.kfzs.duanduan.event.BigEvent;
+import com.sheep.gamegroup.di.components.DaggerFgtTryMakeMoneyComponent;
+import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
+import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.MyListview;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdb2;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+
+/**
+ * Created by ljy on 2018/4/27.
+ */
+
+public class FgtTryMakeMoney2 extends BaseFragment implements TryMakeMoneyContract.View {
+    @BindView(R.id.recyclerview)
+    MyListview recyclerview;
+    @BindView(R.id.refresh)
+    SwipeRefreshLayout refresh;
+
+    @Inject
+    TryMakeMoneyPresenter presenter;
+    private Activity activity;
+    private TryMakeMoneyAdb2 tryMakeMoneyAdp;
+    private int type = 0;
+    private int position = 0;
+    private List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();
+    private ArrayList<Object> objectList = new ArrayList<>();
+    private TaskAcceptedEty taskAcceptedEty;
+
+    Handler mhandler = new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            objectList.clear();
+            if(taskAcceptedEty != null){
+                objectList.add(taskAcceptedEty);
+            }
+            if(releaseEtyLists != null && releaseEtyLists.size()>0){
+                objectList.addAll(releaseEtyLists);
+            }
+            tryMakeMoneyAdp.notifyDataSetChanged();
+        }
+    };
+
+    public FgtTryMakeMoney2(int type) {
+        this.type = type;
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.fgt_try_makemoney_layout2;
+    }
+
+    @Override
+    public void onViewCreated() {
+        ButterKnife.bind(this, mView);
+        initView();
+    }
+    public void initView() {
+        EventBus.getDefault().register(this);
+        activity = getActivity();
+//        ButterKnife.bind(this, mContentView);
+        TitleBarUtils
+                .getInstance()
+                .setTitle(activity, "试玩赚钱")
+                .setTitleFinish(activity);
+        DaggerFgtTryMakeMoneyComponent.builder()
+                .netComponent(SheepApp.get(activity).getNetComponent())
+                .tryMakeMoneyModule(new TryMakeMoneyModule(FgtTryMakeMoney2.this))
+                .build()
+                .inject(FgtTryMakeMoney2.this);
+        tryMakeMoneyAdp = new TryMakeMoneyAdb2(objectList, activity);
+        recyclerview.setAdapter(tryMakeMoneyAdp);
+
+        initListener();
+        initData();
+
+    }
+    public void initListener() {
+        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                initData();
+                refresh.setRefreshing(false);
+            }
+        });
+        recyclerview.setOnScrollListener(new AbsListView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(AbsListView view, int scrollState) {
+            }
+
+            @Override
+            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
+                int topRowVerticalPosition =
+                        (recyclerview == null || recyclerview.getChildCount() == 0) ? 0 : recyclerview.getChildAt(0).getTop();
+
+                refresh.setEnabled(topRowVerticalPosition >= 0);
+            }
+        });
+    }
+    public void initData() {
+        taskAcceptedEty = null;
+        position = 0;
+        tryMakeMoneyAdp.addType(0);
+        tryMakeMoneyAdp.setTaskAcceptedEty(null);
+        RequestParameEty parameEty = new RequestParameEty();
+        parameEty.setHashMap(CommonUtil.getInstance().setHashMap(1,100,1,
+                0,0,type));
+        presenter.releaseTask(parameEty);
+    }
+
+    @Override
+    public void updateData2View(Object o) {
+
+    }
+
+    @Override
+    public void failData2View(Object o) {
+
+    }
+
+    @Override
+    public void acceptedTaskUpdataView(Object o) {
+
+    }
+
+    @Override
+    public void failAcceptedTask2View(Object o) {
+        try {
+            BaseMessage baseMessage = (BaseMessage) o;
+            switch (baseMessage.getCode()){
+                case 300://未查询到数据
+                    G.showToast(" 未查询到数据!");
+                    break;
+                default:
+                    G.showToast(" 网络错误!");
+                    break;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            G.showToast(" 网络错误!");
+        }
+    }
+
+    @Override
+    public void giveUpTaskSuccesView(Object o) {
+        G.showToast("取消任务成功");
+        initData();
+    }
+
+    @Override
+    public void giveUpTaskFailView(Object o) {
+        G.showToast("访问失败");
+    }
+
+    @Override
+    public void returnTaskTaskUpdataView(Object o) {
+
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            taskAcceptedEty = JSONObject.parseObject(JSONObject.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
+            tryMakeMoneyAdp.addPresenter(presenter);
+            tryMakeMoneyAdp.setTaskAcceptedEty(taskAcceptedEty);
+            position ++;
+//            mhandler.sendEmptyMessage(0);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        mhandler.sendEmptyMessage(0);
+    }
+
+    @Override
+    public void failReturnTask2View(Object o) {
+        try {
+            BaseMessage baseMessage = (BaseMessage) o;
+            switch (baseMessage.getCode()){
+                case 300://未查询到正在运行的任务
+//                    G.showToast(" 未查询到正在运行的任务!");
+                    break;
+                default:
+                    G.showToast(" 网络错误!");
+                    break;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            G.showToast(" 网络错误!");
+        }
+        mhandler.sendEmptyMessage(0);
+    }
+
+    /**
+     *  获取已经发布任务
+     * @param o
+     */
+    @Override
+    public void releaseTaskTaskUpdataView(Object o) {
+        releaseEtyLists.clear();
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            List<TaskReleaseEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+            if(releaseEtyList != null){
+                releaseEtyLists.addAll(releaseEtyList);
+            }
+
+//            mhandler.sendEmptyMessage(0);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        presenter.returnTask(null);
+    }
+
+    @Override
+    public void failReleaseTask2View(Object o) {
+
+        presenter.returnTask(null);
+    }
+
+    @Subscribe
+    public void onEventMainThread(BigEvent event){
+        switch (event.getEventTypes()){
+            case ONFRESH_TRYMAKEMANY_PAGE:
+                initData();
+                break;
+        }
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if(tryMakeMoneyAdp != null){
+            tryMakeMoneyAdp.cancelAllTimers();
+        }
+    }
+}

+ 1 - 1
app/src/main/res/layout/fgt_try_makemoney_layout.xml

@@ -20,7 +20,7 @@
         <android.support.v7.widget.RecyclerView
             android:id="@+id/recyclerview"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:orientation="vertical"></android.support.v7.widget.RecyclerView>
     </android.support.v4.widget.SwipeRefreshLayout>
 </LinearLayout>

+ 24 - 0
app/src/main/res/layout/fgt_try_makemoney_layout2.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:background="@color/bg_gray">
+
+
+    <android.support.v4.widget.SwipeRefreshLayout
+        android:id="@+id/refresh"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="@dimen/content_padding_10">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="abcdef"/>
+        <com.sheep.gamegroup.util.MyListview
+            android:id="@+id/recyclerview"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"/>
+    </android.support.v4.widget.SwipeRefreshLayout>
+</LinearLayout>

+ 1 - 1
app/src/main/res/layout/homepage_item_top2.xml

@@ -43,7 +43,7 @@
             android:text=""
             android:textSize="@dimen/text_size_12"
             android:textColor="@color/txt_white"
-            android:layout_toRightOf="@id/icon_layout"
+            android:layout_toRightOf="@+id/icon_layout"
             android:layout_marginLeft="@dimen/content_padding_10"
             android:layout_marginTop="@dimen/content_padding_small"
             android:layout_marginBottom="@dimen/content_padding_small"/>

+ 1 - 1
app/src/main/res/layout/try_makemoney_act_layout.xml

@@ -11,7 +11,7 @@
     <ImageView
         android:layout_width="match_parent"
         android:layout_height="40dp"
-        android:src="@mipmap/icon"/>
+        android:src="@mipmap/task_process_show"/>
 
     <android.support.design.widget.TabLayout
         android:id="@+id/indicator"

BIN
app/src/main/res/mipmap-xhdpi/task_process_show.png