Эх сурвалжийг харах

Update settings to use new retrofit

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 6 жил өмнө
parent
commit
43a1187e3a

+ 28 - 24
app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java

@@ -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())