Commit cfbf9d63 by 段启岩

退出登录优化

parent bac4c669
...@@ -6,7 +6,6 @@ import android.view.View; ...@@ -6,7 +6,6 @@ import android.view.View;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import javax.inject.Inject; import javax.inject.Inject;
...@@ -50,15 +49,6 @@ public class SettingsActivity extends BaseActivity<SettingsActivityViewModel, Ac ...@@ -50,15 +49,6 @@ public class SettingsActivity extends BaseActivity<SettingsActivityViewModel, Ac
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
StatusBarUtils.setWindowStatusBarColor(this, R.color.colorStatusBar); StatusBarUtils.setWindowStatusBarColor(this, R.color.colorStatusBar);
authenticationViewModel.getAuthenticationState().observe(this, new Observer<AuthenticationViewModel.AuthenticationState>() {
@Override
public void onChanged(AuthenticationViewModel.AuthenticationState authenticationState) {
if (authenticationState == AuthenticationViewModel.AuthenticationState.LOGOUT) {
finish();
}
}
});
} }
public void confirmLogout(View view) { public void confirmLogout(View view) {
...@@ -66,7 +56,7 @@ public class SettingsActivity extends BaseActivity<SettingsActivityViewModel, Ac ...@@ -66,7 +56,7 @@ public class SettingsActivity extends BaseActivity<SettingsActivityViewModel, Ac
confirmDialog.setConfirmDialogListener(new ConfirmDialog.ConfirmDialogListener() { confirmDialog.setConfirmDialogListener(new ConfirmDialog.ConfirmDialogListener() {
@Override @Override
public void onDialogPositiveClick(DialogFragment dialog) { public void onDialogPositiveClick(DialogFragment dialog) {
authenticationViewModel.logout(); authenticationViewModel.logout(SettingsActivity.this);
} }
@Override @Override
......
...@@ -17,6 +17,7 @@ import cn.yunliyunwai.beyondclouds.data.model.AuthenticationResult; ...@@ -17,6 +17,7 @@ import cn.yunliyunwai.beyondclouds.data.model.AuthenticationResult;
import cn.yunliyunwai.beyondclouds.data.model.Result; import cn.yunliyunwai.beyondclouds.data.model.Result;
import cn.yunliyunwai.beyondclouds.data.model.UserInfo; import cn.yunliyunwai.beyondclouds.data.model.UserInfo;
import cn.yunliyunwai.beyondclouds.data.source.IUserRepository; import cn.yunliyunwai.beyondclouds.data.source.IUserRepository;
import cn.yunliyunwai.beyondclouds.ui.settings.SettingsActivity;
import cn.yunliyunwai.beyondclouds.util.JsonUtils; import cn.yunliyunwai.beyondclouds.util.JsonUtils;
import dagger.Lazy; import dagger.Lazy;
...@@ -274,15 +275,17 @@ public class AuthenticationViewModel extends ViewModel { ...@@ -274,15 +275,17 @@ public class AuthenticationViewModel extends ViewModel {
/** /**
* 注销 * 注销
* @param settingsActivity
*/ */
public void logout() { public void logout(SettingsActivity settingsActivity) {
userRepositoryLazy.get().logout().observeForever(new Observer<Result>() { userRepositoryLazy.get().logout().observeForever(new Observer<Result>() {
@Override @Override
public void onChanged(Result result) { public void onChanged(Result result) {
mToken = null; mToken = null;
mRefreshToken = null; mRefreshToken = null;
removeUserInfoAndTokenToLocal(); removeUserInfoAndTokenToLocal();
authenticationState.setValue(AuthenticationState.LOGOUT); authenticationState.setValue(AuthenticationState.UN_AUTHENTICATE);
settingsActivity.finish();
} }
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment