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

1.优化未登录状态下详情显示我要报名
2.优化注销登录 做 退出登录逻辑

wsad5123 пре 5 година
родитељ
комит
e44527eecb

+ 21 - 9
app/src/main/java/com/webrain/happywork/ui/activity/DemandDetailActivity.java

@@ -19,6 +19,7 @@ import com.webrain.happywork.ui.mvp.presenter.DemandDetailPresenter;
 import com.webrain.happywork.ui.widget.dialog.MineLightDialog;
 import com.webrain.happywork.ui.widget.dialog.SureDialog;
 
+import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 
 import butterknife.BindView;
@@ -67,6 +68,7 @@ public class DemandDetailActivity extends BaseActivity<DemandDetailPresenter> im
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        EventBus.getDefault().register(this);
         setTitle(R.string.demand_detail);
         setLoadingVisible(true);
         mvpPresenter.init();
@@ -123,17 +125,22 @@ public class DemandDetailActivity extends BaseActivity<DemandDetailPresenter> im
             } else {
                 tvDown.setVisibility(View.GONE);
             }
-            if (displayCancel) {
-                btnApply.setEnabled(true);
-                btnApply.setText(R.string.cancel_apply);
-            } else {
-                if (!isNeedEnrollment) {//是否可以报名
-                    btnApply.setEnabled(false);
-                    btnApply.setText(R.string.mine_has_apply);
-                } else {
+            if (AppCacheManager.getInstance().isLogin()) {
+                if (displayCancel) {
                     btnApply.setEnabled(true);
-                    btnApply.setText(R.string.demand_need_apply);
+                    btnApply.setText(R.string.cancel_apply);
+                } else {
+                    if (!isNeedEnrollment) {//是否可以报名
+                        btnApply.setEnabled(false);
+                        btnApply.setText(R.string.mine_has_apply);
+                    } else {
+                        btnApply.setEnabled(true);
+                        btnApply.setText(R.string.demand_need_apply);
+                    }
                 }
+            } else {//未登录全部按需要登录处理
+                btnApply.setEnabled(true);
+                btnApply.setText(R.string.demand_need_apply);
             }
         }
     }
@@ -198,6 +205,11 @@ public class DemandDetailActivity extends BaseActivity<DemandDetailPresenter> im
         }
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
+    }
 
     /**
      * 错误页面刷新按钮

+ 11 - 2
app/src/main/java/com/webrain/happywork/ui/activity/MineCenterActivity.java

@@ -2,6 +2,7 @@ package com.webrain.happywork.ui.activity;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.support.annotation.Nullable;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -65,7 +66,7 @@ public class MineCenterActivity extends BaseActivity<MineCenterPresenter> implem
         mvpPresenter.init();
     }
 
-    @OnClick({R.id.ll_apply, R.id.ll_order, R.id.ll_payment_record, R.id.ll_tax, R.id.iv_header,R.id.ll_more, R.id.tv_logout})
+    @OnClick({R.id.ll_apply, R.id.ll_order, R.id.ll_payment_record, R.id.ll_tax, R.id.iv_header, R.id.ll_more, R.id.tv_logout})
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.ll_apply:
@@ -84,7 +85,7 @@ public class MineCenterActivity extends BaseActivity<MineCenterPresenter> implem
                 startActivity(new Intent(mContext, MineTaxPaymentCertificateActivity.class));
                 break;
             case R.id.ll_more:
-                startActivity(new Intent(mContext, MineGeneralSettingActivity.class));
+                startActivityForResult(new Intent(mContext, MineGeneralSettingActivity.class), 1);
                 break;
             case R.id.tv_logout:
                 if (mLogoutDialog == null) {
@@ -128,6 +129,14 @@ public class MineCenterActivity extends BaseActivity<MineCenterPresenter> implem
         EventBus.getDefault().unregister(this);
     }
 
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (resultCode == RESULT_OK && requestCode == 1) {
+            logout();
+        }
+    }
+
     /**
      * 接收头像修改推送
      *

+ 4 - 3
app/src/main/java/com/webrain/happywork/ui/activity/MineGeneralSettingActivity.java

@@ -49,10 +49,10 @@ public class MineGeneralSettingActivity extends BaseActivity<MineGeneralSettingP
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setTitle(R.string.mine_center);
-        tvVersion.setText("版本号 V"+ BuildConfig.VERSION_NAME);
+        tvVersion.setText("版本号 V" + BuildConfig.VERSION_NAME);
     }
 
-    @OnClick({R.id.ll_tips_user, R.id.ll_tips_privacy,R.id.iv_logo, R.id.tv_unregister})
+    @OnClick({R.id.ll_tips_user, R.id.ll_tips_privacy, R.id.iv_logo, R.id.tv_unregister})
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.ll_tips_user:
@@ -80,7 +80,8 @@ public class MineGeneralSettingActivity extends BaseActivity<MineGeneralSettingP
     SureDialog.OnClickSureListener onClickSureListener = new SureDialog.OnClickSureListener() {
         @Override
         public void onClick(boolean isSure) {
-
+            setResult(RESULT_OK);
+            finish();
         }
     };
 }

+ 0 - 3
app/src/main/java/com/webrain/happywork/ui/mvp/contacts/LoginContacts.java

@@ -22,14 +22,11 @@ public class LoginContacts {
 
         void init();
 
-        void getAppAllPermissions();//获取APP所有需要的高危权限
     }
 
     public interface ILoginModel {
         void getHttpAuthCode(String phoneNum);
 
-        void getAppAllPermissions(Context mContext);
-
         void httpLogin(String phoneNum, String code, String clientId, MvpDataCallBack<Boolean> mvpDataCallBack);
     }
 }

+ 6 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/contacts/MainContacts.java

@@ -1,5 +1,7 @@
 package com.webrain.happywork.ui.mvp.contacts;
 
+import android.content.Context;
+
 import com.webrain.happywork.bean.AreaBean;
 import com.webrain.happywork.bean.BaseInformationBean;
 import com.webrain.happywork.bean.CityBean;
@@ -40,6 +42,8 @@ public class MainContacts {
         void checkUpdate();
 
         void init();
+
+        void getAppAllPermissions();//获取APP所有需要的高危权限
     }
 
     public interface IMainModel {
@@ -61,5 +65,7 @@ public class MainContacts {
         void changePrice(BaseInformationBean baseInformationBean);
 
         void httpCheckUpdate(MvpDataCallBack<VersionBean> callBack);
+
+        void getAppAllPermissions(Context mContext);
     }
 }

+ 0 - 14
app/src/main/java/com/webrain/happywork/ui/mvp/model/LoginModel.java

@@ -93,18 +93,4 @@ public class LoginModel extends BaseModel implements LoginContacts.ILoginModel {
         });
     }
 
-    /**
-     * 获取所有高危权限
-     *
-     * @param mContext
-     */
-    @Override
-    public void getAppAllPermissions(Context mContext) {
-        PermissionsUtils.requestPermissions((AppCompatActivity) mContext, new Consumer<Boolean>() {
-            @Override
-            public void accept(Boolean aBoolean) {
-
-            }
-        }, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE});
-    }
 }

+ 20 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/model/MainModel.java

@@ -1,10 +1,13 @@
 package com.webrain.happywork.ui.mvp.model;
 
 
+import android.Manifest;
 import android.content.Context;
+import android.support.v7.app.AppCompatActivity;
 import android.text.TextUtils;
 
 import com.webrain.baselibrary.utils.AppUtils;
+import com.webrain.baselibrary.utils.PermissionsUtils;
 import com.webrain.happywork.AppCacheManager;
 import com.webrain.happywork.bean.AreaBean;
 import com.webrain.happywork.bean.BaseInformationBean;
@@ -28,6 +31,8 @@ import com.webrain.happywork.ui.mvp.contacts.MainContacts;
 import java.util.ArrayList;
 import java.util.List;
 
+import io.reactivex.functions.Consumer;
+
 public class MainModel extends BaseModel implements MainContacts.IMainModel {
     private List<RequirementBean> mListData = new ArrayList<>();//需求列表数据
     private ApiException mException;//异常信息
@@ -225,4 +230,19 @@ public class MainModel extends BaseModel implements MainContacts.IMainModel {
             }
         });
     }
+
+    /**
+     * 获取所有高危权限
+     *
+     * @param mContext
+     */
+    @Override
+    public void getAppAllPermissions(Context mContext) {
+        PermissionsUtils.requestPermissions((AppCompatActivity) mContext, new Consumer<Boolean>() {
+            @Override
+            public void accept(Boolean aBoolean) {
+
+            }
+        }, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE});
+    }
 }

+ 0 - 11
app/src/main/java/com/webrain/happywork/ui/mvp/presenter/LoginPresenter.java

@@ -110,19 +110,8 @@ public class LoginPresenter extends BasePresenter<LoginActivity> implements Logi
     @Override
     public void init() {
         if (isViewAttach()) {
-            getAppAllPermissions();
             mvpReference.get().onSpannableInit();
         }
     }
 
-
-    /**
-     * 获取所有高危权限
-     */
-    @Override
-    public void getAppAllPermissions() {
-        if (isViewAttach())
-            mLoginModel.getAppAllPermissions(mvpReference.get());
-    }
-
 }

+ 9 - 0
app/src/main/java/com/webrain/happywork/ui/mvp/presenter/MainPresenter.java

@@ -134,6 +134,7 @@ public class MainPresenter extends BasePresenter<MainActivity> implements MainCo
     @Override
     public void init() {
         if (isViewAttach()) {
+            getAppAllPermissions();
             getRequirements(true, false);
             getBanner();
             checkUpdate();
@@ -203,4 +204,12 @@ public class MainPresenter extends BasePresenter<MainActivity> implements MainCo
         }
     }
 
+    /**
+     * 获取所有高危权限
+     */
+    @Override
+    public void getAppAllPermissions() {
+        if (isViewAttach())
+            mMainModel.getAppAllPermissions(mvpReference.get());
+    }
 }