mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 20:19:42 +01:00
Fix credentials update
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
d59403bc97
commit
5000b3e9de
@ -460,11 +460,6 @@ public class SettingsController extends BaseController {
|
|||||||
messageText.setText(getResources().getString(R.string.nc_settings_account_updated));
|
messageText.setText(getResources().getString(R.string.nc_settings_account_updated));
|
||||||
messageView.setVisibility(View.VISIBLE);
|
messageView.setVisibility(View.VISIBLE);
|
||||||
break;
|
break;
|
||||||
case WRONG_ACCOUNT:
|
|
||||||
messageText.setTextColor(getResources().getColor(R.color.nc_darkRed));
|
|
||||||
messageText.setText(getResources().getString(R.string.nc_settings_wrong_account));
|
|
||||||
messageView.setVisibility(View.VISIBLE);
|
|
||||||
break;
|
|
||||||
case SERVER_WITHOUT_TALK:
|
case SERVER_WITHOUT_TALK:
|
||||||
messageText.setTextColor(getResources().getColor(R.color.nc_darkRed));
|
messageText.setTextColor(getResources().getColor(R.color.nc_darkRed));
|
||||||
messageText.setText(getResources().getString(R.string.nc_settings_wrong_account));
|
messageText.setText(getResources().getString(R.string.nc_settings_wrong_account));
|
||||||
|
@ -325,69 +325,67 @@ public class WebViewLoginController extends BaseController {
|
|||||||
UserEntity currentUser = userUtils.getCurrentUser();
|
UserEntity currentUser = userUtils.getCurrentUser();
|
||||||
|
|
||||||
ApplicationWideMessageHolder.MessageType messageType = null;
|
ApplicationWideMessageHolder.MessageType messageType = null;
|
||||||
if (currentUser != null && isPasswordUpdate &&
|
|
||||||
!currentUser.getUsername().equals(loginData.getUsername())) {
|
if (!isPasswordUpdate && userUtils.getIfUserWithUsernameAndServer(loginData.getUsername(), baseUrl)) {
|
||||||
|
messageType = ApplicationWideMessageHolder.MessageType.ACCOUNT_UPDATED_NOT_ADDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userUtils.checkIfUserIsScheduledForDeletion(loginData.getUsername(), baseUrl)) {
|
||||||
ApplicationWideMessageHolder.getInstance().setMessageType(
|
ApplicationWideMessageHolder.getInstance().setMessageType(
|
||||||
ApplicationWideMessageHolder.MessageType.WRONG_ACCOUNT);
|
ApplicationWideMessageHolder.MessageType.ACCOUNT_SCHEDULED_FOR_DELETION);
|
||||||
getRouter().popToRoot();
|
|
||||||
} else {
|
|
||||||
|
|
||||||
if (!isPasswordUpdate && userUtils.getIfUserWithUsernameAndServer(loginData.getUsername(), baseUrl)) {
|
if (!isPasswordUpdate) {
|
||||||
messageType = ApplicationWideMessageHolder.MessageType.ACCOUNT_UPDATED_NOT_ADDED;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (userUtils.checkIfUserIsScheduledForDeletion(loginData.getUsername(), baseUrl)) {
|
|
||||||
ApplicationWideMessageHolder.getInstance().setMessageType(
|
|
||||||
ApplicationWideMessageHolder.MessageType.ACCOUNT_SCHEDULED_FOR_DELETION);
|
|
||||||
getRouter().popToRoot();
|
getRouter().popToRoot();
|
||||||
|
} else {
|
||||||
|
getRouter().popCurrentController();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ApplicationWideMessageHolder.MessageType finalMessageType = messageType;
|
||||||
|
cookieManager.getCookieStore().removeAll();
|
||||||
|
|
||||||
|
if (!isPasswordUpdate && finalMessageType == null) {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putString(BundleKeys.KEY_USERNAME, loginData.getUsername());
|
||||||
|
bundle.putString(BundleKeys.KEY_TOKEN, loginData.getToken());
|
||||||
|
bundle.putString(BundleKeys.KEY_BASE_URL, loginData.getServerUrl());
|
||||||
|
String protocol = "";
|
||||||
|
|
||||||
|
if (baseUrl.startsWith("http://")) {
|
||||||
|
protocol = "http://";
|
||||||
|
} else if (baseUrl.startsWith("https://")) {
|
||||||
|
protocol = "https://";
|
||||||
}
|
}
|
||||||
|
|
||||||
ApplicationWideMessageHolder.MessageType finalMessageType = messageType;
|
if (!TextUtils.isEmpty(protocol)) {
|
||||||
cookieManager.getCookieStore().removeAll();
|
bundle.putString(BundleKeys.KEY_ORIGINAL_PROTOCOL, protocol);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isPasswordUpdate && finalMessageType == null) {
|
getRouter().pushController(RouterTransaction.with(new AccountVerificationController
|
||||||
Bundle bundle = new Bundle();
|
(bundle)).pushChangeHandler(new HorizontalChangeHandler())
|
||||||
bundle.putString(BundleKeys.KEY_USERNAME, loginData.getUsername());
|
.popChangeHandler(new HorizontalChangeHandler()));
|
||||||
bundle.putString(BundleKeys.KEY_TOKEN, loginData.getToken());
|
} else {
|
||||||
bundle.putString(BundleKeys.KEY_BASE_URL, loginData.getServerUrl());
|
if (isPasswordUpdate) {
|
||||||
String protocol = "";
|
if (currentUser != null) {
|
||||||
|
userQueryDisposable = userUtils.createOrUpdateUser(null, loginData.getToken(),
|
||||||
if (baseUrl.startsWith("http://")) {
|
null, null, null, true,
|
||||||
protocol = "http://";
|
null, currentUser.getId(), null, appPreferences.getTemporaryClientCertAlias(), null)
|
||||||
} else if (baseUrl.startsWith("https://")) {
|
.subscribeOn(Schedulers.newThread())
|
||||||
protocol = "https://";
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(userEntity -> {
|
||||||
|
if (finalMessageType != null) {
|
||||||
|
ApplicationWideMessageHolder.getInstance().setMessageType(finalMessageType);
|
||||||
|
}
|
||||||
|
getRouter().popCurrentController();
|
||||||
|
}, throwable -> dispose(),
|
||||||
|
this::dispose);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!TextUtils.isEmpty(protocol)) {
|
|
||||||
bundle.putString(BundleKeys.KEY_ORIGINAL_PROTOCOL, protocol);
|
|
||||||
}
|
|
||||||
|
|
||||||
getRouter().pushController(RouterTransaction.with(new AccountVerificationController
|
|
||||||
(bundle)).pushChangeHandler(new HorizontalChangeHandler())
|
|
||||||
.popChangeHandler(new HorizontalChangeHandler()));
|
|
||||||
} else {
|
} else {
|
||||||
if (isPasswordUpdate) {
|
if (finalMessageType != null) {
|
||||||
if (currentUser != null) {
|
ApplicationWideMessageHolder.getInstance().setMessageType(finalMessageType);
|
||||||
userQueryDisposable = userUtils.createOrUpdateUser(null, loginData.getToken(),
|
|
||||||
null, null, null, true,
|
|
||||||
null, currentUser.getId(), null, appPreferences.getTemporaryClientCertAlias(), null)
|
|
||||||
.subscribeOn(Schedulers.newThread())
|
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
|
||||||
.subscribe(userEntity -> {
|
|
||||||
if (finalMessageType != null) {
|
|
||||||
ApplicationWideMessageHolder.getInstance().setMessageType(finalMessageType);
|
|
||||||
}
|
|
||||||
getRouter().popCurrentController();
|
|
||||||
}, throwable -> dispose(),
|
|
||||||
this::dispose);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (finalMessageType != null) {
|
|
||||||
ApplicationWideMessageHolder.getInstance().setMessageType(finalMessageType);
|
|
||||||
}
|
|
||||||
getRouter().popToRoot();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
getRouter().popToRoot();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user