Преглед изворни кода

小绵羊2.6 游戏任务代、任务详情、屏蔽

liujiangyao пре 7 година
родитељ
комит
2aedbb324d
43 измењених фајлова са 1713 додато и 159 уклоњено
  1. 2 0
      app/src/main/AndroidManifest.xml
  2. 1 0
      app/src/main/java/com/kfzs/duanduan/event/EventTypes.java
  3. 5 1
      app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java
  4. 7 0
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  5. 23 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  6. 10 0
      app/src/main/java/com/sheep/gamegroup/model/entity/DialogConfig.java
  7. 138 0
      app/src/main/java/com/sheep/gamegroup/model/entity/GameTaskOrderEnty.java
  8. 21 9
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  9. 2 0
      app/src/main/java/com/sheep/gamegroup/model/util/SheepSubscriber.java
  10. 93 1
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  11. 18 4
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  12. 8 0
      app/src/main/java/com/sheep/gamegroup/util/MyDbManager.java
  13. 18 3
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  14. 177 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActWeb.java
  15. 2 2
      app/src/main/java/com/sheep/gamegroup/view/activity/DialogToastAct.java
  16. 152 0
      app/src/main/java/com/sheep/gamegroup/view/activity/GameTaskOrderListAct.java
  17. 9 35
      app/src/main/java/com/sheep/gamegroup/view/activity/GamemakeMoneyAct.java
  18. 74 19
      app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java
  19. 192 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameTaskOrderList.java
  20. 279 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java
  21. 3 3
      app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonRecycleViewAdp.java
  22. 3 3
      app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java
  23. 11 5
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayAccount.java
  24. 44 16
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayGame.java
  25. 13 1
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMyGame.java
  26. 17 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/utils/SpUtils.java
  27. 13 0
      app/src/main/res/drawable/sp_bg_blue_91bdd6_radius.xml
  28. 11 0
      app/src/main/res/drawable/sp_bg_gray_circle_stroke.xml
  29. 14 0
      app/src/main/res/drawable/sp_bg_white_solid_bottom.xml
  30. 14 0
      app/src/main/res/drawable/sp_bg_white_solid_top.xml
  31. 65 0
      app/src/main/res/layout/adp_gametask_order_layout.xml
  32. 4 3
      app/src/main/res/layout/adp_pay_game_dialog.xml
  33. 41 0
      app/src/main/res/layout/fgt_personalcenter_item_center_one.xml
  34. 5 1
      app/src/main/res/layout/task_detail_layout.xml
  35. 5 4
      app/src/main/res/layout/taskdetail_desc_item_screens.xml
  36. 153 0
      app/src/main/res/layout/taskdetail_mylistview_item.xml
  37. 4 3
      app/src/main/res/layout/taskdetail_recycler_item.xml
  38. 16 4
      app/src/main/res/layout/textview_layout.xml
  39. 26 40
      app/src/main/res/layout/try_makemoney_act_layout.xml
  40. BIN
      app/src/main/res/mipmap-xhdpi/arrow_right_img.png
  41. BIN
      app/src/main/res/mipmap-xhdpi/personalc_ic_order_manager.png
  42. 12 2
      app/src/main/res/values/dd_styles.xml
  43. 8 0
      app/src/main/res/values/gamegroup_styles.xml

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

@@ -181,6 +181,8 @@
             />
         <activity android:name="com.sheep.gamegroup.view.activity.TaskListAct"
             android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.GameTaskOrderListAct"
+            android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.WithdrawalListAct"
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ChangeTelAct"

+ 1 - 0
app/src/main/java/com/kfzs/duanduan/event/EventTypes.java

@@ -20,6 +20,7 @@ public enum EventTypes {
     GO_FiRST , //任务功能  登录后 点击返回键 只能返回第一个界面
     ONFRESH_FGT_FAMLLSHEEP , //刷新fgtSmallSheep数据
     ONFRESH_TRYMAKEMANY_PAGE , //刷新TryMakeMoneyact数据
+    ONFRESH_GAMETASK_ORDER_LIST_PAGE , //订单记录
 
     //Todo 遇得到的问题
     INTENT_AMOUNT_VALUE,//提现传值用

+ 5 - 1
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -230,7 +230,7 @@ public class FgtPersonalCenter extends BaseCompatFragment {
     @OnClick({R.id.icon_img_iv, R.id.account_detail_layout, R.id.personalcenter_price_layout, R.id.account_safe_layout,
             R.id.account_task_layout, R.id.proxy_service_layout, R.id.abourt_us_layout, R.id.feedbook_layout,
             R.id.recommend_friend_layout, R.id.tv_submit, R.id.faq_layout,
-            R.id.version_layout, R.id.clear_layout, R.id.change_layout})
+            R.id.version_layout, R.id.clear_layout, R.id.change_layout, R.id.order_layout})
     public void onViewClicked(View view) {
         switch (view.getId()) {
             case R.id.icon_img_iv://图片
@@ -296,6 +296,10 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                 CommonUtil.getInstance()
                         .loginOut((BaseActivity) getActivity());
                 break;
+            case R.id.order_layout://订单管理
+                Jump2View.getInstance()
+                        .goGameTaskOrderList(getActivity());
+                break;
         }
     }
 

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

@@ -349,6 +349,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         pagePresenter.slideshow(null);//公告
         pagePresenter.homeList();//首页list
 
+        //详情分享地址
+        CommonUtil.getInstance().getDetailShareUrl(activity, "task_desc_url");
+
     }
 
     /**
@@ -943,6 +946,10 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                         Jump2View.getInstance()
                                 .goMainGame(activity);
                         break;
+                    case 11://游戏任务
+                        Jump2View.getInstance()
+                                .goGameMakeMoney(activity);
+                        break;
                     default:
                         G.showToast(R.string.coming_soon);
                         break;

+ 23 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -529,4 +529,27 @@ public interface ApiService {
      */
     @GET("app/game_consumption/can_user_sheep_amount")
     Observable<BaseMessage> can_user_sheep_amount(@Query("amount") int amount, @Query("game_id") int game_id);
+    /**
+     * 代理服务 H5地址
+     * agenturl
+     faqurl
+     dragon_boat_url
+     task_desc_url
+     world_cup_url
+     */
+    @GET("app/url/{name}")
+    Observable<BaseMessage> getNameUrl(@Path("name") String name);
+
+    /**
+     * 充值订单列表
+     * @return
+     */
+    @GET("app/game_consumption/orders")
+    Observable<BaseMessage> getConsumptionOrders(@Query("page") int page, @Query("per_page") int per_page);
+    /**
+     * 再次充值 或 放弃充值
+     * @return
+     */
+    @GET("app/game_consumption/order/{id}")
+    Observable<BaseMessage> gameTaskPayOrGiveUp(@Path("id") int id, @Body JSONObject jsonObject);
 }

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

@@ -15,6 +15,16 @@ public class DialogConfig {
     private View.OnClickListener btnRightOnClickListener;
     private String msgMore;
     private String tip;
+    private boolean isFinish;
+
+    public boolean isFinish() {
+        return isFinish;
+    }
+
+    public DialogConfig setFinish(boolean finish) {
+        isFinish = finish;
+        return this;
+    }
 
     public String getMsg() {
         return msg;

+ 138 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/GameTaskOrderEnty.java

@@ -0,0 +1,138 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/6/15.
+ */
+
+public class GameTaskOrderEnty implements Serializable {
+    private String account;//游戏帐号或QQ号
+
+    private double amount;//number($double)充值金额
+
+    private int create_time;//integer($int64) 创建消费时间
+
+    private int game_id;//integer($int64) 游戏id
+
+    private int id;//integer($int64)
+    private String order_no;//string 游戏充值的order_no
+
+    private int pay_type;//integer($int64) 充值方式
+
+    private int status;//integer($int64) 状态: 0下单 1订单取消 2第三方充值成功 3游戏充值中 4游戏充值失败 5游戏充值失败
+
+    private double third_amount;//number($double) 第三方充值金额
+
+    private int type;//integer($int32) 1:游戏充值 2Q币充值
+
+    private int update_time;//integer($int64) 更新时间
+
+    private double user_amount;//number($double) 消耗绵羊币的金额
+
+    private long user_id;//;//integer($int64)用户id
+
+    public String getAccount() {
+        return account;
+    }
+
+    public void setAccount(String account) {
+        this.account = account;
+    }
+
+    public double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(double amount) {
+        this.amount = amount;
+    }
+
+    public int getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(int create_time) {
+        this.create_time = create_time;
+    }
+
+    public int getGame_id() {
+        return game_id;
+    }
+
+    public void setGame_id(int game_id) {
+        this.game_id = game_id;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getOrder_no() {
+        return order_no;
+    }
+
+    public void setOrder_no(String order_no) {
+        this.order_no = order_no;
+    }
+
+    public int getPay_type() {
+        return pay_type;
+    }
+
+    public void setPay_type(int pay_type) {
+        this.pay_type = pay_type;
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+
+    public double getThird_amount() {
+        return third_amount;
+    }
+
+    public void setThird_amount(double third_amount) {
+        this.third_amount = third_amount;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getUpdate_time() {
+        return update_time;
+    }
+
+    public void setUpdate_time(int update_time) {
+        this.update_time = update_time;
+    }
+
+    public double getUser_amount() {
+        return user_amount;
+    }
+
+    public void setUser_amount(double user_amount) {
+        this.user_amount = user_amount;
+    }
+
+    public long getUser_id() {
+        return user_id;
+    }
+
+    public void setUser_id(long user_id) {
+        this.user_id = user_id;
+    }
+}

+ 21 - 9
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -52,6 +52,7 @@ public class TaskEty implements Serializable{
     }
 
     public void setScreenshots(String screenshots) {
+        regroupScreenshots(screenshots);
         this.screenshots = screenshots;
     }
 
@@ -60,12 +61,7 @@ public class TaskEty implements Serializable{
     }
 
     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;
-        }
-
+        this.screenshotsList = screenshotsList;
     }
 
     public List<TaskDescEntity> getDescEntityList() {
@@ -105,7 +101,7 @@ public class TaskEty implements Serializable{
     }
 
     public void setDesc(String desc) {
-//        regroupDesc(desc);
+        regroupDesc(desc);
         this.desc = desc+"";
     }
 
@@ -275,9 +271,25 @@ public class TaskEty implements Serializable{
             return desc;
         }
         if(desc.startsWith("[")){
-            return JSONArray.parseArray(JSONArray.toJSONString(desc+""), TaskDescEntity.class);
+            List<TaskDescEntity> taskDescEntityList = JSONArray.parseArray(desc, TaskDescEntity.class);
+            setDescEntityList(taskDescEntityList);
+            return taskDescEntityList;
         }else if (desc.startsWith("{")){
-            return JSONObject.parseObject(JSONObject.toJSONString(desc+""), TaskDescEntity.class);
+            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;
         }

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/model/util/SheepSubscriber.java

@@ -80,6 +80,8 @@ public abstract class SheepSubscriber<T> extends Subscriber<T> {
                 if(throwable.code == 302 && baseMessage.getCode() == 30001){
                     Jump2View.getInstance().goBindPhone(SheepApp.mContext,baseMessage.getCode());
                     return;
+                }else if(baseMessage.getCode() == 1002){
+                    Jump2View.getInstance().gotoLoginAgain();
                 }
 
                 if(baseMessage.getCode() == 0)

+ 93 - 1
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -22,18 +22,23 @@ 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.kfzs.duanduan.utils.dlg.SkipUtils;
 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.Ext;
 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;
+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;
@@ -42,6 +47,7 @@ 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;
@@ -228,6 +234,10 @@ public class CommonUtil {
         String str = "若<font color='#ff2d4b'><small>" + date + "</small></font>后任务未完成,视为自动放弃,您可重新接受";
         return str;
     }
+    public String assemblyStrings(String date){
+        String str = "剩余试玩时间:<font color='#ff2d4b'><small>" + date + "</small></font>";
+        return str;
+    }
     /**
      * 任务传送数据组装
      * is_succession:0:不是连续  1:联系任务 3 全部显示
@@ -395,6 +405,10 @@ public class CommonUtil {
             case 99://外部浏览器加载H5
                 Jump2View.getInstance().goWeb(context, entity.getUrl());
                 break;
+            case 11://游戏任务
+                Jump2View.getInstance()
+                        .goGameMakeMoney(context);
+                break;
             default:
                 G.showToast(R.string.coming_soon);
                 break;
@@ -611,7 +625,7 @@ public class CommonUtil {
 
             @Override
             public void onTimerTick(long millisUntilFinished, int counTime) {
-                textView.setText(Html.fromHtml(CommonUtil.getInstance().assemblyString(TimeUtil.getHours(millisUntilFinished))+""));
+                textView.setText(Html.fromHtml(CommonUtil.getInstance().assemblyStrings(TimeUtil.getHours(millisUntilFinished))+""));
             }
 
             @Override
@@ -759,4 +773,82 @@ public class CommonUtil {
         Thread payThread = new Thread(payRunnable);
         payThread.start();
     }
+
+    /**
+     * 获取详情地址
+     */
+    public void getDetailShareUrl(final Context context, String key){
+        SheepApp.get(context)
+                .getNetComponent()
+                .getApiService()
+                .getNameUrl(key)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+//                        G.showToast(baseMessage.getMsg() +"");
+
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+
+                        try {
+                            Ext ext = baseMessage.getData(Ext.class);
+                            if (ext != null && !TextUtils.isEmpty(ext.getUrl())) {
+                                SpUtils.saveTaskDetailsUrl(context, ext.getUrl());
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+    }
+    /**
+     * 获取详情地址
+     * 	integer($int64)
+     *1充值订单,2取消订单
+     */
+    public void gameTaskPayOrGiveUp(final Activity context, final int finalPay_type, int id, final int status){
+        ViewUtil.newInstance()
+                .showProgress(context);
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("status", status);
+        SheepApp.get(context)
+                .getNetComponent()
+                .getApiService()
+                .gameTaskPayOrGiveUp(id, jsonObject)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getMsg() +"");
+
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+
+                        try {
+                            ViewUtil.newInstance()
+                                    .hideProgress(context);
+                            if(status == 2){
+                                return;
+                            }
+                            if(finalPay_type == 1){
+                                CommonUtil.getInstance()
+                                        .pay(baseMessage.getData().toString(),
+                                                context,
+                                                null);
+                            }else {
+                                G.showToast("充值成功!");
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+    }
 }

+ 18 - 4
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.GameTaskOrderListAct;
 import com.sheep.gamegroup.view.activity.GamemakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LieMakeMoneyAct;
 import com.sheep.gamegroup.view.activity.LoginAct;
@@ -226,7 +227,7 @@ public class Jump2View {
                     });
                 }else {
                     G.showToast(msg);
-                    SheepApp.getInstance().quit();
+//                    SheepApp.getInstance().quit();
                 }
             }
         });
@@ -494,12 +495,18 @@ public class Jump2View {
         }
 
     }
-    public synchronized void goTaskDetailView(Context context, Object o, boolean b){
+    public synchronized void goTaskDetailView(Context context, Object o, Object b){
         Intent intent = new Intent(context, TaskDetailAct.class);
         if(o instanceof Integer){
             intent.putExtra("task_id", (Integer) o);
         }
-        intent.putExtra("btn_show", b);
+        if(b instanceof Integer){
+            intent.putExtra("game_id", (Integer) o);
+        }else
+        if(b instanceof Boolean){
+            intent.putExtra("btn_show", (Boolean) b);
+        }
+
         context.startActivity(intent);
 
     }
@@ -1170,8 +1177,15 @@ public class Jump2View {
     /**
      * 任务游戏列表
      */
-    public void goGameMakeMoney(Activity activity){
+    public void goGameMakeMoney(Context activity){
         Intent intent = new Intent(activity, GamemakeMoneyAct.class);
         activity.startActivity(intent);
     }
+    /**
+     * 订单管理
+     */
+    public void goGameTaskOrderList(Context activity){
+        Intent intent = new Intent(activity, GameTaskOrderListAct.class);
+        activity.startActivity(intent);
+    }
 }

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

@@ -98,6 +98,14 @@ public class MyDbManager {
         }
         return "";
     }
+    public String dbFindValueToken(){
+        try {
+            return dbFindUser().getAccess_token();
+        } catch (DbException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
     /**
      * 查找NewbieTaskRecord
      */

+ 18 - 3
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -284,8 +284,11 @@ public class ViewUtil {
     public static void showMsgDialog(final Activity activity, String msg, String title) {
         showMsgDialog(activity, new DialogConfig().setMsg(msg).setTitle(title).setBtnLeftText("知道了"));
     }
+    public static void showMsgDialog(final Activity activity, String msg, String title,boolean isFinish) {
+        showMsgDialog(activity, new DialogConfig().setMsg(msg).setTitle(title).setFinish(isFinish).setBtnLeftText("知道了"));
+    }
 
-    public static void showMsgDialog(final Activity activity, DialogConfig dialogConfig) {
+    public static void showMsgDialog(final Activity activity, final DialogConfig dialogConfig) {
         String title = dialogConfig.getTitle();
         String msg = dialogConfig.getMsg();
         String msgMore = dialogConfig.getMsgMore();
@@ -305,7 +308,7 @@ public class ViewUtil {
         if (!TextUtils.isEmpty(title))
             dialog_title.setText(title);
 
-        TextView dialog_msg = view.findViewById(R.id.dialog_msg);
+        final TextView dialog_msg = view.findViewById(R.id.dialog_msg);
         dialog_msg.setText(msg);
 
         TextView dialog_msg_more = view.findViewById(R.id.dialog_msg_more);
@@ -362,6 +365,18 @@ public class ViewUtil {
                 dialog.dismiss();
             }
         });
+        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+            @Override
+            public void onDismiss(DialogInterface dialog) {
+                try{
+                    if(dialogConfig.isFinish() && activity != null && activity instanceof Activity){
+                        activity.finish();
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        });
         try {
             dialog.show();
         } catch (Exception e) {
@@ -497,7 +512,7 @@ public class ViewUtil {
      * game 充值
      */
     public static void showGamePayAccount(Activity activity,int gameId){
-        new DialogPayAccount(activity).showPayaccount();
+        new DialogPayAccount(activity,gameId).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();

+ 177 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActWeb.java

@@ -1,13 +1,20 @@
 package com.sheep.gamegroup.view.activity;
 
+import android.annotation.SuppressLint;
+import android.app.Activity;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.Environment;
+import android.provider.MediaStore;
+import android.support.annotation.RequiresApi;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 import android.webkit.JavascriptInterface;
+import android.webkit.ValueCallback;
 import android.webkit.WebChromeClient;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
@@ -15,21 +22,29 @@ import android.webkit.WebViewClient;
 import android.widget.TextView;
 
 import com.kfzs.duanduan.BaseCompatActivity;
+import com.kfzs.duanduan.KFZSApp;
+import com.kfzs.duanduan.datashare.DDProviderHelper;
+import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+import com.yalantis.ucrop.util.FileUtils;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
 import java.io.File;
+import java.io.IOException;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import me.iwf.photopicker.PhotoPicker;
 import okhttp3.Call;
 
 import static com.kfzs.duanduan.bean.KFIntentKeys.EXTRA_WEBVIEW_NO_TITLE;
@@ -49,6 +64,7 @@ public class ActWeb extends BaseCompatActivity {
     private String url;
     private WebSettings webViewSettings;
 
+    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -65,6 +81,7 @@ public class ActWeb extends BaseCompatActivity {
         initWebViewSettings(mWebView);
         webViewSettings = mWebView.getSettings();
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
+        WebView.setWebContentsDebuggingEnabled(true);
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
             webViewSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
         }
@@ -72,6 +89,7 @@ public class ActWeb extends BaseCompatActivity {
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
         }
         tv_next.setVisibility(View.GONE);
+
         loadUrl();
     }
 
@@ -111,7 +129,17 @@ public class ActWeb extends BaseCompatActivity {
         }
     }
 
+    /**
+     *
+     */
+    public static final int INPUT_FILE_REQUEST_CODE = 1;
+    private ValueCallback<Uri> mUploadMessage;
+    private final static int FILECHOOSER_RESULTCODE = 2;
+    private ValueCallback<Uri[]> mFilePathCallback;
+
+    private String mCameraPhotoPath;
     private void loadUrl() {
+
         mWebView.setWebChromeClient(new WebChromeClient() {
             @Override
             public void onReceivedTitle(WebView view, String title) {
@@ -121,6 +149,68 @@ public class ActWeb extends BaseCompatActivity {
                             .getInstance()
                             .setTitle(ActWeb.this, title);
             }
+
+            @Override
+            public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
+                if (mFilePathCallback != null) {
+                    mFilePathCallback.onReceiveValue(null);
+                }
+                mFilePathCallback = filePathCallback;
+
+                /*PhotoPicker.builder()
+                        .setPhotoCount(1)
+                        .setShowCamera(true)
+                        .setShowGif(false)
+                        .setPreviewEnabled(false)
+                        .start(ActWeb.this, PhotoPicker.REQUEST_CODE);*/
+                Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+                if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
+                    // Create the File where the photo should go
+                    File photoFile = null;
+                    photoFile = createImageFile();
+                    takePictureIntent.putExtra("PhotoPath", mCameraPhotoPath);
+
+                    // Continue only if the File was successfully created
+                    if (photoFile != null) {
+                        mCameraPhotoPath = "file:" + photoFile.getAbsolutePath();
+                        takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
+                                Uri.fromFile(photoFile));
+                    } else {
+                        takePictureIntent = null;
+                    }
+                }
+
+                Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT);
+                contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE);
+                contentSelectionIntent.setType("image/*");
+
+                Intent[] intentArray;
+                takePictureIntent = null;//步调用相机
+                if (takePictureIntent != null) {
+                    intentArray = new Intent[]{takePictureIntent};
+                } else {
+                    intentArray = new Intent[0];
+                }
+
+                Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER);
+                chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent);
+                chooserIntent.putExtra(Intent.EXTRA_TITLE, "图片选择");
+                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
+
+                startActivityForResult(chooserIntent, INPUT_FILE_REQUEST_CODE);
+
+                return /*super.onShowFileChooser(webView, filePathCallback, fileChooserParams)*/true;
+            }
+
+            //For Android 4.1
+            public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
+                mUploadMessage = uploadMsg;
+                Intent i = new Intent(Intent.ACTION_GET_CONTENT);
+                i.addCategory(Intent.CATEGORY_OPENABLE);
+                i.setType("image/*");
+                ActWeb.this.startActivityForResult(Intent.createChooser(i, "Image Chooser"), FILECHOOSER_RESULTCODE);
+
+            }
         });
         mWebView.setWebViewClient(new WebViewClient() {
             @Override
@@ -144,6 +234,23 @@ public class ActWeb extends BaseCompatActivity {
         LogUtil.println("ActWeb loadUrl = "+loadUrl);
         mWebView.loadUrl(loadUrl);
     }
+    //在sdcard卡创建缩略图
+    //createImageFileInSdcard
+    @SuppressLint("SdCardPath")
+    private File createImageFile() {
+        //mCameraPhotoPath="/mnt/sdcard/tmp.png";
+        File file=new File(Environment.getExternalStorageDirectory()+"/","tmp.png");
+        mCameraPhotoPath=file.getAbsolutePath();
+        if(!file.exists())
+        {
+            try {
+                file.createNewFile();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return file;
+    }
 
     private String addUrl(String url, String key, String value) {
         return url + ((url.contains("?") || url.contains("#") && url.contains("=")) ? "&" : "?") + key + "=" + value;
@@ -215,6 +322,35 @@ public class ActWeb extends BaseCompatActivity {
             Jump2View.getInstance().goRechargeAct(ActWeb.this, null);//进入充值绵羊币界面
         }
 
+        @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(ActWeb.this, url, type);
+            return "";
+        }
+        @JavascriptInterface
+        public String getHeader() {
+            return SpUtils.getOpenId(ActWeb.this);
+        }
+
+        @JavascriptInterface
+        public String getWcUrl(String url) {
+            if(!TextUtils.isEmpty(url)){
+                Jump2View.getInstance().goWeb(ActWeb.this, url);
+            }
+            return "";
+        }
+
     }
 
     @Override
@@ -225,4 +361,45 @@ public class ActWeb extends BaseCompatActivity {
         }
         super.finish();
     }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == FILECHOOSER_RESULTCODE) {
+            if (null == mUploadMessage) return;
+            Uri result = data == null || resultCode != RESULT_OK ? null
+                    : data.getData();
+            if (result != null) {
+                String imagePath = FileUtils.getPath(this, result);
+                if (!TextUtils.isEmpty(imagePath)) {
+                    result = Uri.parse("file:///" + imagePath);
+                }
+            }
+            mUploadMessage.onReceiveValue(result);
+            mUploadMessage = null;
+        } else if (requestCode == INPUT_FILE_REQUEST_CODE && mFilePathCallback != null) {
+            // 5.0的回调
+            Uri[] results = null;
+
+            // Check that the response is a good one
+            if (resultCode == Activity.RESULT_OK) {
+                if (data == null) {
+                    // If there is not data, then we may have taken a photo
+                    if (mCameraPhotoPath != null) {
+                        results = new Uri[]{Uri.parse(mCameraPhotoPath)};
+                    }
+                } else {
+                    String dataString = data.getDataString();
+                    if (dataString != null) {
+                        results = new Uri[]{Uri.parse(dataString)};
+                    }
+                }
+            }
+
+            mFilePathCallback.onReceiveValue(results);
+            mFilePathCallback = null;
+        } else {
+            super.onActivityResult(requestCode, resultCode, data);
+            return;
+        }
+    }
 }

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

@@ -133,8 +133,8 @@ public class DialogToastAct extends Activity {
      */
     private void myGame() {
         if (dialog_entity.getType() != null && dialog_entity.getType().equals("my_game")) {
-            String gameAccountEtStr = gameAccountEt.getText() +"";
-            String gamePayEtStr = gamePayEt.getText() +"";
+            String gameAccountEtStr = gameAccountEt.getText().toString().trim() +"";
+            String gamePayEtStr = gamePayEt.getText().toString().trim() +"";
             if(TextUtils.isEmpty(gameAccountEtStr)){
                 G.showToast("游戏账号不能为空!");
                 return;

+ 152 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/GameTaskOrderListAct.java

@@ -0,0 +1,152 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.os.Handler;
+import android.view.View;
+import android.widget.ListView;
+
+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.GameTaskOrderEnty;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.view.adapter.AdpGameTaskOrderList;
+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 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 rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by ljy on 2018/6/15.
+ */
+
+public class GameTaskOrderListAct extends BaseActivity {
+    @BindView(R.id.withdrawal_listview)
+    ListView withdrawalListview;
+    @BindView(R.id.swipe_container)
+    RefreshLayout swipe_container;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    private Activity activity;
+
+    private int page = 1;//页数
+    private int per_page = 10;
+    private ArrayList<GameTaskOrderEnty> listData = new ArrayList<>();
+    private AdpGameTaskOrderList adp;
+    @Override
+    protected int getLayoutId() {
+        return R.layout.withdrawal_list;
+    }
+
+    @Override
+    public void initView() {
+        activity = this;
+        TitleBarUtils.getInstance()
+                .setTitle(this, "订单管理")
+                .setTitleFinish(this);
+        EventBus.getDefault().register(this);
+        swipe_container.setFooterView(this, withdrawalListview, R.layout.listview_footer);
+        adp = new AdpGameTaskOrderList(activity , listData);
+        withdrawalListview.setAdapter(adp);
+
+        swipe_container.setOnRefreshListener(new RefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                refreshData();
+            }
+        });
+
+        swipe_container.setOnLoadListener(new RefreshLayout.OnLoadListener() {
+            @Override
+            public void onLoad() {
+                swipe_container.setLoading(false);
+                if(listData != null && listData.size() >= per_page*page){
+                    page += 1;
+                    initData();
+                }else {
+
+                    new Handler().postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            swipe_container.setRefreshing(false);
+                        }
+                    },1000);
+                }
+
+            }
+        });
+
+    }
+
+    private void refreshData() {
+        listData.clear();
+        page = 1;
+        initData();
+    }
+
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+        empty_view.setVisibility(View.INVISIBLE);
+        SheepApp.getInstance().getNetComponent()
+                .getApiService()
+                .getConsumptionOrders(page, per_page)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        listData.clear();
+                        List<GameTaskOrderEnty> arrayList = baseMessage.getDatas(GameTaskOrderEnty.class);
+                        if(arrayList != null && arrayList.size()>0){
+                            listData.addAll(arrayList);
+                        }
+                        notifyDataSetChanged();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        notifyDataSetChanged();
+                        G.showToast(baseMessage.getMsg()+"");
+                    }
+                });
+    }
+    private void notifyDataSetChanged(){
+        if(listData.isEmpty())
+            empty_view.setVisibility(View.VISIBLE);
+        hideProgress();
+        swipe_container.setRefreshing(false);
+        adp.notifyDataSetChanged();
+    }
+
+    @Subscribe
+    public void onEventMainThread(BigEvent event) {
+        switch (event.getEventTypes()) {
+            case ONFRESH_GAMETASK_ORDER_LIST_PAGE:
+                refreshData();
+                break;
+        }
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
+    }
+}

+ 9 - 35
app/src/main/java/com/sheep/gamegroup/view/activity/GamemakeMoneyAct.java

@@ -57,6 +57,8 @@ public class GamemakeMoneyAct extends BaseActivity {
     ImageView selectTabIv;
     @BindView(R.id.task_gridview_layout)
     LinearLayout task_gridview_layout;
+    @BindView(R.id.show_flow_layout)
+    LinearLayout show_flow_layout;
     private Activity activity;
 
     private AdpTryMakemoney mAdapter;
@@ -109,11 +111,11 @@ public class GamemakeMoneyAct extends BaseActivity {
         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);
-                }
+//                if(tab.getPosition() == 0){
+//                    task_gridview_layout.setVisibility(View.VISIBLE);
+//                }else {
+//                    task_gridview_layout.setVisibility(View.GONE);
+//                }
             }
 
             @Override
@@ -160,36 +162,8 @@ public class GamemakeMoneyAct extends BaseActivity {
 
     @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);
-        }
+        task_gridview_layout.setVisibility(View.GONE);
+        show_flow_layout.setVisibility(View.VISIBLE);
 
     }
 

+ 74 - 19
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -35,6 +35,7 @@ import com.kfzs.duanduan.event.BigEvent;
 import com.kfzs.duanduan.event.EventTypes;
 import com.kfzs.duanduan.services.DownloadTaskService;
 import com.kfzs.duanduan.utils.ApkUtils;
+import com.kfzs.duanduan.utils.dlg.SkipUtils;
 import com.sheep.gamegroup.absBase.AbsChooseImageActivity;
 import com.sheep.gamegroup.di.components.DaggerTaskDetailComponent;
 import com.sheep.gamegroup.di.modules.TaskDetailModule;
@@ -60,7 +61,9 @@ import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.MyListview;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.AdpTaskDetailChildListview;
+import com.sheep.gamegroup.view.adapter.TaskdetailSonListviewAdp;
 import com.sheep.gamegroup.view.adapter.TaskdetailSonRecycleViewAdp;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
@@ -68,6 +71,7 @@ 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.PackageUtil;
+import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
 import org.greenrobot.eventbus.EventBus;
@@ -126,11 +130,13 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     LinearLayout detail_item_layout_2;
     @BindView(R.id.detail_item_layout_3)
     LinearLayout detail_item_layout_3;
+    @BindView(R.id.item_layout)
+    RelativeLayout item_layout;
     /**
      * 2.6详情改版
      */
     @BindView(R.id.detail_task_recyclerview)
-    RecyclerView detail_task_recyclerview;
+    MyListview detail_task_recyclerview;
     @BindView(R.id.ems_game_layout)
     RelativeLayout ems_game_layout;
     @BindView(R.id.detail_share_friend_tv)
@@ -147,6 +153,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     private TaskAcceptedEty taskAcceptedEty;
 
     private int taskId = -1;
+    private int game_id = -1;
 
     private int type;//-1:开始任务 1:下载 2:安装 3:打开  10:打开H5
 
@@ -158,6 +165,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     //2.6
     private boolean btn_show;//true:不显示按钮
 
+    //是否刷新页面
+    private boolean isFresh;
+
     @Override
     protected int getLayoutId() {
         return R.layout.task_detail_layout;
@@ -170,6 +180,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
         btn_show = getIntent().getBooleanExtra("btn_show", false);
         isFromTaskList = taskAcceptedEty != null;
         taskId = getIntent().getIntExtra("task_id", -1);
+        game_id = getIntent().getIntExtra("game_id", -1);
         DaggerTaskDetailComponent.builder()
                 .netComponent(SheepApp.get(activity).getNetComponent())
                 .taskDetailModule(new TaskDetailModule(this))
@@ -207,7 +218,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     }
 
     private void initWigget() {
-        detail_shrae_friend_layout.setVisibility(View.VISIBLE);
+        detail_shrae_friend_layout.setVisibility(View.GONE);
 
         taskEty = taskReleaseEty.getTask();
         if (taskEty.getChild() != null && taskEty.getChild().size() > 0) {
@@ -271,13 +282,23 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             case 1:
             case 3:
             default:
-                if (taskReleaseEty.isIs_running()) {
+                if (taskReleaseEty.isIs_running() || game_id > 0) {
 
                     setBtnStr(taskEty, mDownloadTaskService, new Action1<Object>(){
                         @Override
                         public void call(Object o) {
                             if(o instanceof Integer){
                                 type = (int) o;
+                                if(type == 1002 ||type == 1003){
+                                    btnTaskItem.setVisibility(View.GONE);
+                                    btnUpImag.setVisibility(View.VISIBLE);
+                                    if(game_id > 0){
+                                        btnTaskItem.setVisibility(View.VISIBLE);
+                                        btnUpImag.setVisibility(View.GONE);
+                                        btnTaskItem.setText("去充值");
+                                    }
+                                    return;
+                                }
                             } else if( o instanceof String){
                                 btnTaskItem.setText((String) o);
                             } else if( o instanceof Boolean){
@@ -320,9 +341,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
         taskSchedule();
         //2.6修改
-        if(btn_show)
-            bottom_btn_layout.setVisibility(View.GONE);
-        setSonVuewShow();
+//        if(btn_show)
+//            bottom_btn_layout.setVisibility(View.GONE);
+//        setSonVuewShow();
     }
 
     private void checkAcceptedTask() {
@@ -393,6 +414,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
             } else {//应用
                 buttonStr = CommonUtil.OPEN_APPLY;
             }
+//            if(taskEty.getTask_type() == 1002 ||taskEty.getTask_type() == 1003){
+//                action1.call(taskEty.getTask_type());
+//                return;
+//            }
         } else {
             action1.call(DownloadTaskService.STATUS_INIT);
             if (taskEty.getDownload_link() == null || !taskEty.getDownload_link().startsWith("http")) {
@@ -457,6 +482,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 case R.id.ll_infos:
                     break;
                 case R.id.btn_task_item:
+                    if((game_id > 0 && (btnTaskItem.getText() + "").equals("去充值"))){
+                        ViewUtil.showGamePayAccount((Activity) activity, game_id);
+                        return;
+                    }
                     switch (type) {
                         case -1:
                             if (taskReleaseEty.getAccepted_task_id() > 0) {
@@ -534,8 +563,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                 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(SpUtils.getTaskDetailsUrl(activity)+"/#/?");
+                        stringBuffer.append("authorization="+ SpUtils.getOpenId(activity));
                         stringBuffer.append("&task_id="+taskReleaseEty.getAccepted_task_id());
                         stringBuffer.append("&invitation_code="+MyDbManager.getInstance().dbFindValue());
                         CommonUtil.getInstance()
@@ -755,6 +784,10 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                         });
             }
         }
+        //图片展示
+        if(requestCode == 101){
+            isFresh = true;
+        }
     }
 
     /**
@@ -889,7 +922,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     @Override
     protected void onResume() {
         super.onResume();
-        if (taskId != -1 && !isGetTaskDesc) {
+        if (taskId != -1 && !isGetTaskDesc && !isFresh) {
             isGetTaskDesc = true;
             presenter.taskDesc(taskId);
         }
@@ -898,8 +931,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     /**
      * 子任务模块显示
      */
-    TaskdetailSonRecycleViewAdp sonRecycleViewAdp;
+    TaskdetailSonListviewAdp sonListviewAdp;
     private void setSonVuewShow(){
+        item_layout.setBackgroundResource(R.drawable.sp_bg_white_solid_top);
         detail_task_recyclerview.setVisibility(View.GONE);
         ems_game_layout.setVisibility(View.GONE);
         switch (taskEty.getTask_type()){
@@ -908,22 +942,38 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     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);
+                    detail_task_listview.setVisibility(View.GONE);
+                    sonListviewAdp = new TaskdetailSonListviewAdp(taskEty.getChild(), activity);
+                    detail_task_recyclerview.setAdapter(sonListviewAdp);
                 }
 
-                break;
+                return;
             case 1002:
             case 1003://游戏任务
                 ems_game_layout.setVisibility(View.VISIBLE);
+                detail_shrae_friend_layout.setVisibility(View.GONE);
+                item_layout.setBackgroundResource(R.drawable.x_shap_shadow_bg_rectgangle_white);
                 break;
             default:
 
                 break;
         }
 
-//        detail_task_recyclerview.setAdapter();
+        //fuck
+        if(taskEty.getDescEntityList() != null && taskEty.getDescEntityList().size()>0){
+            List<TaskChild> descEntityArrayList = new ArrayList<>();
+            TaskChild taskChild = new TaskChild();
+            taskChild.setDescEntityList(taskEty.getDescEntityList());
+            taskChild.setScreenshotsList(taskEty.getScreenshotsList());
+            descEntityArrayList.add(taskChild);
+            detail_task_recyclerview.setVisibility(View.VISIBLE);
+            detail_item_layout_2.setVisibility(View.GONE);
+            detail_item_layout_3.setVisibility(View.GONE);
+            detail_task_listview.setVisibility(View.GONE);
+            sonListviewAdp = new TaskdetailSonListviewAdp(descEntityArrayList, activity);
+            detail_task_recyclerview.setAdapter(sonListviewAdp);
+        }
+
     }
 
     /**
@@ -947,10 +997,15 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         hideProgress();
-                        G.showToast(baseMessage.getErrorMsg());
-                        initData();
-
-                        taskReleaseEty.getTask().setRelease_task_id(taskReleaseEty.getId());
+//                        G.showToast(taskReleaseEty.getBonus() + "元");
+                        ViewUtil.showMsgDialog(activity,
+                                "提示",
+                                "恭喜你获得"+taskReleaseEty.getBonus() + "元奖励",
+                                true);
+//                        finish();
+//                        initData();
+
+//                        taskReleaseEty.getTask().setRelease_task_id(taskReleaseEty.getId());
                     }
                 });
     }

+ 192 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameTaskOrderList.java

@@ -0,0 +1,192 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.app.Activity;
+import android.content.Context;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.sheep.gamegroup.model.entity.GameTaskOrderEnty;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/6/15.
+ */
+
+public class AdpGameTaskOrderList extends BaseAdapter {
+    private Context context;
+    private List<GameTaskOrderEnty> etyList;
+
+    public AdpGameTaskOrderList(Context context, List<GameTaskOrderEnty> etyList) {
+        this.context = context;
+        this.etyList = etyList;
+    }
+    @Override
+    public int getCount() {
+        return etyList.size();
+    }
+
+    @Override
+    public GameTaskOrderEnty getItem(int position) {
+        return etyList.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_gametask_order_layout, null);
+            holder.pay_type_tv = convertView.findViewById(R.id.pay_type_tv);
+            holder.date_tv = convertView.findViewById(R.id.date_tv);
+            holder.price_tv = convertView.findViewById(R.id.price_tv);
+            holder.order_type_tv = convertView.findViewById(R.id.order_type_tv);
+            holder.order_end_time_tv = convertView.findViewById(R.id.order_end_time_tv);
+            holder.pay_cancel_tv = convertView.findViewById(R.id.pay_cancel_tv);
+            holder.pay_tv = convertView.findViewById(R.id.pay_tv);
+            holder.pay_tyoe_show_tv = convertView.findViewById(R.id.pay_tyoe_show_tv);
+            holder.pay_layout = convertView.findViewById(R.id.pay_layout);
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+        final GameTaskOrderEnty gameTaskOrderEnty = getItem(position);
+
+        if(gameTaskOrderEnty == null){
+            return convertView;
+        }
+        String payType = "";
+        if(gameTaskOrderEnty.getUser_amount() > 0){
+            payType = "绵羊币(" + gameTaskOrderEnty.getUser_amount() +")";
+        }
+        if(gameTaskOrderEnty.getPay_type() == 1){
+            if(TextUtils.isEmpty(payType)){
+                payType  += ",";
+            }
+            payType  += "支付宝(" + gameTaskOrderEnty.getThird_amount() + ")";
+        }
+        holder.pay_type_tv.setText("支付方式:" + payType);
+        holder.date_tv.setText("提交时间:"+TimeUtil.getDate(TimeUtil.FORMAT, Long.valueOf(gameTaskOrderEnty.getCreate_time()))+"");
+        holder.price_tv.setText("提交金额:"+gameTaskOrderEnty.getAmount());
+        holder.order_type_tv.setText("订单状态:");
+        holder.order_end_time_tv.setText("订单剩余时间:"+(gameTaskOrderEnty.getCreate_time() == 0? 0:TimeUtil.getHours(gameTaskOrderEnty.getCreate_time()*1000))+"");
+
+        holder.pay_layout.setVisibility(View.GONE);
+        holder.pay_tyoe_show_tv.setVisibility(View.VISIBLE);
+        String stateStr = "";
+        switch (gameTaskOrderEnty.getStatus()){
+            case 0:
+            default:
+                stateStr = "下单";
+                holder.order_type_tv.setText("订单状态:"+ "未完成");
+                holder.pay_layout.setVisibility(View.VISIBLE);
+                holder.pay_tyoe_show_tv.setVisibility(View.GONE);
+                break;
+            case 1:
+                stateStr = "订单取消";
+                holder.order_type_tv.setText("订单状态:"+ "未完成");
+                holder.pay_tyoe_show_tv.setText("放弃支付");
+                break;
+            case 2:
+                stateStr = "第三方充值成功";
+                holder.order_type_tv.setText("订单状态:"+ "未完成");
+                holder.pay_tyoe_show_tv.setText("充值中");
+                break;
+            case 3:
+                stateStr = "游戏充值中";
+                holder.order_type_tv.setText("订单状态:"+ "未完成");
+                holder.pay_tyoe_show_tv.setText("充值中");
+                break;
+            case 4:
+                stateStr = "游戏充值失败";
+                holder.order_type_tv.setText("订单状态:"+ "未完成");
+                holder.pay_tyoe_show_tv.setText("支付失败");
+                break;
+            case 5:
+                stateStr = "游戏充值成功";
+                holder.order_type_tv.setText("订单状态:"+ "已完成");
+                holder.pay_tyoe_show_tv.setText("支付成功");
+                break;
+
+        }
+
+        holder.pay_cancel_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                CommonUtil.getInstance()
+                        .gameTaskPayOrGiveUp(
+                                (Activity) context,
+                                gameTaskOrderEnty.getPay_type(),
+                                gameTaskOrderEnty.getId(),
+                                2);
+            }
+        });
+        holder.pay_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                CommonUtil.getInstance()
+                        .gameTaskPayOrGiveUp(
+                                (Activity) context,
+                                gameTaskOrderEnty.getPay_type(),
+                                gameTaskOrderEnty.getId(),
+                                1);
+            }
+        });
+
+        return convertView;
+    }
+
+    class ViewHolder{
+        LinearLayout pay_layout;
+        TextView date_tv, price_tv, pay_type_tv,order_type_tv, order_end_time_tv, pay_tyoe_show_tv, pay_tv,pay_cancel_tv;
+    }
+    private String returnValue(GameTaskOrderEnty ety){
+        String stateStr = "已接受任务";
+        switch (ety.getStatus()){
+            case 0:
+            default:
+                stateStr = "下单";
+                break;
+            case 1:
+                stateStr = "订单取消";
+                break;
+            case 2:
+                stateStr = "第三方充值成功";
+                break;
+            case 3:
+                stateStr = "游戏充值中";
+                break;
+            case 4:
+                stateStr = "游戏充值失败";
+                break;
+            case 5:
+                stateStr = "游戏充值失败";
+                break;
+
+        }
+        return stateStr;
+    }
+}

+ 279 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/TaskdetailSonListviewAdp.java

@@ -0,0 +1,279 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.app.Activity;
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.*;
+
+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.MyListview;
+import com.sheep.gamegroup.util.SelfCountDownTimer;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import me.iwf.photopicker.PhotoPreview;
+
+/**
+ * Created by ljy on 2018/6/14.
+ */
+
+public class TaskdetailSonListviewAdp extends BaseAdapter {
+    private List<TaskChild> descEntityArrayList;
+    private Context context;
+
+    public TaskdetailSonListviewAdp(List<TaskChild> descEntityArrayList, Context context) {
+        this.descEntityArrayList = descEntityArrayList;
+        this.context = context;
+    }
+
+    @Override
+    public int getCount() {
+        return descEntityArrayList== null? 0:descEntityArrayList.size();
+    }
+
+    @Override
+    public TaskChild getItem(int position) {
+        return descEntityArrayList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(final int position, View convertView, ViewGroup parent) {
+        ViewHolder holder = null;
+        if(holder == null){
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.taskdetail_mylistview_item, null);
+            holder.title_item_tv = convertView.findViewById(R.id.title_item_tv);
+            holder.item_remaining_time_tv = convertView.findViewById(R.id.item_remaining_time_tv);
+            holder.select_tab_iv = convertView.findViewById(R.id.select_tab_iv);
+
+            holder.title_item_layout = convertView.findViewById(R.id.title_item_layout);
+            holder.taskdetail_screenshot_layout = convertView.findViewById(R.id.taskdetail_screenshot_layout);
+            holder.recycler_screenshot_view = convertView.findViewById(R.id.recycler_screenshot_view);
+            holder.item_detail_listview = convertView.findViewById(R.id.item_detail_listview);
+            holder.item_show_layout = convertView.findViewById(R.id.item_show_layout);
+            holder.title_item_price_tv = convertView.findViewById(R.id.title_item_price_tv);
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+        final TaskChild descEntity = descEntityArrayList.get(position);
+        if(descEntity == null)
+            return convertView;
+        if(TextUtils.isEmpty(descEntity.getAmount())){
+            holder.title_item_layout.setVisibility(View.GONE);
+            holder.item_show_layout.setPadding(10,3,3,3);
+            holder.item_show_layout.setBackgroundResource(R.drawable.x_shap_shadow_bg_rectgangle_white);
+        }else {
+            holder.title_item_layout.setVisibility(View.VISIBLE);
+            CommonUtil.getInstance()
+                    .bindDataTaskDetailSon(descEntity, holder.title_item_tv, position);
+            holder.title_item_price_tv.setText("+" + descEntity.getAmount() +"元");
+            if(descEntity.isSelectFlag()){
+                holder.select_tab_iv.setRotation(180);
+                holder.item_show_layout.setVisibility(View.VISIBLE);
+                holder.title_item_layout.setBackgroundResource(R.drawable.sp_bg_blue_top);
+            }else {
+                holder.select_tab_iv.setRotation(0);
+                holder.item_show_layout.setVisibility(View.GONE);
+                holder.title_item_layout.setBackgroundResource(R.drawable.sp_bg_blue_91bdd6_radius);
+            }
+            holder.item_show_layout.setBackgroundResource(R.drawable.sp_bg_white_solid_bottom);
+        }
+
+
+        if(descEntity.getScreenshotsList() != null && descEntity.getScreenshotsList().size() > 0){
+            holder.taskdetail_screenshot_layout.setVisibility(View.VISIBLE);
+        }else {
+            holder.taskdetail_screenshot_layout.setVisibility(View.GONE);
+        }
+
+        /**
+         * 任务详情
+         */
+        if(descEntity.getDemo_time() > 0){
+            CommonUtil.getInstance().getHashMap(holder.item_remaining_time_tv);
+
+            holder.item_remaining_time_tv.setVisibility(View.VISIBLE);
+            SelfCountDownTimer selfCountDownTimer = CommonUtil.getInstance().getCountDownTimer(descEntity.getDemo_time(), holder.item_remaining_time_tv);
+            selfCountDownTimer.reset(descEntity.getDemo_time());
+            selfCountDownTimer.start();
+
+            CommonUtil.getInstance().addTimerHashMap(holder.item_remaining_time_tv, selfCountDownTimer);
+        }else {
+            holder.item_remaining_time_tv.setVisibility(View.GONE);
+        }
+
+        /**
+         *
+         */
+        if(descEntity.getDescEntityList() != null && descEntity.getDescEntityList().size() > 0){
+            holder.item_detail_listview.setAdapter(new ArrayAdapter<TaskDescEntity>(context, R.layout.textview_layout, descEntity.getDescEntityList()){
+                @Override
+                public boolean convert(int position, View convertView, ViewGroup parent, TaskDescEntity item) {
+                    TaskDescEntity taskDescEntity = item;
+                    if(taskDescEntity == null){
+                        return true;
+                    }
+                    TextView textView = convertView.findViewById(R.id.textview);
+                    textView.setText(taskDescEntity.getStep() + "、" + taskDescEntity.getDesc());
+                    return true;
+                }
+
+                @Override
+                public boolean areAllItemsEnabled() {
+                    return false;
+                }
+            });
+        }
+
+        /**
+         * holder.recycler_screenshot_view.setAdapter(new ArrayAdapter<ScreenshotsEntity>(context, R.layout.taskdetail_desc_item_screens, descEntity.getScreenshotsList()){
+        @Override
+        public boolean convert(int position, View convertView, ViewGroup parent, ScreenshotsEntity item) {
+        ScreenshotsEntity taskDescEntity = item;
+        if (taskDescEntity == null)
+        return true;
+        ImageView screens_iv = convertView.findViewById(R.id.screens_iv);
+        TextView screens_tv = convertView.findViewById(R.id.screens_tv);
+
+        screens_iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
+        int with = G.WIDTH / 3;
+        int heigth = with ;
+        screens_iv.setLayoutParams(new LinearLayout.LayoutParams(with, heigth));
+
+        screens_tv.setText("" + taskDescEntity.getDesc());
+        Glide.with(context)
+        .load(taskDescEntity.getImg())
+        .into(screens_iv);
+        return true;
+        }
+        });
+         * 截图
+         */
+        if(descEntity.getScreenshotsList() != null && descEntity.getScreenshotsList().size() > 0){
+            final ArrayList<String> imgListStr = new ArrayList<>();
+            imgListStr.clear();
+            for(ScreenshotsEntity s: descEntity.getScreenshotsList()){
+                imgListStr.add(s.getImg());
+            }
+            LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, true);
+//            holder.recycler_screenshot_view.setHasFixedSize(true);
+            holder.recycler_screenshot_view.setLayoutManager(layoutManager);
+            holder.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 size = 1;
+                    switch (descEntity.getScreenshotsList().size()){
+                        case 1:
+                        case 2:
+                            size = descEntity.getScreenshotsList().size();
+                            break;
+                        case 3:
+                        default:
+                            size = 3;
+                            break;
+
+                    }
+                    int with = G.WIDTH / size;
+                    int heigth = G.WIDTH / 3 ;
+                    viewHolder.itemView.setLayoutParams(new RecyclerView.LayoutParams(with, heigth));
+
+                    screens_tv.setText("" + taskDescEntity.getDesc());
+                    Glide.with(context)
+                            .load(taskDescEntity.getImg())
+                            .into(screens_iv);
+                    screens_iv.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            try{
+                                if(imgListStr != null && imgListStr.size()>0){
+                                    PhotoPreview.builder()
+                                            .setPhotos(imgListStr)
+                                            .setCurrentItem(position)
+                                            .setShowDeleteButton(false)
+                                            .start((Activity) context, 101);
+                                }
+
+                            }catch (Exception e){
+                                e.printStackTrace();
+                            }
+                        }
+                    });
+                }
+
+                @Override
+                public int getItemCount() {
+                    return descEntity.getScreenshotsList()==null?0:descEntity.getScreenshotsList().size();
+                }
+            });
+        }
+
+
+
+        final ViewHolder finalHolder = holder;
+        holder.select_tab_iv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                boolean flag = descEntity.isSelectFlag();
+                descEntity.setSelectFlag(!descEntity.isSelectFlag());
+//                if(position == 0){
+//                    descEntityArrayList.get(position).setSelectFlag(true);
+//                    finalHolder.select_tab_iv.setRotation(180);
+//                    finalHolder.item_detail_listview.setVisibility(View.VISIBLE);
+//                }else {
+//                    descEntityArrayList.get(position).setSelectFlag(false);
+//                    finalHolder.select_tab_iv.setRotation(0);
+//                    finalHolder.item_detail_listview.setVisibility(View.GONE);
+//                }
+                notifyDataSetChanged();
+            }
+        });
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView  title_item_tv, item_remaining_time_tv, title_item_price_tv;
+        ImageView select_tab_iv;
+        LinearLayout title_item_layout, taskdetail_screenshot_layout, item_show_layout;
+        MyListview item_detail_listview;
+        RecyclerView recycler_screenshot_view;
+    }
+}

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

@@ -133,7 +133,7 @@ public class TaskdetailSonRecycleViewAdp extends RecyclerView.Adapter<RecyclerVi
 
             @Override
             public int getItemCount() {
-                return descEntity.getDescEntityList().size();
+                return descEntity.getDescEntityList()==null?0:descEntity.getDescEntityList().size();
             }
         });
         /**
@@ -165,7 +165,7 @@ public class TaskdetailSonRecycleViewAdp extends RecyclerView.Adapter<RecyclerVi
                 screens_iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
                 int with = G.WIDTH / 3;
                 int heigth = with ;
-                screens_iv.setLayoutParams(new RecyclerView.LayoutParams(with, heigth));
+                screens_iv.setLayoutParams(new LinearLayout.LayoutParams(with, heigth));
 
                 screens_tv.setText("" + taskDescEntity.getDesc());
                 Glide.with(context)
@@ -175,7 +175,7 @@ public class TaskdetailSonRecycleViewAdp extends RecyclerView.Adapter<RecyclerVi
 
             @Override
             public int getItemCount() {
-                return descEntity.getScreenshotsList().size();
+                return descEntity.getScreenshotsList()==null?0:descEntity.getScreenshotsList().size();
             }
         });
 

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

@@ -204,10 +204,10 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 String taskTypeTvValue = "下载游戏";
                 if(isInstall){//已经安装
                     taskTypeTvValue = "启动游戏";
-                    PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
+//                    PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
                 }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()))){
                     taskTypeTvValue = "安装游戏";
-                    ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
+//                    ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
                 }else {
                     taskTypeTvValue = "下载游戏";
                 }
@@ -253,7 +253,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                         if(!ListUtil.hasIndex(etyList, i)){
                             return;
                         }
-                        Jump2View.getInstance().goTaskDetailView(context,  etyList.get(i).getTask_id());
+                        Jump2View.getInstance().goTaskDetailView(context,  etyList.get(i).getTask_id(), etyList.get(i).getGame_id());
                     }
                 });
 //                TestUtil.setDebugDownLoad(context, viewHolder.itemView, etyList.get(i).getTask());

+ 11 - 5
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayAccount.java

@@ -36,6 +36,11 @@ public class DialogPayAccount {
     private Activity activity;
     private int gameId;
 
+    public DialogPayAccount(Activity activity, int gameId) {
+        this.activity = activity;
+        this.gameId = gameId;
+    }
+
     public DialogPayAccount(Activity activity) {
         this.activity = activity;
     }
@@ -55,19 +60,20 @@ public class DialogPayAccount {
         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()+"";
+        final EditText game_account_et = view.findViewById(R.id.game_account_et);
+        final EditText game_pay_et = view.findViewById(R.id.game_pay_et);
+
 
         sureTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                String game_account_etStr = game_account_et.getText().toString().trim()+"";
+                String game_pay_etStr = game_pay_et.getText().toString().trim()+"";
                 if(TextUtils.isEmpty(game_account_etStr)){
                     G.showToast("游戏账号不能为空!");
                     return;
                 }
-                if(TextUtils.isEmpty(game_pay_etStr)){
+                if(TextUtils.isEmpty(game_pay_etStr) || Double.valueOf(game_pay_etStr)<=0){
                     G.showToast("充值金额不能为空!");
                     return;
                 }

+ 44 - 16
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayGame.java

@@ -141,7 +141,7 @@ public class DialogPayGame {
                                 .hideProgress(activity);
                         LogUtil.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
                         try{
-                            String balances = (String) baseMessage.getData();
+                            String balances = baseMessage.getData() +"";
                             balance = MathUtil.add(TextUtils.isEmpty(balances) ? "0" : balances,
                                     TextUtils.isEmpty(MyDbManager.getInstance().dbFindValueBalance()) ? "0" : MyDbManager.getInstance().dbFindValueBalance());
 
@@ -176,19 +176,29 @@ public class DialogPayGame {
                                 .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);
+                        try{
+                            String balanceStr;
+                            if(Double.valueOf(balance) > 0){
+                                ;
+                                if(Float.valueOf(game_pay_etStr) > Float.valueOf(balance)){
+                                    balanceStr = balance;
+                                }else {
+                                    balanceStr = game_pay_etStr;
+                                }
+                                RechargeEntity rechargeEntity = new RechargeEntity();
+                                rechargeEntity.setSelect(true);
+                                rechargeEntity.setId(3);
+                                rechargeEntity.setName("绵羊币 (可用"+ balanceStr +") 指非定向货币+定向货币");
+                                list.add(rechargeEntity);
+                            }
+                        }catch (Exception e){
+                            e.printStackTrace();
                         }
                         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);
+                            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, size * gao);
                             pay_listview.setLayoutParams(layoutParams);
                             adpPayGameDialog.notifyDataSetChanged();
                         }
@@ -210,26 +220,37 @@ public class DialogPayGame {
             return;
         }
         boolean use_voucher = false;
-        int pay_type = 1;
+        boolean use_voucher_alipay = false;
+        int pay_type = 3;
         for(RechargeEntity r: list){
             if(r.getId() == 3){
                 if(r.isSelect()){
                     use_voucher = true;
+                }else {
+                    use_voucher = false;
                 }
             }else {
                 if(r.isSelect()){
                     pay_type = r.getId();
+                    use_voucher_alipay = true;
+                }else {
+                    use_voucher_alipay = false;
                 }
             }
         }
+        if(!use_voucher && !use_voucher_alipay){
+            G.showToast("请选择支付方式");
+            return;
+        }
         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("amount", Float.valueOf(game_pay_etStr));
+        jsonObject.put("game_id", gameId);
         jsonObject.put("pay_type", pay_type);
         jsonObject.put("use_voucher", use_voucher);
+        final int finalPay_type = pay_type;
         SheepApp.getInstance().getNetComponent().getApiService().game_consumption(jsonObject)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -238,10 +259,17 @@ public class DialogPayGame {
                     public void onNext(BaseMessage baseMessage) {
                         ViewUtil.newInstance()
                                 .hideProgress(activity);
-                        CommonUtil.getInstance()
-                                .pay(baseMessage.getData().toString(),
-                                    activity,
-                                        dialog);
+                        if(finalPay_type == 1){
+                            CommonUtil.getInstance()
+                                    .pay(baseMessage.getData().toString(),
+                                            activity,
+                                            dialog);
+                        }else {
+                            G.showToast("充值成功!");
+                            if(dialog != null)
+                                dialog.dismiss();
+                        }
+
                     }
 
                     @Override

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

@@ -137,7 +137,9 @@ public class FgtMyGame extends BaseFragment {
                     public void onNext(BaseMessage baseMessage) {
                         LogUtil.println("baseMessage onNext "+ JSON.toJSONString(baseMessage));
                         List<OrienteeringDetail> newList = baseMessage.getDatas(OrienteeringDetail.class);
-                        ListUtil.addAll(list, newList);
+                        if(newList != null && newList.size()>0){
+                            list.addAll(newList);
+                        }
                         notifyDataSetChanged();
                     }
 
@@ -191,6 +193,16 @@ public class FgtMyGame extends BaseFragment {
         unbinder.unbind();
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        reFresh();
+    }
+    public void reFresh(){
+        refresh.setRefreshing(true);
+        initData();
+    }
+
     //在这里处理任务执行中的状态,如进度进度条的刷新
     @Download.onTaskRunning protected void running(DownloadTask task) {
 //        downloadTaskService.setDownloadTaskPercent(p, task.getCurrentProgress()/1024d/1024d,task.getFileSize()/1024d/1024d,0,task.getKey());

+ 17 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/SpUtils.java

@@ -149,6 +149,23 @@ public class SpUtils {
         SharedPreferences user = context.getSharedPreferences("save_deviced_id", Context.MODE_PRIVATE);
         return user.getString("device_id", "");
     }
+    /**
+     * 储存详情分享地址
+     * @param context
+     * @param vaule
+     */
+    public static void saveTaskDetailsUrl(Context context, String vaule) {
+        SharedPreferences user = context.getSharedPreferences("save_taskdetail_url", Context.MODE_PRIVATE);
+        SharedPreferences.Editor editor = user.edit();
+        editor.putString("taskdetail_url", vaule);
+        editor.apply();
+    }
+
+
+    public static String getTaskDetailsUrl(Context context) {
+        SharedPreferences user = context.getSharedPreferences("save_taskdetail_url", Context.MODE_PRIVATE);
+        return user.getString("taskdetail_url", "");
+    }
 
 
 

+ 13 - 0
app/src/main/res/drawable/sp_bg_blue_91bdd6_radius.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:topRightRadius="15dp"
+        android:topLeftRadius="15dp"
+        android:bottomRightRadius="15dp"
+        android:bottomLeftRadius="15dp"/>
+
+    <solid
+        android:color="@color/blue_91BDD6"/>
+</shape>

+ 11 - 0
app/src/main/res/drawable/sp_bg_gray_circle_stroke.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+
+    <stroke
+        android:width="1px" android:color="@color/gray"/>
+
+    <solid
+        android:color="@color/transparent"/>
+
+</shape>

+ 14 - 0
app/src/main/res/drawable/sp_bg_white_solid_bottom.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="15dp"
+        android:bottomRightRadius="15dp"
+        android:topLeftRadius="0dp"
+        android:topRightRadius="0dp"/>
+
+    <solid
+        android:color="@color/white"/>
+
+</shape>

+ 14 - 0
app/src/main/res/drawable/sp_bg_white_solid_top.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="0dp"
+        android:bottomRightRadius="0dp"
+        android:topLeftRadius="15dp"
+        android:topRightRadius="15dp"/>
+
+    <solid
+        android:color="@color/white"/>
+
+</shape>

+ 65 - 0
app/src/main/res/layout/adp_gametask_order_layout.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+    android:padding="@dimen/content_padding_10"
+    android:layout_margin="@dimen/common_margin_10">
+
+    <TextView
+        android:id="@+id/date_tv"
+        style="@style/style_nomal_tv"
+        android:text="提交时间:"/>
+    <TextView
+        android:id="@+id/price_tv"
+        style="@style/style_nomal_tv"
+        android:text="提交金额:"
+        app:layout_constraintTop_toBottomOf="@+id/date_tv"/>
+    <TextView
+        android:id="@+id/pay_type_tv"
+        style="@style/style_nomal_tv"
+        android:text="支付方式:"
+        app:layout_constraintTop_toBottomOf="@+id/price_tv"/>
+    <TextView
+        android:id="@+id/order_type_tv"
+        style="@style/style_nomal_tv"
+        android:text="订单状态:"
+        app:layout_constraintTop_toBottomOf="@+id/pay_type_tv"/>
+    <TextView
+        android:id="@+id/order_end_time_tv"
+        style="@style/style_nomal_tv"
+        android:text="订单剩余时间:"
+        app:layout_constraintTop_toBottomOf="@+id/order_type_tv"/>
+
+
+    <TextView
+        android:id="@+id/pay_tyoe_show_tv"
+        style="@style/style_nomal_tv"
+        android:text="支付失败"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        android:layout_marginRight="@dimen/content_padding_10"/>
+    <LinearLayout
+        android:id="@+id/pay_layout"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent">
+        <TextView
+            android:id="@+id/pay_cancel_tv"
+            style="@style/style_button"
+            android:layout_height="30dp"
+            android:text="取消支付"/>
+        <TextView
+            android:id="@+id/pay_tv"
+            style="@style/style_button"
+            android:layout_height="30dp"
+            android:text="立即支付"/>
+    </LinearLayout>
+
+
+</android.support.constraint.ConstraintLayout>

+ 4 - 3
app/src/main/res/layout/adp_pay_game_dialog.xml

@@ -2,13 +2,14 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:orientation="horizontal">
+    android:orientation="horizontal"
+    android:paddingBottom="@dimen/content_padding_small">
 
     <ImageView
         android:id="@+id/pay_game_dialog_item_img"
         android:layout_gravity="center_vertical"
-        android:layout_width="33dp"
-        android:layout_height="33dp"
+        android:layout_width="22dp"
+        android:layout_height="22dp"
         android:src="@mipmap/personalc_ic_my_price"/>
     <TextView
         android:id="@+id/pay_game_dialog_item_tv"

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

@@ -124,6 +124,47 @@
     </RelativeLayout>
 
     <View
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:background="@color/white_bg_line"
+        android:layout_marginLeft="15dp"
+        android:layout_marginRight="15dp"
+        android:visibility="gone"/>
+
+    <RelativeLayout
+        android:id="@+id/order_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:padding="15dp">
+        <ImageView
+            android:id="@+id/order_item_icon_iv"
+            android:layout_width="@dimen/content_padding_20"
+            android:layout_height="@dimen/content_padding_20"
+            android:src="@mipmap/personalc_ic_order_manager"
+            android:layout_marginRight="12dp"
+            android:layout_centerVertical="true"/>
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="订单管理"
+            android:lines="1"
+            android:textColor="@color/black"
+            android:textSize="14dp"
+            android:layout_centerVertical="true"
+            android:layout_alignBottom="@+id/order_item_icon_iv"
+            android:layout_toEndOf="@+id/order_item_icon_iv" />
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/x_ic_next"
+            android:layout_alignParentRight="true"
+            android:layout_marginLeft="12dp"
+            android:layout_centerVertical="true"/>
+
+    </RelativeLayout>
+
+    <View
         android:id="@+id/proxy_service_layout_line"
         android:layout_width="match_parent"
         android:layout_height="1px"

+ 5 - 1
app/src/main/res/layout/task_detail_layout.xml

@@ -174,11 +174,14 @@
                     </LinearLayout>
                 </RelativeLayout>
 
-                <android.support.v7.widget.RecyclerView
+                <com.sheep.gamegroup.util.MyListview
                     android:id="@+id/detail_task_recyclerview"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:scrollbars="none"
+                    android:listSelector="@color/transparent"
+                    android:padding="@dimen/content_padding_10"
+                    android:layout_margin="@dimen/content_padding_10"
                     android:visibility="gone"/>
 
                 <com.sheep.gamegroup.util.MyListview
@@ -187,6 +190,7 @@
                     android:layout_height="wrap_content"
                     android:scrollbars="none"
                     android:listSelector="@color/transparent"
+                    android:divider="@null"
                     android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
                     android:padding="@dimen/content_padding_10"
                     android:layout_margin="@dimen/content_padding_10"

+ 5 - 4
app/src/main/res/layout/taskdetail_desc_item_screens.xml

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

+ 153 - 0
app/src/main/res/layout/taskdetail_mylistview_item.xml

@@ -0,0 +1,153 @@
+<?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:visibility="visible"
+    android:paddingBottom="@dimen/content_padding_small">
+
+    <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/content_padding_3"
+        android:visibility="gone">
+        <TextView
+            android:id="@+id/title_item_tv"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:ellipsize="middle"
+            style="@style/white_txt_style_13"
+            android:layout_marginLeft="@dimen/content_padding_small"/>
+        <TextView
+            android:id="@+id/title_item_price_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:text=""
+            style="@style/white_txt_style_13"
+            android:textColor="@color/txt_red"
+            android:layout_marginLeft="@dimen/content_padding_2"
+            android:layout_marginRight="@dimen/content_padding_3"/>
+        <ImageView
+            android:id="@+id/select_tab_iv"
+            android:layout_width="@dimen/view_size_30"
+            android:layout_height="@dimen/view_size_30"
+            android:padding="@dimen/content_padding_8"
+            android:src="@mipmap/arrow_down" />
+    </LinearLayout>
+    
+    <LinearLayout
+        android:id="@+id/item_show_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingTop="@dimen/content_padding_small"
+        android:background="@drawable/sp_bg_white_solid_bottom">
+        <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_2"
+                android:layout_marginTop="@dimen/content_padding_small"/>
+
+            <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>
+                <com.sheep.gamegroup.util.MyListview
+                    android:id="@+id/item_detail_listview"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:scrollbars="none"
+                    android:listSelector="@color/transparent"
+                    android:divider="@null"/>
+            </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_2"
+                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"/>
+                </LinearLayout>
+                <!--<com.sheep.gamegroup.util.MyListview-->
+                    <!--android:id="@+id/recycler_screenshot_view"-->
+                    <!--android:layout_width="match_parent"-->
+                    <!--android:layout_height="wrap_content"-->
+                    <!--android:scrollbars="none" />-->
+
+                <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>
+
+
+
+</LinearLayout>

+ 4 - 3
app/src/main/res/layout/taskdetail_recycler_item.xml

@@ -42,8 +42,8 @@
             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"/>
+            android:textSize="@dimen/text_size_2"
+            android:layout_marginTop="@dimen/content_padding_small"/>
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -92,7 +92,8 @@
             android:text="1"
             android:textColor="@color/blue_34a6e7"
             android:background="@color/blue_34a6e7"
-            android:textSize="@dimen/text_size_13"/>
+            android:textSize="@dimen/text_size_2"
+            android:layout_marginTop="@dimen/content_padding_small"/>
 
         <LinearLayout
             android:layout_width="match_parent"

+ 16 - 4
app/src/main/res/layout/textview_layout.xml

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

+ 26 - 40
app/src/main/res/layout/try_makemoney_act_layout.xml

@@ -10,58 +10,44 @@
         layout="@layout/title"/>
 
     <LinearLayout
-        android:layout_width="match_parent"
+        android:id="@+id/show_flow_layout"
+        android:layout_width="wrap_content"
         android:layout_height="40dp"
         android:paddingStart="@dimen/content_padding_10"
         android:paddingEnd="@dimen/content_padding_10"
+        android:layout_gravity="center_horizontal"
         android:gravity="center_vertical"
         android:orientation="horizontal"
         android:visibility="gone">
         <TextView
             style="@style/style_ash_tv"
-            android:text="接受任务"/>
-        <View
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            android:layout_weight="1"/>
-        <View
-            android:layout_width="6dp"
-            android:layout_height="6dp"
-            android:background="@drawable/sp_bg_circle_ash"/>
-        <View
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            android:layout_weight="1"/>
+            android:layout_marginRight="@dimen/common_margin_10"
+            android:text="任务流程:"/>
+        <TextView
+            style="@style/style_ash_num"
+            android:text="1"/>
         <TextView
             style="@style/style_ash_tv"
-            android:text="完成任务提交"/>
-        <View
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            android:layout_weight="1"/>
-        <View
-            android:layout_width="6dp"
-            android:layout_height="6dp"
-            android:background="@drawable/sp_bg_circle_ash"/>
-        <View
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            android:layout_weight="1"/>
+            android:text="下载游戏"/>
+        <ImageView
+            style="@style/style_ash_img"
+            android:src="@mipmap/arrow_right_img"/>
+        <!--<View-->
+            <!--android:layout_width="6dp"-->
+            <!--android:layout_height="6dp"-->
+            <!--android:background="@drawable/sp_bg_circle_ash"/>-->
+        <TextView
+            style="@style/style_ash_num"
+            android:text="2"/>
         <TextView
             style="@style/style_ash_tv"
-            android:text="后台审核通过"/>
-        <View
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            android:layout_weight="1"/>
-        <View
-            android:layout_width="6dp"
-            android:layout_height="6dp"
-            android:background="@drawable/sp_bg_circle_ash"/>
-        <View
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            android:layout_weight="1"/>
+            android:text="试玩游戏"/>
+        <ImageView
+            style="@style/style_ash_img"
+            android:src="@mipmap/arrow_right_img"/>
+        <TextView
+            style="@style/style_ash_num"
+            android:text="3"/>
         <TextView
             style="@style/style_ash_tv"
             android:text="领取奖励"/>

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


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


+ 12 - 2
app/src/main/res/values/dd_styles.xml

@@ -166,13 +166,23 @@
     <style name="style_ash_tv">
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">26dp</item>
-        <item name="android:paddingStart">@dimen/content_padding_10</item>
-        <item name="android:paddingEnd">@dimen/content_padding_10</item>
         <item name="android:textSize">12sp</item>
         <item name="android:textColor">#767676</item>
         <item name="android:gravity">center</item>
         <item name="android:background">@drawable/sp_bg_rectangle_ash</item>
     </style>
+    <style name="style_ash_num">
+        <item name="android:layout_width">15dp</item>
+        <item name="android:layout_height">15dp</item>
+        <item name="android:textSize">10sp</item>
+        <item name="android:textColor">#767676</item>
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/sp_bg_gray_circle_stroke</item>
+    </style>
+    <style name="style_ash_img">
+        <item name="android:layout_width">15dp</item>
+        <item name="android:layout_height">15dp</item>
+    </style>
 
     <style name="style_circle_main_v">
         <item name="android:layout_width">18dp</item>

+ 8 - 0
app/src/main/res/values/gamegroup_styles.xml

@@ -105,4 +105,12 @@
         <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
         <item name="android:backgroundDimAmount">0.7</item><!--透明度 0.0f到1.0f之间。1.0完全不透明,0.0f完全透明-->
     </style>
+    <style name="style_nomal_tv">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">#767676</item>
+        <item name="android:gravity">center</item>
+        <item name="android:layout_marginBottom">6dp</item>
+    </style>
 </resources>