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

Merge pull request #7868 from nextcloud/ezaquarii/migrate-thumbnail-cache-manager-to-user-model

Migrate ThumbnailsCacheManager to User model
Andy Scherzinger 4 жил өмнө
parent
commit
723d81e8a7

+ 9 - 8
src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java

@@ -47,6 +47,7 @@ import android.view.WindowManager;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 
+import com.nextcloud.client.account.User;
 import com.nextcloud.client.network.ConnectivityService;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
@@ -869,7 +870,7 @@ public final class ThumbnailsCacheManager {
         private final Object mCallContext;
         private final Resources mResources;
         private final float mAvatarRadius;
-        private Account mAccount;
+        private User user;
         private String mUserId;
         private String mServerName;
         private Context mContext;
@@ -877,7 +878,7 @@ public final class ThumbnailsCacheManager {
 
         public AvatarGenerationTask(AvatarGenerationListener avatarGenerationListener,
                                     Object callContext,
-                                    Account account,
+                                    User user,
                                     Resources resources,
                                     float avatarRadius,
                                     String userId,
@@ -885,7 +886,7 @@ public final class ThumbnailsCacheManager {
                                     Context context) {
             mAvatarGenerationListener = new WeakReference<>(avatarGenerationListener);
             mCallContext = callContext;
-            mAccount = account;
+            this.user = user;
             mResources = resources;
             mAvatarRadius = avatarRadius;
             mUserId = userId;
@@ -951,8 +952,8 @@ public final class ThumbnailsCacheManager {
             if (System.currentTimeMillis() - timestamp >= 60 * 60 * 1000 || avatar == null) {
                 GetMethod get = null;
                 try {
-                    if (mAccount != null) {
-                        OwnCloudAccount ocAccount = new OwnCloudAccount(mAccount, mContext);
+                    if (user != null) {
+                        OwnCloudAccount ocAccount = user.toOwnCloudAccount();
                         mClient = OwnCloudClientManagerFactory.getDefaultSingleton().getClientFor(ocAccount, mContext);
                     }
 
@@ -994,7 +995,7 @@ public final class ThumbnailsCacheManager {
                                                                             ThumbnailsCacheManager.AVATAR_TIMESTAMP,
                                                                             System.currentTimeMillis());
                             } else {
-                                return TextDrawable.createAvatar(mAccount, mAvatarRadius);
+                                return TextDrawable.createAvatar(user, mAvatarRadius);
                             }
                             break;
 
@@ -1012,7 +1013,7 @@ public final class ThumbnailsCacheManager {
                     }
                 } catch (Exception e) {
                     try {
-                        return TextDrawable.createAvatar(mAccount, mAvatarRadius);
+                        return TextDrawable.createAvatar(user, mAvatarRadius);
                     } catch (Exception e1) {
                         Log_OC.e(TAG, "Error generating fallback avatar");
                     }
@@ -1025,7 +1026,7 @@ public final class ThumbnailsCacheManager {
 
             if (avatar == null) {
                 try {
-                    return TextDrawable.createAvatar(mAccount, mAvatarRadius);
+                    return TextDrawable.createAvatar(user, mAvatarRadius);
                 } catch (Exception e1) {
                     return ResourcesCompat.getDrawable(mResources, R.drawable.ic_user, null);
                 }

+ 5 - 4
src/main/java/com/owncloud/android/ui/TextDrawable.java

@@ -31,6 +31,7 @@ import android.graphics.Paint;
 import android.graphics.PixelFormat;
 import android.graphics.drawable.Drawable;
 
+import com.nextcloud.client.account.User;
 import com.nextcloud.client.account.UserAccountManager;
 import com.owncloud.android.utils.BitmapUtils;
 
@@ -94,13 +95,13 @@ public class TextDrawable extends Drawable {
      * creates an avatar in form of a TextDrawable with the first letter of the account name in a circle with the given
      * radius.
      *
-     * @param account    user account
-     * @param radiusInDp the circle's radius
+     * @param user        user account
+     * @param radiusInDp  the circle's radius
      * @return the avatar as a TextDrawable
      */
     @NonNull
-    public static TextDrawable createAvatar(Account account, float radiusInDp) {
-        String username = UserAccountManager.getDisplayName(account);
+    public static TextDrawable createAvatar(User user, float radiusInDp) {
+        String username = UserAccountManager.getDisplayName(user.toPlatformAccount());
         return createNamedAvatar(username, radiusInDp);
     }
 

+ 1 - 1
src/main/java/com/owncloud/android/utils/DisplayUtils.java

@@ -523,7 +523,7 @@ public final class DisplayUtils {
         final ThumbnailsCacheManager.AvatarGenerationTask task =
             new ThumbnailsCacheManager.AvatarGenerationTask(listener,
                                                             callContext,
-                                                            user.toPlatformAccount(),
+                                                            user,
                                                             resources,
                                                             avatarRadius,
                                                             userId,