Browse Source

修复首页权限问题

zk 1 year ago
parent
commit
9c91b945e9

+ 1 - 0
app/src/main/java/com/datarecovery/master/data/repositories/AccountRepository.java

@@ -113,6 +113,7 @@ public class AccountRepository {
             return;
         }
         token = null;
+        deviceFuncRepository.clearAuths();
         KVUtils.getDefault().putString(KEY_LOGIN_PHONE_NUM, "");
         KVUtils.getDefault().putString(KEY_LOGIN_TOKEN, "");
         if (BoxingUtil.boxing(isLogin.getValue())) {

+ 1 - 1
app/src/main/java/com/datarecovery/master/data/repositories/DeviceFuncRepository.java

@@ -70,7 +70,7 @@ public class DeviceFuncRepository {
                     @Override
                     public void onSuccess(@NonNull FuncAuthsResponse funcAuthsResponse) {
                         refreshFunAuthsFlag = false;
-                        clearAuths();
+                        authsList.clear();
                         authsList.addAll(funcAuthsResponse.getAuths());
                     }
 

+ 1 - 1
app/src/main/java/com/datarecovery/master/module/homepage/HomePageViewModel.java

@@ -91,7 +91,7 @@ public class HomePageViewModel extends BaseViewModel {
     }
 
     public void onImgRecoveryClick() {
-        isCheckPermission(() -> ImageRecoverActivity.start(ActivityUtil.getTopActivity(), ImageRecoverActivity.Type.RECOVER));
+        isCheckPermission(() -> isHaveAuths(MemberType.APP_IMAGE_RECOVER, () -> ImageRecoverActivity.start(ActivityUtil.getTopActivity(), ImageRecoverActivity.Type.RECOVER)));
     }
 
     public void isHaveAuths(@MemberType String type, NextStepCallback stepCallback) {

+ 5 - 1
app/src/main/java/com/datarecovery/master/module/mine/MineViewModel.java

@@ -19,6 +19,7 @@ import com.datarecovery.master.module.login.LoginActivity;
 import com.datarecovery.master.module.member.MemberActivity;
 import com.datarecovery.master.module.member.MemberType;
 import com.datarecovery.master.module.wxrecover.WeChatRecoverActivity;
+import com.datarecovery.master.utils.BoxingUtil;
 
 import javax.inject.Inject;
 
@@ -67,6 +68,9 @@ public class MineViewModel extends BaseViewModel {
     }
 
     public void onLoginClick() {
+        if (BoxingUtil.boxing(accountRepository.getIsLogin().getValue())) {
+            return;
+        }
         LoginActivity.start(ActivityUtil.getTopActivity());
     }
 
@@ -87,7 +91,7 @@ public class MineViewModel extends BaseViewModel {
     }
 
     public void onAccountLogout() {
-
+        accountRepository.logout();
     }
 
     public void onFeedbackClick() {

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

@@ -203,7 +203,8 @@
                         settingsName="@{@string/mine_account_logout}"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:onClick="@{()-> mineViewModel.onLogoutClick()}" />
+                        android:onClick="@{()-> mineViewModel.onLogoutClick()}"
+                        android:visibility="gone" />
 
                     <include
                         isGone="@{!mineViewModel.isLogin}"