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

尝试优化各种bug;修复打卡排行榜中左右滑动后显示的问题;修复任务记录列表中用eventbus刷新界面在某些机型不适配的问题

zengjiebin лет назад: 8
Родитель
Сommit
f24de77432

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

@@ -30,5 +30,4 @@ public enum EventTypes {
     TASK_AGAIN_UPLOAD_FILE_DATA,//任务审核上传图片 通知
     REFRESH_DATA_PHONE,//刷新手机
     REFRESH_DATA_SIGN,//签到对话框
-    TASK_RECORD_LIST_UPDATE,//任务记录列表刷新
 }

+ 14 - 4
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -197,11 +197,8 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
                         tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists), position>2?1:position);
                     }
                     tryMakeMoneyAdp.notifyDataSetChanged();
-                    if(recyclerview == null)
-                        recyclerview = mContentView.findViewById(R.id.recyclerview);
+                    checkAndInitView();
                     recyclerview.setFocusable(false);
-                    if(scrollView == null)
-                        scrollView = mContentView.findViewById(R.id.scrollView);
                     scrollView.scrollTo(0,0);
                     break;
             }
@@ -662,6 +659,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
 
     @Override
     public void successhomeList(BaseMessage baseMessage) {
+        checkAndInitView();
         try{
             List<HomeListEntity> homeListEntity = JSONArray.parseArray(
                     JSONArray.toJSONString(baseMessage.getData()),
@@ -697,8 +695,20 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         }
     }
 
+    private void checkAndInitView() {
+        if(recyclerview == null)
+            recyclerview = mContentView.findViewById(R.id.recyclerview);
+        if(scrollView == null)
+            scrollView = mContentView.findViewById(R.id.scrollView);
+        if(home_list_gridview_layout == null)
+            home_list_gridview_layout = mContentView.findViewById(R.id.home_list_gridview_layout);
+        if(home_list_gridview_listview == null)
+            home_list_gridview_listview = mContentView.findViewById(R.id.home_list_gridview_listview);
+    }
+
     @Override
     public void failhomeList(BaseMessage baseMessage) {
+        checkAndInitView();
         home_list_gridview_layout.setVisibility(View.GONE);
 
     }

+ 8 - 4
app/src/main/java/com/kfzs/duanduan/view/AppHomepageAdvertisementDialog.java

@@ -81,10 +81,14 @@ public class AppHomepageAdvertisementDialog extends Dialog {
         }
 
         if (backgroundImg != null) {
-            Glide.with(context).load(imagePath)
-                    .apply(new RequestOptions()
-                    .error(R.drawable.loading))
-                    .into(backgroundImg);
+            try {
+                Glide.with(context).load(imagePath)
+                        .apply(new RequestOptions()
+                        .error(R.drawable.loading))
+                        .into(backgroundImg);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
     }
 

+ 22 - 14
app/src/main/java/com/sheep/gamegroup/absBase/BaseActivity.java

@@ -29,28 +29,36 @@ public abstract class BaseActivity extends AppCompatActivity {
     }
 
     public void  showProgress(){
-        if(mPd!=null){
-            hideProgress();
-        }
-        mPd = new ProgressDialog(this);
+        try {
+            if(mPd!=null){
+                hideProgress();
+            }
+            mPd = new ProgressDialog(this);
 //        View view= LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
 //        mPd.setContentView(view);//自己定义布局
-        mPd.setMessage("数据加载中...");
-        mPd.setCancelable(true);//能否够被取消
+            mPd.setMessage("数据加载中...");
+            mPd.setCancelable(true);//能否够被取消
 //        mPd.setProgressStyle(ProgressDialog.STYLE_SPINNER);//圆环风格
-        mPd.show();
+            mPd.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
     protected void  showProgress(boolean cancel){
-        if(mPd!=null){
-            hideProgress();
-        }
-        mPd = new ProgressDialog(this);
+        try {
+            if(mPd!=null){
+                hideProgress();
+            }
+            mPd = new ProgressDialog(this);
 //        View view= LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
 //        mPd.setContentView(view);//自己定义布局
-        mPd.setMessage("数据加载中...");
-        mPd.setCancelable(cancel);//能否够被取消
+            mPd.setMessage("数据加载中...");
+            mPd.setCancelable(cancel);//能否够被取消
 //        mPd.setProgressStyle(ProgressDialog.STYLE_SPINNER);//圆环风格
-        mPd.show();
+            mPd.show();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
 

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -121,7 +121,7 @@ public class Jump2View {
             e.printStackTrace();
         }
         if(userEntity == null){
-            G.showToast("数据正在加载中,请稍候重试");
+            G.showToast(R.string.loading_data);
             return;
         }
         if(!isBindWeixin(context)){
@@ -449,11 +449,12 @@ public class Jump2View {
         Intent intent = new Intent(context, TaskDetailAct.class);
         if(o instanceof Integer){
             intent.putExtra("task_id", (Integer) o);
-        } else if(o instanceof TaskAcceptedEty){
+            context.startActivity(intent);
+        } else if(context instanceof Activity && o instanceof TaskAcceptedEty){
             intent.putExtra("task_entity", (TaskAcceptedEty)o);
+            ((Activity) context).startActivityForResult(intent, ViewUtil.REQUEST_CODE_TASK_LIST);
         }
 
-        context.startActivity(intent);
     }
 
     /**

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

@@ -303,4 +303,6 @@ public class ViewUtil {
             }
         });
     }
+
+    public static final int REQUEST_CODE_TASK_LIST = 110;
 }

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

@@ -162,7 +162,7 @@ public class AccountAndSecurityAct extends BaseActivity implements AccountAndSec
                 break;
             case R.id.rl_wx:  ////跳转到微信
                 if(mEntity == null){
-                    G.showToast("数据正在加载中,请稍候");
+                    G.showToast(R.string.loading_data);
                 } else if(TextUtils.isEmpty(mEntity.getWx_nickname())) {
                     Jump2View.getInstance().goBindOrChangeWeixinView(AccountAndSecurityAct.this, false);
                 } else {

+ 17 - 13
app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java

@@ -200,19 +200,23 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
 
     @OnClick({R.id.rl_wx, R.id.rl_qq, R.id.rl_qr, R.id.rl_link})
     public void onViewClicked(View view) {
-        switch (view.getId()) {
-            case R.id.rl_wx:
-                shareToWX();
-                break;
-            case R.id.rl_qq:
-                shareToQQ();
-                break;
-            case R.id.rl_qr:
-                ViewUtil.showQR(AskGetMoneyAct.this, mEntity.getShare_link());
-                break;
-            case R.id.rl_link:
-                shareToLink();
-                break;
+        try {
+            switch (view.getId()) {
+                case R.id.rl_wx:
+                    shareToWX();
+                    break;
+                case R.id.rl_qq:
+                    shareToQQ();
+                    break;
+                case R.id.rl_qr:
+                    ViewUtil.showQR(AskGetMoneyAct.this, mEntity.getShare_link());
+                    break;
+                case R.id.rl_link:
+                    shareToLink();
+                    break;
+            }
+        } catch (Exception e) {
+            G.showToast(R.string.loading_data);
         }
     }
     private SparseArray<FgtFriendExtractPage> mTestFragments;

+ 55 - 25
app/src/main/java/com/sheep/gamegroup/view/activity/SignRankingsAct.java

@@ -67,7 +67,29 @@ public class SignRankingsAct extends BaseActivity {
                 return 2;
             }
         });
+        signViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int i, float v, int i1) {
+
+            }
+
+            @Override
+            public void onPageSelected(int i) {
+                switch (i){
+                    case 0:
+                        selectLeft();
+                        break;
+                    case 1:
+                        selectRight();
+                        break;
+                }
+            }
 
+            @Override
+            public void onPageScrollStateChanged(int i) {
+
+            }
+        });
     }
 
 
@@ -83,38 +105,46 @@ public class SignRankingsAct extends BaseActivity {
         switch (view.getId()) {
             case R.id.sign_rl_ljdl:
                 signViewPager.setCurrentItem(0);
-                signRlLjdl.setBackgroundResource(R.drawable.shape_sign_rankings_left_hold);
-                signTvLjdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
-                signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_normal);
-                signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
+                selectLeft();
+
+                break;
+            case R.id.sign_rl_lxdl:
+                signViewPager.setCurrentItem(1);
+                selectRight();
+                break;
+        }
+    }
+
+    private void selectRight() {
+        signRlLjdl.setBackgroundResource(R.drawable.shape_sign_rankings_left_normal);
+        signTvLjdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
+        signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_hold);
+        signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
 
+        Drawable drawable2= getResources().getDrawable(R.drawable.sign_lxdk_w_bg);
+        drawable2.setBounds(0, 0, drawable2.getMinimumWidth(), drawable2.getMinimumHeight());
+        signTvLxdl.setCompoundDrawables(drawable2,null,null,null);
 
-                Drawable drawable= getResources().getDrawable(R.drawable.sign_lxdk_bg);
-                drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
-                signTvLxdl.setCompoundDrawables(drawable,null,null,null);
 
+        Drawable drawable3= getResources().getDrawable(R.drawable.sign_ljdk_bg);
+        drawable3.setBounds(0, 0, drawable3.getMinimumWidth(), drawable3.getMinimumHeight());
+        signTvLjdl.setCompoundDrawables(drawable3,null,null,null);
+    }
 
-                Drawable drawable1= getResources().getDrawable(R.drawable.sign_ljdk_w_bg);
-                drawable1.setBounds(0, 0, drawable1.getMinimumWidth(), drawable1.getMinimumHeight());
-                signTvLjdl.setCompoundDrawables(drawable1,null,null,null);
+    private void selectLeft() {
+        signRlLjdl.setBackgroundResource(R.drawable.shape_sign_rankings_left_hold);
+        signTvLjdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
+        signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_normal);
+        signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
 
-                break;
-            case R.id.sign_rl_lxdl:
-                signViewPager.setCurrentItem(1);
-                signRlLjdl.setBackgroundResource(R.drawable.shape_sign_rankings_left_normal);
-                signTvLjdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
-                signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_hold);
-                signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
 
-                Drawable drawable2= getResources().getDrawable(R.drawable.sign_lxdk_w_bg);
-                drawable2.setBounds(0, 0, drawable2.getMinimumWidth(), drawable2.getMinimumHeight());
-                signTvLxdl.setCompoundDrawables(drawable2,null,null,null);
+        Drawable drawable= getResources().getDrawable(R.drawable.sign_lxdk_bg);
+        drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
+        signTvLxdl.setCompoundDrawables(drawable,null,null,null);
 
 
-                Drawable drawable3= getResources().getDrawable(R.drawable.sign_ljdk_bg);
-                drawable3.setBounds(0, 0, drawable3.getMinimumWidth(), drawable3.getMinimumHeight());
-                signTvLjdl.setCompoundDrawables(drawable3,null,null,null);
-                break;
-        }
+        Drawable drawable1= getResources().getDrawable(R.drawable.sign_ljdk_w_bg);
+        drawable1.setBounds(0, 0, drawable1.getMinimumWidth(), drawable1.getMinimumHeight());
+        signTvLjdl.setCompoundDrawables(drawable1,null,null,null);
     }
 }

+ 7 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -52,9 +52,13 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
-        //恢复成默认主题
-        setTheme(R.style.FullScreenTheme);
-        super.onCreate(savedInstanceState);
+        try {
+            //恢复成默认主题
+            setTheme(R.style.FullScreenTheme);
+            super.onCreate(savedInstanceState);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     @Override

+ 85 - 76
app/src/main/java/com/sheep/gamegroup/view/activity/TaskDetailAct.java

@@ -119,6 +119,8 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     private int type;//-1:开始任务 1:下载 2:安装 3:打开  10:打开H5
     private boolean isDownLoad = false;//是否下载
 
+    private boolean isFromTaskList = false;//是否是从任务记录界面过来
+
     private AdpTaskDetailChildListview adpTaskDetailChildListview;
     private List<TaskChild> taskChildList = new ArrayList<>();
 
@@ -132,6 +134,7 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
     public void initView() {
         activity = this;
         taskAcceptedEty = (TaskAcceptedEty) getIntent().getSerializableExtra("task_entity");
+        isFromTaskList = taskAcceptedEty != null;
         taskId = getIntent().getIntExtra("task_id", -1);
         DaggerTaskDetailComponent.builder()
                 .netComponent(SheepApp.get(activity).getNetComponent())
@@ -400,84 +403,88 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 
     @OnClick({R.id.detail_task_tv, R.id.web_text, R.id.ll_infos, R.id.btn_task_item, R.id.btn_up_imag})
     public void onViewClicked(View view) {
-        switch (view.getId()) {
-            case R.id.detail_task_tv://查看任务截图
-                if (TextUtils.isEmpty(taskEty.getScreenshots())) {
-                    G.showToast("任务截图为空");
-                    return;
-                }
-                Jump2View.getInstance().showImgs(activity, 0, taskEty.getScreenshots());
-                break;
-            case R.id.web_text:
-                break;
-            case R.id.ll_infos:
-                break;
-            case R.id.btn_task_item:
-                switch (type) {
-                    case -1:
-                        if (taskReleaseEty.getAccepted_task_id() > 0) {
-                            Jump2View.getInstance()
-                                    .goNoticeAct(activity, new DialogEntity(null,
-                                            "是否放弃正在运行中的任务?",
-                                            "是",
-                                            "否",
-                                            null));
-                        } else {
-                            acceptedTask();
-                        }
-                        break;
-                    case 1://开始下载
+        try {
+            switch (view.getId()) {
+                case R.id.detail_task_tv://查看任务截图
+                    if (taskEty == null || TextUtils.isEmpty(taskEty.getScreenshots())) {
+                        G.showToast("任务截图为空");
+                        return;
+                    }
+                    Jump2View.getInstance().showImgs(activity, 0, taskEty.getScreenshots());
+                    break;
+                case R.id.web_text:
+                    break;
+                case R.id.ll_infos:
+                    break;
+                case R.id.btn_task_item:
+                    switch (type) {
+                        case -1:
+                            if (taskReleaseEty.getAccepted_task_id() > 0) {
+                                Jump2View.getInstance()
+                                        .goNoticeAct(activity, new DialogEntity(null,
+                                                "是否放弃正在运行中的任务?",
+                                                "是",
+                                                "否",
+                                                null));
+                            } else {
+                                acceptedTask();
+                            }
+                            break;
+                        case 1://开始下载
 
-                        DownloadTarget task = null;
-                        if (TextUtils.isEmpty(taskReleaseEty.getTask().getDownload_link()) || !taskReleaseEty.getTask().getDownload_link().contains("http")) {
-                            G.showToast(R.string.error_download_link);
-                            return;
-                        }
-                        task = Aria.download(this).load(taskReleaseEty.getTask().getDownload_link());
-
-                        String filePath = DIR + File.separator + taskReleaseEty.getTask().getPackage_names() + ClassFileHelper.FILE_SUFFIX;
-                        if (task.getTaskState() == IEntity.STATE_RUNNING) {
-                            task.stop();
-                        } else if (task.getTaskState() == IEntity.STATE_FAIL) {
-                            task.cancel(true);
-                            task.resetState();
-                            task.removeRecord();
-                        } else {
-//                            task.setFilePath(filePath);
-//                            task.start();
-                            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));
+                            DownloadTarget task = null;
+                            if (TextUtils.isEmpty(taskReleaseEty.getTask().getDownload_link()) || !taskReleaseEty.getTask().getDownload_link().contains("http")) {
+                                G.showToast(R.string.error_download_link);
+                                return;
+                            }
+                            task = Aria.download(this).load(taskReleaseEty.getTask().getDownload_link());
+
+                            String filePath = DIR + File.separator + taskReleaseEty.getTask().getPackage_names() + ClassFileHelper.FILE_SUFFIX;
+                            if (task.getTaskState() == IEntity.STATE_RUNNING) {
+                                task.stop();
+                            } else if (task.getTaskState() == IEntity.STATE_FAIL) {
+                                task.cancel(true);
+                                task.resetState();
+                                task.removeRecord();
+                            } else {
+    //                            task.setFilePath(filePath);
+    //                            task.start();
+                                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();
+                            UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_DOWNLOAD);
+                            break;
+                        case 2:
+                            ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(activity, taskEty.getPackage_names(), ""));
+                            break;
+                        case 3:
+                            PackageUtil.startApp(SheepApp.mContext, taskEty.getPackage_names());
+                            break;
+                        case 10:
+                            Ext ext;
+                            if (taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())) {
+                                G.showToast("服务器数据错误,请联系客服或者稍候重试");
+                            } else {
+                                Jump2View.getInstance().goWeb(activity, ext.getUrl());
                             }
-                        }).start();
-                        UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_DOWNLOAD);
-                        break;
-                    case 2:
-                        ApkUtils.installApk(SheepApp.mContext, PackageUtil.isExistsFile(activity, taskEty.getPackage_names(), ""));
-                        break;
-                    case 3:
-                        PackageUtil.startApp(SheepApp.mContext, taskEty.getPackage_names());
-                        break;
-                    case 10:
-                        Ext ext;
-                        if (taskEty == null || (ext = EntityUtils.getExtInfo(taskEty.getExt())) == null || TextUtils.isEmpty(ext.getUrl())) {
-                            G.showToast("服务器数据错误,请联系客服或者稍候重试");
-                        } else {
-                            Jump2View.getInstance().goWeb(activity, ext.getUrl());
-                        }
-                        break;
-                }
-                break;
-            case R.id.btn_up_imag:
-                showChooseDialog(false, true, DEFAULT_MAX_COUNT);
-                UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_UPLOAD_PICTURE);
-                break;
+                            break;
+                    }
+                    break;
+                case R.id.btn_up_imag:
+                    showChooseDialog(false, true, DEFAULT_MAX_COUNT);
+                    UMConfigUtils.onEvent(UMConfigUtils.Event.TASK_UPLOAD_PICTURE);
+                    break;
+            }
+        } catch (Exception ignore) {
+            G.showToast(R.string.loading_data);
         }
     }
 
@@ -538,7 +545,9 @@ public class TaskDetailAct extends AbsChooseImageActivity implements TaskDetailC
 //                            onGetNetImageUrl(data);
         dismissLoaddingDialog();
         G.showToast("提交成功,等待审核!");
-        EventBus.getDefault().post(new BigEvent().setEventTypes(EventTypes.TASK_RECORD_LIST_UPDATE));
+
+        if(isFromTaskList)//之前界面为任务记录界面,需要回调刷新任务记录列表
+            setResult(RESULT_OK);
         UMConfigUtils.finishTask();
         finish();
     }

+ 9 - 14
app/src/main/java/com/sheep/gamegroup/view/activity/TaskListAct.java

@@ -1,12 +1,12 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.os.Handler;
 import android.view.View;
 import android.widget.ListView;
 
 import com.alibaba.fastjson.JSONArray;
-import com.kfzs.duanduan.event.BigEvent;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerTaskListComponent;
 import com.sheep.gamegroup.di.modules.TaskListModule;
@@ -15,6 +15,7 @@ import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.presenter.TaskListContract;
 import com.sheep.gamegroup.presenter.TaskListPresenter;
 import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.TaskListItemAdp;
 import com.sheep.gamegroup.view.customview.RefreshLayout;
 import com.sheep.jiuyan.samllsheep.R;
@@ -22,9 +23,6 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -63,7 +61,6 @@ public class TaskListAct extends BaseActivity implements TaskListContract.View {
 
     @Override
     public void initView() {
-        EventBus.getDefault().register(this);
         activity = this;
         DaggerTaskListComponent.builder()
                 .netComponent(SheepApp.get(this).getNetComponent())
@@ -156,18 +153,16 @@ public class TaskListAct extends BaseActivity implements TaskListContract.View {
     }
 
     @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        EventBus.getDefault().unregister(this);
-    }
-    @Subscribe
-    public void onEventMainThread(BigEvent event){
-        switch (event.getEventTypes()){
-            case TASK_RECORD_LIST_UPDATE:
-                refreshData();
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        switch (requestCode){
+            case ViewUtil.REQUEST_CODE_TASK_LIST:
+                if(resultCode == RESULT_OK)//进入任务详情界面提交成功
+                    refreshData();
                 break;
         }
     }
+
     @Override
     public void taskStatusSuccess(BaseMessage baseMessage) {
 

+ 15 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/WithdrawalAct.java

@@ -24,6 +24,7 @@ import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.presenter.WithdrawalContract;
 import com.sheep.gamegroup.presenter.WithdrawalPresenter;
 import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.view.adapter.WithdrawalAdapter;
 import com.sheep.jiuyan.samllsheep.R;
@@ -151,17 +152,21 @@ public class WithdrawalAct extends BaseActivity implements WithdrawalContract.Vi
 
     private void doWithdrawal() {
 //        String price1 = ((GridViewEntity)withdrawalGreidview.getSelectedItem()).getValue();
-        amount = wlLists.get(select).getGridViewEntity().getValue();
-        if(TextUtils.isEmpty(amount)){
-            G.showToast("请选择金额");
-            return;
-        }
+        if(ListUtil.hasIndex(wlLists, select)) {
+            amount = wlLists.get(select).getGridViewEntity().getValue();
+            if (TextUtils.isEmpty(amount)) {
+                G.showToast("请选择金额");
+                return;
+            }
 
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("amount", Float.valueOf(amount));
-        jsonObject.put("type", 1);
-        showProgress();
-        presenter.goWithdrawal(jsonObject);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("amount", Float.valueOf(amount));
+            jsonObject.put("type", 1);
+            showProgress();
+            presenter.goWithdrawal(jsonObject);
+        } else {
+            G.showToast(R.string.loading_data);
+        }
     }
 
     /**

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

@@ -68,7 +68,14 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
     private GridViewEntity gridViewEntity;//选中的
     private int is_succession;//0:一般任务 1:连续任务
 
+    private void checkAndInitView() {
+        if(refresh == null)
+            refresh = findViewById(R.id.refresh);
+        if(empty_view == null)
+            empty_view = findViewById(R.id.empty_view);
+    }
     private void notifyDataSetChanged(){
+        checkAndInitView();
         tryMakeMoneyAdp.add(RecyleObj.make(RecyleType.RELEASE_TASK, releaseEtyLists),position);
         tryMakeMoneyAdp.refreshAdapter();
         if(tryMakeMoneyAdp.isEmpty() && releaseEtyLists.isEmpty()){
@@ -312,9 +319,8 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
         if(type == 2){
             notifyDataSetChanged();
         }else {
-            CommonUtil.getInstance()
-                    .getRunTask(presenter,
-                            ((TryMakeMoneyact)getActivity()).getIsSuccession());
+            if(getActivity() instanceof  TryMakeMoneyact)
+                CommonUtil.getInstance().getRunTask(presenter,((TryMakeMoneyact)getActivity()).getIsSuccession());
         }
 
     }
@@ -325,9 +331,8 @@ public class FgtTryMakeMoney extends BaseFragment implements TryMakeMoneyContrac
         if(type == 2){
             notifyDataSetChanged();
         }else {
-            CommonUtil.getInstance()
-                    .getRunTask(presenter,
-                            ((TryMakeMoneyact)getActivity()).getIsSuccession());
+            if(getActivity() instanceof  TryMakeMoneyact)
+                CommonUtil.getInstance().getRunTask(presenter,((TryMakeMoneyact)getActivity()).getIsSuccession());
         }
     }
 

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

@@ -170,7 +170,12 @@ public class PackageUtil {
         List<ResolveInfo> resolveinfoList = context.getPackageManager()
                 .queryIntentActivities(resolveIntent, 0);
 
-        ResolveInfo resolveinfo = resolveinfoList.iterator().next();
+        ResolveInfo resolveinfo = null;
+        try {
+            resolveinfo = resolveinfoList.iterator().next();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         if (resolveinfo != null) {
             // packagename = 参数packname
             String packageName = resolveinfo.activityInfo.packageName;

+ 0 - 82
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/PermissionFloatWindowUtils.java

@@ -1,82 +0,0 @@
-package com.sheep.jiuyan.samllsheep.utils;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.media.projection.MediaProjectionManager;
-import android.net.Uri;
-import android.os.Build;
-import android.provider.Settings;
-
-/**
- * <pre>
- *     sinlov
- *
- *     /\__/\
- *    /`    '\
- *  ≈≈≈ 0  0 ≈≈≈ Hello world!
- *    \  --  /
- *   /        \
- *  /          \
- * |            |
- *  \  ||  ||  /
- *   \_oo__oo_/≡≡≡≡≡≡≡≡o
- *
- * </pre>
- * Created by sinlov on 17/2/11.
- */
-public class PermissionFloatWindowUtils {
-    public static final int REQUEST_OVERLAY_PERMISSION = 9088;
-    private static PermissionFloatWindowUtils instance;
-
-    /**
-     * if your Android SDK version great than M {API 23} can be use {@link Settings#canDrawOverlays(Context)}
-     *
-     * @param act {@link Activity}
-     * @return can show float window or not!
-     */
-    public boolean checkCanShowFloatWindow(Activity act) {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-            return Settings.canDrawOverlays(act);
-        } else {
-            return true;
-        }
-    }
-
-    /**
-     * If your Android SDK verison less M{API 23}, this method will crash your APP!
-     *
-     * @param act {@link Activity}
-     */
-    public void grantShowFloatWindowPermission(Activity act) {
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
-            throw new RuntimeException("you Android sdk version is below M {API23}, not need grant this permission");
-        } else {
-            if (!Settings.canDrawOverlays(act)) {
-                Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
-                        Uri.parse("package:" + act.getPackageName()));
-                act.startActivityForResult(intent, REQUEST_OVERLAY_PERMISSION);
-            }
-        }
-    }
-
-    private void requestCapturePermission(Activity act) {
-        MediaProjectionManager mediaProjectionManager = (MediaProjectionManager)
-                act.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            act.startActivityForResult(
-                    mediaProjectionManager.createScreenCaptureIntent(),
-                    REQUEST_OVERLAY_PERMISSION);
-        }
-    }
-
-    public static PermissionFloatWindowUtils getInstance() {
-        if (null == instance) {
-            instance = new PermissionFloatWindowUtils();
-        }
-        return instance;
-    }
-
-    private PermissionFloatWindowUtils() {
-    }
-}

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

@@ -12,6 +12,7 @@
     <string name="no_bind_wx_notice_text">未绑定微信号,无法入账到你的微信零钱</string>
     <string name="no_bind_tel_notice_text">我们已将你的手机号与该帐号绑定,如有变更,请点击</string>
     <string name="coming_soon">敬请期待</string>
+    <string name="loading_data">数据正在加载中,请稍候重试</string>
     <string name="service_error">服务器错误,请稍候再试</string>
     <string name="error_download_link">下载地址错误,请联系客服</string>
     <string name="last_page">&#060;</string>