liujiangyao 7 anni fa
parent
commit
9d53e6c7e9
51 ha cambiato i file con 1992 aggiunte e 43 eliminazioni
  1. 4 0
      app/src/main/AndroidManifest.xml
  2. 55 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  3. 87 0
      app/src/main/java/com/sheep/gamegroup/model/entity/GameAccountEntity.java
  4. 39 0
      app/src/main/java/com/sheep/gamegroup/model/entity/GameAccountSuper.java
  5. 44 0
      app/src/main/java/com/sheep/gamegroup/model/entity/GameAgencyRechargePlatformEntity.java
  6. 12 2
      app/src/main/java/com/sheep/gamegroup/model/entity/GameTaskOrderEnty.java
  7. 18 0
      app/src/main/java/com/sheep/gamegroup/model/entity/GridViewEntity.java
  8. 7 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RecyleType.java
  9. 25 0
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  10. 18 1
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  11. 20 0
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  12. 7 1
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  13. 8 0
      app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java
  14. 181 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActGameAccount.java
  15. 289 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActGameAgencyRecharge.java
  16. 121 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameAccount.java
  17. 73 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameAgencyRecharge.java
  18. 41 4
      app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameTaskOrderList.java
  19. 1 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java
  20. 376 0
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogAddAccount.java
  21. 42 1
      app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayGame.java
  22. 102 0
      app/src/main/java/com/sheep/gamegroup/view/dialog/SelfPopupWindow.java
  23. 1 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtGameMakeMoney.java
  24. 17 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/utils/TitleBarUtils.java
  25. 1 1
      app/src/main/res/drawable/sp_bg_gray_leftradius.xml
  26. 32 0
      app/src/main/res/layout/act_game_account_layout.xml
  27. 51 0
      app/src/main/res/layout/act_game_agency_recharge_layout.xml
  28. 82 0
      app/src/main/res/layout/adp_game_account_item.xml
  29. 7 0
      app/src/main/res/layout/adp_game_account_layout.xml
  30. 47 31
      app/src/main/res/layout/adp_gametask_order_layout.xml
  31. 24 0
      app/src/main/res/layout/adp_level_gridview_item.xml
  32. 103 0
      app/src/main/res/layout/dialog_add_account.xml
  33. 14 0
      app/src/main/res/layout/dialog_item_game_list.xml
  34. 12 0
      app/src/main/res/layout/popup_listview_layout.xml
  35. 1 1
      app/src/main/res/layout/taskdetail_mylistview_item.xml
  36. 1 1
      app/src/main/res/layout/taskdetail_recycler_item.xml
  37. 10 0
      app/src/main/res/layout/title.xml
  38. BIN
      app/src/main/res/mipmap-xhdpi/personalc_ic_reservation.png
  39. BIN
      app/src/main/res/mipmap-xhdpi/personalc_ic_reservation.webp
  40. BIN
      app/src/main/res/mipmap-xxhdpi/add_black_img.webp
  41. BIN
      app/src/main/res/mipmap-xxhdpi/delete_x_red_img.webp
  42. BIN
      app/src/main/res/mipmap-xxhdpi/game_platform_sheep_icon.webp
  43. BIN
      app/src/main/res/mipmap-xxhdpi/game_tencent_icon.webp
  44. BIN
      app/src/main/res/mipmap-xxhdpi/game_xiaomi_icon.webp
  45. BIN
      app/src/main/res/mipmap-xxhdpi/question_black_img.webp
  46. BIN
      app/src/main/res/mipmap-xxhdpi/question_red_img.webp
  47. BIN
      app/src/main/res/mipmap-xxhdpi/search_black_img.webp
  48. 1 0
      app/src/main/res/values/common.xml
  49. 9 0
      app/src/main/res/values/dd_styles.xml
  50. 2 0
      app/src/main/res/values/gamegroup_color.xml
  51. 7 0
      app/src/main/res/values/gamegroup_styles.xml

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

@@ -486,6 +486,10 @@
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActReservation"
             android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActGameAgencyRecharge"
+            android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActGameAccount"
+            android:screenOrientation="portrait"/>
     </application>
 
 

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

@@ -625,4 +625,59 @@ public interface ApiService {
      */
     @GET("app/home_list/{id}")
     Observable<BaseMessage> getHomeListItem(@Path("id") int id);
+
+    /**
+     *获取游戏任务下拉列表
+     */
+    @GET("app/release_task/recharge_Game_List")
+    Observable<BaseMessage> rechargeGameList(@Query("task_type") int task_type, @Query("name") String name);
+
+    /**
+     *领取游戏账号
+     */
+    @PUT("app/game_account/{task_id}")
+    Observable<BaseMessage> gameAccountManager(@Path("task_id") int task_id);
+
+    /**
+     *
+     创建游戏账号
+     */
+    @POST("app/game_account/add")
+    Observable<BaseMessage> addGameAccount(@Body JSONObject jsonObject);
+
+    /**
+     *
+     删除游戏账号
+     */
+    @DELETE("app/game_account/del/{id}")
+    Observable<BaseMessage> delGameAccount(@Path("id") int id);
+
+    /**
+     *编辑游戏账号密码
+     */
+    @PUT("app/game_account/edit")
+    Observable<BaseMessage> editGameAccount(@Body JSONObject jsonObject);
+    /**
+     *查询游戏账号详情
+     */
+    @GET("app/game_account/detail/{id}")
+    Observable<BaseMessage> getGameAccountDetail(@Path("id") int id);
+    /**
+     *获取平台对应的游戏
+     * task_type:1002平台游戏,1003 腾讯游戏,1004 小米游戏
+     */
+    @GET("app/game_account/game/list")
+    Observable<BaseMessage> getGameList(@Query("game_type") int game_type);
+    /**
+     *查询游戏账号
+     * task_type:1002平台游戏,1003 腾讯游戏,1004 小米游戏
+     */
+    @GET("app/game_account/account/list")
+    Observable<BaseMessage> getGameAccountList(@Query("game_type") int game_type, @Query("account") String account, @Query("task_id") int task_id);
+    /**
+     *查询所有游戏账号
+     * task_type:1002平台游戏,1003 腾讯游戏,1004 小米游戏
+     */
+    @GET("app/game_account/all/list")
+    Observable<BaseMessage> getGameAccountAllList();
 }

+ 87 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/GameAccountEntity.java

@@ -0,0 +1,87 @@
+package com.sheep.gamegroup.model.entity;
+
+import android.text.TextUtils;
+
+import java.io.Serializable;
+
+/**
+ * 游戏账户
+ * Created by ljy on 2018/7/10.
+ */
+
+public class GameAccountEntity implements Serializable {
+
+    private int task_id;//游戏id
+    private String task_name;//游戏名称
+    private int task_type;//游戏平台1002平台游戏,1003 腾讯游戏,1004 小米游戏
+
+    private String account;
+    private int game_type;
+    private int id;
+    private String password;
+
+    public String getAccount() {
+        return account;
+    }
+
+    public void setAccount(String account) {
+        this.account = account;
+    }
+
+    public int getGame_type() {
+        return game_type;
+    }
+
+    public void setGame_type(int game_type) {
+        this.game_type = game_type;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public int getTask_id() {
+        return task_id;
+    }
+
+    public void setTask_id(int task_id) {
+        this.task_id = task_id;
+    }
+
+    public String getTask_name() {
+        return task_name;
+    }
+
+    public void setTask_name(String task_name) {
+        this.task_name = task_name;
+    }
+
+    public int getTask_type() {
+        return task_type;
+    }
+
+    public void setTask_type(int task_type) {
+        this.task_type = task_type;
+    }
+
+    public String getTypeName(){
+        switch (task_id){
+            case 0:
+                return "通用";
+            default:
+                return TextUtils.isEmpty(task_name)?"通用":task_name;
+        }
+    }
+}

+ 39 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/GameAccountSuper.java

@@ -0,0 +1,39 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/7/10.
+ */
+
+public class GameAccountSuper implements Serializable {
+
+    private List<GameAccountEntity> platform;
+    private List<GameAccountEntity> tengxun;
+    private List<GameAccountEntity> xiaomi;
+
+    public List<GameAccountEntity> getPlatform() {
+        return platform;
+    }
+
+    public void setPlatform(List<GameAccountEntity> platform) {
+        this.platform = platform;
+    }
+
+    public List<GameAccountEntity> getTengxun() {
+        return tengxun;
+    }
+
+    public void setTengxun(List<GameAccountEntity> tengxun) {
+        this.tengxun = tengxun;
+    }
+
+    public List<GameAccountEntity> getXiaomi() {
+        return xiaomi;
+    }
+
+    public void setXiaomi(List<GameAccountEntity> xiaomi) {
+        this.xiaomi = xiaomi;
+    }
+}

+ 44 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/GameAgencyRechargePlatformEntity.java

@@ -0,0 +1,44 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * 游戏代充--平台
+ * Created by ljy on 2018/7/10.
+ */
+
+public class GameAgencyRechargePlatformEntity implements Serializable {
+    private int icon;
+    private String name;
+    private String desc;
+
+    public GameAgencyRechargePlatformEntity(int icon, String name, String desc) {
+        this.icon = icon;
+        this.name = name;
+        this.desc = desc;
+    }
+
+    public int getIcon() {
+        return icon;
+    }
+
+    public void setIcon(int icon) {
+        this.icon = icon;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+}

+ 12 - 2
app/src/main/java/com/sheep/gamegroup/model/entity/GameTaskOrderEnty.java

@@ -20,11 +20,11 @@ public class GameTaskOrderEnty implements Serializable {
 
     private int pay_type;//integer($int64) 充值方式
 
-    private int status;//integer($int64) 状态: 0下单 1订单取消 2第三方充值成功 3游戏充值中 4游戏充值失败 5游戏充值失败
+    private int status;//integer($int64) 状态: 0下单 1订单取消 2第三方充值成功 3游戏充值中 4游戏充值失败 5游戏充值支付成功 6:已退款
 
     private double third_amount;//number($double) 第三方充值金额
 
-    private int type;//integer($int32) 1:游戏充值 2Q币充值
+    private int type;//integer($int32) 1:游戏充值 2腾讯游戏  3小米游戏
 
     private int update_time;//integer($int64) 更新时间
 
@@ -32,6 +32,16 @@ public class GameTaskOrderEnty implements Serializable {
 
     private long user_id;//;//integer($int64)用户id
 
+    private String remark;//失败原因
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
     public String getAccount() {
         return account;
     }

+ 18 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/GridViewEntity.java

@@ -1,5 +1,7 @@
 package com.sheep.gamegroup.model.entity;
 
+import android.text.TextUtils;
+
 /**
  * Created by ljy on 2018/3/18.
  */
@@ -17,6 +19,12 @@ public class GridViewEntity {
         this.name = name;
     }
 
+    public GridViewEntity(boolean selectState, String name, String task_type) {
+        this.selectState = selectState;
+        this.name = name;
+        this.task_type = task_type;
+    }
+
     public GridViewEntity() {
     }
 
@@ -26,6 +34,16 @@ public class GridViewEntity {
     private int id;// -1:全部
     private String name;
 
+    private String task_type;
+
+    public String getTask_type() {
+        return TextUtils.isEmpty(task_type)?("1002"+",1003"+",1004"):task_type;
+    }
+
+    public void setTask_type(String task_type) {
+        this.task_type = task_type;
+    }
+
     public int getId() {
         return id;
     }

+ 7 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RecyleType.java

@@ -18,4 +18,11 @@ public enum RecyleType  implements Serializable {
     NORMAL_ON_HOOK,//挂机正常
     PROCESS_ON_HOOK,//挂机进行中
     PROMPT_ON_HOOK,//挂机提示信息
+
+    GAME_AGENCY_PAYMENT,//游戏代充
+    GAME_AGENCY_PAYMENT_PLATFORM,//游戏代充平台
+
+    GAME_ACCOUNT_PLATFORM,//平台
+    GAME_ACCOUNT_TENCENT,//腾讯
+    GAME_ACCOUNT_XIAOMI,//小米
 }

+ 25 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -52,6 +52,31 @@ public class TaskEty implements Serializable, IDownload {
      */
     private List<ScreenshotsEntity> screenshotsList;
 
+    /**
+     * 是否领取了账号 true领取了
+     */
+    private boolean is_receive_account;
+    /**
+     * 是否预约任务 0不是 1是
+     */
+    private int is_reservation;
+
+    public boolean isIs_receive_account() {
+        return is_receive_account;
+    }
+
+    public void setIs_receive_account(boolean is_receive_account) {
+        this.is_receive_account = is_receive_account;
+    }
+
+    public int getIs_reservation() {
+        return is_reservation;
+    }
+
+    public void setIs_reservation(int is_reservation) {
+        this.is_reservation = is_reservation;
+    }
+
     public String getScreenshots() {
         return screenshots;
     }

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

@@ -251,7 +251,8 @@ public class CommonUtil {
     }
     /**
      * 任务传送数据组装
-     * is_succession:0:不是连续  1:联系任务 3 全部显示
+     * is_succession:0:不是连续  1:连续任务 3 全部显示
+     * task_type:1002平台游戏,1003 腾讯游戏,1004 小米游戏
      */
     public HashMap<String, String> setHashMap(int page, int per_page,
                                               int platform, int is_hot,
@@ -1102,4 +1103,20 @@ public class CommonUtil {
                     }
                 }));
     }
+
+    /**
+     * 中间显示**
+     */
+    public String returnStarData(String value,int middle, int starShowNum, int endShowNum){
+        if(TextUtils.isEmpty(value))
+            return "";
+        if(value.length()> (starShowNum + endShowNum)){
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.append(value.substring(0, starShowNum));
+            stringBuilder.append("****");
+            stringBuilder.append(value.substring(value.length() -endShowNum, value.length()));
+            return stringBuilder.toString();
+        }
+        return value;
+    }
 }

+ 20 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -46,6 +46,8 @@ import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
 import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
 import com.sheep.gamegroup.view.activity.ActFindGame;
 import com.sheep.gamegroup.view.activity.ActFindInformation;
+import com.sheep.gamegroup.view.activity.ActGameAccount;
+import com.sheep.gamegroup.view.activity.ActGameAgencyRecharge;
 import com.sheep.gamegroup.view.activity.ActGuide;
 import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
 import com.sheep.gamegroup.view.activity.ActGuideOnHook;
@@ -109,6 +111,7 @@ import org.xutils.ex.DbException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
+import java.util.Observable;
 
 import me.iwf.photopicker.PhotoPreview;
 import rx.android.schedulers.AndroidSchedulers;
@@ -1380,4 +1383,21 @@ public class Jump2View {
             e.printStackTrace();
         }
     }
+
+    /**
+     * 游戏帐号
+     */
+    public void goGameAccount(Activity activity, Object o){
+        Intent intent = new Intent(activity, ActGameAccount.class);
+        activity.startActivity(intent);
+
+    }
+    /**
+     * 游戏代充
+     */
+    public void goGameRecharge(Activity activity, Object o){
+        Intent intent = new Intent(activity, ActGameAgencyRecharge.class);
+        activity.startActivity(intent);
+
+    }
 }

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

@@ -282,7 +282,7 @@ public class TestUtil {
      * @param activity
      */
     public static void test(final Activity activity) {
-        final String[] items = {"复制打点数据","尝试开启第三方应用使用情况","测试代理页面","第三方应用使用情况","开启第三方应用使用情况","h5跳转","新手对话框","md5","空间不足提示框",
+        final String[] items = {"游戏帐号","游戏代充","复制打点数据","尝试开启第三方应用使用情况","测试代理页面","第三方应用使用情况","开启第三方应用使用情况","h5跳转","新手对话框","md5","空间不足提示框",
                 "显示已经安装应用列表","复制token","复制faq地址","复制代理地址","复制世界杯地址","任务游戏列表","世界杯活动","交通银行信用卡测试",
                 "浦发银行信用卡测试", "测试游戏模块","打卡成功提示","定向货币详情","进入绑定身份认证界面时的提示","提交身份认证时的提示", "检查标签",
                 "友盟分享", "了解小绵羊", "提现成功"};
@@ -292,6 +292,12 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
+                            case "游戏帐号":
+                                Jump2View.getInstance().goGameAccount(activity, "http://10.8.210.172:8081/#/?authorization=123123");
+                                break;
+                            case "游戏代充":
+                                Jump2View.getInstance().goGameRecharge(activity, "http://10.8.210.172:8081/#/?authorization=123123");
+                                break;
                             case "复制打点数据":
                                 UMConfigUtils.copyDaDianData();
                                 break;

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

@@ -30,6 +30,7 @@ import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.Container;
 import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.view.activity.SplashAct;
+import com.sheep.gamegroup.view.dialog.DialogAddAccount;
 import com.sheep.gamegroup.view.dialog.DialogOrienteeringDetails;
 import com.sheep.gamegroup.view.dialog.DialogPayAccount;
 import com.sheep.gamegroup.view.dialog.DialogPayGame;
@@ -725,4 +726,11 @@ public class ViewUtil {
 
     }
 
+    /**
+     * 添加游戏账户
+     */
+    public void showAddAccount(Activity activity){
+        new DialogAddAccount(activity).showAddAccount();
+    }
+
 }

+ 181 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActGameAccount.java

@@ -0,0 +1,181 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.opengl.Visibility;
+import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GameAccountEntity;
+import com.sheep.gamegroup.model.entity.GameAccountSuper;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
+import com.sheep.gamegroup.view.adapter.AdpGameAccount;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
+import com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 游戏账号
+ * Created by ljy on 2018/7/9.
+ */
+
+public class ActGameAccount extends BaseActivity {
+    @BindView(R.id.recyclerview)
+    RecyclerView recyclerview;
+    @BindView(R.id.refresh)
+    SheepmSwipeRefreshLayout refresh;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    private Activity activity;
+    private List<GameAccountEntity> gameAccountPlotformEntity = new ArrayList<>();
+    private List<GameAccountEntity> gameAccountTencentEntity = new ArrayList<>();
+    private List<GameAccountEntity> gameAccountXiaomiEntity = new ArrayList<>();
+
+    private AdpGameAccount adpGameAccount;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_game_account_layout;
+    }
+
+    @Override
+    public void initView() {
+        activity = this;
+        TitleBarUtils.getInstance()
+                .setTitleFinish(activity)
+                .setTitle(activity, "游戏账号")
+                .setRightImgBotton(activity,
+                        R.mipmap.add_black_img,
+                        new View.OnClickListener() {
+                            @Override
+                            public void onClick(View v) {
+                                ViewUtil.newInstance()
+                                        .showAddAccount(activity);
+
+                            }
+                        });
+
+        recyclerview.setLayoutManager(new LinearLayoutManager(activity));
+        adpGameAccount = new AdpGameAccount(activity);
+        for (int i = 0; i < 3; i++) {
+            adpGameAccount.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        recyclerview.setAdapter(adpGameAccount);
+    }
+
+    @Override
+    public void initListener() {
+
+        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                initData();
+            }
+        });
+        recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+                super.onScrollStateChanged(recyclerView, newState);
+            }
+
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+
+                int topRowVerticalPosition =
+                        (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
+
+                refresh.setEnabled(topRowVerticalPosition >= 0);
+            }
+        });
+    }
+
+    @Override
+    public void initData() {
+        adpGameAccount.clear();
+        for (int i = 0; i < 3; i++) {
+            adpGameAccount.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getGameAccountAllList()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+
+                        G.showToast(baseMessage.getMsg()+"");
+                        notifyDataSetChanged(null);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        GameAccountSuper gameAccountSuper = baseMessage.getData(GameAccountSuper.class);
+                        if(gameAccountSuper != null){
+                            int position = 0;
+                            if(ListUtil.isEmpty(gameAccountSuper.getPlatform())){
+                                adpGameAccount.add(RecyleObj.make(RecyleType.GAME_ACCOUNT_PLATFORM, gameAccountSuper.getPlatform()),position);
+                                position++;
+                            }
+                            if(ListUtil.isEmpty(gameAccountSuper.getTengxun())){
+                                adpGameAccount.add(RecyleObj.make(RecyleType.GAME_ACCOUNT_TENCENT, gameAccountSuper.getTengxun()),position);
+                                position++;
+                            }
+                            if(ListUtil.isEmpty(gameAccountSuper.getXiaomi())){
+                                adpGameAccount.add(RecyleObj.make(RecyleType.GAME_ACCOUNT_XIAOMI, gameAccountSuper.getXiaomi()),position);
+                            }
+
+                        }
+                        notifyDataSetChanged(gameAccountSuper);
+                    }
+                });
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // TODO: add setContentView(...) invocation
+        ButterKnife.bind(this);
+    }
+
+    private void checkAndInitView() {
+        if(refresh == null)
+            refresh = findViewById(R.id.refresh);
+        if(empty_view == null)
+            empty_view = findViewById(R.id.empty_view);
+    }
+    private void notifyDataSetChanged(GameAccountSuper gameAccountSuper){
+        checkAndInitView();
+        adpGameAccount.notifyDataSetChanged();
+        if(gameAccountSuper == null)
+            empty_view.setVisibility(View.VISIBLE);
+        if(ListUtil.isEmpty(gameAccountSuper.getPlatform()) && ListUtil.isEmpty(gameAccountSuper.getPlatform()) && ListUtil.isEmpty(gameAccountSuper.getPlatform())){
+
+            empty_view.setVisibility(View.VISIBLE);
+        }else {
+            empty_view.setVisibility(View.GONE);
+        }
+        refresh.setRefreshing(false);
+    }
+}

+ 289 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActGameAgencyRecharge.java

@@ -0,0 +1,289 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.LinearLayout;
+
+import com.alibaba.fastjson.JSONArray;
+import com.bumptech.glide.Glide;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.DialogConfig;
+import com.sheep.gamegroup.model.entity.GameAgencyRechargePlatformEntity;
+import com.sheep.gamegroup.model.entity.GridViewEntity;
+import com.sheep.gamegroup.model.entity.OrienteeringDetail;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.AppUtil;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.MyGridview;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.AdpGameAgencyRecharge;
+import com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp;
+import com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * 游戏代充
+ * Created by ljy on 2018/7/9.
+ */
+
+public class ActGameAgencyRecharge extends BaseActivity {
+    @BindView(R.id.gridview_game)
+    MyGridview gridviewGame;
+    @BindView(R.id.recyclerview)
+    RecyclerView recyclerview;
+    @BindView(R.id.refresh)
+    SheepmSwipeRefreshLayout refresh;
+    @BindView(R.id.empty_view)
+    View empty_view;
+    private Activity activity;
+    private AdpGameAgencyRecharge adpGameAgencyRecharge;
+    private ArrayList<Object> gridviewList = new ArrayList<>();
+    private GridViewEntity gridViewEntity;//选中的
+    private TryMakeMoneyAdp tryMakeMoneyAdp;
+    private int page = 1;//页数
+    private int per_page = 100;
+    private List<GameAgencyRechargePlatformEntity> platformList = ListUtil.emptyList();//平台充值
+    private List<TaskReleaseEty> releaseEtyLists = new ArrayList<>();//游戏代充
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_game_agency_recharge_layout;
+    }
+
+    @Override
+    public void initView() {
+        
+        activity = this;
+        TitleBarUtils.getInstance()
+                .setTitleFinish(activity)
+                .setTitle(activity, "游戏代充")
+                .setShowRightTwoBtn(activity,
+                        R.mipmap.question_black_img,
+                        R.mipmap.search_black_img,
+                        new View.OnClickListener() {//问号
+                            @Override
+                            public void onClick(View v) {
+                                ViewUtil.showMsgDialog(activity, "充值请填写正确的游戏充值账号,角色信息,其他充值问题请联系客服。","充值帮助");
+                            }
+                        },
+                        new View.OnClickListener() {//搜索
+                            @Override
+                            public void onClick(View v) {
+
+                            }
+                        });
+        adpGameAgencyRecharge = new AdpGameAgencyRecharge(activity, gridviewList);
+        gridviewGame.setAdapter(adpGameAgencyRecharge);
+        changeGridview();
+        empty_view.setVisibility(View.GONE);
+        /**
+         * recycle view
+         */
+        recyclerview.setLayoutManager(new LinearLayoutManager(activity));
+        tryMakeMoneyAdp = new TryMakeMoneyAdp(activity);
+
+        for (int i = 0; i < 2; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        recyclerview.setAdapter(tryMakeMoneyAdp);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        initData();
+    }
+
+    @Override
+    public void initListener() {
+
+        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                initData();
+            }
+        });
+        recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+                super.onScrollStateChanged(recyclerView, newState);
+            }
+
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+
+                int topRowVerticalPosition =
+                        (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
+
+                refresh.setEnabled(topRowVerticalPosition >= 0);
+            }
+        });
+        gridviewGame.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                if(gridViewEntity == gridviewList.get(position)){
+                    return;
+                }
+                gridViewEntity = (GridViewEntity) gridviewList.get(position);
+                for(int i=0;i<gridviewList.size();i++){
+                    if(position == i){
+                        ((GridViewEntity) gridviewList.get(i)).setSelectState(true);
+                    }else {
+                        ((GridViewEntity) gridviewList.get(i)).setSelectState(false);
+
+                    }
+                    adpGameAgencyRecharge.notifyDataSetChanged();
+                }
+                try{
+                    //刷新界面
+                    initData();
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
+    @Override
+    public void initData() {
+        refresh.setRefreshing(true);
+        tryMakeMoneyAdp.clear();
+        for (int i = 0; i < 2; i++) {
+            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.NONE, null));
+        }
+        setValue();//gridview data
+
+        if(gridViewEntity == null)
+            return;
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .releaseTask(
+                1,
+                100,
+                SheepApp.getInstance().getConnectAddress().getPlatForm(),
+                0,
+                0,
+                0,
+                 gridViewEntity.getTask_type(),
+                0)
+                .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) {
+                        List<TaskReleaseEty> releaseEtyList = JSONArray.parseArray(JSONArray.toJSONString(baseMessage.getData()), TaskReleaseEty.class);
+                        if(releaseEtyList != null){
+                            releaseEtyLists.addAll(releaseEtyList);
+                            tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.GAME_AGENCY_PAYMENT, releaseEtyLists),1);
+                            notifyDataSetChanged();
+                        }
+
+                    }
+                });
+
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // TODO: add setContentView(...) invocation
+        ButterKnife.bind(this);
+    }
+
+    /**
+     * gridview 改成单行横向布局
+     */
+    private void changeGridview(){
+
+        int itemWidth = AppUtil.dp2px(activity, (G.WIDTH >G.HEIGHT?G.HEIGHT:G.WIDTH) / 4 -30);
+        int itemPaddingh = AppUtil.dp2px(activity, 1);
+
+        int size = 4;
+
+        int gridview = size * (itemWidth + itemPaddingh);
+
+        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(gridview, LinearLayout.LayoutParams.WRAP_CONTENT);
+        gridviewGame.setLayoutParams(params);
+        gridviewGame.setColumnWidth(itemWidth);
+        gridviewGame.setHorizontalSpacing(itemPaddingh);
+        gridviewGame.setStretchMode(MyGridview.NO_STRETCH);
+        gridviewGame.setNumColumns(size);
+    }
+
+    /**
+     * gridview 赋值
+     */
+    private void setValue(){
+        gridviewList.clear();
+        gridviewList.add(new GridViewEntity(false, "全 部", "1002"+",1003"+",1004"));
+        gridviewList.add(new GridViewEntity(false, "平台游戏", 1002+""));
+        gridviewList.add(new GridViewEntity(false, "小米游戏", 1004+""));
+        gridviewList.add(new GridViewEntity(false, "腾讯游戏", 1003+""));
+        gridViewEntity = (GridViewEntity) gridviewList.get(0);
+
+        //平台游戏
+        platformList.clear();
+        platformList.add(new GameAgencyRechargePlatformEntity(
+                R.mipmap.game_platform_sheep_icon,
+                "平台游戏代充",
+                "充值有福利"));
+        platformList.add(new GameAgencyRechargePlatformEntity(
+                R.mipmap.game_xiaomi_icon,
+                "小米游戏代充",
+                "充值有福利"));
+        platformList.add(new GameAgencyRechargePlatformEntity(
+                R.mipmap.game_platform_sheep_icon,
+                "腾讯游戏代充",
+                "充值有福利"));
+        tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.GAME_AGENCY_PAYMENT_PLATFORM, platformList),0);
+        notifyDataSetChanged();
+
+    }
+
+    private void checkAndInitView() {
+        if(refresh == null)
+            refresh = findViewById(R.id.refresh);
+        if(empty_view == null)
+            empty_view = findViewById(R.id.empty_view);
+    }
+    private void notifyDataSetChanged(){
+        checkAndInitView();
+        tryMakeMoneyAdp.refreshAdapter();
+        if(tryMakeMoneyAdp.isEmpty() && platformList.isEmpty() && releaseEtyLists.isEmpty()){
+
+            empty_view.setVisibility(View.VISIBLE);
+        }else {
+            empty_view.setVisibility(View.GONE);
+        }
+        refresh.setRefreshing(false);
+    }
+}

+ 121 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameAccount.java

@@ -0,0 +1,121 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.kfzs.duanduan.adp.AdpCommonRecy;
+import com.sheep.gamegroup.model.entity.GameAccountEntity;
+import com.sheep.gamegroup.model.entity.RecyleObj;
+import com.sheep.gamegroup.model.entity.RecyleType;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/7/10.
+ */
+
+public class AdpGameAccount extends AdpCommonRecy<RecyleObj> {
+
+    private Context context;
+    public AdpGameAccount(Context context) {
+        super(context);
+        this.context = context;
+    }
+
+    public AdpGameAccount(Context context, Context context1) {
+        super(context);
+        this.context = context1;
+    }
+
+    @Override
+    public int getViewIdByType(int type) {
+        int resId = R.layout.empty;
+        RecyleType recyleType = RecyleType.values()[type];
+        switch (recyleType){
+            case GAME_ACCOUNT_PLATFORM:
+            case GAME_ACCOUNT_TENCENT:
+            case GAME_ACCOUNT_XIAOMI:
+                resId = R.layout.try_mkmy_release_task_list;
+                break;
+        }
+        return resId;
+    }
+
+    @Override
+    public void convert(final com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder holder, RecyleObj recyleObj) {{
+        final List<GameAccountEntity> etyList = (List<GameAccountEntity>)recyleObj.getDataObj();
+        if(etyList == null)
+            return;
+        TextView item_title_tv = holder.getView(R.id.item_title_tv, TextView.class);
+        switch (recyleObj.getRecyleType()){
+            case GAME_ACCOUNT_PLATFORM:
+                item_title_tv.setText("快发平台账号");
+                break;
+            case GAME_ACCOUNT_TENCENT:
+                item_title_tv.setText("小米游戏账号");
+                break;
+            case GAME_ACCOUNT_XIAOMI:
+                item_title_tv.setText("腾讯游戏账号");
+                break;
+        }
+        RecyclerView recyclerView = holder.getView(R.id.release_task_listview, RecyclerView.class);
+        recyclerView.setHasFixedSize(true);
+        recyclerView.setLayoutManager(new LinearLayoutManager(context));
+        recyclerView.setAdapter(new RecyclerView.Adapter(){
+
+            @Override
+            public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
+                LinearLayout view = (LinearLayout) LayoutInflater.from(context)
+                        .inflate(R.layout.adp_game_account_item, viewGroup,false);
+                RecyclerView.ViewHolder viewHolder = new RecyclerView.ViewHolder(view) {
+                    @Override
+                    public String toString() {
+                        return super.toString();
+                    }
+                };
+                return viewHolder;
+            }
+
+            @Override
+            public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int i) {
+                if(etyList.get(i) == null){
+                    return;
+                }
+                TextView account_tv = holder.itemView.findViewById(R.id.account_tv);
+                TextView state_tv = holder.itemView.findViewById(R.id.state_tv);
+                TextView look_tv = holder.itemView.findViewById(R.id.look_tv);
+                LinearLayout delete_layout = holder.itemView.findViewById(R.id.delete_layout);
+
+                account_tv.setText("账号:"+ CommonUtil.getInstance().returnStarData(etyList.get(i).getAccount(), 4, 2, 3));
+                state_tv.setText(etyList.get(i).getTypeName());
+                look_tv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+
+                    }
+                });
+                delete_layout.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+
+                    }
+                });
+            }
+
+            @Override
+            public int getItemCount() {
+                return etyList.size();
+            }
+        });
+    }
+
+    }
+}

+ 73 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameAgencyRecharge.java

@@ -0,0 +1,73 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.sheep.gamegroup.model.entity.GridViewEntity;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * 游戏代充 gridview
+ * Created by ljy on 2018/7/9.
+ */
+
+public class AdpGameAgencyRecharge extends BaseAdapter {
+    private Context context;
+    private List<Object> list;
+
+    public AdpGameAgencyRecharge(Context context, List<Object> list) {
+        this.context = context;
+        this.list = list;
+    }
+
+    @Override
+    public int getCount() {
+        return list.size();
+    }
+
+    @Override
+    public GridViewEntity getItem(int position) {
+        return (GridViewEntity) list.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ViewHolder holder = null;
+        if(holder == null){
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.adp_level_gridview_item, null);
+            holder.name_tv = convertView.findViewById(R.id.name_tv);
+            holder.line_view = convertView.findViewById(R.id.line_view);
+
+            convertView.setTag(holder);
+        }else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+
+        if (getItem(position).isSelectState()){
+            holder.name_tv.setTextColor(context.getResources().getColor(R.color.blue_end));
+            holder.line_view.setVisibility(View.VISIBLE);
+        }else{
+            holder.name_tv.setTextColor(context.getResources().getColor(R.color.txt_black_818181));
+            holder.line_view.setVisibility(View.GONE);
+        }
+        holder.name_tv.setText(getItem(position).getName()+"");
+        return convertView;
+    }
+
+    class ViewHolder{
+        TextView name_tv;
+        View line_view;
+    }
+}

+ 41 - 4
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpGameTaskOrderList.java

@@ -7,12 +7,14 @@ 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.sheep.gamegroup.model.entity.GameTaskOrderEnty;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.TimeUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 
 import java.util.List;
@@ -59,6 +61,8 @@ public class AdpGameTaskOrderList extends BaseAdapter {
             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);
+            holder.question_img = convertView.findViewById(R.id.question_img);
+            holder.line_view = convertView.findViewById(R.id.line_view);
             convertView.setTag(holder);
         }else {
             holder = (ViewHolder) convertView.getTag();
@@ -93,12 +97,16 @@ public class AdpGameTaskOrderList extends BaseAdapter {
 
         holder.pay_layout.setVisibility(View.GONE);
         holder.pay_tyoe_show_tv.setVisibility(View.VISIBLE);
+        holder.question_img.setVisibility(View.GONE);
+        holder.line_view.setVisibility(View.VISIBLE);
+        holder.pay_tyoe_show_tv.setTextColor(context.getResources().getColor(R.color.red_fd2d54));
         String stateStr = "";
         switch (gameTaskOrderEnty.getStatus()){
             case 0:
             default:
                 holder.order_type_tv.setText("订单状态:未完成");
                 holder.pay_layout.setVisibility(View.VISIBLE);
+                holder.line_view.setVisibility(View.GONE);
                 holder.pay_tyoe_show_tv.setVisibility(View.GONE);
                 break;
             case 1:
@@ -113,17 +121,20 @@ public class AdpGameTaskOrderList extends BaseAdapter {
                 holder.order_type_tv.setText("订单状态:未完成");
                 holder.pay_tyoe_show_tv.setText("充值中");
                 break;
-            case 4:
+            case 4://type 1:游戏充值 2腾讯游戏  3小米游戏
                 holder.order_type_tv.setText("订单状态:未完成");
-                holder.pay_tyoe_show_tv.setText("充值中");
+                holder.pay_tyoe_show_tv.setText("充值失败");
+                showQuestion(holder.question_img, gameTaskOrderEnty);
                 break;
             case 5:
                 holder.order_type_tv.setText("订单状态:已完成");
                 holder.pay_tyoe_show_tv.setText("支付成功");
+                holder.pay_tyoe_show_tv.setTextColor(context.getResources().getColor(R.color.green_btn_bg));
                 break;
-            case 6:
+            case 6://type 1:游戏充值 2腾讯游戏  3小米游戏
                 holder.order_type_tv.setText("订单状态:订单失败");
                 holder.pay_tyoe_show_tv.setText("已退款");
+                showQuestion(holder.question_img, gameTaskOrderEnty);
                 break;
 
         }
@@ -152,12 +163,38 @@ public class AdpGameTaskOrderList extends BaseAdapter {
                                 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;
+        ImageView question_img;
+        View line_view;
+    }
+
+    /**
+     * 是否显示?
+     */
+    private boolean showQuestion(View view, final GameTaskOrderEnty gameTaskOrderEnty ){
+
+        if(!TextUtils.isEmpty(gameTaskOrderEnty.getRemark())){
+            view.setVisibility(View.VISIBLE);
+
+            //失败提示
+            view.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    ViewUtil.showMsgDialog(context,
+                            gameTaskOrderEnty.getRemark(),
+                            "失败原因",
+                            false);
+                }
+            });
+        }else {
+            view.setVisibility(View.GONE);
+        }
+
+        return false;
     }
 }

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

@@ -88,6 +88,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
             case BEGIN_TASK:
             case RUN_TASK:
             case GAME_TASK:
+            case GAME_AGENCY_PAYMENT:
                 resId = R.layout.try_mkmy_release_task_list;
                 break;
         }

+ 376 - 0
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogAddAccount.java

@@ -0,0 +1,376 @@
+package com.sheep.gamegroup.view.dialog;
+
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.os.Handler;
+import android.os.Message;
+import android.support.v7.app.AlertDialog;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.BaseAdapter;
+import android.widget.CheckBox;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.kfzs.duanduan.utils.dlg.ViewFindUtils;
+import com.sheep.gamegroup.model.entity.Agreement;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GameAccountEntity;
+import com.sheep.gamegroup.model.entity.GridViewEntity;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.MyListview;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by ljy on 2018/7/10.
+ */
+
+public class DialogAddAccount {
+    private Activity activity;
+
+    private com.sheep.gamegroup.view.adapter.ArrayAdapter baseAdapter;
+    private com.sheep.gamegroup.view.adapter.ArrayAdapter accountAdapter;
+    private List<GameAccountEntity> gameAccountEntity = new ArrayList<>();
+    private ArrayList<Object> gamePlatorEntity = new ArrayList<>();
+    private ArrayList<Object> gameAccountListEntity = new ArrayList<>();
+
+    private int game_type;
+    private int task_id;
+    private String account;
+    private String password;
+    private int task_type;
+    Spinner game_account_game_list_spinner;
+
+    public DialogAddAccount(Activity activity) {
+        this.activity = activity;
+    }
+
+    Handler mHandler = new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            try {
+                switch (msg.what){
+                    case 0:
+                        if(game_account_game_list_spinner == null)
+                            return;
+
+                        game_account_game_list_spinner.setVisibility((Integer) msg.obj);
+                        break;
+                }
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
+    };
+
+    public void showAddAccount(){
+        if(activity == null)
+            return;
+        platformData();
+        View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
+        final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
+                .setView(dialog_parent)
+                .create();
+        TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
+        final View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
+        LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
+        View view = LayoutInflater.from(activity).inflate(R.layout.dialog_add_account, dialog_center_ll, true);
+        dialog_title.setText("添加账号");
+
+        TextView sureTv = view.findViewById(R.id.add_sure_tv);
+        final EditText game_account_et = view.findViewById(R.id.game_account_et);
+        final EditText game_pwd_et = view.findViewById(R.id.game_pwd_et);
+        final MyListview game_account_listview = view.findViewById(R.id.game_account_listview);
+
+        accountAdapter = new com.sheep.gamegroup.view.adapter.ArrayAdapter<Object>(activity, R.layout.dialog_item_game_list, gameAccountListEntity){
+            @Override
+            public boolean convert(int position, View convertView, ViewGroup parent, Object item) {
+                final GameAccountEntity gameAccountEntity = (GameAccountEntity) item;
+                final TextView name_tv = ViewFindUtils.find(convertView, R.id.name_tv);
+                name_tv.setText(gameAccountEntity.getTask_name()+"");
+                convertView.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        game_account_et.setText(gameAccountEntity.getTask_name()+"");
+                        game_account_listview.setVisibility(View.GONE);
+                    }
+                });
+                return true;
+            }
+        };
+        game_account_listview.setAdapter(accountAdapter);
+
+        game_account_et.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                if(!TextUtils.isEmpty(s) && s.length() > 4){
+                    game_account_listview.setVisibility(View.VISIBLE);
+                    intitDataAccountList(s.toString());
+                }
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+
+        Spinner game_account_plator_spinner = view.findViewById(R.id.game_account_plator_spinner);
+        game_account_game_list_spinner = view.findViewById(R.id.game_account_game_list_spinner);
+
+        final RadioButton conmon_id = view.findViewById(R.id.conmon_id);
+        final RadioButton fixation_id = view.findViewById(R.id.fixation_id);
+        RadioGroup radio_group= view.findViewById(R.id.radio_group);
+        radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(RadioGroup group, int checkedId) {
+                // 获取选中的RadioButton的id
+                int id = group.getCheckedRadioButtonId();
+                // 通过id实例化选中的这个RadioButton
+                RadioButton choise = (RadioButton) activity.findViewById(id);
+
+                Message message = new Message();
+                message.what = 0;
+                if(id == R.id.conmon_id){
+                    message.obj = View.GONE;
+                    game_account_game_list_spinner.setVisibility(View.GONE);
+                }
+                if(id == R.id.fixation_id){
+                    message.obj = View.VISIBLE;
+                    game_account_game_list_spinner.setVisibility(View.VISIBLE);
+                }
+                mHandler.sendMessage(message);
+            }
+        });
+        /**
+         * 平台列表
+         */
+        game_account_plator_spinner.setAdapter(new com.sheep.gamegroup.view.adapter.ArrayAdapter<Object>(activity, R.layout.dialog_item_game_list, gamePlatorEntity){
+            @Override
+            public boolean convert(int position, View convertView, ViewGroup parent, final Object item) {
+                final GridViewEntity gridViewEntity = (GridViewEntity) item;
+                final TextView name_tv = ViewFindUtils.find(convertView, R.id.name_tv);
+                name_tv.setText(gridViewEntity.getName()+"");
+                convertView.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        task_type = Integer.parseInt(gridViewEntity.getTask_type());
+                    }
+                });
+                return true;
+            }
+        });
+
+        /**
+         * 游戏列表
+         */
+        baseAdapter = new com.sheep.gamegroup.view.adapter.ArrayAdapter<GameAccountEntity>(activity, R.layout.dialog_item_game_list, gameAccountEntity){
+            @Override
+            public boolean convert(int position, View convertView, ViewGroup parent, final GameAccountEntity item) {
+                final TextView name_tv = ViewFindUtils.find(convertView, R.id.name_tv);
+                name_tv.setText(item.getTask_name()+"");
+//                convertView.setOnClickListener(new View.OnClickListener() {
+//                    @Override
+//                    public void onClick(View view) {
+//                        task_id = item.getTask_id();
+//                        task_type = item.getTask_type();
+//                    }
+//                });
+                return true;
+            }
+        };
+
+        game_account_game_list_spinner.setAdapter(baseAdapter);
+        game_account_game_list_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+            @Override
+            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+
+                if(game_type < 1) {
+                    G.showToast("请选择游戏平台!");
+                    return;
+                }
+                intitDataGameList(game_type);
+            }
+
+            @Override
+            public void onNothingSelected(AdapterView<?> parent) {
+
+            }
+        });
+
+        /**
+         * 添加账号提交
+         */
+        sureTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                account = game_account_et.getText().toString().trim();
+                password = game_pwd_et.getText().toString().trim();
+                if(TextUtils.isEmpty(account)){
+                    G.showToast("请选择或输入游戏账号");
+                    return;
+                }
+                if(task_type < 1){
+                    G.showToast("请选择游戏平台");
+                    return;
+                }
+
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("account",account);
+                jsonObject.put("password",password);
+                jsonObject.put("task_id",task_id);
+                jsonObject.put("task_type",task_type);
+
+                ViewUtil.newInstance().showProgress(activity);
+                SheepApp.getInstance()
+                        .getNetComponent()
+                        .getApiService()
+                        .addGameAccount(jsonObject)
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+
+                                ViewUtil.newInstance().hideProgress(activity);
+                                G.showToast(baseMessage.getMsg()+"");
+                            }
+
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                ViewUtil.newInstance().hideProgress(activity);
+                                G.showToast(baseMessage.getMsg()+"");
+
+                                dialog.dismiss();
+                            }
+                        });
+
+            }
+        });
+
+        dialog_close.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dialog.dismiss();
+            }
+        });
+
+        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+            @Override
+            public void onDismiss(DialogInterface dialogInterface) {
+            }
+        });
+        try {
+            dialog.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    /**
+     * 平台数据
+     */
+    private void platformData(){
+        gamePlatorEntity.clear();
+        gamePlatorEntity.add(new GridViewEntity(false, "平台游戏", 1002+""));
+        gamePlatorEntity.add(new GridViewEntity(false, "小米游戏", 1004+""));
+        gamePlatorEntity.add(new GridViewEntity(false, "腾讯游戏", 1003+""));
+    }
+
+    /**
+     * 游戏任务列表
+     * @param game_type
+     */
+    private void intitDataGameList(int game_type){
+
+        ViewUtil.newInstance().showProgress(activity);
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getGameList(game_type)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+
+                        ViewUtil.newInstance().hideProgress(activity);
+                        G.showToast(baseMessage.getMsg()+"");
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        ViewUtil.newInstance().hideProgress(activity);
+                        List<GameAccountEntity> gameAccountEntitys = baseMessage.getDatas(GameAccountEntity.class);
+                        if(!ListUtil.isEmpty(gameAccountEntitys)){
+                            gameAccountEntity.clear();
+                            gameAccountEntity.addAll(gameAccountEntitys);
+                            if(baseAdapter != null)
+                                baseAdapter.notifyDataSetChanged();
+                        }
+                    }
+                });
+    }
+    private void intitDataAccountList(String account){
+
+        if(game_type < 1) {
+            G.showToast("请选择游戏平台!");
+            return;
+        }
+        ViewUtil.newInstance().showProgress(activity);
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getGameAccountList(game_type, account, task_id)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+
+                        ViewUtil.newInstance().hideProgress(activity);
+                        G.showToast(baseMessage.getMsg()+"");
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        ViewUtil.newInstance().hideProgress(activity);
+                        List<GameAccountEntity> gameAccountEntitys = baseMessage.getDatas(GameAccountEntity.class);
+                        if(!ListUtil.isEmpty(gameAccountEntitys)){
+                            gameAccountListEntity.clear();
+                            gameAccountListEntity.addAll(gameAccountEntitys);
+                            if(accountAdapter != null)
+                                accountAdapter.notifyDataSetChanged();
+                        }
+                    }
+                });
+    }
+}

+ 42 - 1
app/src/main/java/com/sheep/gamegroup/view/dialog/DialogPayGame.java

@@ -51,6 +51,12 @@ public class DialogPayGame {
 
     private String balance;//金额
 
+    private String goods;
+    private String pwd;
+    private String role_id;
+    private String role_name;
+    private String service;
+
     private String gameId;
     private AlertDialog dialog;
 
@@ -207,6 +213,35 @@ public class DialogPayGame {
     }
     /**
      * 支付提交
+     * account	string
+     账号
+
+     amount	number($double)
+     充值金额
+
+     game_id	string
+     游戏id
+
+     goods	string
+     商品
+
+     pay_type	integer($int64)
+     支付方式:1支付宝 2微信 3绵羊币
+
+     pwd	string
+     密码
+
+     role_id	string
+     角色Id
+
+     role_name	string
+     角色名称
+
+     service	string
+     区服
+
+     use_voucher	boolean
+     是否用绵羊币 true:用 false:不用
      */
     private void surePay(){
         if(list.isEmpty()){
@@ -240,9 +275,15 @@ public class DialogPayGame {
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("account", game_account_etStr);
         jsonObject.put("amount", Float.valueOf(game_pay_etStr));
-        jsonObject.put("game_id", gameId);
+        jsonObject.put("game_id", gameId+"");
         jsonObject.put("pay_type", pay_type);
         jsonObject.put("use_voucher", use_voucher);
+
+        jsonObject.put("goods", goods);
+        jsonObject.put("pwd", pwd);
+        jsonObject.put("role_id", role_id);
+        jsonObject.put("role_name", role_name);
+        jsonObject.put("service", service);
         final int finalPay_type = pay_type;
         SheepApp.getInstance().getNetComponent().getApiService().game_consumption(jsonObject)
                 .subscribeOn(Schedulers.io())

+ 102 - 0
app/src/main/java/com/sheep/gamegroup/view/dialog/SelfPopupWindow.java

@@ -0,0 +1,102 @@
+package com.sheep.gamegroup.view.dialog;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.graphics.drawable.Drawable;
+import android.support.v4.content.ContextCompat;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.kfzs.duanduan.utils.dlg.ViewFindUtils;
+import com.sheep.gamegroup.model.entity.GameAccountEntity;
+import com.sheep.gamegroup.util.MyListview;
+import com.sheep.gamegroup.view.adapter.ArrayAdapter;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/7/11.
+ */
+
+public class SelfPopupWindow {
+    private Activity activity;
+
+
+    /** TextView选择框 */
+    private View mSelectTv;
+
+    /** popup窗口里的ListView */
+    private MyListview myListview;
+
+    /** popup窗口 */
+    private PopupWindow typeSelectPopup;
+
+    /** 模拟的假数据 */
+    private List<String> testData;
+
+    /** 数据适配器 */
+    private ArrayAdapter<String> testDataAdapter;
+
+    public SelfPopupWindow(Activity activity, View view) {
+        this.mSelectTv = view;
+        this.activity = activity;
+    }
+
+    public void showPopup(){
+        myListview = new MyListview(activity);
+        TestData();
+        testDataAdapter = new ArrayAdapter<String>(activity, R.layout.dialog_item_game_list,testData){
+            @Override
+            public boolean convert(int position, View convertView, ViewGroup parent, String item) {
+                final TextView name_tv = ViewFindUtils.find(convertView, R.id.name_tv);
+                name_tv.setText(item+"");
+                return true;
+            }
+        };
+        myListview.setAdapter(testDataAdapter);
+        myListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                G.showToast(testData.get(position)+"");
+                typeSelectPopup.dismiss();
+            }
+        });
+
+        typeSelectPopup = new PopupWindow(myListview, mSelectTv.getWidth(), ActionBar.LayoutParams.WRAP_CONTENT, true);
+        // 取得popup窗口的背景图片
+        Drawable drawable = ContextCompat.getDrawable(activity, R.drawable.bg_tag_normal);
+        typeSelectPopup.setBackgroundDrawable(drawable);
+        typeSelectPopup.setFocusable(true);
+        typeSelectPopup.setOutsideTouchable(true);
+        typeSelectPopup.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                // 关闭popup窗口
+                typeSelectPopup.dismiss();
+            }
+        });
+        if (typeSelectPopup != null && !typeSelectPopup.isShowing()) {
+            typeSelectPopup.showAsDropDown(mSelectTv, 0, 10);
+        }
+    }
+
+
+    /**
+     * 模拟假数据
+     */
+    private void TestData() {
+        testData = new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            String str = new String("数据" + i);
+            testData.add(str);
+        }
+    }
+}

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

@@ -458,6 +458,7 @@ public class FgtGameMakeMoney extends BaseFragment implements TryMakeMoneyContra
     /**
      * 即将开始
      * type: 0 1
+     * task_type:1002平台游戏,1003 腾讯游戏,1004 小米游戏
      */
     private void getNetWork(int type){
         if(type > 1){

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

@@ -245,4 +245,21 @@ public class TitleBarUtils {
                 .setBackground(activity.getResources().getDrawable(backgroundImgResId));
         return mTitleBarUtils;
     }
+
+    /**
+     * 右边两个按钮的情况
+     */
+    public TitleBarUtils setShowRightTwoBtn(Activity activity, int oneRes, int secondeRes, View.OnClickListener oneOnclick, View.OnClickListener twoOnclick){
+        ImageButton ibtn_two_right = activity.findViewById(R.id.ibtn_two_right);
+        ImageButton ibtn_baseactivity_right = activity.findViewById(R.id.ibtn_baseactivity_right);
+
+        ibtn_two_right.setVisibility(View.VISIBLE);
+        ibtn_baseactivity_right.setVisibility(View.VISIBLE);
+        ibtn_two_right.setImageResource(secondeRes);
+        ibtn_baseactivity_right.setImageResource(oneRes);
+
+        ibtn_two_right.setOnClickListener(twoOnclick);
+        ibtn_baseactivity_right.setOnClickListener(oneOnclick);
+        return mTitleBarUtils;
+    }
 }

+ 1 - 1
app/src/main/res/drawable/sp_bg_gray_leftradius.xml

@@ -5,5 +5,5 @@
         android:bottomLeftRadius="@dimen/radius_25"
         android:topLeftRadius="@dimen/radius_25"/>
     <solid
-        android:color="@color/gray_F0F0F0"/>
+        android:color="@color/bg_line"/>
 </shape>

+ 32 - 0
app/src/main/res/layout/act_game_account_layout.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include
+        layout="@layout/title"/>
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+        <include
+            android:id="@+id/empty_view"
+            layout="@layout/empty_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+        <com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout
+            android:id="@+id/refresh"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/content_padding_10">
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/recyclerview"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical" />
+        </com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout>
+
+    </RelativeLayout>
+
+</LinearLayout>

+ 51 - 0
app/src/main/res/layout/act_game_agency_recharge_layout.xml

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:background="@color/gray_F5F5F5">
+
+    <include
+        layout="@layout/title"/>
+
+    <HorizontalScrollView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:scrollbars="none">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="@dimen/content_padding_15">
+            <com.sheep.gamegroup.util.MyGridview
+                android:id="@+id/gridview_game"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:scrollbars="none" />
+        </LinearLayout>
+    </HorizontalScrollView>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+        <include
+            android:id="@+id/empty_view"
+            layout="@layout/empty_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+        <com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout
+            android:id="@+id/refresh"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/content_padding_10">
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/recyclerview"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical" />
+        </com.sheep.gamegroup.view.customview.SheepmSwipeRefreshLayout>
+
+    </RelativeLayout>
+
+
+</LinearLayout>

+ 82 - 0
app/src/main/res/layout/adp_game_account_item.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:paddingTop="@dimen/content_padding_13"
+    android:background="@color/white">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/content_padding_15"
+        android:layout_marginBottom="@dimen/content_padding_15">
+        <TextView
+            android:id="@+id/account_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="账号:53****541"
+            style="@style/nomal_txt_style"/>
+
+        <TextView
+            android:id="@+id/state_tv"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="通用"
+            android:layout_centerHorizontal="true"
+            android:layout_toLeftOf="@+id/look_tv"
+            android:layout_toRightOf="@+id/account_tv"
+            android:lines="1"
+            android:ellipsize="end"
+            android:gravity="center"
+            style="@style/nomal_txt_style"
+            android:layout_marginRight="@dimen/content_padding_5"
+            android:layout_marginLeft="@dimen/content_padding_5"/>
+
+        <TextView
+            android:id="@+id/look_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="查看"
+            style="@style/nomal_txt_style"
+            android:textColor="@color/blue_end"
+            android:layout_toLeftOf="@+id/delete_layout"/>
+
+        <LinearLayout
+            android:id="@+id/delete_layout"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:layout_alignParentRight="true"
+            android:background="@drawable/sp_bg_gray_leftradius"
+            android:layout_marginLeft="@dimen/content_padding_8"
+            android:paddingLeft="@dimen/content_padding_3"
+            android:paddingRight="@dimen/content_padding_small">
+
+            <ImageView
+                android:paddingTop="@dimen/content_padding_2"
+                android:paddingBottom="@dimen/content_padding_2"
+                android:layout_width="@dimen/content_padding_18"
+                android:layout_height="@dimen/content_padding_18"
+                android:src="@mipmap/delete_x_red_img"/>
+            <TextView
+                android:id="@+id/delete_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="删除"
+                style="@style/nomal_txt_style"
+                android:textSize="@dimen/text_size_2"
+                android:layout_gravity="center_vertical"
+                android:layout_marginLeft="@dimen/content_padding_3"/>
+        </LinearLayout>
+    </RelativeLayout>
+
+    <View
+        android:id="@+id/line_view"
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:background="@color/txt_gray_e6e4e4"
+        android:layout_marginLeft="@dimen/content_padding_15"
+        android:layout_marginRight="@dimen/content_padding_15"/>
+
+</LinearLayout>

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

@@ -0,0 +1,7 @@
+<?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:background="@color/white_F9F9F9">
+
+</LinearLayout>

+ 47 - 31
app/src/main/res/layout/adp_gametask_order_layout.xml

@@ -16,60 +16,76 @@
         style="@style/style_nomal_tv"
         android:text="提交金额:"
         app:layout_constraintTop_toBottomOf="@+id/date_tv"/>
-    <LinearLayout
-        android:id="@+id/pay_type_layout"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        app:layout_constraintTop_toBottomOf="@+id/price_tv">
-        <TextView
-            style="@style/style_nomal_tv"
-            android:text="支付方式:"
-            />
-        <TextView
-            android:id="@+id/pay_type_tv"
-            style="@style/style_nomal_tv"
-            android:text=""
-            />
-    </LinearLayout>
+
+    <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_layout"/>
+        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"
-        android:visibility="gone"/>
+        android:visibility="visible"/>
 
+    <View
+        android:id="@+id/line_view"
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:background="@color/txt_gray_e6e4e4"
+        app:layout_constraintTop_toBottomOf="@+id/order_end_time_tv"
+        android:layout_marginTop="@dimen/content_padding_15"
+        android:visibility="visible"/>
 
-    <TextView
-        android:id="@+id/pay_tyoe_show_tv"
-        style="@style/style_nomal_tv"
-        android:text="支付失败"
-        app:layout_constraintTop_toTopOf="@+id/date_tv"
-        app:layout_constraintBottom_toBottomOf="@+id/order_type_tv"
-        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="@+id/date_tv"
-        app:layout_constraintBottom_toBottomOf="@+id/order_type_tv"
+        android:orientation="horizontal"
+        app:layout_constraintTop_toBottomOf="@+id/line_view"
+        android:layout_marginTop="@dimen/content_padding_18"
+        app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent">
         <TextView
+            android:id="@+id/pay_tyoe_show_tv"
+            style="@style/style_nomal_tv1"
+            android:text="支付失败"
+            android:layout_gravity="center_vertical"/>
+        <ImageView
+            android:id="@+id/question_img"
+            android:layout_width="@dimen/view_size_20"
+            android:layout_height="@dimen/view_size_20"
+            android:src="@mipmap/question_red_img"
+            android:layout_marginLeft="@dimen/content_padding_small"
+            android:layout_gravity="center_vertical"/>
+    </LinearLayout>
+    <LinearLayout
+        android:id="@+id/pay_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        app:layout_constraintTop_toBottomOf="@+id/line_view"
+        android:layout_marginTop="@dimen/content_padding_9"
+        android:visibility="gone">
+        <TextView
             android:id="@+id/pay_cancel_tv"
-            style="@style/style_button_show_1"
+            style="@style/style_button_show_gray"
             android:layout_height="30dp"
+            android:layout_width="0dp"
+            android:layout_weight="1"
             android:text="取消支付"/>
         <TextView
             android:id="@+id/pay_tv"
             style="@style/style_button_show_1"
             android:layout_height="30dp"
+            android:layout_width="0dp"
+            android:layout_weight="1"
             android:text="立即支付"/>
     </LinearLayout>
 

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

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/name_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="全 部"
+        android:gravity="center_horizontal"/>
+
+    <View
+        android:id="@+id/line_view"
+        android:layout_width="match_parent"
+        android:layout_height="7dp"
+        android:layout_marginLeft="@dimen/content_padding_15"
+        android:layout_marginRight="@dimen/content_padding_15"
+        android:background="@color/blue_start"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="@dimen/content_padding_15"/>
+
+</LinearLayout>

+ 103 - 0
app/src/main/res/layout/dialog_add_account.xml

@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_margin="@dimen/content_padding"
+    android:orientation="vertical">
+
+    <!--android:background="@drawable/sp_bg_blue_stroke"-->
+    <Spinner
+        android:id="@+id/game_account_plator_spinner"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/common_margin_10"
+        android:paddingTop="@dimen/content_padding_5"
+        android:paddingBottom="@dimen/content_padding_5"/>
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+
+
+    <RadioGroup
+        android:id="@+id/radio_group"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:paddingRight="@dimen/content_padding_20"
+        android:paddingBottom="@dimen/dp_10"
+        android:paddingTop="@dimen/dp_10"
+        android:paddingLeft="@dimen/content_padding_20">
+
+        <RadioButton
+            android:id="@+id/conmon_id"
+            android:layout_width="match_parent"
+            android:layout_weight="1"
+            android:layout_height="match_parent"
+            android:text="通用游戏"
+            android:textSize="@dimen/text_size_13"
+            android:drawablePadding="@dimen/content_padding_5"
+            android:checked="true"
+            android:paddingStart="@dimen/content_padding_15"/>
+
+        <RadioButton
+            android:id="@+id/fixation_id"
+            android:layout_width="match_parent"
+            android:layout_weight="1"
+            android:layout_height="match_parent"
+            android:text="固定游戏"
+            android:textSize="@dimen/text_size_13"
+            android:checked="false"
+            android:paddingStart="@dimen/content_padding_15"/>
+    </RadioGroup>
+
+
+    <Spinner
+        android:id="@+id/game_account_game_list_spinner"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/common_margin_10" />
+
+    <EditText
+        android:id="@+id/game_account_et"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/sp_bg_blue_stroke"
+        android:hint="输入游戏帐号"
+        android:minWidth="@dimen/view_size_150"
+        android:padding="@dimen/content_padding_small"
+        android:text=""
+        android:textSize="@dimen/text_size_13" />
+
+    <com.sheep.gamegroup.util.MyListview
+        android:id="@+id/game_account_listview"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:listSelector="@color/transparent"
+        android:minWidth="@dimen/view_size_150"
+        android:scrollbars="none" />
+
+    <EditText
+        android:id="@+id/game_pwd_et"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/common_margin_10"
+        android:background="@drawable/sp_bg_blue_stroke"
+        android:hint="输入密码"
+        android:inputType="number"
+        android:minWidth="@dimen/view_size_150"
+        android:padding="@dimen/content_padding_small"
+        android:textSize="@dimen/text_size_13" />
+
+    <TextView
+        android:id="@+id/add_sure_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/content_padding_20"
+        android:background="@drawable/sp_bg_gradient_rectangle_blue"
+        android:gravity="center"
+        android:minHeight="@dimen/view_size_30"
+        android:text="立即添加"
+        android:textColor="@color/white"
+        android:textSize="@dimen/text_size_15" />
+</LinearLayout>

+ 14 - 0
app/src/main/res/layout/dialog_item_game_list.xml

@@ -0,0 +1,14 @@
+<?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">
+
+    <TextView
+        android:id="@+id/name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textColor="@color/black_6_3"
+        android:gravity="center"
+        android:textSize="13sp"
+        android:text="游戏"/>
+</LinearLayout>

+ 12 - 0
app/src/main/res/layout/popup_listview_layout.xml

@@ -0,0 +1,12 @@
+<?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">
+
+    <com.sheep.gamegroup.util.MyListview
+        android:id="@+id/listview"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:scrollbars="none"/>
+
+</LinearLayout>

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

@@ -144,7 +144,7 @@
                         android:layout_width="0dp"
                         android:layout_weight="1"
                         android:layout_height="wrap_content"
-                        android:text="示截图"
+                        android:text="示截图"
                         style="@style/txt_style_15_323232"
                         android:layout_marginLeft="@dimen/content_padding_15"/>
                 </LinearLayout>

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

@@ -107,7 +107,7 @@
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:layout_height="wrap_content"
-                    android:text="示截图"
+                    android:text="示截图"
                     style="@style/txt_style_15_black"
                     android:layout_marginLeft="@dimen/content_padding_15"/>
             </LinearLayout>

+ 10 - 0
app/src/main/res/layout/title.xml

@@ -69,6 +69,16 @@
         android:gravity="center"
         android:minWidth="?attr/actionBarSize"
         android:visibility="gone"/>
+    <ImageButton
+        android:id="@+id/ibtn_two_right"
+        android:layout_width="?attr/actionBarSize"
+        android:layout_height="match_parent"
+        android:layout_centerVertical="true"
+        android:background="@color/translate"
+        android:gravity="center"
+        android:minWidth="?attr/actionBarSize"
+        android:layout_toLeftOf="@+id/ibtn_baseactivity_right"
+        android:visibility="gone"/>
 
     <TextView
         android:layout_width="wrap_content"

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


BIN
app/src/main/res/mipmap-xhdpi/personalc_ic_reservation.webp


BIN
app/src/main/res/mipmap-xxhdpi/add_black_img.webp


BIN
app/src/main/res/mipmap-xxhdpi/delete_x_red_img.webp


BIN
app/src/main/res/mipmap-xxhdpi/game_platform_sheep_icon.webp


BIN
app/src/main/res/mipmap-xxhdpi/game_tencent_icon.webp


BIN
app/src/main/res/mipmap-xxhdpi/game_xiaomi_icon.webp


BIN
app/src/main/res/mipmap-xxhdpi/question_black_img.webp


BIN
app/src/main/res/mipmap-xxhdpi/question_red_img.webp


BIN
app/src/main/res/mipmap-xxhdpi/search_black_img.webp


+ 1 - 0
app/src/main/res/values/common.xml

@@ -44,6 +44,7 @@
     <dimen name="content_padding_5">5dp</dimen>
     <dimen name="content_padding_small">6dp</dimen>
     <dimen name="content_padding_8">8dp</dimen>
+    <dimen name="content_padding_9">9dp</dimen>
     <dimen name="content_padding_big">18dp</dimen>
     <dimen name="content_padding_10">13dp</dimen>
     <dimen name="dp_10">10dp</dimen>

+ 9 - 0
app/src/main/res/values/dd_styles.xml

@@ -60,6 +60,15 @@
         <item name="android:layout_margin">@dimen/content_padding_small</item>
         <item name="android:textSize">@dimen/text_size_2</item>
     </style>
+    <style name="style_button_show_gray" parent="button">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">30dp</item>
+        <item name="android:gravity">center</item>
+        <item name="android:background">@drawable/sp_rectangle_bg_gray_radius</item>
+        <item name="android:textColor">@color/btn_color_main</item>
+        <item name="android:layout_margin">@dimen/content_padding_small</item>
+        <item name="android:textSize">@dimen/text_size_2</item>
+    </style>
 
     <style name="style_button_stroke" parent="button">
         <item name="android:layout_width">match_parent</item>

+ 2 - 0
app/src/main/res/values/gamegroup_color.xml

@@ -44,4 +44,6 @@
     <color name="blue_91BDD6">#91BDD6</color>
 
     <color name="float_bg">#33F9F9F9</color>
+    <color name="gray_F5F5F5">#F5F5F5</color>
+
 </resources>

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

@@ -124,4 +124,11 @@
         <item name="android:gravity">center</item>
         <item name="android:layout_marginBottom">6dp</item>
     </style>
+    <style name="style_nomal_tv1">
+        <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>
+    </style>
 </resources>