Просмотр исходного кода

小绵羊2.6 游戏任务、详情、充值提交

liujiangyao лет назад: 7
Родитель
Сommit
07c422748c
50 измененных файлов с 2944 добавлено и 105 удалено
  1. 2 0
      app/src/main/AndroidManifest.xml
  2. 7 0
      app/src/main/java/com/kfzs/duanduan/ActWeb.java
  3. 10 3
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  4. 10 0
      app/src/main/java/com/kfzs/duanduan/services/DownloadTaskService.java
  5. 17 0
      app/src/main/java/com/sheep/gamegroup/di/components/FgtMakeMoneyComponent.java
  6. 21 1
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  7. 16 0
      app/src/main/java/com/sheep/gamegroup/model/entity/DialogEntity.java
  8. 6 4
      app/src/main/java/com/sheep/gamegroup/model/entity/OrienteeringDetail.java
  9. 11 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RechargeEntity.java
  10. 29 0
      app/src/main/java/com/sheep/gamegroup/model/entity/ScreenshotsEntity.java
  11. 106 1
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskChild.java
  12. 29 0
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskDescEntity.java
  13. 74 10
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  14. 10 0
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskReleaseEty.java
  15. 1 1
      app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyPresenter.java
  16. 208 2
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  17. 9 10
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  18. 19 0
      app/src/main/java/com/sheep/gamegroup/util/MyDbManager.java
  19. 43 0
      app/src/main/java/com/sheep/gamegroup/util/ShareJs.java
  20. 1 0
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  21. 73 0
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  22. 45 10
      app/src/main/java/com/sheep/gamegroup/view/activity/DialogToastAct.java
  23. 275 0
      app/src/main/java/com/sheep/gamegroup/view/activity/GamemakeMoneyAct.java
  24. 100 2
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  25. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/TryMakeMoneyact.java
  26. 207 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonRecycleViewAdp.java
  27. 38 56
      app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java
  28. 98 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/expandadapter/AdpPayGameDialog.java
  29. 118 0
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayAccount.java
  30. 255 0
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayGame.java
  31. 478 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtGameMakeMoney.java
  32. 261 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMyGame.java
  33. 1 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtTryMakeMoney.java
  34. 10 0
      app/src/main/res/drawable/sp_bg_black_radius.xml
  35. 12 0
      app/src/main/res/drawable/sp_bg_blue_stroke.xml
  36. 9 0
      app/src/main/res/drawable/sp_bg_gray_leftradius.xml
  37. 21 0
      app/src/main/res/layout/adp_pay_game_dialog.xml
  38. 42 0
      app/src/main/res/layout/dialog_notice_layout.xml
  39. 54 0
      app/src/main/res/layout/dialog_pa_game_center.xml
  40. 41 0
      app/src/main/res/layout/dialog_pay_account.xml
  41. 52 0
      app/src/main/res/layout/task_detail_layout.xml
  42. 16 0
      app/src/main/res/layout/taskdetail_desc_item_screens.xml
  43. 94 2
      app/src/main/res/layout/taskdetail_recycler_item.xml
  44. 7 0
      app/src/main/res/layout/textview_layout.xml
  45. BIN
      app/src/main/res/mipmap-xhdpi/circle_check_blue.png
  46. BIN
      app/src/main/res/mipmap-xhdpi/circle_uncheck_blue.png
  47. BIN
      app/src/main/res/mipmap-xhdpi/gou_choose_blue.png
  48. BIN
      app/src/main/res/mipmap-xhdpi/gou_choose_gray.png
  49. 4 0
      app/src/main/res/values/strings.xml
  50. 3 1
      view/src/main/res/values/colors.xml

+ 2 - 0
app/src/main/AndroidManifest.xml

@@ -168,6 +168,8 @@
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.TryMakeMoneyact"
             android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.GamemakeMoneyAct"
+            android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.LieMakeMoneyAct"
             android:launchMode="singleTask"/>
         <activity android:name="com.sheep.gamegroup.view.activity.HomePageAct"

+ 7 - 0
app/src/main/java/com/kfzs/duanduan/ActWeb.java

@@ -23,6 +23,7 @@ import com.kfzs.duanduan.db.DataSave;
 import com.kfzs.duanduan.utils.ShareUtils;
 import com.kfzs.duanduan.utils.net.OnURLParseByJS;
 import com.orhanobut.logger.Logger;
+import com.sheep.gamegroup.util.ShareJs;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.jiuyan.samllsheep.R;
 import com.umeng.socialize.UMShareAPI;
@@ -95,6 +96,7 @@ public class ActWeb extends BaseCompatActivity {
 
 
         mWebView.addJavascriptInterface(new PublicJavaScript(), "PublicJavaScript");
+        mWebView.addJavascriptInterface(new ShareJs(this), "ShareWeixinQq");
         urlParseByJS = new JSCallFilter();
         filterURLByBehavior();
         loadUrl();
@@ -331,6 +333,11 @@ public class ActWeb extends BaseCompatActivity {
         }
     }
 
+    /**
+     * 分享js调用
+     * @param msg
+     */
+
     private void showInfoAndCloseSelf(String msg) {
         Logger.d(msg);
         if (!TextUtils.isEmpty(msg)) {

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

@@ -78,10 +78,14 @@ import com.sheep.gamegroup.view.adapter.AdpHomeListListview;
 import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
 import com.sheep.gamegroup.view.customview.SheepViewPager;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskList;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sunfusheng.marqueeview.MarqueeView;
+import com.umeng.socialize.ShareAction;
+import com.umeng.socialize.UMShareListener;
+import com.umeng.socialize.bean.SHARE_MEDIA;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
@@ -92,6 +96,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 
 import javax.inject.Inject;
 
@@ -384,7 +389,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                                 1,
                                 0,
                                 0,
-                                -1,
+                                -1+"",
                                 3));
 
         tryMakeMoneyPresenter.releaseTask(parameEty);
@@ -453,8 +458,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                 Jump2View.getInstance().tryGoWxfz(activity,null);
                 break;
             case R.id.icon_layout://
-                if(TestUtil.isTest()) {
-                    TestUtil.test(getActivity());
+                if(BuildConfig.DEBUG) {
+//                    TestUtil.getInstance()
+//                            .testUmen(getActivity());
+                    Jump2View.getInstance().goGameMakeMoney(activity);
                 }else
                     Jump2View.getInstance().goPersonnalCenterView(activity, null);
                 break;

+ 10 - 0
app/src/main/java/com/kfzs/duanduan/services/DownloadTaskService.java

@@ -12,6 +12,7 @@ import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.event.EventTypes;
 import com.sheep.gamegroup.model.entity.DialogEntity;
+import com.sheep.gamegroup.model.entity.OrienteeringDetail;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Jump2View;
@@ -164,6 +165,15 @@ public class DownloadTaskService {
         }
         return downLoadInfo;
     }
+    public DownLoadInfo getDownloadTaskByUrl(OrienteeringDetail taskEty) {
+        DownLoadInfo downLoadInfo = getDownloadTaskByUrl(taskEty.getDownload_url());
+        if(downLoadInfo == null){
+            downLoadInfo = CommonUtil.getInstance()
+                    .addNewDownloadTask(taskEty.getName(), taskEty.getDownload_url(), taskEty.getPackage_name(),
+                            Build.VERSION.SDK_INT, taskEty.getIcon(), 10+"", taskEty.getGame_id(), 1);
+        }
+        return downLoadInfo;
+    }
 
 
     public DownLoadInfo getDownloadTaskByUrl(String downloadUrl) {

+ 17 - 0
app/src/main/java/com/sheep/gamegroup/di/components/FgtMakeMoneyComponent.java

@@ -0,0 +1,17 @@
+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.FgtGameMakeMoney;
+
+import dagger.Component;
+
+/**
+ * Created by ljy on 2018/6/12.
+ */
+
+@UserScope
+@Component(modules = TryMakeMoneyModule.class, dependencies = NetComponent.class)
+public interface FgtMakeMoneyComponent {
+    void inject(FgtGameMakeMoney fgtGameMakeMoney);
+}

+ 21 - 1
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -140,7 +140,7 @@ public interface ApiService {
     Observable<BaseMessage> releaseTask(@Query("page") int page, @Query("per_page") int per_page,
                                         @Query("platform") int platform, @Query("is_hot") int is_hot,
                                         @Query("is_recommend") int is_recommend, @Query("about_to_begin") int about_to_begin,
-                                        @Query("task_type") int task_type, @Query("is_succession") int is_succession);
+                                        @Query("task_type") String task_type, @Query("is_succession") int is_succession);
 
 
 
@@ -509,4 +509,24 @@ public interface ApiService {
      */
     @GET("app/game_consumption/my_games")
     Observable<BaseMessage> getMyGames(@Query("page") int page, @Query("per_page") int per_page);
+    /**
+     * 获取正在运行的游戏任务
+     */
+    @GET("app/accepted_task/run_game_task")
+    Observable<BaseMessage> run_game_task();
+    /**
+     * 领取游戏任务奖励
+     */
+    @PUT("app/accepted_task/receive_award/{id}")
+    Observable<BaseMessage> receive_award(@Path("id") int id);
+    /**
+     * 游戏消费下单
+     */
+    @POST("app/game_consumption")
+    Observable<BaseMessage> game_consumption(@Body JSONObject jsonObject);
+    /**
+     * 能用的绵羊币金额
+     */
+    @GET("app/game_consumption/can_user_sheep_amount")
+    Observable<BaseMessage> can_user_sheep_amount(@Query("amount") int amount, @Query("game_id") int game_id);
 }

+ 16 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/DialogEntity.java

@@ -19,6 +19,7 @@ public class DialogEntity implements Serializable {
     private String busType;
     private EventTypes eventTypes;
     private DownLoadInfo downLoadInfo;
+    private String type;
 
     public DialogEntity(String title, String context, String sure, String cancel, EventTypes eventTypes) {
         this.title = title;
@@ -27,6 +28,13 @@ public class DialogEntity implements Serializable {
         this.cancel = cancel;
         this.eventTypes = eventTypes;
     }
+    public DialogEntity(String title, String context, String sure, String cancel, EventTypes eventTypes, String type) {
+        this.title = title;
+        this.context = context;
+        this.sure = sure;
+        this.cancel = cancel;
+        this.type = type;
+    }
 
     public DialogEntity(String title, String context, String sure, String cancel, String busType, EventTypes eventTypes, DownLoadInfo downLoadInfo) {
         this.title = title;
@@ -38,6 +46,14 @@ public class DialogEntity implements Serializable {
         this.downLoadInfo = downLoadInfo;
     }
 
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
     public DownLoadInfo getDownLoadInfo() {
         return downLoadInfo;
     }

+ 6 - 4
app/src/main/java/com/sheep/gamegroup/model/entity/OrienteeringDetail.java

@@ -1,5 +1,7 @@
 package com.sheep.gamegroup.model.entity;
 
+import java.io.Serializable;
+
 /**
  * Created by realicing on 2018/6/7.
  * realicing@sina.com
@@ -15,7 +17,7 @@ package com.sheep.gamegroup.model.entity;
  "task_id": 415
  }
  */
-public class OrienteeringDetail {
+public class OrienteeringDetail implements Serializable{
 
     private String name;
 
@@ -23,13 +25,13 @@ public class OrienteeringDetail {
 
     private String icon;
 
-    private int balance;
+    private int balance;//可定向消费金额
 
     private int game_id;
 
-    private int min_amount;
+    private int min_amount;//最低消费金额
 
-    private int ratio;
+    private int ratio;//赠送比率
     private int id;
 
     private String download_url;

+ 11 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RechargeEntity.java

@@ -16,6 +16,17 @@ public class RechargeEntity {
     private String Name;
     private int Status;
 
+    //是否被选中
+    private boolean select;
+
+    public boolean isSelect() {
+        return select;
+    }
+
+    public void setSelect(boolean select) {
+        this.select = select;
+    }
+
     public int getId() {
         return Id;
     }

+ 29 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/ScreenshotsEntity.java

@@ -0,0 +1,29 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * 任务截图和地址显示
+ * Created by ljy on 2018/6/12.
+ */
+
+public class ScreenshotsEntity implements Serializable {
+    private String img;
+    private String desc;
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+}

+ 106 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/TaskChild.java

@@ -1,6 +1,13 @@
 package com.sheep.gamegroup.model.entity;
 
+
+import android.text.TextUtils;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * Created by ljy on 2018/5/10.
@@ -28,6 +35,70 @@ public class TaskChild implements Serializable {
      */
     private int status;//
 
+    private int demo_time;//试玩时长(秒)
+
+    private List<TaskDescEntity> descEntityList;
+
+    private TaskDescEntity descEntity;
+
+    /**
+     * 截图地址
+     */
+    private String screenshots;
+    private List<ScreenshotsEntity> screenkshotsList;
+
+    //选中状态
+    private boolean selectFlag;
+
+    public List<ScreenshotsEntity> getScreenshotsList() {
+        return screenkshotsList;
+    }
+
+    public void setScreenshotsList(List<ScreenshotsEntity> screenshotsList) {
+        this.screenkshotsList = screenshotsList;
+    }
+
+    public boolean isSelectFlag() {
+        return selectFlag;
+    }
+
+    public void setSelectFlag(boolean selectFlag) {
+        this.selectFlag = selectFlag;
+    }
+
+    public String getScreenshots() {
+        return screenshots;
+    }
+
+    public void setScreenshots(String screenshots) {
+        regroupScreenshots(screenshots);
+        this.screenshots = screenshots;
+    }
+
+    public int getDemo_time() {
+        return demo_time;
+    }
+
+    public void setDemo_time(int demo_time) {
+        this.demo_time = demo_time;
+    }
+
+    public List<TaskDescEntity> getDescEntityList() {
+        return descEntityList;
+    }
+
+    public void setDescEntityList(List<TaskDescEntity> descEntityList) {
+        this.descEntityList = descEntityList;
+    }
+
+    public TaskDescEntity getDescEntity() {
+        return descEntity;
+    }
+
+    public void setDescEntity(TaskDescEntity descEntity) {
+        this.descEntity = descEntity;
+    }
+
     public int getStatus() {
         return status;
     }
@@ -65,7 +136,8 @@ public class TaskChild implements Serializable {
     }
 
     public void setDesc(String desc) {
-        Desc = desc;
+        regroupDesc(desc);
+        Desc =desc+"";
     }
 
     public String getAmount() {
@@ -115,4 +187,37 @@ public class TaskChild implements Serializable {
     public void setTaskType(int taskType) {
         TaskType = taskType;
     }
+
+    /**
+     * 重组desc字段
+     * @param desc
+     */
+    private Object regroupDesc(String desc){
+        if(TextUtils.isEmpty(desc)){
+            return desc;
+        }
+        if(desc.startsWith("[")){
+            List<TaskDescEntity> taskDescEntityList = JSONArray.parseArray(desc, TaskDescEntity.class);
+            setDescEntityList(taskDescEntityList);
+            return taskDescEntityList;
+        }else if (desc.startsWith("{")){
+            TaskDescEntity taskDescEntity = JSONObject.parseObject(desc, TaskDescEntity.class);
+            setDescEntity(taskDescEntity);
+            return taskDescEntity;
+        }else {
+            return desc;
+        }
+    }
+    private Object regroupScreenshots(String desc){
+        if(TextUtils.isEmpty(desc)){
+            return desc;
+        }
+        if(desc.startsWith("[")){
+            List<ScreenshotsEntity> taskDescEntityList = JSONArray.parseArray(desc, ScreenshotsEntity.class);
+            setScreenshotsList(taskDescEntityList);
+            return taskDescEntityList;
+        }else {
+            return desc;
+        }
+    }
 }

+ 29 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskDescEntity.java

@@ -0,0 +1,29 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * 任务步骤显示
+ * Created by ljy on 2018/6/12.
+ */
+
+public class TaskDescEntity implements Serializable {
+    private String step;
+    private String desc;
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public String getStep() {
+        return step;
+    }
+
+    public void setStep(String step) {
+        this.step = step;
+    }
+}

+ 74 - 10
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -1,5 +1,9 @@
 package com.sheep.gamegroup.model.entity;
 
+import android.text.TextUtils;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.util.ListUtil;
 
 import java.io.Serializable;
@@ -18,9 +22,9 @@ public class TaskEty implements Serializable{
     private int inspect_type = 1;// 1自动审核 2手动审核 3,应用自动审核
     private String package_names;//private String string",
     private String remarks;//private String string",
-    private String screenshots;//private String string",
     private String task_name;//private String string",
-    private int task_type = 1;// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思
+    private String screenshots;//private String string",
+    private int task_type = 1;// 1时间试玩任务 2 信用卡任务 3应用下载 4h5业务 1001畅思 1000连续任务, 1002 1003游戏任务
     private String update_time;// 0
     private String icon;
     private String package_size;
@@ -31,6 +35,55 @@ public class TaskEty implements Serializable{
     private String ext;// 对应的信用卡配置的id
     private List<TaskChild> child;
 
+    /**
+     * desc 另外的可能情况
+     */
+    private List<TaskDescEntity> descEntityList;
+
+    private TaskDescEntity descEntity;
+
+    /**
+     * 截图地址
+     */
+    private List<ScreenshotsEntity> screenshotsList;
+
+    public String getScreenshots() {
+        return screenshots;
+    }
+
+    public void setScreenshots(String screenshots) {
+        this.screenshots = screenshots;
+    }
+
+    public List<ScreenshotsEntity> getScreenshotsList() {
+        return screenshotsList;
+    }
+
+    public void setScreenshotsList(List<ScreenshotsEntity> screenshotsList) {
+        if(!TextUtils.isEmpty(screenshots) && screenshots.startsWith("[")){
+            this.screenshotsList = JSONArray.parseArray(JSONArray.toJSONString(screenshots), ScreenshotsEntity.class);
+        }else {
+            this.screenshotsList = null;
+        }
+
+    }
+
+    public List<TaskDescEntity> getDescEntityList() {
+        return descEntityList;
+    }
+
+    public void setDescEntityList(List<TaskDescEntity> descEntityList) {
+        this.descEntityList = descEntityList;
+    }
+
+    public TaskDescEntity getDescEntity() {
+        return descEntity;
+    }
+
+    public void setDescEntity(TaskDescEntity descEntity) {
+        this.descEntity = descEntity;
+    }
+
     public List<TaskChild> getChild() {
         return child;
     }
@@ -52,7 +105,8 @@ public class TaskEty implements Serializable{
     }
 
     public void setDesc(String desc) {
-        this.desc = desc;
+//        regroupDesc(desc);
+        this.desc = desc+"";
     }
 
     public String getBonus() {
@@ -163,13 +217,6 @@ public class TaskEty implements Serializable{
         this.remarks = remarks;
     }
 
-    public String getScreenshots() {
-        return screenshots;
-    }
-
-    public void setScreenshots(String screenshots) {
-        this.screenshots = screenshots;
-    }
 
     public String getTask_name() {
         return task_name;
@@ -218,4 +265,21 @@ public class TaskEty implements Serializable{
         }
         return false;
     }
+
+    /**
+     * 重组desc字段
+     * @param desc
+     */
+    private Object regroupDesc(String desc){
+        if(TextUtils.isEmpty(desc)){
+            return desc;
+        }
+        if(desc.startsWith("[")){
+            return JSONArray.parseArray(JSONArray.toJSONString(desc+""), TaskDescEntity.class);
+        }else if (desc.startsWith("{")){
+            return JSONObject.parseObject(JSONObject.toJSONString(desc+""), TaskDescEntity.class);
+        }else {
+            return desc;
+        }
+    }
 }

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskReleaseEty.java

@@ -36,6 +36,15 @@ public class TaskReleaseEty implements Serializable{
     private int cancel_duration;
     private boolean is_running;
     private String child_task_name;//
+    private int demo_time;//试玩时长
+
+    public int getDemo_time() {
+        return demo_time;
+    }
+
+    public void setDemo_time(int demo_time) {
+        this.demo_time = demo_time;
+    }
 
     public String getLabel_color() {
         return label_color;
@@ -223,6 +232,7 @@ public class TaskReleaseEty implements Serializable{
         this.update_time = update_time;
     }
 
+
     public TaskEty getTask() {
         return task;
     }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/presenter/TryMakeMoneyPresenter.java

@@ -81,7 +81,7 @@ public class TryMakeMoneyPresenter implements TryMakeMoneyContract.Presenter {
         apiService.releaseTask(Integer.valueOf(hashMap.get("page")),Integer.valueOf(hashMap.get("per_page")),
                 Integer.valueOf(hashMap.get("platform")),Integer.valueOf(hashMap.get("is_hot")),
                 Integer.valueOf(hashMap.get("is_recommend")),Integer.valueOf(hashMap.get("about_to_begin")),
-                Integer.valueOf(hashMap.get("task_type")), Integer.valueOf(hashMap.get("is_succession")))
+                hashMap.get("task_type"), Integer.valueOf(hashMap.get("is_succession")))
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {

+ 208 - 2
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -1,27 +1,34 @@
 package com.sheep.gamegroup.util;
 
+import android.app.Activity;
 import android.content.Context;
 import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.GradientDrawable;
 import android.os.Handler;
 import android.os.Message;
+import android.support.v7.app.AlertDialog;
 import android.text.Html;
 import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
 import android.view.ViewTreeObserver;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alipay.sdk.app.PayTask;
 import com.arialyy.aria.core.Aria;
 import com.arialyy.aria.core.download.DownloadTarget;
 import com.arialyy.aria.core.inf.IEntity;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.kfzs.duanduan.fragment.FgtSmallSheep;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.alipay.PayResult;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.TaskListen;
 import com.sheep.gamegroup.model.entity.UserEntity;
@@ -29,20 +36,26 @@ import com.sheep.gamegroup.model.entity.WebviewEntity;
 import com.sheep.gamegroup.model.entity.WithdrawalEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
+import com.sheep.gamegroup.view.activity.RechargeAct;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
+import com.umeng.socialize.ShareAction;
 import com.umeng.socialize.UMAuthListener;
 import com.umeng.socialize.UMShareAPI;
+import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
+import com.umeng.socialize.media.UMImage;
+import com.umeng.socialize.media.UMWeb;
 
 import java.io.File;
 import java.lang.reflect.Field;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
@@ -226,7 +239,7 @@ public class CommonUtil {
     public HashMap<String, String> setHashMap(int page, int per_page,
                                               int platform, int is_hot,
                                               int is_recommend, int about_to_begin,
-                                              int task_type, int is_succession){
+                                              String task_type, int is_succession){
 
         HashMap<String, String> hashMap = new HashMap<>();
         hashMap.put("page", page+"");
@@ -487,7 +500,7 @@ public class CommonUtil {
                                 1,
                                 0,
                                 0,
-                                -1,
+                                -1+"",
                                 is_succession));
         presenter.returnTask(parameEty);
     }
@@ -561,4 +574,197 @@ public class CommonUtil {
             }
         }).start();
     }
+
+    /**
+     * 任务详情、连续任务、子任务组装
+     */
+    public void bindDataTaskDetailSon(TaskChild taskChild, TextView textView, int i){
+        String state = "";
+        switch (taskChild.getStatus()){
+            case 1:
+            default:
+                state = "(即将开始)";
+                break;
+            case 2:
+                state = "(可领取 )";
+                break;
+            case 3:
+                state = "(进行中 )";
+                break;
+            case 4:
+                state = "(待审核 )";
+                break;
+            case 5:
+                state = "(已完成 )";
+                break;
+            case 6:
+                state = "(审核失败)";
+                break;
+            case 7:
+                state = "(已过期 )";
+                break;
+        }
+        textView.setText(Html.fromHtml(i + "、"  + taskChild.getName() + "<font color='#ff2d4b'><small>" + state + "</small></font>"));
+    }
+
+    /**
+     * 倒计时
+     */
+    public SelfCountDownTimer getCountDownTimer(long demoTime, final TextView textView){
+        SelfCountDownTimer selfCountDownTimer = new SelfCountDownTimer( demoTime * 1000, 1000, (int) demoTime) {
+            @Override
+            public void onTimerRest() {
+                textView.setText("");
+            }
+
+            @Override
+            public void onTimerTick(long millisUntilFinished, int counTime) {
+                textView.setText(Html.fromHtml(CommonUtil.getInstance().assemblyString(TimeUtil.getHours(millisUntilFinished))+""));
+            }
+
+            @Override
+            public void onTimerFinish() {
+                textView.setVisibility(View.GONE);
+            }
+        };
+        return selfCountDownTimer;
+    }
+
+    /**
+     * 重置map参数
+     */
+    private HashMap<View, SelfCountDownTimer> timerHashMap= new HashMap<>();
+    public void getHashMap(TextView textView){
+        SelfCountDownTimer scTimer = timerHashMap.get(textView);
+        if(scTimer != null){
+            scTimer.cancel();
+            scTimer = null;
+        }
+    }
+    public void addTimerHashMap(TextView textView, SelfCountDownTimer selfCountDownTimer){
+        timerHashMap.put(textView, selfCountDownTimer);
+    }
+    /**
+     * 重置map参数
+     */
+    public void cancelAllTimers( HashMap<View, SelfCountDownTimer> timerHashMap) {
+        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 ignored) {
+            }
+        }
+        it = null;
+        s = null;
+        timerHashMap.clear();
+    }
+
+    /**
+     * 分享
+     * type: qq wx all
+     */
+    public void popShare(Activity activity, String url, String type){
+        if(activity == null || TextUtils.isEmpty(type) || TextUtils.isEmpty(url)){
+            return;
+        }
+        UMImage umImage = new UMImage(activity, R.mipmap.icon);
+        UMWeb umWeb = new UMWeb(url);
+        umWeb.setTitle(activity.getResources().getString(R.string.app_name));
+        umWeb.setThumb(umImage);
+        umWeb.setDescription(activity.getResources().getString(R.string.app_name));
+        if(type.equals("all")){
+
+            new ShareAction(activity)
+                    .withText("")
+                    .withMedia(umWeb)
+                    .setDisplayList(
+                            SHARE_MEDIA.QQ,
+                            SHARE_MEDIA.WEIXIN)
+                    .setCallback(new UMShareListener())
+                    .open();
+        }else {
+            SHARE_MEDIA share_media = SHARE_MEDIA.QQ;
+            if(type.equals("qq")){
+                share_media = SHARE_MEDIA.QQ;
+            }else {
+                share_media = SHARE_MEDIA.WEIXIN;
+            }
+            new ShareAction(activity)
+                    .setPlatform(share_media)
+                    .withMedia(umWeb)
+                    .setCallback(new UMShareListener())
+                    .share();
+        }
+    }
+
+    class UMShareListener implements com.umeng.socialize.UMShareListener{
+
+        @Override
+        public void onStart(SHARE_MEDIA share_media) {
+            Log.e("start---"+share_media.getName(), share_media.getName());
+        }
+
+        @Override
+        public void onResult(SHARE_MEDIA share_media) {
+            Log.e("result---"+share_media.getName(), share_media.getName());
+        }
+
+        @Override
+        public void onError(SHARE_MEDIA share_media, Throwable throwable) {
+            Log.e("error---"+share_media.getName(), share_media.getName()+
+                    ",msg:"+ throwable.getMessage());
+        }
+
+        @Override
+        public void onCancel(SHARE_MEDIA share_media) {
+            Log.e("cancel---"+share_media.getName(), share_media.getName());
+        }
+    }
+
+    /**
+     * 支付接口调用
+     * @param payInfo
+     */
+    public void pay(final String payInfo, final Activity activity, final AlertDialog dialog) {
+        Runnable payRunnable = new Runnable() {
+
+            @Override
+            public void run() {
+                // 构造PayTask 对象
+                PayTask alipay = new PayTask(activity);
+                // 调用支付接口,获取支付结果
+                final String result = alipay.pay(payInfo, true);
+
+                activity.runOnUiThread(new Runnable() {
+
+                    @Override
+                    public void run() {
+
+                        PayResult payResult = new PayResult(result);
+                        /**
+                         * 同步返回的结果必须放置到服务端进行验证(验证的规则请看https://doc.open.alipay.com/doc2/
+                         * detail.htm?spm=0.0.0.0.xdvAU6&treeId=59&articleId=103665&
+                         * docType=1) 建议商户依赖异步通知
+                         */
+//						String resultInfo = payResult.getResult();// 同步返回需要验证的信息
+
+                        String resultStatus = payResult.getResultStatus();
+                        Jump2View.getInstance().goRechargeResultAct(activity, resultStatus);
+                        if(dialog != null){
+                            dialog.dismiss();
+                        }
+                    }
+                });
+            }
+        };
+
+        // 必须异步调用
+        Thread payThread = new Thread(payRunnable);
+        payThread.start();
+    }
 }

+ 9 - 10
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -58,6 +58,7 @@ import com.sheep.gamegroup.view.activity.CommitWxCodeAct;
 import com.sheep.gamegroup.view.activity.DialogActivity;
 import com.sheep.gamegroup.view.activity.DialogToastAct;
 import com.sheep.gamegroup.view.activity.FeedbackAct;
+import com.sheep.gamegroup.view.activity.GamemakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LieMakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LoginAct;
 import com.sheep.gamegroup.view.activity.PersionInfoAct;
@@ -732,16 +733,6 @@ public class Jump2View {
         context.startActivity(intent);
     }
 
-
-
-
-
-
-
-
-
-
-
     /**
      * 跳到充值结果页面
      * @param context
@@ -1175,4 +1166,12 @@ public class Jump2View {
         Intent intent = new Intent(activity, ActNewAboutUs.class);
         activity.startActivity(intent);
     }
+
+    /**
+     * 任务游戏列表
+     */
+    public void goGameMakeMoney(Activity activity){
+        Intent intent = new Intent(activity, GamemakeMoneyAct.class);
+        activity.startActivity(intent);
+    }
 }

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/util/MyDbManager.java

@@ -80,6 +80,25 @@ public class MyDbManager {
         return userEntity;
     }
     /**
+     * Invitation_code
+     */
+    public String dbFindValue(){
+        try {
+            return dbFindUser().getInvitation_code();
+        } catch (DbException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+    public String dbFindValueBalance(){
+        try {
+            return dbFindUser().getBalance();
+        } catch (DbException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+    /**
      * 查找NewbieTaskRecord
      */
     public NewbieTaskRecord dbFindNewbieTaskRecord(String invitation_code) throws DbException{

+ 43 - 0
app/src/main/java/com/sheep/gamegroup/util/ShareJs.java

@@ -0,0 +1,43 @@
+package com.sheep.gamegroup.util;
+
+import android.app.Activity;
+import android.webkit.JavascriptInterface;
+
+import com.kfzs.duanduan.KFZSApp;
+import com.kfzs.duanduan.datashare.DDProviderHelper;
+import com.sheep.gamegroup.model.entity.UserEntity;
+
+/**
+ * 分享js注入
+ * Created by ljy on 2018/6/13.
+ */
+
+public class ShareJs {
+    private Activity activity;
+
+    public ShareJs(Activity activity) {
+        this.activity = activity;
+    }
+
+    @JavascriptInterface
+    public String getHeader() {
+        return DDProviderHelper.getInstance().getLastUserToken(KFZSApp.context);
+    }
+
+    @JavascriptInterface
+    public String getInvitationCode(){
+        String invitationCode = "";
+        try{
+            UserEntity userEntity = MyDbManager.getInstance().dbFindUser();
+            invitationCode = userEntity.getInvitation_code();
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return invitationCode;
+    }
+    @JavascriptInterface
+    public String popShare(String url, String type) {
+        CommonUtil.getInstance().popShare(activity, url, type);
+        return "";
+    }
+}

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -261,6 +261,7 @@ public class TestUtil {
      * umen 分享
      */
     private void testUmen(Activity context){
+        CommonUtil.getInstance().popShare(context, "http://www.baidu.com", "all");
         UMImage umImage = new UMImage(context, R.mipmap.icon);
         new ShareAction(context)
                 .withText("hehe")

+ 73 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.util;
 
 import android.app.Activity;
+import android.app.ProgressDialog;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.graphics.Bitmap;
@@ -29,6 +30,8 @@ import com.sheep.gamegroup.model.entity.Container;
 import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.view.activity.SplashAct;
 import com.sheep.gamegroup.view.dialog.DialogOrienteeringDetails;
+import com.sheep.gamegroup.view.dialog.DialogPayAccount;
+import com.sheep.gamegroup.view.dialog.DialogPayGame;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
@@ -48,6 +51,15 @@ import rx.functions.Action1;
  */
 public class ViewUtil {
 
+    private static ViewUtil viewUtil;
+
+    public static ViewUtil newInstance(){
+        if(viewUtil == null){
+            viewUtil = new ViewUtil();
+        }
+        return viewUtil;
+    }
+
     public static void showQR(final Activity activity, String link) {
         AlertDialog.Builder builder = new AlertDialog.Builder(activity);
         View view = View.inflate(activity, R.layout.x_ask_qr_dialog, null);
@@ -481,6 +493,16 @@ public class ViewUtil {
         new DialogOrienteeringDetails(activity).showOrienteeringDetails();
     }
 
+    /**
+     * game 充值
+     */
+    public static void showGamePayAccount(Activity activity,int gameId){
+        new DialogPayAccount(activity).showPayaccount();
+    }
+    public static void showGamePay(Activity activity, String game_account_etStr, String game_pay_etStr,int gameId){
+        new DialogPayGame(activity, game_account_etStr, game_pay_etStr,gameId).showPayGame();
+    }
+
     public static void setText(TextView textView) {
         if(textView != null){
             textView.setText("");
@@ -494,4 +516,55 @@ public class ViewUtil {
 
     }
 
+    /**
+     * show ProgressDialog
+     */
+
+    protected ProgressDialog mPd;
+    public void  showProgress(Activity activity){
+        try {
+            if(mPd!=null){
+                hideProgress(activity);
+            }
+            mPd = new ProgressDialog(activity);
+//        View view= LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
+//        mPd.setContentView(view);//自己定义布局
+            mPd.setMessage("数据加载中...");
+            mPd.setCancelable(true);//能否够被取消
+//        mPd.setProgressStyle(ProgressDialog.STYLE_SPINNER);//圆环风格
+            mPd.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    public void  showProgress(Activity activity, boolean cancel){
+        try {
+            if(mPd!=null){
+                hideProgress(activity);
+            }
+            mPd = new ProgressDialog(activity);
+//        View view= LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
+//        mPd.setContentView(view);//自己定义布局
+            mPd.setMessage("数据加载中...");
+            mPd.setCancelable(cancel);//能否够被取消
+//        mPd.setProgressStyle(ProgressDialog.STYLE_SPINNER);//圆环风格
+            mPd.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    public void  hideProgress(Activity activity){
+        activity.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                if(mPd!=null){
+                    mPd.dismiss();
+                }
+            }
+        });
+
+    }
+
 }

+ 45 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/DialogToastAct.java

@@ -3,9 +3,11 @@ package com.sheep.gamegroup.view.activity;
 import android.app.Activity;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
+import android.support.constraint.ConstraintLayout;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.CheckBox;
+import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.TextView;
 
@@ -13,6 +15,7 @@ import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.services.DownloadTaskService;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
 import org.greenrobot.eventbus.EventBus;
@@ -39,6 +42,12 @@ public class DialogToastAct extends Activity {
     TextView dialogSure;
     @BindView(R.id.dialog_close)
     ImageView dialogClose;
+    @BindView(R.id.ems_game_layout)
+    ConstraintLayout ems_game_layout;
+    @BindView(R.id.game_account_et)
+    EditText gameAccountEt;
+    @BindView(R.id.game_pay_et)
+    EditText gamePayEt;
 
     private DialogEntity dialog_entity;
     private Activity activity;
@@ -57,13 +66,18 @@ public class DialogToastAct extends Activity {
     }
 
     private void initView() {
-        if(dialog_entity == null){
+        if (dialog_entity == null) {
             return;
         }
         setView(titleTv, dialog_entity.getTitle());
         setView(contentTv, dialog_entity.getContext());
         setView(dialogAction, dialog_entity.getCancel());
         setView(dialogSure, dialog_entity.getSure());
+        if (dialog_entity.getType() != null && dialog_entity.getType().equals("my_game")) {
+            ems_game_layout.setVisibility(View.VISIBLE);
+        } else {
+            ems_game_layout.setVisibility(View.GONE);
+        }
 
     }
 
@@ -75,10 +89,11 @@ public class DialogToastAct extends Activity {
                 finish();
                 break;
             case R.id.dialog_sure:
-                if(dialog_entity.getEventTypes() != null){
+                if (dialog_entity.getEventTypes() != null) {
                     EventBus.getDefault().post(new BigEvent().setEventTypes(dialog_entity.getEventTypes()));
                 }
                 downLoadValue(2);
+                myGame();//我的游戏
                 setResult(RESULT_OK);
                 finish();
                 break;
@@ -89,26 +104,46 @@ public class DialogToastAct extends Activity {
         }
     }
 
-    private void setView(View view, String string){
-        if(!TextUtils.isEmpty(string)){
+    private void setView(View view, String string) {
+        if (!TextUtils.isEmpty(string)) {
             view.setVisibility(View.VISIBLE);
-            if(view instanceof TextView){
-                ((TextView)view).setText(string);
+            if (view instanceof TextView) {
+                ((TextView) view).setText(string);
             }
 
-        }else {
+        } else {
             view.setVisibility(View.GONE);
         }
     }
+
     /**
      * 是否是下载过来的
      */
-    private void downLoadValue(int flag){
-        if(dialog_entity.getDownLoadInfo() == null){
+    private void downLoadValue(int flag) {
+        if (dialog_entity.getDownLoadInfo() == null) {
             return;
         }
         SpUtils.saveDownNotice(activity, flag);
-        if(flag != 0)
+        if (flag != 0)
             mDownloadTaskService.start(dialog_entity.getDownLoadInfo());
     }
+
+    /**
+     * 我的游戏
+     */
+    private void myGame() {
+        if (dialog_entity.getType() != null && dialog_entity.getType().equals("my_game")) {
+            String gameAccountEtStr = gameAccountEt.getText() +"";
+            String gamePayEtStr = gamePayEt.getText() +"";
+            if(TextUtils.isEmpty(gameAccountEtStr)){
+                G.showToast("游戏账号不能为空!");
+                return;
+            }
+            if(TextUtils.isEmpty(gamePayEtStr)){
+                G.showToast("充值金额不能为空!");
+                return;
+            }
+
+        }
+    }
 }

+ 275 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/GamemakeMoneyAct.java

@@ -0,0 +1,275 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.design.widget.TabLayout;
+import android.support.v4.view.ViewPager;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import com.alibaba.fastjson.JSONArray;
+import com.kfzs.duanduan.ActDownloadMgr;
+import com.kfzs.duanduan.event.BigEvent;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GridViewEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.MyGridview;
+import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.view.adapter.AdpTryMakemoney;
+import com.sheep.gamegroup.view.adapter.AdpTrymakemoneyTabGridview;
+import com.sheep.gamegroup.view.fragment.FgtGameMakeMoney;
+import com.sheep.gamegroup.view.fragment.FgtMyGame;
+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.TitleBarUtils;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 游戏任务
+ * Created by ljy on 2018/6/12.
+ */
+
+public class GamemakeMoneyAct extends BaseActivity {
+    @BindView(R.id.indicator)
+    TabLayout indicator;
+    @BindView(R.id.pager)
+    ViewPager pager;
+    @BindView(R.id.tab_gridview)
+    MyGridview tabGridview;
+    @BindView(R.id.select_tab_iv)
+    ImageView selectTabIv;
+    @BindView(R.id.task_gridview_layout)
+    LinearLayout task_gridview_layout;
+    private Activity activity;
+
+    private AdpTryMakemoney mAdapter;
+    private String[] titles = new String[]{"推荐任务", "我的游戏"};
+
+    private AdpTrymakemoneyTabGridview tabGridviewAdp;
+    private ArrayList<Object> gridviewListAll = new ArrayList<>();
+    private ArrayList<Object> gridviewList = new ArrayList<>();
+    private boolean clickFlag = false;
+    private GridViewEntity gridViewEntity;//选中的
+    private int select;
+
+    private int is_succession;//0:一般任务 1:连续任务
+
+    private String title = "游戏任务";
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.try_makemoney_act_layout;
+    }
+
+    @Override
+    public void initView() {
+        activity = this;
+        EventBus.getDefault().register(activity);
+        is_succession = getIntent()
+                .getIntExtra(
+                        "is_succession", 0);
+        TitleBarUtils
+                .getInstance()
+                .setTitle(activity, title).setTitleFinish(activity)
+                .setRightImgBotton(activity, R.drawable.index_download, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        TitleBarUtils.getInstance()
+                                .setRightRedPoint(activity, View.GONE);
+                        startActivity(new Intent(activity, ActDownloadMgr.class));
+                        UMConfigUtils.onEvent(UMConfigUtils.Event.GAME_DOWNLOAD_MANAGER);
+                    }
+                });
+
+        mAdapter = new AdpTryMakemoney(getSupportFragmentManager(), this);
+        mAdapter.add(FgtGameMakeMoney.newInstance(0), titles[0]);
+        mAdapter.add(FgtMyGame.newInstance(2), titles[1]);
+        pager.setAdapter(mAdapter);
+        indicator.setupWithViewPager(pager);
+
+        tabGridviewAdp = new AdpTrymakemoneyTabGridview(activity, gridviewList);
+        tabGridview.setAdapter(tabGridviewAdp);
+        indicator.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
+            @Override
+            public void onTabSelected(TabLayout.Tab tab) {
+                if(tab.getPosition() == 0){
+                    task_gridview_layout.setVisibility(View.VISIBLE);
+                }else {
+                    task_gridview_layout.setVisibility(View.GONE);
+                }
+            }
+
+            @Override
+            public void onTabUnselected(TabLayout.Tab tab) {
+
+            }
+
+            @Override
+            public void onTabReselected(TabLayout.Tab tab) {
+
+            }
+        });
+    }
+
+    @Override
+    public void initListener() {
+        tabGridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                if(gridViewEntity == (GridViewEntity) gridviewList.get(position)){
+                    return;
+                }
+                select = position;
+                gridViewEntity = (GridViewEntity) gridviewList.get(position);
+                for(int i=0;i<gridviewList.size();i++){
+                    if(position == i){
+                        ((GridViewEntity) gridviewList.get(i)).setSelectState(true);
+                    }else {
+                        ((GridViewEntity) gridviewList.get(i)).setSelectState(false);
+
+                    }
+                    tabGridviewAdp.notifyDataSetChanged();
+                }
+                try{
+                    //刷新界面
+                    mAdapter.getItem(indicator.getSelectedTabPosition()).onResume();
+                    Log.e("-----select position",indicator.getSelectedTabPosition()+"");
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
+    @Override
+    public void initData() {
+        if(is_succession == 0){
+            SheepApp.get(activity)
+                    .getNetComponent()
+                    .getApiService()
+                    .getChildTask(1)
+                    .subscribeOn(Schedulers.io())
+                    .observeOn(AndroidSchedulers.mainThread())
+                    .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                        @Override
+                        public void onError(BaseMessage baseMessage) {
+                            G.showToast(baseMessage.getMsg()+"");
+                            task_gridview_layout.setVisibility(View.GONE);
+                        }
+
+                        @Override
+                        public void onNext(BaseMessage baseMessage) {
+
+                            task_gridview_layout.setVisibility(View.VISIBLE);
+                            List<GridViewEntity> entityList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), GridViewEntity.class);
+                            if(entityList != null){
+                                gridviewListAll.clear();
+                                gridviewListAll.add(new GridViewEntity(true, -1, "全部" ));
+                                gridviewListAll.addAll(entityList);
+                                setValueList2(clickFlag);
+                            }
+                        }
+                    });
+        }else {
+            task_gridview_layout.setVisibility(View.GONE);
+        }
+
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // TODO: add setContentView(...) invocation
+        ButterKnife.bind(this);
+    }
+
+    @OnClick(R.id.select_tab_iv)
+    public void onViewClicked() {
+        clickFlag = !clickFlag;
+        setValueList2(clickFlag);
+        tabGridviewAdp.notifyDataSetChanged();
+    }
+
+    /**
+     * 获取tab的值,fragment调用
+     */
+    public GridViewEntity getTabValue(){
+        return gridViewEntity;
+    }
+
+    /**
+     * 获取is_succession,是否是连续任务
+     */
+    public int getIsSuccession(){
+        return is_succession;
+    }
+
+
+    /**
+     * test
+     * list 赋值
+     */
+    private void setValueList() {
+        gridviewListAll.clear();
+        for (int i = 0; i < 10; i++) {
+            if(i == 0){
+                gridviewListAll.add(new GridViewEntity(true, "click_" + i));
+            }else {
+                gridviewListAll.add(new GridViewEntity(false, "click_" + i));
+            }
+
+        }
+        setValueList2(clickFlag);
+    }
+    private void setValueList2(boolean flag) {
+        gridviewList.clear();
+        if(flag || gridviewListAll.size() <= 4){
+            gridviewList.addAll(gridviewListAll);
+            selectTabIv.setRotation(180);
+        }else {
+            selectTabIv.setRotation(0);
+            for (int i = 0; i < 4; i++) {
+                gridviewList.add(gridviewListAll.get(i));
+            }
+        }
+        tabGridviewAdp.notifyDataSetChanged();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
+    }
+
+    /**
+     * 主要的事件广播接收更新处理
+     *
+     * @param event
+     */
+    @Subscribe
+    public void onEventMainThread(BigEvent event) {
+        switch (event.getEventTypes()) {
+            case TIPS_DOWN_ICON:
+                TitleBarUtils.getInstance()
+                        .setRightRedPoint(activity, View.VISIBLE);
+                break;
+        }
+    }
+}

+ 100 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -5,6 +5,8 @@ import android.content.Intent;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.annotation.RequiresApi;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.text.Html;
 import android.text.TextUtils;
 import android.view.View;
@@ -14,6 +16,7 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
@@ -25,6 +28,8 @@ import com.arialyy.aria.core.download.DownloadTask;
 import com.arialyy.aria.core.inf.IEntity;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
+import com.kfzs.duanduan.KFZSApp;
+import com.kfzs.duanduan.datashare.DDProviderHelper;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.event.EventTypes;
@@ -56,6 +61,7 @@ import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.view.adapter.AdpTaskDetailChildListview;
+import com.sheep.gamegroup.view.adapter.TaskdetailSonRecycleViewAdp;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
@@ -116,6 +122,20 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     View empty_view;
     @BindView(R.id.detail_shrae_friend_layout)
     LinearLayout detail_shrae_friend_layout;
+    @BindView(R.id.detail_item_layout_2)
+    LinearLayout detail_item_layout_2;
+    @BindView(R.id.detail_item_layout_3)
+    LinearLayout detail_item_layout_3;
+    /**
+     * 2.6详情改版
+     */
+    @BindView(R.id.detail_task_recyclerview)
+    RecyclerView detail_task_recyclerview;
+    @BindView(R.id.ems_game_layout)
+    RelativeLayout ems_game_layout;
+    @BindView(R.id.detail_share_friend_tv)
+    TextView detail_share_friend_tv;
+
     private Activity activity;
     @Inject
     TaskDetailPresenter presenter;
@@ -288,7 +308,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             btnTaskItem.setEnabled(false);
             btnTaskItem.setText("审核中");
         }
-        if(taskEty.getInspect_type() == 3){//应用自动审核任务
+        if(taskEty.getInspect_type() == 3 ||taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){//应用自动审核任务
             btnUpImag.setText("领取奖励");
         }
         if (type == DownloadTaskService.STATUS_INSTALLED) {
@@ -296,11 +316,13 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         } else {
             btnUpImag.setVisibility(View.GONE);
         }
+        btnUpImag.setVisibility(View.VISIBLE);
 
         taskSchedule();
         //2.6修改
         if(btn_show)
             bottom_btn_layout.setVisibility(View.GONE);
+        setSonVuewShow();
     }
 
     private void checkAcceptedTask() {
@@ -419,7 +441,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
      */
     private DownloadTaskService mDownloadTaskService;
 
-    @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag})
+    @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag, R.id.detail_share_friend_tv})
     public void onViewClicked(View view) {
         try {
             switch (view.getId()) {
@@ -495,6 +517,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     }
                     break;
                 case R.id.btn_up_imag:
+                    if(taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){
+                        accepteReceiveAward();
+                    }else
                     if(taskEty.getInspect_type() == 3) {//应用自动审核任务
                         try {
                             checkAndCommitTask();
@@ -506,6 +531,19 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                         UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_UPLOAD_PICTURE);
                     }
                     break;
+                case R.id.detail_share_friend_tv:
+                    try{
+                        StringBuffer stringBuffer = new StringBuffer();
+                        stringBuffer.append(SheepApp.getInstance().getConnectAddress().getAppUrl()+"/#/?");
+                        stringBuffer.append("authorization="+ DDProviderHelper.getInstance().getLastUserToken(KFZSApp.context));
+                        stringBuffer.append("&task_id="+taskReleaseEty.getAccepted_task_id());
+                        stringBuffer.append("&invitation_code="+MyDbManager.getInstance().dbFindValue());
+                        CommonUtil.getInstance()
+                                .popShare(activity, stringBuffer.toString() +"", "all");
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
+                    break;
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -856,4 +894,64 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             presenter.taskDesc(taskId);
         }
     }
+
+    /**
+     * 子任务模块显示
+     */
+    TaskdetailSonRecycleViewAdp sonRecycleViewAdp;
+    private void setSonVuewShow(){
+        detail_task_recyclerview.setVisibility(View.GONE);
+        ems_game_layout.setVisibility(View.GONE);
+        switch (taskEty.getTask_type()){
+            case 1000://连续任务
+                if(taskEty.getChild().size() > 0 && taskEty.getChild().get(0).getDescEntityList() != null){
+                    detail_task_recyclerview.setVisibility(View.VISIBLE);
+                    detail_item_layout_2.setVisibility(View.GONE);
+                    detail_item_layout_3.setVisibility(View.GONE);
+                    detail_task_recyclerview.setLayoutManager(new LinearLayoutManager(activity));
+                    sonRecycleViewAdp = new TaskdetailSonRecycleViewAdp(taskEty.getChild(), activity);
+                    detail_task_recyclerview.setAdapter(sonRecycleViewAdp);
+                }
+
+                break;
+            case 1002:
+            case 1003://游戏任务
+                ems_game_layout.setVisibility(View.VISIBLE);
+                break;
+            default:
+
+                break;
+        }
+
+//        detail_task_recyclerview.setAdapter();
+    }
+
+    /**
+     * 领取奖励
+     */
+    private void accepteReceiveAward(){
+        showProgress();
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .receive_award(taskReleaseEty.getAccepted_task_id())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        hideProgress();
+                        G.showToast(baseMessage.getErrorMsg());
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        hideProgress();
+                        G.showToast(baseMessage.getErrorMsg());
+                        initData();
+
+                        taskReleaseEty.getTask().setRelease_task_id(taskReleaseEty.getId());
+                    }
+                });
+    }
 }

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

@@ -61,7 +61,7 @@ public class TryMakeMoneyact extends BaseActivity {
     private Activity activity;
 
     private AdpTryMakemoney mAdapter;
-    private String[] titles = new String[]{"推荐任务", "我的游戏"};
+    private String[] titles = new String[]{"推荐任务", "即将开始"};
 
     private AdpTrymakemoneyTabGridview tabGridviewAdp;
     private ArrayList<Object> gridviewListAll = new ArrayList<>();

+ 207 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonRecycleViewAdp.java

@@ -0,0 +1,207 @@
+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;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.model.entity.ScreenshotsEntity;
+import com.sheep.gamegroup.model.entity.TaskChild;
+import com.sheep.gamegroup.model.entity.TaskDescEntity;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.SelfCountDownTimer;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import org.w3c.dom.Text;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * 任务详情子模块显示adp
+ * Created by ljy on 2018/6/12.
+ */
+
+public class TaskdetailSonRecycleViewAdp extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
+
+    private List<TaskChild> descEntityArrayList;
+    private Context context;
+
+    public TaskdetailSonRecycleViewAdp(List<TaskChild> descEntityArrayList, Context context) {
+        this.descEntityArrayList = descEntityArrayList;
+        this.context = context;
+    }
+
+    @NonNull
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
+        LinearLayout view = (LinearLayout) LayoutInflater.from(context)
+                .inflate(R.layout.taskdetail_recycler_item, 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) {
+        final TaskChild descEntity = descEntityArrayList.get(i);
+        if(descEntity == null)
+            return;
+        LinearLayout title_item_layout = viewHolder.itemView.findViewById(R.id.title_item_layout);
+        TextView title_item_tv = viewHolder.itemView.findViewById(R.id.title_item_tv);
+        final ImageView select_tab_iv = viewHolder.itemView.findViewById(R.id.select_tab_iv);
+        TextView item_remaining_time_tv = viewHolder.itemView.findViewById(R.id.item_remaining_time_tv);
+        final RecyclerView item_detail_listview = viewHolder.itemView.findViewById(R.id.item_detail_listview);
+        /**
+         * 截图
+         */
+        LinearLayout taskdetail_screenshot_layout = viewHolder.itemView.findViewById(R.id.taskdetail_screenshot_layout);
+        RecyclerView recycler_screenshot_view = viewHolder.itemView.findViewById(R.id.recycler_screenshot_view);
+        title_item_layout.setVisibility(View.VISIBLE);
+        CommonUtil.getInstance()
+                    .bindDataTaskDetailSon(descEntity, title_item_tv, i);
+
+        if(descEntity.getDescEntityList() != null && descEntity.getDescEntityList().size() > 0){
+            taskdetail_screenshot_layout.setVisibility(View.VISIBLE);
+        }else {
+            taskdetail_screenshot_layout.setVisibility(View.GONE);
+        }
+        if(i == 0){
+            descEntityArrayList.get(i).setSelectFlag(true);
+            select_tab_iv.setRotation(180);
+            item_detail_listview.setVisibility(View.VISIBLE);
+        }else {
+            descEntityArrayList.get(i).setSelectFlag(false);
+            select_tab_iv.setRotation(0);
+            item_detail_listview.setVisibility(View.GONE);
+        }
+        /**
+         * 任务详情
+         */
+        if(descEntity.getDemo_time() > 0){
+            CommonUtil.getInstance().getHashMap(item_remaining_time_tv);
+
+            item_remaining_time_tv.setVisibility(View.VISIBLE);
+            SelfCountDownTimer selfCountDownTimer = CommonUtil.getInstance().getCountDownTimer(descEntity.getDemo_time(), item_remaining_time_tv);
+            selfCountDownTimer.reset(descEntity.getDemo_time());
+            selfCountDownTimer.start();
+
+            CommonUtil.getInstance().addTimerHashMap(item_remaining_time_tv, selfCountDownTimer);
+        }else {
+            item_remaining_time_tv.setVisibility(View.GONE);
+        }
+        item_detail_listview.setHasFixedSize(true);
+        item_detail_listview.setLayoutManager(new LinearLayoutManager(context));
+        item_detail_listview.setAdapter(new RecyclerView.Adapter() {
+            @NonNull
+            @Override
+            public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
+                LinearLayout view = (LinearLayout) LayoutInflater.from(context)
+                        .inflate(R.layout.textview_layout, 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, int i) {
+                TaskDescEntity taskDescEntity = descEntity.getDescEntityList().get(i);
+                TextView textView = viewHolder.itemView.findViewById(R.id.textview);
+                textView.setText(taskDescEntity.getStep() + "、" + taskDescEntity.getDesc());
+            }
+
+            @Override
+            public int getItemCount() {
+                return descEntity.getDescEntityList().size();
+            }
+        });
+        /**
+         * 截图
+         */
+        recycler_screenshot_view.setHasFixedSize(true);
+        recycler_screenshot_view.setLayoutManager(new LinearLayoutManager(context));
+        recycler_screenshot_view.setAdapter(new RecyclerView.Adapter() {
+            @NonNull
+            @Override
+            public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
+                LinearLayout view = (LinearLayout) LayoutInflater.from(context)
+                        .inflate(R.layout.taskdetail_desc_item_screens, 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, int i) {
+                ScreenshotsEntity taskDescEntity = descEntity.getScreenshotsList().get(i);
+                ImageView screens_iv = viewHolder.itemView.findViewById(R.id.screens_iv);
+                TextView screens_tv = viewHolder.itemView.findViewById(R.id.screens_tv);
+
+                screens_iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
+                int with = G.WIDTH / 3;
+                int heigth = with ;
+                screens_iv.setLayoutParams(new RecyclerView.LayoutParams(with, heigth));
+
+                screens_tv.setText("" + taskDescEntity.getDesc());
+                Glide.with(context)
+                        .load(taskDescEntity.getImg())
+                        .into(screens_iv);
+            }
+
+            @Override
+            public int getItemCount() {
+                return descEntity.getScreenshotsList().size();
+            }
+        });
+
+
+        select_tab_iv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                boolean flag = descEntity.isSelectFlag();
+                descEntity.setSelectFlag(!descEntity.isSelectFlag());
+                if(i == 0){
+                    descEntityArrayList.get(i).setSelectFlag(true);
+                    select_tab_iv.setRotation(180);
+                    item_detail_listview.setVisibility(View.VISIBLE);
+                }else {
+                    descEntityArrayList.get(i).setSelectFlag(false);
+                    select_tab_iv.setRotation(0);
+                    item_detail_listview.setVisibility(View.GONE);
+                }
+                notifyDataSetChanged();
+            }
+        });
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return descEntityArrayList == null?0:descEntityArrayList.size();
+    }
+}

+ 38 - 56
app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java

@@ -1,5 +1,6 @@
 package com.sheep.gamegroup.view.adapter;
 
+import android.app.Activity;
 import android.content.Context;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.LinearLayoutManager;
@@ -17,7 +18,11 @@ 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.datashare.provider.download.DownLoadInfo;
+import com.kfzs.duanduan.services.DownloadTaskService;
 import com.kfzs.duanduan.utils.ApkUtils;
+import com.sheep.gamegroup.model.entity.DialogEntity;
+import com.sheep.gamegroup.model.entity.OrienteeringDetail;
 import com.sheep.gamegroup.model.entity.RecyleObj;
 import com.sheep.gamegroup.model.entity.RecyleType;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
@@ -32,6 +37,7 @@ import com.sheep.gamegroup.util.SelfCountDownTimer;
 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.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -53,6 +59,10 @@ import static com.sheep.gamegroup.model.entity.RecyleType.RUN_TASK;
  */
 
 public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
+    /**
+     * List view item text view tag
+     */
+    public static final String PUBLIC_TAG_PREFIX_TEXTVIEW_LIST   = "PUBLIC_TAG_PREFIX_TEXTVIEW_LIST";
     private final static int TAG_ID_TEMP = R.id.view_tag_1;
     private HashMap<View, SelfCountDownTimer> timerHashMap= new HashMap<>();
     @Inject
@@ -95,7 +105,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 bindReleaseTask(holder, (List<TaskReleaseEty>) recyleObj.getDataObj());
                 break;
             case GAME_TASK://我的游戏
-                bindGameTask(holder, (List<TaskReleaseEty>) recyleObj.getDataObj());
+                bindGameTask(holder, (List<OrienteeringDetail>) recyleObj.getDataObj());
                 break;
         }
 
@@ -138,7 +148,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
      * @param holder
      * @param etyList
      */
-    private void bindGameTask(ViewHolder holder, final List<TaskReleaseEty> etyList) {
+    private void bindGameTask(ViewHolder holder, final List<OrienteeringDetail> etyList) {
         RecyclerView recyclerView = holder.getView(R.id.release_task_listview, RecyclerView.class);
         recyclerView.setHasFixedSize(true);
         recyclerView.setLayoutManager(new LinearLayoutManager(context));
@@ -159,7 +169,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
 
             @Override
             public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) {
-                if(etyList.get(i) == null || etyList.get(i).getTask() == null){
+                if(etyList.get(i) == null || etyList.get(i).getPackage_name() == null){
                     return;
                 }
                 viewHolder.itemView.setTag(TAG_ID_TEMP, etyList.get(i).getId());
@@ -167,27 +177,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 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;
-                    }
+                    String titleStr = "可接取";
                     ((TextView)viewHolder.itemView.findViewById(R.id.item_title_tv)).setText(titleStr+"");
 
                 }else{
@@ -201,7 +191,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 }
                 detail_task_tv.setText("去充值");
                 ((TextView)viewHolder.itemView.findViewById(R.id.item_date_tv)).setText(
-                        "截止时间:" + TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(etyList.get(i).getDeadline()))+"");
+                        "可定向消费:" + etyList.get(i).getBalance() +"元");
 
                 viewHolder.itemView.findViewById(R.id.cancel_task_tv).setVisibility(View.GONE);
 
@@ -210,54 +200,51 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 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());
+                final boolean isInstall = PackageUtil.isAppInstalled(SheepApp.mContext, etyList.get(i).getPackage_name());
                 String taskTypeTvValue = "下载游戏";
                 if(isInstall){//已经安装
                     taskTypeTvValue = "启动游戏";
-                    PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getTask().getPackage_names());
-                }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getTask().getPackage_names()))){
+                    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).getTask().getPackage_names()));
+                    ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
                 }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.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()+"份");
+//                ((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(etyList.get(i).getTask().getPackage_names()))){
-                            ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getTask().getPackage_names()));
+                            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();
+                            }
                         }
                     }
                 });
+                //去充值
                 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);
+
+                        ViewUtil.showGamePayAccount((Activity) context, etyList.get(i).getGame_id());
                     }
                 });
                 Glide.with(context)
-                        .load(etyList.get(i).getTask().getIcon()+"")
+                        .load(etyList.get(i).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() {
@@ -266,15 +253,10 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                         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());
+                        Jump2View.getInstance().goTaskDetailView(context,  etyList.get(i).getTask_id());
                     }
                 });
-                TestUtil.setDebugDownLoad(context, viewHolder.itemView, etyList.get(i).getTask());
+//                TestUtil.setDebugDownLoad(context, viewHolder.itemView, etyList.get(i).getTask());
             }
 
             @Override

+ 98 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/expandadapter/AdpPayGameDialog.java

@@ -0,0 +1,98 @@
+package com.sheep.gamegroup.view.adapter.expandadapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AbsListView;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.model.entity.GridViewEntity;
+import com.sheep.gamegroup.model.entity.RechargeEntity;
+import com.sheep.gamegroup.view.adapter.WithdrawalAdapter;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.List;
+
+/**
+ *任务游戏支付列表
+ * Created by ljy on 2018/6/13.
+ */
+
+public class AdpPayGameDialog extends BaseAdapter {
+    private List<RechargeEntity> list;
+    private Context context;
+
+    public AdpPayGameDialog(List<RechargeEntity> list, Context context) {
+        this.list = list;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return list.size();
+    }
+
+    @Override
+    public RechargeEntity getItem(int position) {
+        return list.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+
+
+    @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.adp_pay_game_dialog, null);
+
+            holder.pay_game_dialog_item_tv = convertView.findViewById(R.id.pay_game_dialog_item_tv);
+            holder.pay_game_dialog_item_img = convertView.findViewById(R.id.pay_game_dialog_item_img);
+
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+        RechargeEntity priceShow = getItem(position);
+        switch (priceShow.getId()){
+            case 1://支付宝
+            case 2://微信
+                setValue(priceShow.isSelect() ? R.mipmap.gou_choose_blue : R.mipmap.gou_choose_gray,
+                        priceShow.isSelect(),
+                        holder.pay_game_dialog_item_img,
+                        holder.pay_game_dialog_item_tv);
+                break;
+            case 3://绵羊
+            default:
+                setValue(priceShow.isSelect() ? R.mipmap.circle_check_blue : R.mipmap.circle_uncheck_blue,
+                        priceShow.isSelect(),
+                        holder.pay_game_dialog_item_img,
+                        holder.pay_game_dialog_item_tv);
+                break;
+        }
+        holder.pay_game_dialog_item_tv.setText(priceShow.getName()+"");
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        ImageView pay_game_dialog_item_img;
+        TextView pay_game_dialog_item_tv;
+    }
+
+    private void setValue(int intRes, boolean flag, ImageView view, TextView textView){
+        Glide.with(context)
+                .load(intRes)
+                .into(view);
+        textView.setTextColor(flag ? context.getResources().getColor(R.color.community_blue_text) : context.getResources().getColor(R.color.black_444444));
+    }
+}

+ 118 - 0
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayAccount.java

@@ -0,0 +1,118 @@
+package com.sheep.gamegroup.view.dialog;
+
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.support.v7.app.AlertDialog;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.OrienteeringDetail;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.activity.ActMyMoney;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.List;
+
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 游戏充值账号输入
+ * Created by ljy on 2018/6/13.
+ */
+
+public class DialogPayAccount {
+    private Activity activity;
+    private int gameId;
+
+    public DialogPayAccount(Activity activity) {
+        this.activity = activity;
+    }
+
+    public void showPayaccount(){
+        if(activity == null){
+            return;
+        }
+        View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
+        final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
+                .setView(dialog_parent)
+                .create();
+        TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
+        final View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
+        LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
+        View view = LayoutInflater.from(activity).inflate(R.layout.dialog_pay_account, dialog_center_ll, true);
+        dialog_title.setText("游戏中心");
+
+        TextView sureTv = view.findViewById(R.id.pay_sure_tv);
+        EditText game_account_et = view.findViewById(R.id.game_account_et);
+        EditText game_pay_et = view.findViewById(R.id.game_pay_et);
+        final String game_account_etStr = game_account_et.getText().toString().trim()+"";
+        final String game_pay_etStr = game_pay_et.getText().toString().trim()+"";
+
+        sureTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if(TextUtils.isEmpty(game_account_etStr)){
+                    G.showToast("游戏账号不能为空!");
+                    return;
+                }
+                if(TextUtils.isEmpty(game_pay_etStr)){
+                    G.showToast("充值金额不能为空!");
+                    return;
+                }
+                ViewUtil.showGamePay(activity, game_account_etStr, game_pay_etStr,gameId);
+
+                dialog.dismiss();
+            }
+        });
+
+        dialog_close.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dialog.dismiss();
+            }
+        });
+
+        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+            @Override
+            public void onDismiss(DialogInterface dialogInterface) {
+            }
+        });
+        try {
+            dialog.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void initData(){
+        SheepApp.getInstance().getNetComponent().getApiService().can_user_sheep_amount(0, 1)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
+                        List<OrienteeringDetail> newList = baseMessage.getDatas(OrienteeringDetail.class);
+
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        G.showToast(baseMessage);
+                    }
+                });
+    }
+}

+ 255 - 0
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayGame.java

@@ -0,0 +1,255 @@
+package com.sheep.gamegroup.view.dialog;
+
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.support.v7.app.AlertDialog;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.OrienteeringDetail;
+import com.sheep.gamegroup.model.entity.RechargeEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.MathUtil;
+import com.sheep.gamegroup.util.MyDbManager;
+import com.sheep.gamegroup.util.MyListview;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.activity.RechargeAct;
+import com.sheep.gamegroup.view.adapter.expandadapter.AdpPayGameDialog;
+import com.sheep.gamegroup.view.customview.RefreshLayout;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by ljy on 2018/6/13.
+ */
+
+public class DialogPayGame {
+    private Activity activity;
+    private String game_account_etStr;
+    private String game_pay_etStr;
+    private int gao;
+    private int maxShowCount;
+    private RefreshLayout swipe_container;
+    private MyListview pay_listview;
+    private AdpPayGameDialog adpPayGameDialog;
+    private List<RechargeEntity> list = new ArrayList<>();
+
+    private String balance;//金额
+
+    private int gameId;
+    private AlertDialog dialog;
+
+    public DialogPayGame(Activity activity, String game_account_etStr, String game_pay_etStr,int gameId) {
+        this.activity = activity;
+        this.game_account_etStr = game_account_etStr;
+        this.game_pay_etStr = game_pay_etStr;
+        this.gameId = gameId;
+        gao = SheepApp.getInstance().getResources().getDimensionPixelSize(R.dimen.content_padding_10)*5;
+        maxShowCount = Math.max(6, G.HEIGHT*3/4/gao);
+        balance = "";
+    }
+
+    public void showPayGame(){
+        if(activity == null){
+            return;
+        }
+        View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
+        dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
+                .setView(dialog_parent)
+                .create();
+        TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
+        final View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
+        LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
+        View view = LayoutInflater.from(activity).inflate(R.layout.dialog_pa_game_center, dialog_center_ll, true);
+        dialog_title.setText("支付中心");
+
+        TextView sureTv = view.findViewById(R.id.pay_sure_tv);
+        //你需要支付1110元
+        TextView pay_game_show_price_tv = view.findViewById(R.id.pay_game_show_price_tv);
+        pay_game_show_price_tv.setText("你需要支付"+ game_pay_etStr +"元");
+        pay_listview = view.findViewById(R.id.pay_listview);
+        adpPayGameDialog = new AdpPayGameDialog(list ,activity);
+        pay_listview.setAdapter(adpPayGameDialog);
+
+        pay_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                RechargeEntity rechargeEntity = adpPayGameDialog.getItem(position);
+                rechargeEntity.setSelect(!rechargeEntity.isSelect());
+                adpPayGameDialog.notifyDataSetChanged();
+            }
+        });
+        sureTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                surePay();
+            }
+        });
+
+        dialog_close.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dialog.dismiss();
+            }
+        });
+
+        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+            @Override
+            public void onDismiss(DialogInterface dialogInterface) {
+            }
+        });
+        try {
+            dialog.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        initData();
+    }
+
+    public void initData(){
+        balance = "";
+        ViewUtil.newInstance()
+                .showProgress(activity, false);
+        SheepApp.getInstance().getNetComponent().getApiService().can_user_sheep_amount(Integer.valueOf(game_pay_etStr), gameId)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        ViewUtil.newInstance()
+                                .hideProgress(activity);
+                        LogUtil.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
+                        try{
+                            String balances = (String) baseMessage.getData();
+                            balance = MathUtil.add(TextUtils.isEmpty(balances) ? "0" : balances,
+                                    TextUtils.isEmpty(MyDbManager.getInstance().dbFindValueBalance()) ? "0" : MyDbManager.getInstance().dbFindValueBalance());
+
+
+                        }catch (Exception e){
+                            e.printStackTrace();
+                        }
+                        getNetComponent();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        ViewUtil.newInstance()
+                                .hideProgress(activity);
+                        LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        G.showToast(baseMessage);
+                    }
+                });
+
+    }
+    private void getNetComponent(){
+        ViewUtil.newInstance()
+                .showProgress(activity, false);
+        // 参数 1:没有绵羊币的,2:是全部
+        SheepApp.getInstance().getNetComponent().getApiService().getRechargePayway("1")
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        ViewUtil.newInstance()
+                                .hideProgress(activity);
+                        List<RechargeEntity> lists = baseMessage.getDatas(RechargeEntity.class);
+                        list.clear();
+                        if(Double.valueOf(balance) > 0){
+
+                            RechargeEntity rechargeEntity = new RechargeEntity();
+                            rechargeEntity.setSelect(true);
+                            rechargeEntity.setId(3);
+                            rechargeEntity.setName("绵羊币 (可用"+balance+") 指非定向货币+定向货币");
+                            list.add(rechargeEntity);
+                        }
+                        if(!lists.isEmpty()){
+                            list.addAll(lists);
+
+                            int size = Math.min(maxShowCount, ListUtil.size(list));
+                            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, size * gao);
+                            pay_listview.setLayoutParams(layoutParams);
+                            adpPayGameDialog.notifyDataSetChanged();
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        ViewUtil.newInstance()
+                                .hideProgress(activity);
+                        G.showToast(baseMessage.getMsg() + "");
+                    }
+                });
+    }
+    /**
+     * 支付提交
+     */
+    private void surePay(){
+        if(list.isEmpty()){
+            return;
+        }
+        boolean use_voucher = false;
+        int pay_type = 1;
+        for(RechargeEntity r: list){
+            if(r.getId() == 3){
+                if(r.isSelect()){
+                    use_voucher = true;
+                }
+            }else {
+                if(r.isSelect()){
+                    pay_type = r.getId();
+                }
+            }
+        }
+        ViewUtil.newInstance()
+                .showProgress(activity, false);
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("account", game_account_etStr);
+        jsonObject.put("amount", game_pay_etStr);
+        jsonObject.put("game_id", gameId+"");
+        jsonObject.put("pay_type", pay_type);
+        jsonObject.put("use_voucher", use_voucher);
+        SheepApp.getInstance().getNetComponent().getApiService().game_consumption(jsonObject)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        ViewUtil.newInstance()
+                                .hideProgress(activity);
+                        CommonUtil.getInstance()
+                                .pay(baseMessage.getData().toString(),
+                                    activity,
+                                        dialog);
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        ViewUtil.newInstance()
+                                .hideProgress(activity);
+                        G.showToast(baseMessage.getMsg() + "");
+                    }
+                });
+    }
+}

+ 478 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtGameMakeMoney.java

@@ -0,0 +1,478 @@
+package com.sheep.gamegroup.view.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+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 com.alibaba.fastjson.JSONArray;
+import com.kfzs.duanduan.event.BigEvent;
+import com.sheep.gamegroup.di.components.DaggerFgtMakeMoneyComponent;
+import com.sheep.gamegroup.di.modules.TryMakeMoneyModule;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GridViewEntity;
+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.model.util.SheepSubscriber;
+import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.view.activity.GamemakeMoneyAct;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
+import com.sheep.gamegroup.view.dialog.DialogOrienteeringDetails;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.gamegroup.presenter.TryMakeMoneyContract;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+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;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by ljy on 2018/6/12.
+ */
+
+public class FgtGameMakeMoney extends BaseFragment implements TryMakeMoneyContract.View {
+    @BindView(R.id.recyclerview)
+    RecyclerView recyclerview;
+    @BindView(R.id.refresh)
+    SwipeRefreshLayout refresh;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    Unbinder unbinder;
+
+    @Inject
+    TryMakeMoneyPresenter presenter;
+    private Activity activity;
+    private TryMakeMoneyAdp tryMakeMoneyAdp;
+    private int position = 0;
+    private List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();
+    private List<TaskReleaseEty> releaseEtyListsBegin = new ArrayList<>();
+    private int type = 0;
+    private GridViewEntity gridViewEntity;//选中的
+    private int is_succession;//0:一般任务 1:连续任务
+
+    private void checkAndInitView() {
+        if(refresh == null)
+            refresh = findViewById(R.id.refresh);
+        if(empty_view == null)
+            empty_view = findViewById(R.id.empty_view);
+    }
+    private void notifyDataSetChanged(){
+        checkAndInitView();
+        tryMakeMoneyAdp.refreshAdapter();
+        if(tryMakeMoneyAdp.isEmpty() && releaseEtyLists.isEmpty() && releaseEtyListsBegin.isEmpty()){
+
+            empty_view.setVisibility(View.VISIBLE);
+        }else {
+            empty_view.setVisibility(View.GONE);
+        }
+        refresh.setRefreshing(false);
+    }
+    public static FgtGameMakeMoney newInstance(int type){
+        FgtGameMakeMoney fgtTryMakeMoney = new FgtGameMakeMoney();
+        Bundle bundle = new Bundle();
+        bundle.putInt("type", type);
+        fgtTryMakeMoney.setArguments(bundle);
+        return fgtTryMakeMoney;
+    }
+
+    public FgtGameMakeMoney() {
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        // TODO: inflate a fragment view
+        View rootView = super.onCreateView(inflater, container, savedInstanceState);
+        unbinder = ButterKnife.bind(this, rootView);
+        Bundle bundle = getArguments();
+        if(bundle != null){
+            type = bundle.getInt("type", 0);
+        }
+        return rootView;
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.fgt_try_makemoney_layout;
+    }
+
+    @Override
+    public void onViewCreated() {
+
+        initView();
+    }
+
+    public void initView() {
+        is_succession = ((GamemakeMoneyAct)getActivity()).getIsSuccession();//0:一般任务 1:连续任务
+        EventBus.getDefault().register(this);
+        activity = getActivity();
+        DaggerFgtMakeMoneyComponent.builder()
+                .netComponent(SheepApp.get(activity).getNetComponent())
+                .tryMakeMoneyModule(new TryMakeMoneyModule(FgtGameMakeMoney.this))
+                .build()
+                .inject(FgtGameMakeMoney.this);
+        recyclerview.setLayoutManager(new LinearLayoutManager(activity));
+        tryMakeMoneyAdp = new TryMakeMoneyAdp(activity);
+        for (int i = 0; i < 3; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        recyclerview.setAdapter(tryMakeMoneyAdp);
+
+        initListener();
+
+    }
+
+    public void initListener() {
+        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                initData();
+            }
+        });
+        recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+                super.onScrollStateChanged(recyclerView, newState);
+            }
+
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+
+                int topRowVerticalPosition =
+                        (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
+
+                refresh.setEnabled(topRowVerticalPosition >= 0);
+            }
+        });
+    }
+    public void reFresh(){
+//        if(refresh.isRefreshing()){
+//            return;
+//        }
+        refresh.setRefreshing(true);
+        initData();
+    }
+    public void initData() {
+        empty_view.setVisibility(View.GONE);
+        type = 0;
+        position = 0;
+        releaseEtyLists.clear();
+        tryMakeMoneyAdp.clear();
+        tryMakeMoneyAdp.addType(type);
+        for (int i = 0; i < 3; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        tryMakeMoneyAdp.setTaskAcceptedEty(null);
+        tryMakeMoneyAdp.setIs_succession(is_succession);
+        gridViewEntity = ((GamemakeMoneyAct)getActivity()).getTabValue();
+        if(getActivity() instanceof  GamemakeMoneyAct)
+            SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .run_game_task()
+                    .subscribeOn(Schedulers.io())
+                    .observeOn(AndroidSchedulers.mainThread())
+                    .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                        @Override
+                        public void onError(BaseMessage baseMessage) {
+                            hideProgress();
+                            try {
+                                switch (baseMessage.getCode()){
+                                    case 300://未查询到数据
+                                        G.showToast(" 未查询到数据!");
+                                        break;
+                                    default:
+                                        G.showToast(" 网络错误!");
+                                        break;
+                                }
+                            }catch (Exception e){
+                                e.printStackTrace();
+                                G.showToast(" 网络错误!");
+                            }
+                            getNetWork(type);
+                            notifyDataSetChanged();
+                        }
+
+                        @Override
+                        public void onNext(BaseMessage baseMessage) {
+                            hideProgress();
+                            try{
+                                List<TaskAcceptedEty> taskAcceptedEty = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
+                                if(taskAcceptedEty != null && taskAcceptedEty.size()>0){
+                                    tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, taskAcceptedEty),0);
+                                    tryMakeMoneyAdp.addPresenter(presenter);
+                                    position ++;
+                                }
+                            }catch (Exception e){
+                                e.printStackTrace();
+                            }
+                            getNetWork(type);
+                            notifyDataSetChanged();
+
+                        }
+                    });
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        unbinder.unbind();
+
+        EventBus.getDefault().unregister(this);
+    }
+
+    @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("取消任务成功");
+        CommonUtil.getInstance().setTAskEnty(null);
+        reFresh();
+    }
+
+    @Override
+    public void giveUpTaskFailView(Object o) {
+        try {
+            BaseMessage baseMessage = (BaseMessage) o;
+            G.showToast(baseMessage.getMsg()+"");
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void returnTaskTaskUpdataView(Object o) {
+
+        try{
+            BaseMessage baseMessage = (BaseMessage) o;
+            List<TaskAcceptedEty> taskAcceptedEty = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskAcceptedEty.class);
+            if(taskAcceptedEty != null && taskAcceptedEty.size()>0){
+                tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RUN_TASK, taskAcceptedEty),0);
+                tryMakeMoneyAdp.addPresenter(presenter);
+                position ++;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        getNetWork(type);
+        notifyDataSetChanged();
+    }
+
+    @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(" 网络错误!");
+        }
+        getNetWork(type);
+        notifyDataSetChanged();
+    }
+
+    /**
+     *  获取已经发布任务
+     * @param o
+     */
+    @Override
+    public void releaseTaskTaskUpdataView(Object o) {
+        try{
+            if(type == 0){
+                type = 1;
+
+
+                BaseMessage baseMessage = (BaseMessage) o;
+                List<TaskReleaseEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+                if(releaseEtyList != null){
+                    releaseEtyLists.addAll(releaseEtyList);
+                    tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists),position);
+                    position++;
+                }
+
+                getNetWork(type);
+            }else if(type == 1){
+                BaseMessage baseMessage = (BaseMessage) o;
+                List<TaskReleaseEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+                if(releaseEtyList != null){
+                    releaseEtyListsBegin.clear();
+                    releaseEtyListsBegin.addAll(releaseEtyList);
+                    tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.BEGIN_TASK, releaseEtyListsBegin),position);
+                    position++;
+                }
+            }
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        notifyDataSetChanged();
+    }
+
+    @Override
+    public void failReleaseTask2View(Object o) {
+
+        if(type == 0){
+            type = 1;
+            getNetWork(type);
+        }
+        notifyDataSetChanged();
+    }
+
+    @Subscribe
+    public void onEventMainThread(BigEvent event){
+        switch (event.getEventTypes()){
+            case ONFRESH_TRYMAKEMANY_PAGE:
+//                reFresh();
+                break;
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+    }
+    /**
+     * 滚动到顶部
+     */
+    private boolean move;
+    private String string = "0";
+    private void goTop(){
+        final LinearLayoutManager manager = (LinearLayoutManager) recyclerview.getLayoutManager();
+        int fir = manager.findFirstVisibleItemPosition();
+        int end = manager.findLastVisibleItemPosition();
+        final int p = Integer.parseInt(string);
+        if (p <= fir) {
+            recyclerview.scrollToPosition(p);
+        } else if (p <= end) {
+            int top = recyclerview.getChildAt(p - fir).getTop();
+            recyclerview.scrollBy(0, top);
+        } else {
+            recyclerview.scrollToPosition(p);    //先让当前view滚动到列表内
+            move = true;
+        }
+        recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener()
+        {
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+                super.onScrolled(recyclerView, dx, dy);
+                if (move) {
+                    move = false;
+                    int n = p - manager.findFirstVisibleItemPosition();
+                    if (n >= 0 && n < recyclerView.getChildCount()) {
+                        recyclerView.scrollBy(0, recyclerView.getChildAt(n).getTop()); //滚动到顶部
+                    }
+                }
+            }
+        });
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if(tryMakeMoneyAdp != null){
+            tryMakeMoneyAdp.cancelAllTimers();
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (presenter != null) {
+            reFresh();
+        }
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        try {
+
+            if(tryMakeMoneyAdp != null){
+
+                tryMakeMoneyAdp.refreshAdapter();
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 即将开始
+     * type: 0 1
+     */
+    private void getNetWork(int type){
+        if(type > 1){
+            return;
+        }
+        RequestParameEty parameEty = new RequestParameEty();
+        parameEty.setHashMap(
+                CommonUtil.getInstance()
+                        .setHashMap(1,
+                                100,
+                                SheepApp.getInstance().getConnectAddress().getPlatForm(),
+                                0,
+                                0,
+                                type,
+                                1002 + ","+ 1003,
+                                0));
+        presenter.releaseTask(parameEty);
+    }
+}

+ 261 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMyGame.java

@@ -0,0 +1,261 @@
+package com.sheep.gamegroup.view.fragment;
+
+import android.app.Activity;
+import android.os.Bundle;
+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.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.arialyy.annotations.Download;
+import com.arialyy.aria.core.download.DownloadTask;
+import com.kfzs.duanduan.services.DownloadTaskService;
+import com.kfzs.duanduan.utils.ApkUtils;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.OrienteeringDetail;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
+import com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout;
+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 org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+
+import java.util.List;
+import java.util.Locale;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by ljy on 2018/6/12.
+ */
+
+public class FgtMyGame extends BaseFragment {
+
+    @BindView(R.id.img_list_empty)
+    ImageView imgListEmpty;
+    @BindView(R.id.txt_list_empty)
+    TextView txtListEmpty;
+    @BindView(R.id.recyclerview)
+    RecyclerView recyclerview;
+    @BindView(R.id.refresh)
+    SheepmSwipeRefreshLayout refresh;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    Unbinder unbinder;
+    private Activity activity;
+    private TryMakeMoneyAdp tryMakeMoneyAdp;
+    private int page = 1;//页数
+    private int per_page = 100;
+    private List<OrienteeringDetail> list = ListUtil.emptyList();
+    private int type = 0;
+
+    public static FgtMyGame newInstance(int type){
+        FgtMyGame fgtTryMakeMoney = new FgtMyGame();
+        Bundle bundle = new Bundle();
+        bundle.putInt("type", type);
+        fgtTryMakeMoney.setArguments(bundle);
+        return fgtTryMakeMoney;
+    }
+    @Override
+    public int getLayoutId() {
+        return R.layout.fgt_try_makemoney_layout;
+    }
+
+    @Override
+    public void onViewCreated() {
+        activity = getActivity();
+        initView();
+    }
+    @Subscribe
+    public void initView() {
+
+//        EventBus.getDefault().register(this);
+
+        recyclerview.setLayoutManager(new LinearLayoutManager(activity));
+        tryMakeMoneyAdp = new TryMakeMoneyAdp(activity);
+
+        for (int i = 0; i < 1; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        recyclerview.setAdapter(tryMakeMoneyAdp);
+        initListener();
+
+    }
+
+    public void initListener() {
+        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                initData();
+            }
+        });
+        recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+                super.onScrollStateChanged(recyclerView, newState);
+            }
+
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+
+                int topRowVerticalPosition =
+                        (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
+
+                refresh.setEnabled(topRowVerticalPosition >= 0);
+            }
+        });
+    }
+
+    private void initData() {
+        list.clear();
+        for (int i = 0; i < 1; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        SheepApp.getInstance().getNetComponent().getApiService().getMyGames(page, per_page)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
+                        List<OrienteeringDetail> newList = baseMessage.getDatas(OrienteeringDetail.class);
+                        ListUtil.addAll(list, newList);
+                        notifyDataSetChanged();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        LogUtil.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        G.showToast(baseMessage);
+                        notifyDataSetChanged();
+                    }
+                });
+    }
+    private void checkAndInitView() {
+        if(refresh == null)
+            refresh = findViewById(R.id.refresh);
+        if(empty_view == null)
+            empty_view = findViewById(R.id.empty_view);
+    }
+    private void notifyDataSetChanged(){
+        checkAndInitView();
+        tryMakeMoneyAdp.refreshAdapter();
+        if(tryMakeMoneyAdp.isEmpty() && list.isEmpty()){
+
+            empty_view.setVisibility(View.VISIBLE);
+        }else {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.GAME_TASK, list),0);
+            empty_view.setVisibility(View.GONE);
+        }
+        refresh.setRefreshing(false);
+    }
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+//        EventBus.getDefault().unregister(this);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        // TODO: inflate a fragment view
+        View rootView = super.onCreateView(inflater, container, savedInstanceState);
+        unbinder = ButterKnife.bind(this, rootView);
+        Bundle bundle = getArguments();
+        if(bundle != null){
+            type = bundle.getInt("type", 0);
+        }
+        return rootView;
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        unbinder.unbind();
+    }
+
+    //在这里处理任务执行中的状态,如进度进度条的刷新
+    @Download.onTaskRunning protected void running(DownloadTask task) {
+//        downloadTaskService.setDownloadTaskPercent(p, task.getCurrentProgress()/1024d/1024d,task.getFileSize()/1024d/1024d,0,task.getKey());
+        try {
+            int p = task.getPercent();    //任务进度百分比
+            String speed = task.getConvertSpeed();    //转换单位后的下载速度,单位转换需要在配置文件中打开
+            System.out.println("Aria "+task.getKey()+",p " + p + ", speed = " + speed);
+            String url = task.getKey();
+            TextView tvProgress = recyclerview.findViewWithTag(tryMakeMoneyAdp.PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + url);
+            if (tvProgress == null) {
+                return;
+            }
+            tvProgress.setText(String.format(Locale.CHINA, "%d%%",Math.abs(p)));
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Download.onTaskStop void taskStop(DownloadTask task) {
+    }
+
+    @Download.onNoSupportBreakPoint void onNoSupportBreakPoint(DownloadTask task) {
+    }
+
+    @Download.onTaskCancel void taskCancel(DownloadTask task) {
+//        downloadTaskService.deleteDownloadTaskByDownloadUrl(task.getKey());
+        try {
+            String url = task.getKey();
+
+            TextView tvProgress = recyclerview.findViewWithTag(tryMakeMoneyAdp.PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + url);
+            if (tvProgress == null) {
+                return;
+            }
+            tvProgress.setText("已经取消");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Download.onTaskFail void taskFail(DownloadTask task) {
+        try {
+            String url = task.getKey();
+
+            TextView tvProgress = recyclerview.findViewWithTag(tryMakeMoneyAdp.PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + url);
+            if (tvProgress == null) {
+                return;
+            }
+            tvProgress.setText("下载失败");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Download.onTaskComplete void taskComplete(DownloadTask task) {
+        try {
+            String url = task.getKey();
+            TextView tvProgress = recyclerview.findViewWithTag(tryMakeMoneyAdp.PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + url);
+            if (tvProgress == null) {
+                return;
+            }
+            tvProgress.setText("开始安装");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        ApkUtils.installApk(activity, task.getDownloadPath());
+    }
+}

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

@@ -198,7 +198,7 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
                                 0,
                                 0,
                                 type==2 ? 1 : type,
-                                gridViewEntity == null ? -1 :gridViewEntity.getId(),
+                                gridViewEntity == null ? -1+"" :gridViewEntity.getId()+"",
                                 ((TryMakeMoneyact)getActivity()).getIsSuccession()));
         presenter.releaseTask(parameEty);
     }

+ 10 - 0
app/src/main/res/drawable/sp_bg_black_radius.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:radius="5dp"/>
+
+    <solid
+        android:color="@color/gray"/>
+</shape>

+ 12 - 0
app/src/main/res/drawable/sp_bg_blue_stroke.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <solid
+        android:color="@color/transparent"/>
+    <stroke
+        android:width="1px"
+        android:color="#2ebef2"/>
+    <corners
+        android:radius="15dp"/>
+</shape>

+ 9 - 0
app/src/main/res/drawable/sp_bg_gray_leftradius.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners
+        android:bottomLeftRadius="@dimen/radius_25"
+        android:topLeftRadius="@dimen/radius_25"/>
+    <solid
+        android:color="@color/gray_F0F0F0"/>
+</shape>

+ 21 - 0
app/src/main/res/layout/adp_pay_game_dialog.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal">
+
+    <ImageView
+        android:id="@+id/pay_game_dialog_item_img"
+        android:layout_gravity="center_vertical"
+        android:layout_width="33dp"
+        android:layout_height="33dp"
+        android:src="@mipmap/personalc_ic_my_price"/>
+    <TextView
+        android:id="@+id/pay_game_dialog_item_tv"
+        android:layout_gravity="center_vertical"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="支付宝"
+        android:layout_marginLeft="@dimen/common_margin_10"
+        style="@style/txt_style_15"/>
+</LinearLayout>

+ 42 - 0
app/src/main/res/layout/dialog_notice_layout.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
@@ -29,6 +30,47 @@
                 android:text="挂机账号异常"
                 android:visibility="gone"/>
 
+            <android.support.constraint.ConstraintLayout
+                android:id="@+id/ems_game_layout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:visibility="gone">
+                <TextView
+                    android:id="@+id/game_account_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="游戏账号:"/>
+                <EditText
+                    android:id="@+id/game_account_et"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:minWidth="@dimen/view_size_150"
+                    app:layout_constraintBaseline_toBaselineOf="@+id/game_account_tv"
+                    android:background="@null"
+                    app:layout_constraintStart_toEndOf="@+id/game_pay_tv"
+                    android:layout_marginLeft="@dimen/content_padding_10"
+                    android:hint="输入帐号"
+                    android:textSize="@dimen/text_size_13"/>
+                <TextView
+                    android:id="@+id/game_pay_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="输入充值金额:"
+                    app:layout_constraintTop_toBottomOf="@+id/game_account_tv"/>
+                <EditText
+                    android:id="@+id/game_pay_et"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:minWidth="@dimen/view_size_150"
+                    app:layout_constraintBaseline_toBaselineOf="@+id/game_pay_tv"
+                    android:background="@null"
+                    app:layout_constraintStart_toEndOf="@+id/game_pay_tv"
+                    android:inputType="number"
+                    android:hint="输入金额"
+                    android:layout_marginLeft="@dimen/content_padding_10"
+                    android:textSize="@dimen/text_size_13"/>
+            </android.support.constraint.ConstraintLayout>
+
             <TextView
                 android:id="@+id/content_tv"
                 android:layout_width="wrap_content"

+ 54 - 0
app/src/main/res/layout/dialog_pa_game_center.xml

@@ -0,0 +1,54 @@
+<?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:padding="@dimen/common_margin_10">
+
+    <TextView
+        android:id="@+id/pay_game_show_price_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="你需要支付1110元"
+        android:layout_gravity="center_horizontal"
+        style="@style/txt_style_15"/>
+    <TextView
+        android:id="@+id/pay_game_show_type_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="请选择你的支付方式:"
+        android:layout_gravity="center_horizontal"
+        style="@style/txt_style_15"/>
+
+    <com.sheep.gamegroup.util.MyListview
+        android:id="@+id/pay_listview"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:scrollbars="none"
+        android:listSelector="@color/transparent"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="@dimen/common_margin_10"
+        android:layout_marginBottom="@dimen/common_margin_10"/>
+
+
+
+    <TextView
+        android:id="@+id/pay_sure_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="@dimen/view_size_30"
+        android:gravity="center"
+        android:text="立即支付"
+        android:textColor="@color/white"
+        android:background="@drawable/sp_bg_gradient_rectangle_blue"
+        android:textSize="@dimen/text_size_15"
+        android:layout_marginTop="@dimen/content_padding_20"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="注意:绵羊币可合并第三方支付"
+        android:layout_gravity="center_horizontal"
+        android:textSize="@dimen/text_size_12"
+        android:layout_marginTop="@dimen/content_padding_10"/>
+</LinearLayout>

+ 41 - 0
app/src/main/res/layout/dialog_pay_account.xml

@@ -0,0 +1,41 @@
+<?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="wrap_content"
+    android:orientation="vertical"
+    android:layout_margin="@dimen/content_padding">
+
+    <EditText
+        android:id="@+id/game_account_et"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minWidth="@dimen/view_size_150"
+        android:background="@drawable/sp_bg_blue_stroke"
+        android:hint="输入游戏帐号"
+        android:text=""
+        android:textSize="@dimen/text_size_13"
+        android:padding="@dimen/content_padding_small"
+        android:layout_marginBottom="@dimen/common_margin_10"/>
+    <EditText
+        android:id="@+id/game_pay_et"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minWidth="@dimen/view_size_150"
+        android:background="@drawable/sp_bg_blue_stroke"
+        android:inputType="number"
+        android:hint="输入充值金额"
+        android:textSize="@dimen/text_size_13"
+        android:padding="@dimen/content_padding_small"/>
+
+    <TextView
+        android:id="@+id/pay_sure_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="@dimen/view_size_30"
+        android:gravity="center"
+        android:text="立即充值"
+        android:textColor="@color/white"
+        android:background="@drawable/sp_bg_gradient_rectangle_blue"
+        android:textSize="@dimen/text_size_15"
+        android:layout_marginTop="@dimen/content_padding_20"/>
+</LinearLayout>

+ 52 - 0
app/src/main/res/layout/task_detail_layout.xml

@@ -26,6 +26,50 @@
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:orientation="vertical">
+
+                <RelativeLayout
+                    android:id="@+id/ems_game_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/content_padding_10"
+                    android:layout_marginLeft="@dimen/content_padding_10"
+                    android:layout_marginRight="@dimen/content_padding_10"
+                    android:visibility="gone">
+                    <TextView
+                        android:id="@+id/ems_left_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="用户须知"
+                        android:gravity="center"
+                        android:ems="2"
+                        android:textColor="#D3AF57"
+                        android:background="@drawable/sp_bg_black_radius"
+                        android:padding="@dimen/content_padding_10"
+                        android:layout_marginRight="@dimen/common_margin_10"
+                        android:layout_marginBottom="@dimen/content_padding_20"
+                        android:layout_centerVertical="true"/>
+                    <TextView
+                        android:id="@+id/user_know_one_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@string/user_know_one"
+                        android:layout_toRightOf="@+id/ems_left_tv"/>
+                    <TextView
+                        android:id="@+id/user_know_two_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@string/user_know_two"
+                        android:layout_below="@+id/user_know_one_tv"
+                        android:layout_toRightOf="@+id/ems_left_tv"
+                        android:layout_marginTop="@dimen/content_padding_20"/>
+                    <TextView
+                        android:id="@+id/user_know_three_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@string/user_know_three"
+                        android:layout_toRightOf="@+id/ems_left_tv"
+                        android:layout_alignParentBottom="true"/>
+                </RelativeLayout>
                 <RelativeLayout
                     android:id="@+id/detail_item_layout_1"
                     android:layout_width="match_parent"
@@ -115,6 +159,7 @@
                             android:layout_gravity="center_vertical"
                             android:gravity="center_vertical"/>
                         <TextView
+                            android:id="@+id/detail_share_friend_tv"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:text="发送给好友"
@@ -129,6 +174,13 @@
                     </LinearLayout>
                 </RelativeLayout>
 
+                <android.support.v7.widget.RecyclerView
+                    android:id="@+id/detail_task_recyclerview"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:scrollbars="none"
+                    android:visibility="gone"/>
+
                 <com.sheep.gamegroup.util.MyListview
                     android:id="@+id/detail_task_listview"
                     android:layout_width="match_parent"

+ 16 - 0
app/src/main/res/layout/taskdetail_desc_item_screens.xml

@@ -0,0 +1,16 @@
+<?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">
+
+    <ImageView
+        android:id="@+id/screens_iv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:scaleType="centerCrop"/>
+    <TextView
+        android:id="@+id/screens_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
+</LinearLayout>

+ 94 - 2
app/src/main/res/layout/taskdetail_recycler_item.xml

@@ -1,16 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/taskdetail_recycler_item_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:visibility="visible">
 
     <LinearLayout
+        android:id="@+id/title_item_layout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
         android:gravity="center_vertical"
         android:background="@drawable/sp_bg_blue_top"
-        android:padding="@dimen/tag_vertical_spacing">
+        android:padding="@dimen/tag_vertical_spacing"
+        android:visibility="gone">
         <TextView
             android:id="@+id/title_item_tv"
             android:layout_width="0dp"
@@ -27,4 +31,92 @@
             android:src="@mipmap/arrow_down" />
     </LinearLayout>
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_gravity="center_vertical">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="1"
+            android:textColor="@color/blue_34a6e7"
+            android:background="@color/blue_34a6e7"
+            android:textSize="@dimen/text_size_13"
+            android:layout_marginTop="@dimen/content_padding_3"/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
+                    android:layout_height="wrap_content"
+                    android:text="任务详情"
+                    style="@style/txt_style_15_black"
+                    android:layout_marginLeft="@dimen/content_padding_15"/>
+                <TextView
+                    android:id="@+id/item_remaining_time_tv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="剩余试玩时间:00:28:12"
+                    android:background="@drawable/sp_bg_gray_leftradius"
+                    android:textSize="@dimen/text_size_12"
+                    android:padding="@dimen/content_padding_small"/>
+            </LinearLayout>
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/item_detail_listview"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:scrollbars="none" />
+        </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/taskdetail_screenshot_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_gravity="center_vertical"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+        android:visibility="gone">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="1"
+            android:textColor="@color/blue_34a6e7"
+            android:background="@color/blue_34a6e7"
+            android:textSize="@dimen/text_size_13"/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
+                    android:layout_height="wrap_content"
+                    android:text="示列截图"
+                    style="@style/txt_style_15_black"
+                    android:layout_marginLeft="@dimen/content_padding_15"/>
+            </LinearLayout>
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/recycler_screenshot_view"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:scrollbars="none" />
+        </LinearLayout>
+    </LinearLayout>
+
 </LinearLayout>

+ 7 - 0
app/src/main/res/layout/textview_layout.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/textview"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+</TextView>

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


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


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


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


+ 4 - 0
app/src/main/res/values/strings.xml

@@ -50,4 +50,8 @@
 
     <string name="real_name_know_start">为了保障您的用卡安全,请</string>
     <string name="real_name_know">了解安全保障</string>
+
+    <string name="user_know_one">1、用户需在平台首次下载该游戏并注册;</string>
+    <string name="user_know_two">2、任务奖励充值消费需要满足充值条件;</string>
+    <string name="user_know_three">3、用户充值不满足需求,平台将以绵羊币的方式退还给小绵羊用户。</string>
 </resources>

+ 3 - 1
view/src/main/res/values/colors.xml

@@ -31,7 +31,7 @@
     <color name="details_panel_separator">#ffbebebe</color>
     <color name="divider_light">#ffd1d3d3</color>
     <color name="empty_txt_color">#ffa5acb2</color>
-    <color name="gray">#66666666</color>
+    <color name="gray">#666666</color>
     <color name="gray_3">#ff333333</color>
     <color name="gray_4">#ff444444</color>
     <color name="gray_5">#E8E8E8</color>
@@ -72,5 +72,7 @@
     <color name="bg_line">#66666666</color>
     <color name="black_6_3">#333333</color>
     <color name="black_6_e">#eeeeee</color>
+    <color name="gray_F0F0F0">#F0F0F0</color>
+    <color name="yellow_D3AF57">#D3AF57</color>
 
 </resources>