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

Merge remote-tracking branch 'origin/sheep2.0' into sheep2.0

zengjiebin лет назад: 7
Родитель
Сommit
52d5b44211
33 измененных файлов с 874 добавлено и 98 удалено
  1. 0 2
      app/src/main/AndroidManifest.xml
  2. 43 5
      app/src/main/java/com/kfzs/duanduan/fragment/AbsFgtMyMoney.java
  3. 4 3
      app/src/main/java/com/kfzs/duanduan/fragment/FgtMyMoney3.java
  4. 41 15
      app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java
  5. 3 0
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  6. 4 1
      app/src/main/java/com/kfzs/duanduan/react/upfile/UpFileUtils.java
  7. 16 0
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  8. 72 0
      app/src/main/java/com/sheep/gamegroup/model/entity/AgentEntity.java
  9. 3 0
      app/src/main/java/com/sheep/gamegroup/model/entity/ILog.java
  10. 20 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RechargeBalanceLog.java
  11. 180 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RechargeLogEntity.java
  12. 19 0
      app/src/main/java/com/sheep/gamegroup/model/entity/RechargeQQLog.java
  13. 19 0
      app/src/main/java/com/sheep/gamegroup/model/entity/WithdrawalEty.java
  14. 28 0
      app/src/main/java/com/sheep/gamegroup/model/entity/XianWanAndroidEnty.java
  15. 45 0
      app/src/main/java/com/sheep/gamegroup/model/entity/XianWanEntity.java
  16. 1 1
      app/src/main/java/com/sheep/gamegroup/model/util/ExceptionHandle.java
  17. 36 0
      app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java
  18. 1 1
      app/src/main/java/com/sheep/gamegroup/util/DeviceIDUtil.java
  19. 32 6
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  20. 8 0
      app/src/main/java/com/sheep/gamegroup/util/MyDbManager.java
  21. 1 2
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  22. 2 0
      app/src/main/java/com/sheep/gamegroup/util/UMConfigUtils.java
  23. 123 0
      app/src/main/java/com/sheep/gamegroup/util/WebviewJs.java
  24. 1 1
      app/src/main/java/com/sheep/gamegroup/view/activity/ActMyMoney.java
  25. 47 32
      app/src/main/java/com/sheep/gamegroup/view/activity/ActXinwanWeb.java
  26. 67 20
      app/src/main/java/com/sheep/gamegroup/view/adapter/TryMakeMoneyAdp.java
  27. 4 0
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMyGame.java
  28. 15 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/utils/SpUtils.java
  29. 2 1
      app/src/main/res/layout/activity_guide_on_hook.xml
  30. 1 1
      app/src/main/res/layout/task_detail_layout.xml
  31. 36 7
      app/src/main/res/layout/x_my_money_act_layout_item.xml
  32. BIN
      app/src/main/res/mipmap-xhdpi/myprice_off.png
  33. BIN
      app/src/main/res/mipmap-xhdpi/myprice_on.png

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

@@ -42,14 +42,12 @@
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
-    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
     <uses-permission android:name="android.permission.GET_TASKS"/>
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
         tools:ignore="ProtectedPermissions"/>
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
     <!--必须的权限配置-->
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.READ_LOGS"

+ 43 - 5
app/src/main/java/com/kfzs/duanduan/fragment/AbsFgtMyMoney.java

@@ -3,10 +3,12 @@ package com.kfzs.duanduan.fragment;
 import android.app.Activity;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
+import com.googlecode.protobuf.format.util.TextUtils;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.ILog;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
@@ -56,22 +58,56 @@ public abstract class AbsFgtMyMoney extends BaseFragment {
             swipe_container.setFooterView(activity, list_view, R.layout.listview_footer);
             adapter = new ArrayAdapter<ILog>(activity, R.layout.x_my_money_act_layout_item, list){
                 @Override
-                public boolean convert(int position, View convertView, ViewGroup parent, ILog item) {
+                public boolean convert(int position, View convertView, ViewGroup parent, final ILog item) {
                     View my_money_item_top = convertView.findViewById(R.id.my_money_item_top);
                     View my_money_item_center = convertView.findViewById(R.id.my_money_item_center);
                     View my_money_item_bottom = convertView.findViewById(R.id.my_money_item_bottom);
-                    TextView my_money_item_recharge_amount = convertView.findViewById(R.id.my_money_item_recharge_amount);
+                    final TextView my_money_item_recharge_amount = convertView.findViewById(R.id.my_money_item_recharge_amount);
                     TextView my_money_item_recharge_status = convertView.findViewById(R.id.my_money_item_recharge_status);
                     TextView my_money_item_recharge_time = convertView.findViewById(R.id.my_money_item_recharge_time);
+                    final ImageView my_money_item_recharge_amount_iv = convertView.findViewById(R.id.my_money_item_recharge_amount_iv);
+                    final TextView my_money_item_recharge_amount_2 = convertView.findViewById(R.id.my_money_item_recharge_amount_2);
                     my_money_item_recharge_amount.setText(item.getEventText());
+                    my_money_item_recharge_amount_2.setText(item.getEventText());
                     my_money_item_recharge_status.setText(item.getStateText());
-                    my_money_item_recharge_status.setTextColor(item.isEventSuccess() ? 0xff282828 : 0xffff2e4b);
+                    my_money_item_recharge_amount.setTextColor(item.isEventSuccess() ? 0xff282828 : 0xffff2e4b);
                     my_money_item_recharge_time.setText(TimeUtil.TimeStamp2Date(item.getEventTime(), "yyyy/MM/dd HH:mm"));
                     boolean isFirst = position == 0;
                     boolean isLast = ListUtil.isLastPosition(list, position);
                     my_money_item_top.setVisibility(isFirst ? View.VISIBLE : View.GONE);
                     my_money_item_center.setBackgroundColor(position % 2 == 1 ? 0xffF8F8F8 : 0xffffffff);
                     my_money_item_bottom.setVisibility(isLast ? View.VISIBLE : View.GONE);
+
+                    my_money_item_recharge_amount_2.setVisibility(View.GONE);
+                    my_money_item_recharge_amount.post(new Runnable() {
+                        @Override
+                        public void run() {
+                            if(!android.text.TextUtils.isEmpty(item.getEventText()) && my_money_item_recharge_amount.getLayout() != null){
+                                int ellipis = my_money_item_recharge_amount.getLayout().getEllipsisCount(my_money_item_recharge_amount.getLineCount()-1);
+                                if(ellipis > 0){
+                                    my_money_item_recharge_amount_iv.setVisibility(View.VISIBLE);
+                                }else {
+                                    my_money_item_recharge_amount_iv.setVisibility(View.INVISIBLE);
+                                }
+                            }else {
+                                my_money_item_recharge_amount_iv.setVisibility(View.INVISIBLE);
+                            }
+                        }
+                    });
+
+                    my_money_item_recharge_amount_iv.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            item.isSelect(!item.getSelect());
+                            if(item.getSelect()){
+                                my_money_item_recharge_amount_2.setVisibility(View.VISIBLE);
+                                my_money_item_recharge_amount_iv.setImageDrawable(activity.getResources().getDrawable(R.mipmap.myprice_off));
+                            }else {
+                                my_money_item_recharge_amount_2.setVisibility(View.GONE);
+                                my_money_item_recharge_amount_iv.setImageDrawable(activity.getResources().getDrawable(R.mipmap.myprice_on));
+                            }
+                        }
+                    });
                     return true;
                 }
             };
@@ -90,9 +126,11 @@ public abstract class AbsFgtMyMoney extends BaseFragment {
                 @Override
                 public void onLoad() {
                     swipe_container.setLoading(false);
-                    if(list.size() % per_page == 0)
+                    if(list.size() >= per_page * page){
                         page++;
-                    initData();
+                        initData();
+                    }
+
                 }
             });
             initData();

+ 4 - 3
app/src/main/java/com/kfzs/duanduan/fragment/FgtMyMoney3.java

@@ -1,6 +1,7 @@
 package com.kfzs.duanduan.fragment;
 
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.RechargeLogEntity;
 import com.sheep.gamegroup.model.entity.RechargeQQLog;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
@@ -15,12 +16,12 @@ import rx.Observable;
  */
 public class FgtMyMoney3 extends AbsFgtMyMoney {
     @Override
-    protected List<RechargeQQLog> getDatas(BaseMessage baseMessage) {
-        return baseMessage.getDatas(RechargeQQLog.class);
+    protected List<RechargeLogEntity> getDatas(BaseMessage baseMessage) {
+        return baseMessage.getDatas(RechargeLogEntity.class);
     }
 
     @Override
     protected Observable<BaseMessage> initObservable(int page, int per_page) {
-        return SheepApp.getInstance().getNetComponent().getApiService().getRechargeQQLog(page, per_page);
+        return SheepApp.getInstance().getNetComponent().getApiService().rechargeLog(page, per_page);
     }
 }

+ 41 - 15
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -16,6 +16,7 @@ import com.bumptech.glide.request.RequestOptions;
 import com.kfzs.duanduan.BaseCompatFragment;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.AgentEntity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.Ext;
@@ -32,6 +33,7 @@ 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 com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
@@ -77,21 +79,43 @@ public class FgtPersonalCenter extends BaseCompatFragment {
     }
 
     private void initData() {
-        SheepApp.getInstance().getNetComponent().getApiService().getInfo()
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
-                        updateData(baseMessage);
-                    }
+        //代理
+        CommonUtil.getInstance().getAgencyState(activity, new Action1<BaseMessage>() {
+            @Override
+            public void call(BaseMessage baseMessage) {
+                try{
+                    if (baseMessage != null){
+                        AgentEntity agentEntity = baseMessage.getData(AgentEntity.class);
+                        if(agentEntity != null){
+                            SpUtils.saveAgencyState(1);
+                        }else {
+                            SpUtils.saveAgencyState(0);
+                        }
 
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                    }else {
+                        SpUtils.saveAgencyState(0);
                     }
-                });
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+                SheepApp.getInstance().getNetComponent().getApiService().getInfo()
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                LogUtil.println("baseMessage onNext " + JSON.toJSONString(baseMessage));
+                                updateData(baseMessage);
+                            }
+
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+                                LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
+                            }
+                        });
+            }
+        });
+
         if (TextUtils.isEmpty(faqUrl))
             SheepApp.getInstance().getNetComponent().getApiService().getFaqUrl()
                     .subscribeOn(Schedulers.io())
@@ -130,6 +154,8 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                             LogUtil.println("baseMessage onError " + JSON.toJSONString(baseMessage));
                         }
                     });
+
+
         String appVersonName = ApkUtils.getCurrentPkgVersionName(SheepApp.getInstance());
         version_item_tv.setText("小绵羊V");
         version_item_tv.append(appVersonName);
@@ -165,10 +191,10 @@ public class FgtPersonalCenter extends BaseCompatFragment {
         //设置是否显示代理服务
         proxy_service_layout_line.setVisibility(
 //                BuildConfig.DEBUG ||
-                userEntitys.getIs_agent() == 1 ? View.VISIBLE : View.GONE);
+                SpUtils.getAgencyState() == 1 ? View.VISIBLE : View.GONE);
         proxy_service_layout.setVisibility(
 //                BuildConfig.DEBUG ||
-                userEntitys.getIs_agent() == 1 ? View.VISIBLE : View.GONE);
+                SpUtils.getAgencyState() == 1 ? View.VISIBLE : View.GONE);
     }
 
     @Override

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

@@ -928,6 +928,9 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                         Jump2View.getInstance()
                                 .goGameMakeMoney(activity, 0);
                         break;
+                    case 12://闲玩任务
+                        Jump2View.getInstance().goXianwanWeb(activity,null, null);
+                        break;
                     default:
                         G.showToast(R.string.coming_soon);
                         break;

+ 4 - 1
app/src/main/java/com/kfzs/duanduan/react/upfile/UpFileUtils.java

@@ -4,6 +4,7 @@ package com.kfzs.duanduan.react.upfile;
 import android.graphics.Bitmap;
 
 import com.nanchen.compresshelper.CompressHelper;
+import com.sheep.gamegroup.model.util.ExceptionHandle;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.Callback;
@@ -89,7 +90,9 @@ public class UpFileUtils {
 
                             @Override
                             public void onError(Call call, Exception e, int id) {
-                                upFileListener.Failure(e.toString());
+                                //访问获得对应的Exception
+                                ExceptionHandle.ResponeThrowable throwable = ExceptionHandle.handleException(e);
+                                upFileListener.Failure(throwable.message+"");
                             }
 
                             @Override

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

@@ -571,4 +571,20 @@ public interface ApiService {
     @POST("app/event_tracking/userBehavior")
     Observable<BaseMessage> commitIdEvent(@Body JSONObject jsonObject);
 
+    /**
+     * 闲玩
+     */
+    @GET("app/common_config")
+    Observable<BaseMessage> commonConfig(@Query("type_name") String type_name);
+    /**
+     * 获取用户当前代理信息
+     */
+    @GET("app/agent/region")
+    Observable<BaseMessage> agentRegion();
+    /**
+     * 充值记录
+     */
+    @GET("app/user/recharge_log")
+    Observable<BaseMessage> rechargeLog(@Query("page") int page, @Query("per_page") int per_page);
+
 }

+ 72 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/AgentEntity.java

@@ -0,0 +1,72 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * 获取用户当前代理级别
+ * Created by ljy on 2018/6/27.
+ */
+
+public class AgentEntity {
+    private String adcode;// 0,行政区域编码
+    private String area_id;// 0,
+    private String create_time;// 0,创建时间
+    private String level;// 0,层级,大区设置为1,省级设置为2,市级3,区县级4,乡镇级5
+    private String name;//private String string",
+    private String p_adcode;// 0,上级的adcode
+    private String update_time;// 0\自动更新时间
+
+    public String getAdcode() {
+        return adcode;
+    }
+
+    public void setAdcode(String adcode) {
+        this.adcode = adcode;
+    }
+
+    public String getArea_id() {
+        return area_id;
+    }
+
+    public void setArea_id(String area_id) {
+        this.area_id = area_id;
+    }
+
+    public String getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(String create_time) {
+        this.create_time = create_time;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getP_adcode() {
+        return p_adcode;
+    }
+
+    public void setP_adcode(String p_adcode) {
+        this.p_adcode = p_adcode;
+    }
+
+    public String getUpdate_time() {
+        return update_time;
+    }
+
+    public void setUpdate_time(String update_time) {
+        this.update_time = update_time;
+    }
+}

+ 3 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/ILog.java

@@ -13,4 +13,7 @@ public interface ILog {
     boolean isEventSuccess();
 
     long getEventTime();
+
+    void isSelect(boolean b);
+    boolean getSelect();
 }

+ 20 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RechargeBalanceLog.java

@@ -26,6 +26,16 @@ public class RechargeBalanceLog implements ILog{
 
     private int Status;
 
+    private boolean isSelect;
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
+
     public void setUserId(int UserId){
         this.UserId = UserId;
     }
@@ -104,4 +114,14 @@ public class RechargeBalanceLog implements ILog{
     public long getEventTime() {
         return UpdateTime;
     }
+
+    @Override
+    public void isSelect(boolean b) {
+        setSelect(b);
+    }
+
+    @Override
+    public boolean getSelect() {
+        return isSelect();
+    }
 }

+ 180 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RechargeLogEntity.java

@@ -0,0 +1,180 @@
+package com.sheep.gamegroup.model.entity;//
+
+import java.util.Locale;
+
+/**
+ * 充值记录
+ * Created by ljy on 2018/6/27.
+ */
+
+public class RechargeLogEntity implements ILog {
+    private int From1;//	integer($int64)1:完成任务 2提现审核不通过退钱 3微信挂机赚钱 4下级完成任务提成 5贷款 6注册奖励 7旧版同步过来的 8第三方充值 9新手任务 10Q币充值失败退钱11:提现 12游戏充值 13 购买APP Store充值卡 14 充值Q币 15打卡报名 16实名认证费用 17游戏消费 18扣除游戏抵扣券 19代理代充 21打卡奖励 22代理提成 23增加游戏抵扣券
+
+    private String Status;//	string
+    private String Title;//	string
+    private double amount;//	number($double)金额
+
+    private int create_time;//integer($int64)记录时间
+
+    private String detail_desc;//	string明细描述
+
+    private int id;//	integer($int64)
+    private int relate_user;//	integer($int64)关联用户id
+
+    private int release_task_id;//	integer($int64)已发布任务id
+
+    private double surplus_amount;//	number($double)剩余金额
+
+    private int type;//	integer($int64)1:进钱 2出钱
+
+    private int user_id;//integer($int64)用户id
+
+    private String wx_account;//string微信账
+    private boolean isSelect;
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
+
+    public int getFrom1() {
+        return From1;
+    }
+
+    public void setFrom1(int from1) {
+        From1 = from1;
+    }
+
+    public String getStatus() {
+        return Status;
+    }
+
+    public void setStatus(String status) {
+        Status = status;
+    }
+
+    public String getTitle() {
+        return Title;
+    }
+
+    public void setTitle(String title) {
+        Title = title;
+    }
+
+    public double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(double amount) {
+        this.amount = amount;
+    }
+
+    public int getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(int create_time) {
+        this.create_time = create_time;
+    }
+
+    public String getDetail_desc() {
+        return detail_desc;
+    }
+
+    public void setDetail_desc(String detail_desc) {
+        this.detail_desc = detail_desc;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getRelate_user() {
+        return relate_user;
+    }
+
+    public void setRelate_user(int relate_user) {
+        this.relate_user = relate_user;
+    }
+
+    public int getRelease_task_id() {
+        return release_task_id;
+    }
+
+    public void setRelease_task_id(int release_task_id) {
+        this.release_task_id = release_task_id;
+    }
+
+    public double getSurplus_amount() {
+        return surplus_amount;
+    }
+
+    public void setSurplus_amount(double surplus_amount) {
+        this.surplus_amount = surplus_amount;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getUser_id() {
+        return user_id;
+    }
+
+    public void setUser_id(int user_id) {
+        this.user_id = user_id;
+    }
+
+    public String getWx_account() {
+        return wx_account;
+    }
+
+    public void setWx_account(String wx_account) {
+        this.wx_account = wx_account;
+    }
+
+    @Override
+    public String getStateText() {
+        StringBuffer stringBuffer = new StringBuffer();
+        stringBuffer.append(type== 1?"+ ":"- ");
+        stringBuffer.append(String.format(Locale.CHINA,"%.2f元", amount));
+        return stringBuffer.toString()+"";
+    }
+
+    @Override
+    public String getEventText() {
+        return detail_desc;
+    }
+
+    @Override
+    public boolean isEventSuccess() {
+        return type== 1;
+    }
+
+    @Override
+    public long getEventTime() {
+        return create_time;
+    }
+
+
+    @Override
+    public void isSelect(boolean b) {
+        setSelect(b);
+    }
+
+    @Override
+    public boolean getSelect() {
+        return isSelect();
+    }
+}

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/RechargeQQLog.java

@@ -27,6 +27,15 @@ public class RechargeQQLog implements ILog{
     private int user_id;
 
     private int create_time;
+    private boolean isSelect;
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
 
     public void setAmount(float amount){
         this.amount = amount;
@@ -123,4 +132,14 @@ public class RechargeQQLog implements ILog{
     public long getEventTime() {
         return create_time;
     }
+
+    @Override
+    public void isSelect(boolean b) {
+        setSelect(b);
+    }
+
+    @Override
+    public boolean getSelect() {
+        return isSelect();
+    }
 }

+ 19 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/WithdrawalEty.java

@@ -24,6 +24,15 @@ public class WithdrawalEty implements ILog{
     private String user_id;// 0,
     private String wx_resp_content;// "string"
     private UserEntity user;
+    private boolean isSelect;
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
 
     public float getAmount() {
         return amount;
@@ -170,4 +179,14 @@ public class WithdrawalEty implements ILog{
     public long getEventTime() {
         return update_time;
     }
+
+    @Override
+    public void isSelect(boolean b) {
+        setSelect(b);
+    }
+
+    @Override
+    public boolean getSelect() {
+        return isSelect();
+    }
 }

+ 28 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/XianWanAndroidEnty.java

@@ -0,0 +1,28 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/6/26.
+ */
+
+public class XianWanAndroidEnty implements Serializable {
+    private String appsecret;
+    private String appid;
+
+    public String getAppsecret() {
+        return appsecret;
+    }
+
+    public void setAppsecret(String appsecret) {
+        this.appsecret = appsecret;
+    }
+
+    public String getAppid() {
+        return appid;
+    }
+
+    public void setAppid(String appid) {
+        this.appid = appid;
+    }
+}

+ 45 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/XianWanEntity.java

@@ -0,0 +1,45 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by ljy on 2018/6/26.
+ */
+
+public class XianWanEntity implements Serializable {
+
+    private String url;
+    private String jsUrl;
+    private XianWanAndroidEnty android;
+
+    public String getJsUrl() {
+        return jsUrl;
+    }
+
+    public XianWanEntity() {
+    }
+
+    public void setJsUrl(String jsUrl) {
+        this.jsUrl = jsUrl;
+    }
+
+    public XianWanEntity(String url) {
+        this.url = url;
+    }
+
+    public XianWanAndroidEnty getAndroid() {
+        return android;
+    }
+
+    public void setAndroid(XianWanAndroidEnty android) {
+        this.android = android;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/model/util/ExceptionHandle.java

@@ -71,7 +71,7 @@ public class ExceptionHandle {
             return ex;
         } else {
             ex = new ResponeThrowable(e, ERROR.UNKNOWN);
-            ex.message = "未知错误";//未知错误
+            ex.message = "服务器繁忙请稍候再试";//未知错误
             return ex;
         }
     }

+ 36 - 0
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -75,6 +75,7 @@ import java.util.Map;
 import java.util.Set;
 
 import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
 import rx.schedulers.Schedulers;
 
 /**
@@ -425,6 +426,8 @@ public class CommonUtil {
                 Jump2View.getInstance()
                         .goGameMakeMoney(context, 0);
                 break;
+            case 12://闲玩任务
+                Jump2View.getInstance().goXianwanWeb(context,null, null);
             default:
                 G.showToast(R.string.coming_soon);
                 break;
@@ -939,4 +942,37 @@ public class CommonUtil {
         }
         return "";
     }
+
+    /**
+     * 获取代理是否显示
+     */
+    public void getAgencyState(final Context context, final Action1<BaseMessage> action1){
+        SheepApp.get(context)
+                .getNetComponent()
+                .getApiService()
+                .agentRegion()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if(action1 != null){
+                            action1.call(null);
+                        }
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+
+                        try {
+
+                            if(action1 != null){
+                                action1.call(baseMessage);
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+    }
 }

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

@@ -356,7 +356,7 @@ public class DeviceIDUtil {
         return device_imei;
     }
 
-    private static String getimei(Context mContext) {
+    public static String getimei(Context mContext) {
         String imei = getSavaString(mContext, LOACL_IMEI, "");
         if (!TextUtils.isEmpty(imei)) {
             return imei;

+ 32 - 6
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -31,6 +31,7 @@ import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.entity.VersionInfo;
 import com.sheep.gamegroup.model.entity.WebviewEntity;
+import com.sheep.gamegroup.model.entity.XianWanEntity;
 import com.sheep.gamegroup.model.util.AutoTaskListUtil;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.view.activity.AccountAndSecurityAct;
@@ -1244,6 +1245,7 @@ public class Jump2View {
     public void goGameTaskOrderList(Context activity){
         Intent intent = new Intent(activity, GameTaskOrderListAct.class);
         activity.startActivity(intent);
+        UMConfigUtils.onEvent(UMConfigUtils.Event.ORDER_MANAGER);
     }
     public void testIntent(Context activity){
         PackageManager packageManager = activity.getPackageManager();
@@ -1255,11 +1257,35 @@ public class Jump2View {
      * @param context
      * @param
      */
-    public void goXianwanWeb(Context context, String js_url, String title){
-        Intent intent = new Intent(context, ActXinwanWeb.class);
-        intent.putExtra("js_url", js_url);
-        intent.putExtra("title", title);
-        context.startActivity(intent);
-//        UMConfigUtils.onEvent(UMConfigUtils.Event.SHEEP_CREDIT_CARD_DETAIL_WEB);
+    public void goXianwanWeb(final Context context, XianWanEntity xianWanEntity, final Action1<String> action1){
+
+        SheepApp.getInstance().getNetComponent()
+                .getApiService()
+                .commonConfig("xianwan")
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(context) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getMsg() + "");
+                        if(action1 != null)
+                            action1.call(baseMessage.getErrorMsg());
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        final XianWanEntity xianWanEntity = baseMessage.getData(XianWanEntity.class);
+//                        Jump2View.getInstance().goXianwanWeb(context, xianWanEntity, null);
+                        if(BuildConfig.DEBUG)
+                            System.out.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
+                        if(action1 != null)
+                            action1.call(null);
+
+                        Intent intent = new Intent(context, ActXinwanWeb.class);
+                        intent.putExtra("xianwan_enty", xianWanEntity);
+                        context.startActivity(intent);
+                    }
+                });
+        UMConfigUtils.onEvent(UMConfigUtils.Event.XIANWAN_WEBVIEW);
     }
 }

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

@@ -90,6 +90,14 @@ public class MyDbManager {
         }
         return "";
     }
+    public String dbFindId(){
+        try {
+            return dbFindUser().getId();
+        } catch (DbException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
     public String dbFindValueBalance(){
         try {
             return dbFindUser().getBalance();

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

@@ -293,8 +293,7 @@ public class TestUtil {
                                 AppUsageManager.getInstance().openLookAppUsageStatsPermisson();
                                 break;
                             case "h5跳转":
-                                Jump2View.getInstance().goXianwanWeb(activity,
-                                    "http://10.8.210.172:8095/test.js", "h5跳转");
+                                Jump2View.getInstance().goXianwanWeb(activity,null,null);
                                 break;
                             case "新手对话框":
                                 DialogNewbieTaskList.tryShowDialog(activity);

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

@@ -79,6 +79,8 @@ public class UMConfigUtils {
         SHEEP_TIXIAN_COMMIT           ,//点击 提现提交按钮 5049
         SHEEP_SEQUENTIAL_TASK           ,//点击进入连续任务界面 5050
         SHEEP_GAME_TASK           ,//点击进入游戏任务界面 5051
+        XIANWAN_WEBVIEW           ,//闲玩 5052
+        ORDER_MANAGER           ,//订单管理 5053
         ;
         private String key;
         Event(String key){

+ 123 - 0
app/src/main/java/com/sheep/gamegroup/util/WebviewJs.java

@@ -3,10 +3,22 @@ package com.sheep.gamegroup.util;
 import android.app.Activity;
 import android.content.Intent;
 import android.net.Uri;
+import android.os.Build;
 import android.text.TextUtils;
 import android.webkit.JavascriptInterface;
 
+import com.arialyy.annotations.Download;
+import com.arialyy.aria.core.Aria;
+import com.arialyy.aria.core.download.DownloadTarget;
+import com.arialyy.aria.core.download.DownloadTask;
+import com.arialyy.aria.core.inf.IEntity;
+import com.kfzs.duanduan.datashare.DDProviderHelper;
+import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
+import com.kfzs.duanduan.event.BigEvent;
+import com.kfzs.duanduan.event.EventTypes;
+import com.kfzs.duanduan.services.DownloadTaskService;
 import com.sheep.gamegroup.model.entity.UserEntity;
+import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
@@ -14,10 +26,14 @@ import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
+import org.greenrobot.eventbus.EventBus;
+
 import java.io.File;
 
 import okhttp3.Call;
 
+import static com.sheep.jiuyan.samllsheep.utils.ClassFileHelper.DIR;
+
 /**
  * Created by ljy on 2018/6/25.
  */
@@ -25,14 +41,18 @@ import okhttp3.Call;
 public class WebviewJs {
     private Activity activity;
     private int taskId;
+    private String packgeName;
+    private DownloadTaskService mDownloadTaskService;
 
     public WebviewJs(Activity activity) {
         this.activity = activity;
+        mDownloadTaskService = new DownloadTaskService(activity);
     }
 
     public WebviewJs(Activity activity, int taskId) {
         this.activity = activity;
         this.taskId = taskId;
+        mDownloadTaskService = new DownloadTaskService(activity);
     }
 
     @JavascriptInterface
@@ -125,4 +145,107 @@ public class WebviewJs {
     public int getTaskId(){
         return taskId;
     }
+
+    /**
+     * 返回结果int类型 0:未安装 1:已安装
+     * @return
+     */
+    @JavascriptInterface
+    public int CheckInstall(String packName){
+        if(TextUtils.isEmpty(packName)){
+            G.showToast("包名为空");
+            return 0;
+        }
+
+        return PackageUtil.isAppInstalled(activity, packName) ? 1 : 0;
+    }
+
+    @JavascriptInterface
+    public int OpenAPP(String packName){
+        if(TextUtils.isEmpty(packName)){
+            G.showToast("包名为空");
+            return 0;
+        }
+        PackageUtil.startApp(SheepApp.mContext, packName);
+        return 0;
+    }
+    @JavascriptInterface
+    public int InstallAPP(String packName){
+
+        if(TextUtils.isEmpty(packName)){
+            G.showToast("下载地址为空");
+            return 0;
+        }
+        downLoad(packName);
+        return 0;
+    }
+    @JavascriptInterface
+    public int Browser(String url){
+        if(TextUtils.isEmpty(url)){
+            G.showToast("连接地址为空");
+            return 0;
+        }
+        Jump2View.getInstance().goWeb(activity, url);
+        return 0;
+    }
+
+    /**
+     * 下载地址
+     */
+    private void downLoad(String packName){
+        if (mDownloadTaskService == null){
+            mDownloadTaskService = new DownloadTaskService(activity);
+        }
+//        Aria.download(this).register();
+        DownloadTarget task = Aria.download(activity).load(packName);
+        DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(packName);
+        if(downLoadInfo == null){
+            downLoadInfo = CommonUtil.getInstance()
+                    .addNewDownloadTask(packName, packName, packName,
+                            Build.VERSION.SDK_INT, 0+"", 10+"", 0, 0);
+        }
+
+        if (task.getTaskState() == IEntity.STATE_RUNNING) {
+            task.stop();
+        } else if (task.getTaskState() == IEntity.STATE_FAIL) {
+            task.cancel(true);
+            task.removeRecord();
+        } else {
+            G.showToast("开始下载中!");
+            mDownloadTaskService.start(downLoadInfo);
+            final DownLoadInfo finalDownLoadInfo = downLoadInfo;
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    if(mDownloadTaskService.addDownloadTask(finalDownLoadInfo)){
+                        //发送红点信息
+                        EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
+                    }
+                }
+            }).start();
+        }
+    }
+
+    @Download.onTaskFail
+    void taskFail(DownloadTask downloadTask){
+        if(mDownloadTaskService == null)
+            mDownloadTaskService = new DownloadTaskService(activity);
+        DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(downloadTask.getKey());
+        if(downLoadInfo != null){
+            G.showToast("下载失败");
+        }
+    }
+
+    @Download.onTaskComplete
+    void taskComplete(DownloadTask downloadTask){
+        if(mDownloadTaskService == null)
+            mDownloadTaskService = new DownloadTaskService(activity);
+        DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(downloadTask.getKey());
+        if(downLoadInfo != null){
+            G.showToast("下载成功");
+            PackageUtil.installApk(activity, downloadTask.getDownloadPath());
+        }
+
+    }
+
 }

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

@@ -88,7 +88,7 @@ public class ActMyMoney extends BaseActivity {
     private void new_tab(){
         indicator.addTab(indicator.newTab().setCustomView(tab_icon("充值记录", true)));
         indicator.addTab(indicator.newTab().setCustomView(tab_icon("提现记录", true)));
-        indicator.addTab(indicator.newTab().setCustomView(tab_icon("消费记录", false)));
+        indicator.addTab(indicator.newTab().setCustomView(tab_icon("收支明细", false)));
         //Tablayout自定义view绑定ViewPager
         pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(indicator));
         indicator.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager));

+ 47 - 32
app/src/main/java/com/sheep/gamegroup/view/activity/ActXinwanWeb.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.os.Build;
 import android.os.Bundle;
 import android.util.Log;
+import android.view.KeyEvent;
 import android.view.View;
 import android.webkit.WebChromeClient;
 import android.webkit.WebSettings;
@@ -11,13 +12,14 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.TextView;
 
-import com.google.gson.JsonObject;
 import com.kfzs.duanduan.BaseCompatActivity;
-import com.sheep.gamegroup.util.AppUtil;
+import com.sheep.gamegroup.model.entity.XianWanEntity;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DeviceIDUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
+import com.sheep.gamegroup.util.MyDbManager;
+import com.sheep.gamegroup.util.WebviewJs;
 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 com.zhy.http.okhttp.OkHttpUtils;
@@ -40,10 +42,9 @@ public class ActXinwanWeb extends BaseCompatActivity {
     @BindView(R.id.tv_next)
     TextView tv_next;
 
-    private String url_js;
-    private String title;
     private WebSettings webViewSettings;
     private Activity activity;
+    private XianWanEntity xianWanEntity;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -51,15 +52,26 @@ public class ActXinwanWeb extends BaseCompatActivity {
         setContentView(R.layout.activity_guide_on_hook);
         activity = this;
 
-        url_js = getIntent().getStringExtra("js_url");
-        title = getIntent().getStringExtra("title");
-//        url_js = "http://10.8.210.172:8095/test.js";
+        xianWanEntity = (XianWanEntity) getIntent().getSerializableExtra("xianwan_enty");
 
         ButterKnife.bind(this);
         TitleBarUtils
                 .getInstance()
-                .setTitle(this, title)
-                .setTitleFinish(this);
+                .setTitle(this, "闲玩")
+                .setTitleFinish(this, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        if(mWebView.canGoBack()){
+                            mWebView.goBack();
+                        }else {
+                            activity.finish();
+                        }
+                    }
+                });
+        tv_next.setVisibility(View.GONE);
+        if(xianWanEntity == null){
+            return;
+        }
 
         webViewSettings = mWebView.getSettings();
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
@@ -69,13 +81,12 @@ public class ActXinwanWeb extends BaseCompatActivity {
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
         }
-        tv_next.setVisibility(View.GONE);
         initJsData();
     }
 
     private void initJsData() {
         OkHttpUtils.get()
-                .url(url_js)
+                .url(xianWanEntity.getJsUrl()+"")
                 .build()
                 .execute(new StringCallback() {
                     @Override
@@ -127,21 +138,19 @@ public class ActXinwanWeb extends BaseCompatActivity {
             }
         });
         webViewSettings.setJavaScriptEnabled(true);
-        String url = SheepApp.getInstance().getConnectAddress().getAppUrl()+"v1/app/common_config/?type_name=xianwan";
-        OkHttpUtils.get()
-                .url(url)
-                .build()
-                .execute(new StringCallback() {
-                    @Override
-                    public void onError(Call call, Exception e, int i) {
-
-                    }
+        mWebView.addJavascriptInterface(new WebviewJs(activity, 0), "android");
+        mWebView.loadUrl(assemblyData());
 
-                    @Override
-                    public void onResponse(String s, int i) {
-                        // mWebView.loadUrl(assemblyData());
-                    }
-                });
+        mWebView.setOnKeyListener(new View.OnKeyListener() {
+            @Override
+            public boolean onKey(View v, int keyCode, KeyEvent event) {
+                if(keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()){
+                    mWebView.goBack();
+                    return true;
+                }
+                return false;
+            }
+        });
     }
 
     @Override
@@ -168,12 +177,18 @@ public class ActXinwanWeb extends BaseCompatActivity {
      */
     private String assemblyData(){
         StringBuffer stringBuffer = new StringBuffer();
-        stringBuffer.append("https://h5.51xianwan.com/try/try_list_plus_browser.aspx?");
-        stringBuffer.append("ptype"+"");
-        stringBuffer.append("&deviceid"+ DeviceUtil.getDeviceId(activity));
-        stringBuffer.append("&appid"+"");
-        stringBuffer.append("&appsign"+"");
-        stringBuffer.append("&keycode"+CommonUtil.getInstance().encrypt2Md5("10108883300242xw2100045455"));
+        stringBuffer.append(xianWanEntity.getUrl()+"?");
+        stringBuffer.append("ptype="+"2");
+        stringBuffer.append("&deviceid="+ DeviceIDUtil.getimei(activity));
+        stringBuffer.append("&appid="+ xianWanEntity.getAndroid().getAppid());
+        stringBuffer.append("&appsign="+ MyDbManager.getInstance().dbFindId());
+        stringBuffer.append("&keycode="+CommonUtil.getInstance().encrypt2Md5(
+                xianWanEntity.getAndroid().getAppid()+""+
+                        DeviceIDUtil.getimei(activity) +
+                        2 +
+                        MyDbManager.getInstance().dbFindId() +
+                        xianWanEntity.getAndroid().getAppsecret()
+        ));
         return stringBuffer.toString();
     }
 }

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

@@ -19,6 +19,8 @@ import com.bumptech.glide.request.RequestOptions;
 import com.kfzs.appstore.utils.adapter.recyclerview.ViewHolder;
 import com.kfzs.duanduan.adp.AdpCommonRecy;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
+import com.kfzs.duanduan.event.BigEvent;
+import com.kfzs.duanduan.event.EventTypes;
 import com.kfzs.duanduan.services.DownloadTaskService;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.model.entity.OrienteeringDetail;
@@ -36,11 +38,14 @@ import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.activity.TaskDetailAct;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
 
+import org.greenrobot.eventbus.EventBus;
+
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -49,6 +54,8 @@ import java.util.Set;
 
 import javax.inject.Inject;
 
+import rx.functions.Action1;
+
 import static com.sheep.gamegroup.model.entity.RecyleType.RUN_TASK;
 
 /**
@@ -191,7 +198,7 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                         ViewUtil.showMsgDialog(context,
                                 "游戏总金额"+ etyList.get(i).getBalance() +"元,按比例"+ etyList.get(i).getRatio() +"%进行消费,最低消费"+ etyList.get(i).getMin_amount() +"元。\n" +
                                         "\n" +
-                                        "例如(消费100元可用10元小绵羊定向消费金额)",
+                                        "例如(消费100元可用"+ etyList.get(i).getRatio() +"元小绵羊定向消费金额)",
                                 "定向消费详情",
                                 false);
                     }
@@ -200,22 +207,47 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
 
                 //CommonUtil.getInstance().getCharSequence(context, etyList.get(i).getName(), "")
                 ((TextView)viewHolder.itemView.findViewById(R.id.item_anem_tv)).setText(etyList.get(i).getName()+"");
-                TextView task_type_tv = viewHolder.itemView.findViewById(R.id.task_type_tv);
+                final TextView task_type_tv = viewHolder.itemView.findViewById(R.id.task_type_tv);
                 task_type_tv.setVisibility(View.VISIBLE);
                 viewHolder.itemView.findViewById(R.id.item_money).setVisibility(View.GONE);
                 //领取任务
                 final boolean isInstall = PackageUtil.isAppInstalled(SheepApp.mContext, etyList.get(i).getPackage_name());
+                boolean isExistApk = !TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
+                final DownloadTaskService mDownloadTaskService = new DownloadTaskService(context);
+
                 String taskTypeTvValue;
                 if(isInstall){//已经安装
                     taskTypeTvValue = "启动游戏";
-//                    PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
-                }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()))){
-                    taskTypeTvValue = "安装游戏";
-//                    ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
-                }else {
-                    taskTypeTvValue = "下载游戏";
+                }else{
+                    DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(etyList.get(i).getDownload_url());
+                    if(downLoadInfo == null) {
+                        taskTypeTvValue = "下载游戏";
+                    }else {
+                        Integer mStatus = downLoadInfo.getMStatus();
+                        int taskState = mStatus == null ? 0 : mStatus;
+                        switch (taskState) {
+                            case DownloadTaskService.STATUS_ING:
+                                taskTypeTvValue = Math.abs(downLoadInfo.getMPercent()) + "%";
+                                break;
+                            case DownloadTaskService.STATUS_PAUSE:
+                                taskTypeTvValue = CommonUtil.CONTINUE_DOWNLOAD;
+                                break;
+                            case DownloadTaskService.STATUS_FINISH:
+                                if(isExistApk){
+                                    taskTypeTvValue = "安装游戏";
+                                } else {
+                                    taskTypeTvValue = CommonUtil.START_DOWNLOAD;
+                                }
+                                break;
+                            case DownloadTaskService.STATUS_FAIL:
+                                taskTypeTvValue = CommonUtil.FAIL_DOWNLOAD;
+                                break;
+                            default:
+                                taskTypeTvValue = CommonUtil.START_DOWNLOAD;
+                                break;
+                        }
+                    }
                 }
-
                 task_type_tv.setText(taskTypeTvValue+"");
                 task_type_tv.findViewWithTag(PUBLIC_TAG_PREFIX_TEXTVIEW_LIST + etyList.get(i).getDownload_url());
 //                ((TextView)viewHolder.itemView.findViewById(R.id.item_num_tv)).setText("剩余"+ etyList.get(i).getLast_num()+"份");
@@ -224,18 +256,33 @@ public class TryMakeMoneyAdp extends AdpCommonRecy<RecyleObj> {
                 task_type_tv.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
-                        if(isInstall){//已经安装
-                            PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
-                        }else if(!TextUtils.isEmpty(PackageUtil.isExistsFile(etyList.get(i).getPackage_name()))){
-                            ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
-                        }else {
-                            try{
-                                DownloadTaskService mDownloadTaskService = new DownloadTaskService(context);
-                                DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(etyList.get(i));
-                                mDownloadTaskService.start(downLoadInfo);
-                            }catch (Exception e){
-                                e.printStackTrace();
+                        try{
+                            switch (task_type_tv.getText().toString().trim() +""){
+                                case "安装游戏":
+                                    ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
+                                    PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
+                                    break;
+                                case "启动游戏":
+                                    ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(etyList.get(i).getPackage_name()));
+                                    PackageUtil.startApp(SheepApp.mContext, etyList.get(i).getPackage_name());
+                                    break;
+                                default:
+                                    final DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(etyList.get(i));
+                                    mDownloadTaskService.start(downLoadInfo);
+                                    new Thread(new Runnable() {
+                                        @Override
+                                        public void run() {
+                                            if(mDownloadTaskService.addDownloadTask(downLoadInfo)){
+                                                //发送红点信息
+                                                EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.TIPS_DOWN_ICON));
+                                            }
+                                        }
+                                    }).start();
+                                    break;
                             }
+                        }catch (Exception e){
+                            e.printStackTrace();
+                            G.showToast("服务器繁忙,请稍候再试!");
                         }
                     }
                 });

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

@@ -213,6 +213,7 @@ public class FgtMyGame extends BaseFragment {
                 return;
             }
             tvProgress.setText(String.format(Locale.CHINA, "%d%%",Math.abs(p)));
+            tryMakeMoneyAdp.notifyDataSetChanged();
 
         } catch (Exception e) {
             e.printStackTrace();
@@ -235,6 +236,7 @@ public class FgtMyGame extends BaseFragment {
                 return;
             }
             tvProgress.setText("已经取消");
+            tryMakeMoneyAdp.notifyDataSetChanged();
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -249,6 +251,7 @@ public class FgtMyGame extends BaseFragment {
                 return;
             }
             tvProgress.setText("下载失败");
+            tryMakeMoneyAdp.notifyDataSetChanged();
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -262,6 +265,7 @@ public class FgtMyGame extends BaseFragment {
                 return;
             }
             tvProgress.setText("开始安装");
+            tryMakeMoneyAdp.notifyDataSetChanged();
         } catch (Exception e) {
             e.printStackTrace();
         }

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

@@ -189,4 +189,19 @@ public class SpUtils {
         SharedPreferences user = SheepApp.getInstance().getSharedPreferences("save_data", Context.MODE_PRIVATE);
         return user.getString("ignore_md5", "");
     }
+
+    /**
+     * 保存代理显示状态
+     * @param vaule  1:显示 0:不显示
+     */
+    public static void saveAgencyState(int vaule) {
+        SharedPreferences user = SheepApp.getInstance().getSharedPreferences("agency_state", Context.MODE_PRIVATE);
+        SharedPreferences.Editor editor = user.edit();
+        editor.putInt("agency_state_value", vaule);
+        editor.apply();
+    }
+    public static int getAgencyState() {
+        SharedPreferences user = SheepApp.getInstance().getSharedPreferences("agency_state", Context.MODE_PRIVATE);
+        return user.getInt("agency_state_value", 0);
+    }
 }

+ 2 - 1
app/src/main/res/layout/activity_guide_on_hook.xml

@@ -19,5 +19,6 @@
     <TextView
         android:id="@+id/tv_next"
         style="@style/style_button"
-        android:text="下一步" />
+        android:text="下一步"
+        android:visibility="visible"/>
 </LinearLayout>

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

@@ -196,7 +196,7 @@
                         android:layout_below="@+id/item_layout"
                         android:padding="@dimen/content_padding_10"
                         android:background="@drawable/sp_bg_blue_solid_gray"
-                        android:visibility="visible">
+                        android:visibility="gone">
                         <TextView
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"

+ 36 - 7
app/src/main/res/layout/x_my_money_act_layout_item.xml

@@ -18,16 +18,32 @@
         android:padding="@dimen/content_padding_10"
         android:orientation="horizontal">
 
-        <TextView
-            android:id="@+id/my_money_item_recharge_amount"
+        <LinearLayout
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
-            android:gravity="start"
-            android:singleLine="true"
-            android:text="充值金额100.00元"
-            android:textColor="#282828"
-            android:textSize="12sp" />
+            android:orientation="horizontal"
+            android:gravity="center_vertical">
+            <TextView
+                android:id="@+id/my_money_item_recharge_amount"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="start"
+                android:singleLine="true"
+                android:ellipsize="end"
+                android:text="充值金额100.00元"
+                android:textColor="#282828"
+                android:textSize="12sp" />
+
+            <ImageView
+                android:id="@+id/my_money_item_recharge_amount_iv"
+                android:layout_width="15dp"
+                android:layout_height="15dp"
+                android:src="@mipmap/myprice_on"
+                android:layout_marginLeft="@dimen/content_padding_1"
+                android:visibility="invisible"/>
+        </LinearLayout>
 
         <TextView
             android:id="@+id/my_money_item_recharge_status"
@@ -53,6 +69,19 @@
 
     </LinearLayout>
 
+    <TextView
+        android:id="@+id/my_money_item_recharge_amount_2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="start"
+        android:singleLine="true"
+        android:text="充值金额100.00元"
+        android:textColor="#282828"
+        android:textSize="12sp"
+        android:padding="@dimen/content_padding_10"
+        android:layout_marginTop="@dimen/content_padding_1"
+        android:visibility="gone"/>
     <View
         android:id="@+id/my_money_item_bottom"
         android:layout_width="match_parent"

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


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