Commit cfbf9d63 by 段启岩

退出登录优化

parent bac4c669
......@@ -6,7 +6,6 @@ import android.view.View;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import javax.inject.Inject;
......@@ -50,15 +49,6 @@ public class SettingsActivity extends BaseActivity<SettingsActivityViewModel, Ac
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
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) {
......@@ -66,7 +56,7 @@ public class SettingsActivity extends BaseActivity<SettingsActivityViewModel, Ac
confirmDialog.setConfirmDialogListener(new ConfirmDialog.ConfirmDialogListener() {
@Override
public void onDialogPositiveClick(DialogFragment dialog) {
authenticationViewModel.logout();
authenticationViewModel.logout(SettingsActivity.this);
}
@Override
......
......@@ -17,6 +17,7 @@ import cn.yunliyunwai.beyondclouds.data.model.AuthenticationResult;
import cn.yunliyunwai.beyondclouds.data.model.Result;
import cn.yunliyunwai.beyondclouds.data.model.UserInfo;
import cn.yunliyunwai.beyondclouds.data.source.IUserRepository;
import cn.yunliyunwai.beyondclouds.ui.settings.SettingsActivity;
import cn.yunliyunwai.beyondclouds.util.JsonUtils;
import dagger.Lazy;
......@@ -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>() {
@Override
public void onChanged(Result result) {
mToken = null;
mRefreshToken = null;
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