liujiangyao лет назад: 7
Родитель
Сommit
2d5753f498

+ 3 - 1
app/src/main/java/com/kfzs/duanduan/fragment/AbsFgtMyMoney.java

@@ -70,7 +70,7 @@ public abstract class AbsFgtMyMoney extends BaseFragment {
                     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_amount.setTextColor(item.isEventSuccess() ? 0xff282828 : 0xffff2e4b);
+                    my_money_item_recharge_status.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);
@@ -151,6 +151,8 @@ public abstract class AbsFgtMyMoney extends BaseFragment {
                             baseMessage.setMsg(SheepApp.getInstance().getString(R.string.service_data_error));
                             onError(baseMessage);
                         } else {
+                            if(page == 1)
+                                list.clear();
                             ListUtil.addAll(list, newList);
                             notifyDataSetChanged();
                             if (BuildConfig.DEBUG)

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

@@ -257,6 +257,7 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                 }
                 break;
             case R.id.version_layout://版本更新
+                SpUtils.saveIgnoreMd5(null);
                 SysAppUtil.showVersionInfo(activity, null);
                 break;
             case R.id.clear_layout://清除缓存

+ 3 - 1
app/src/main/java/com/sheep/gamegroup/model/entity/Advertising.java

@@ -1,12 +1,14 @@
 package com.sheep.gamegroup.model.entity;
 
+import java.io.Serializable;
+
 /**
  * Created by realicing on 2018/6/6.
  * realicing@sina.com
  * display_type;//类型: 1 图片 2 视频
  * link_type;//转跳类型1:H5外部 2:H5内部 3:试玩赚钱 4:单个任务 5:信用卡 6:微信二维码 7:连续任务 8:打卡赚钱
  */
-public class Advertising {
+public class Advertising implements Serializable{
     private String updated_at;
 
     private String end_time;

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

@@ -29,6 +29,16 @@ public class CreditCard implements Serializable{
 
     private String update_at;
 
+    private int release_id;
+
+    public int getRelease_id() {
+        return release_id;
+    }
+
+    public void setRelease_id(int release_id) {
+        this.release_id = release_id;
+    }
+
     public void setIcon(String icon){
         this.icon = icon;
     }

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

@@ -28,6 +28,18 @@ public class DialogConfig {
     private int msgGravity;
 
     private Map<String, String> colorMsgMap = new HashMap<>();
+
+    private boolean isShow;
+
+    public boolean isShow() {
+        return isShow;
+    }
+
+    public DialogConfig setShow(boolean show) {
+        isShow = show;
+        return this;
+    }
+
     public boolean isFinish() {
         return isFinish;
     }

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

@@ -159,7 +159,7 @@ public class RechargeLogEntity implements ILog {
 
     @Override
     public boolean isEventSuccess() {
-        return type== 1;
+        return type== 2;
     }
 
     @Override

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

@@ -33,6 +33,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.Ext;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.model.entity.RequestParameEty;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskChild;
 import com.sheep.gamegroup.model.entity.TaskDescEntity;
 import com.sheep.gamegroup.model.entity.TaskEty;
@@ -428,6 +429,7 @@ public class CommonUtil {
                 break;
             case 12://闲玩任务
                 Jump2View.getInstance().goXianwanWeb(context,null, null);
+                break;
             default:
                 G.showToast(R.string.coming_soon);
                 break;
@@ -975,4 +977,30 @@ public class CommonUtil {
                     }
                 });
     }
+
+    /**
+     * 获取任务信息
+     */
+    public void getTaskAllDetail(int id, final Action1<BaseMessage> action1){
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getAcceptedTaskDetail(id)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if(action1 != null)
+                            action1.call(baseMessage);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+
+                        if(action1 != null)
+                            action1.call(baseMessage);
+                    }
+                });
+    }
 }

+ 21 - 2
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -710,7 +710,7 @@ public class Jump2View {
      * @param context
      * @param id
      */
-    public void tryGoCreditCardWeb(final Context context, int id, final Action1<String> action1){
+    public void tryGoCreditCardWeb(final Context context, final int release_id, int id, final Action1<String> action1){
         SheepApp.getInstance().getNetComponent().getApiService().getCredit(id)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -718,7 +718,23 @@ public class Jump2View {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         final CreditCard creditCard = baseMessage.getData(CreditCard.class);
-                        Jump2View.getInstance().goCreditCardWeb(context, creditCard);
+                        if(release_id > 0){
+                            CommonUtil.getInstance().getTaskAllDetail(release_id, new Action1<BaseMessage>() {
+                                @Override
+                                public void call(BaseMessage baseMessages) {
+                                    if(baseMessages != null && baseMessages.getCode() == 0){
+                                        TaskAcceptedEty gettaskAcceptedEty = baseMessages.getData(TaskAcceptedEty.class);
+                                        if(gettaskAcceptedEty != null && creditCard != null)
+                                            creditCard.setRelease_id(gettaskAcceptedEty.getId());
+                                    }
+                                    Jump2View.getInstance().goCreditCardWeb(context, creditCard);
+                                }
+                            });
+                        }else {
+                            Jump2View.getInstance().goCreditCardWeb(context, creditCard);
+                        }
+
+
                         if(BuildConfig.DEBUG)
                             System.out.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
                         if(action1 != null)
@@ -757,6 +773,9 @@ public class Jump2View {
      * @param title
      */
     public void goWeb(Context context, String url, String title){
+        goCardWeb(context, url, title, null);
+    }
+    public void goCardWeb(Context context, String url, String title, String id){
         if(TextUtils.isEmpty(url)){
             G.showToast(R.string.service_data_error);
             return;

+ 38 - 3
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -33,6 +33,8 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
+import com.tencent.bugly.beta.Beta;
+import com.tencent.bugly.beta.UpgradeInfo;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
@@ -61,6 +63,8 @@ import rx.schedulers.Schedulers;
  * realicing@sina.com
  */
 public class SysAppUtil {
+
+    private static DialogConfig dialogConfig;
     public static void startAlermApp(Activity activity, String msg, int hour, int min){
         boolean notDone = true;
         if(Build.VERSION.SDK_INT > 18) {
@@ -373,6 +377,14 @@ public class SysAppUtil {
      * @param action1 动作完成后的回调
      */
     public static void showVersionInfo(final Activity activity, final String ignoreMd5, final Action1<Integer> action1) {
+        if(checkBuglyUpdate()){
+            return;
+        }
+        if(dialogConfig == null)
+            dialogConfig = new DialogConfig();
+        if(dialogConfig.isShow()){
+            return;
+        }
         SheepApp.getInstance().getNetComponent().getApiService().getNewVersion(SheepApp.getInstance().getConnectAddress().getVersionType())
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -395,14 +407,15 @@ public class SysAppUtil {
                             return;
                         }
                         String fileMD5 = SysAppUtil.getConnectAdrressFileMD5();
-                        if(fileMD5 == null){
+                        int versionCode = SysAppUtil.getAppVersionCode();
+                        if(versionCode == 0){
                             if(ignoreMd5 == null)
                                 G.showToast(baseMessage);
                             if(action1 != null)
                                 action1.call(0);
                             return;
                         }
-                        if(fileMD5.equalsIgnoreCase(version.getMd5_address())){//已经是最新版本
+                        if(versionCode >= version.getVersion_number()){//已经是最新版本
                             if(ignoreMd5 == null)
                                 G.showToast("当前版本为最新版本,无需更新");
                             if(action1 != null)
@@ -410,7 +423,7 @@ public class SysAppUtil {
                         } else {//有新版本
                             final String fileName = version.getMd5_address()+".apk";
                             final File file = new File(ClassFileHelper.DIR, fileName);
-                            DialogConfig dialogConfig = new DialogConfig().setTitle("小绵羊V"+version.getVersion_name());
+                            dialogConfig.setTitle("小绵羊V"+version.getVersion_name());
                             dialogConfig.setMsg(TextUtils.isEmpty(version.getUpdate_content()) ? "当前版本小绵羊V"+getConnectAdrressPackageInfo().versionName : version.getUpdate_content()).setLayoutId(R.layout.x_msg_wv_dialog)
                                     .setBtnLeftText(file.exists() ? "立即安装" : "立即更新").setBtnLeftNotDissDialog(true).setBtnLeftOnClickListener(new View.OnClickListener() {
                                 private void installApk(File file){
@@ -420,6 +433,7 @@ public class SysAppUtil {
                                 }
                                 @Override
                                 public void onClick(final View view) {
+
                                     if(file.exists()){//直接安装
                                         installApk(file);
                                     } else if(TextUtils.isEmpty(version.getAddress())){//地址错误
@@ -493,4 +507,25 @@ public class SysAppUtil {
         LogUtil.println("FileMD5", fileMD5);
         return fileMD5;
     }
+
+    public static int getAppVersionCode() {
+        try {
+            PackageInfo info = getConnectAdrressPackageInfo();
+            return info.versionCode;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
+
+    /**
+     * bugly 检查更新
+     */
+    public static  boolean checkBuglyUpdate(){
+        Beta.checkUpgrade();
+        UpgradeInfo upgradeInfo = Beta.getUpgradeInfo();
+        if(upgradeInfo != null)
+            return true;
+        return false;
+    }
 }

+ 12 - 10
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -425,21 +425,22 @@ public class ViewUtil {
             else
                 dialog_close.setVisibility(View.GONE);
         }
-
-        if(dialogConfig.isFinish()) {
-            dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
-                @Override
-                public void onDismiss(DialogInterface dialog) {
-                    try {
+        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+            @Override
+            public void onDismiss(DialogInterface dialog) {
+                try {
+                    if(dialogConfig.isFinish()) {
                         if (mContext instanceof Activity) {
                             ((Activity) mContext).finish();
                         }
-                    } catch (Exception e) {
-                        e.printStackTrace();
                     }
+                    dialogConfig.setShow(false);
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-            });
-        }
+            }
+        });
+
         if(!(mContext instanceof Activity) && dialog.getWindow() != null) {
             dialog.getWindow().setType(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? WindowManager.LayoutParams.TYPE_PHONE : WindowManager.LayoutParams.TYPE_TOAST);
         }
@@ -447,6 +448,7 @@ public class ViewUtil {
             dialog.setCancelable(false);
         try {
             dialog.show();
+            dialogConfig.setShow(true);
         } catch (Exception e) {
             e.printStackTrace();
         }

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

@@ -211,7 +211,15 @@ public class WebviewJs {
             task.cancel(true);
             task.removeRecord();
         } else {
-            G.showToast("开始下载中!");
+            switch (downLoadInfo.getMStatus()){
+                case 2:
+                    G.showToast("正在下载中...");
+                    break;
+                default:
+                    G.showToast("开始下载中!");
+                    break;
+            }
+
             mDownloadTaskService.start(downLoadInfo);
             final DownLoadInfo finalDownLoadInfo = downLoadInfo;
             new Thread(new Runnable() {
@@ -232,6 +240,8 @@ public class WebviewJs {
             mDownloadTaskService = new DownloadTaskService(activity);
         DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(downloadTask.getKey());
         if(downLoadInfo != null){
+            downLoadInfo.setMStatus(1);
+            mDownloadTaskService.addDownloadTask(downLoadInfo);
             G.showToast("下载失败");
         }
     }
@@ -243,9 +253,22 @@ public class WebviewJs {
         DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(downloadTask.getKey());
         if(downLoadInfo != null){
             G.showToast("下载成功");
+            downLoadInfo.setMStatus(3);
+            mDownloadTaskService.addDownloadTask(downLoadInfo);
             PackageUtil.installApk(activity, downloadTask.getDownloadPath());
         }
 
     }
+    @Download.onTaskRunning
+    protected void running(DownloadTask downloadTask) {
+        if(mDownloadTaskService == null)
+            mDownloadTaskService = new DownloadTaskService(activity);
+        DownLoadInfo downLoadInfo = mDownloadTaskService.getDownloadTaskByUrl(downloadTask.getKey());
+        if(downLoadInfo != null){
+            downLoadInfo.setMStatus(2);
+            mDownloadTaskService.addDownloadTask(downLoadInfo);
+//            G.showToast("下载中....");
+        }
+    }
 
 }

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

@@ -46,6 +46,8 @@ public class ActCreditCardWeb extends BaseCompatActivity {
         creditCard = (CreditCard) getIntent().getSerializableExtra(CreditCard.class.getSimpleName());
 
         ButterKnife.bind(this);
+        if(creditCard == null)
+            return;
         TitleBarUtils
                 .getInstance()
                 .setTitle(this, creditCard.getName()+"-申请流程")
@@ -123,7 +125,7 @@ public class ActCreditCardWeb extends BaseCompatActivity {
         webViewSettings.setDatabasePath(getApplicationContext().getCacheDir().getAbsolutePath());
 
         webViewSettings.setJavaScriptEnabled(true);
-        mWebView.addJavascriptInterface(new WebviewJs(ActCreditCardWeb.this, 0), "kfzsjs");
+        mWebView.addJavascriptInterface(new WebviewJs(ActCreditCardWeb.this, creditCard.getRelease_id()), "kfzsjs");
         mWebView.loadUrl(creditCard.getLoadUrl());
     }
 

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

@@ -84,7 +84,7 @@ public class MiddleAct extends Activity {
                             Jump2View.getInstance().goCreditCardTaskDetail(activity, msg.getId());
                             break;
                         case 33://跳转到信用卡web申请界面; id 信用卡信息的id
-                            Jump2View.getInstance().tryGoCreditCardWeb(activity, msg.getId(), new Action1<String>() {
+                            Jump2View.getInstance().tryGoCreditCardWeb(activity, 0, msg.getId(), new Action1<String>() {
                                 @Override
                                 public void call(String msg) {
                                     if(msg != null){

+ 5 - 14
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -1123,23 +1123,14 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
      */
     private void accepteTaskDetail(int id){
         showProgress();
-        SheepApp.getInstance()
-                .getNetComponent()
-                .getApiService()
-                .getAcceptedTaskDetail(id)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+        CommonUtil.getInstance()
+                .getTaskAllDetail(id, new Action1<BaseMessage>() {
                     @Override
-                    public void onError(BaseMessage baseMessage) {
-                        presenter.taskDesc(taskId);
-                    }
-
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
+                    public void call(BaseMessage baseMessage) {
                         presenter.taskDesc(taskId);
                         try{
-                            gettaskAcceptedEty = baseMessage.getData(TaskAcceptedEty.class);
+                            if(baseMessage.getCode() == 0)
+                                gettaskAcceptedEty = baseMessage.getData(TaskAcceptedEty.class);
 
                         }catch (Exception e){
                             e.printStackTrace();

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

@@ -22,10 +22,12 @@ import com.bumptech.glide.request.RequestOptions;
 import com.kfzs.duanduan.datashare.DDProviderHelper;
 import com.kfzs.duanduan.datashare.provider.download.DownLoadInfo;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.util.EntityUtils;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.MyListview;
@@ -191,6 +193,12 @@ public class TaskDetailCreditCardAct extends AbsChooseImageActivity {
     private void netTaskSchedule() {
         if (mPd == null || !mPd.isShowing())
             showProgress();
+
+        getDetail();
+    }
+
+    private void getDetail(){
+
         SheepApp.getInstance().getNetComponent().getApiService().getReleaseTaskCreditCardDesc(id)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -289,7 +297,7 @@ public class TaskDetailCreditCardAct extends AbsChooseImageActivity {
     }
 
     private void goWeb() {
-        Jump2View.getInstance().tryGoCreditCardWeb(activity, EntityUtils.getExtInfo(taskEty.getExt()).getId(), new Action1<String>() {
+        Jump2View.getInstance().tryGoCreditCardWeb(activity,taskReleaseEty.getId(), EntityUtils.getExtInfo(taskEty.getExt()).getId(), new Action1<String>() {
             @Override
             public void call(String msg) {
                 if (msg == null) {

+ 2 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -25,6 +25,7 @@ import com.sheep.gamegroup.view.activity.SplashAct;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.tencent.bugly.Bugly;
+import com.tencent.bugly.beta.Beta;
 
 import rx.functions.Action1;
 
@@ -90,6 +91,7 @@ public class SheepApp extends BaseApplication {
             registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
             initGoble();
             initNet();
+            Beta.autoCheckUpgrade = false;
             Bugly.init(getApplicationContext(), Config.BUGLY_APPID, BuildConfig.DEBUG);
         }
     }

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

@@ -187,7 +187,7 @@ public class SpUtils {
     }
     public static String getIgnoreMd5() {
         SharedPreferences user = SheepApp.getInstance().getSharedPreferences("save_data", Context.MODE_PRIVATE);
-        return user.getString("ignore_md5", "");
+        return user.getString("ignore_md5", null);
     }
 
     /**