Update settings to use new retrofit

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2018-08-11 07:29:00 +02:00
parent 7e8957fd97
commit 43a1187e3a

View File

@ -161,8 +161,7 @@ public class SettingsController extends BaseController {
@Inject
AppPreferences appPreferences;
@Inject
NcApi ncApi;
private NcApi ncApi;
@Inject
UserUtils userUtils;
@ -170,7 +169,8 @@ public class SettingsController extends BaseController {
@Inject
CookieManager cookieManager;
private UserEntity userEntity;
private UserEntity currentUser;
private String credentials;
private OnPreferenceValueChangedListener<String> proxyTypeChangeListener;
private OnPreferenceValueChangedListener<Boolean> proxyCredentialsChangeListener;
@ -183,13 +183,18 @@ public class SettingsController extends BaseController {
return inflater.inflate(R.layout.controller_settings, container, false);
}
private void getCurrentUser() {
currentUser = userUtils.getCurrentUser();
credentials = ApiUtils.getCredentials(currentUser.getUserId(), currentUser.getToken());
}
@Override
protected void onViewBound(@NonNull View view) {
super.onViewBound(view);
NextcloudTalkApplication.getSharedApplication().getComponentApplication().inject(this);
userEntity = userUtils.getCurrentUser();
getCurrentUser();
appPreferences.registerProxyTypeListener(proxyTypeChangeListener = new ProxyTypeChangeListener());
appPreferences.registerProxyCredentialsListener(proxyCredentialsChangeListener = new
@ -273,7 +278,7 @@ public class SettingsController extends BaseController {
URI uri;
try {
uri = new URI(userEntity.getBaseUrl());
uri = new URI(currentUser.getBaseUrl());
host = uri.getHost();
port = uri.getPort();
} catch (URISyntaxException e) {
@ -297,9 +302,9 @@ public class SettingsController extends BaseController {
}
userUtils.createOrUpdateUser(null, null, null, null, null, null, null, userEntity.getId(),
userUtils.createOrUpdateUser(null, null, null, null, null, null, null, currentUser.getId(),
null, alias);
}, new String[]{"RSA", "EC"}, null, finalHost, finalPort, userEntity.getClientCertificate
}, new String[]{"RSA", "EC"}, null, finalHost, finalPort, currentUser.getClientCertificate
()));
}
@ -312,9 +317,9 @@ public class SettingsController extends BaseController {
}
dispose(null);
userEntity = userUtils.getCurrentUser();
getCurrentUser();
if (!TextUtils.isEmpty(userEntity.getClientCertificate())) {
if (!TextUtils.isEmpty(currentUser.getClientCertificate())) {
certificateSetup.setTitle(R.string.nc_client_cert_change);
} else {
certificateSetup.setTitle(R.string.nc_client_cert_setup);
@ -360,26 +365,25 @@ public class SettingsController extends BaseController {
hideProxyCredentials();
}
if (userEntity != null) {
if (currentUser != null) {
baseUrlTextView.setText(userEntity.getBaseUrl());
baseUrlTextView.setText(currentUser.getBaseUrl());
reauthorizeButton.addPreferenceClickListener(view14 -> {
getParentController().getRouter().pushController(RouterTransaction.with(
new WebViewLoginController(userEntity.getBaseUrl(), true))
new WebViewLoginController(currentUser.getBaseUrl(), true))
.pushChangeHandler(new VerticalChangeHandler())
.popChangeHandler(new VerticalChangeHandler()));
});
if (userEntity.getDisplayName() != null) {
displayNameTextView.setText(userEntity.getDisplayName());
if (currentUser.getDisplayName() != null) {
displayNameTextView.setText(currentUser.getDisplayName());
}
loadAvatarImage();
profileQueryDisposable = ncApi.getUserProfile(ApiUtils.getCredentials(userEntity.getUsername(),
userEntity.getToken()),
ApiUtils.getUrlForUserProfile(userEntity.getBaseUrl()))
profileQueryDisposable = ncApi.getUserProfile(credentials,
ApiUtils.getUrlForUserProfile(currentUser.getBaseUrl()))
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(userProfileOverall -> {
@ -396,12 +400,12 @@ public class SettingsController extends BaseController {
}
if ((!TextUtils.isEmpty(displayName) && !displayName.equals(userEntity.getDisplayName()))) {
if ((!TextUtils.isEmpty(displayName) && !displayName.equals(currentUser.getDisplayName()))) {
dbQueryDisposable = userUtils.createOrUpdateUser(null,
null,
null, displayName, null, null,
null, userEntity.getId(), null, null)
null, currentUser.getId(), null, null)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(userEntityResult -> {
@ -419,7 +423,7 @@ public class SettingsController extends BaseController {
removeAccountButton.addPreferenceClickListener(view1 -> {
cookieManager.getCookieStore().removeAll();
boolean otherUserExists = userUtils.scheduleUserForDeletionWithId(userEntity.getId());
boolean otherUserExists = userUtils.scheduleUserForDeletionWithId(currentUser.getId());
OneTimeWorkRequest accountRemovalWork = new OneTimeWorkRequest.Builder(AccountRemovalWorker.class).build();
WorkManager.getInstance().enqueue(accountRemovalWork);
@ -505,13 +509,13 @@ public class SettingsController extends BaseController {
private void loadAvatarImage() {
String avatarId;
if (!TextUtils.isEmpty(userEntity.getUserId())) {
avatarId = userEntity.getUserId();
if (!TextUtils.isEmpty(currentUser.getUserId())) {
avatarId = currentUser.getUserId();
} else {
avatarId = userEntity.getUsername();
avatarId = currentUser.getUsername();
}
GlideUrl glideUrl = new GlideUrl(ApiUtils.getUrlForAvatarWithName(userEntity.getBaseUrl(),
GlideUrl glideUrl = new GlideUrl(ApiUtils.getUrlForAvatarWithName(currentUser.getBaseUrl(),
avatarId, R.dimen.avatar_size_big), new LazyHeaders.Builder()
.setHeader("Accept", "image/*")
.setHeader("User-Agent", ApiUtils.getUserAgent())