Переглянути джерело

Merge pull request #2775 from nextcloud/AvatarGenerationNoStorageManagerNeeded

Avatar generation does not need storageManager
Andy Scherzinger 6 роки тому
батько
коміт
9b661890bd

+ 2 - 5
src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java

@@ -781,13 +781,10 @@ public class ThumbnailsCacheManager {
 
 
         public AvatarGenerationTask(AvatarGenerationListener avatarGenerationListener, Object callContext,
-                                    FileDataStorageManager storageManager, Account account, Resources resources,
-                                    float avatarRadius, String userId, String serverName, Context context) {
+                                    Account account, Resources resources, float avatarRadius, String userId,
+                                    String serverName, Context context) {
             mAvatarGenerationListener = new WeakReference<>(avatarGenerationListener);
             mCallContext = callContext;
-            if (storageManager == null) {
-                throw new IllegalArgumentException("storageManager must not be NULL");
-            }
             mAccount = account;
             mResources = resources;
             mAvatarRadius = avatarRadius;

+ 6 - 5
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -37,6 +37,7 @@ import android.graphics.drawable.LayerDrawable;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
+import android.support.annotation.NonNull;
 import android.support.design.widget.NavigationView;
 import android.support.v4.view.GravityCompat;
 import android.support.v4.widget.DrawerLayout;
@@ -317,7 +318,7 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
         navigationView.setNavigationItemSelectedListener(
                 new NavigationView.OnNavigationItemSelectedListener() {
                     @Override
-                    public boolean onNavigationItemSelected(final MenuItem menuItem) {
+                    public boolean onNavigationItemSelected(@NonNull final MenuItem menuItem) {
                         mDrawerLayout.closeDrawers();
                         // pending runnable will be executed after the drawer has been closed
                         pendingRunnable = new Runnable() {
@@ -611,7 +612,7 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                     accountEndView.setTag(mAvatars[1].name);
 
                     DisplayUtils.setAvatar(mAvatars[1], this, mOtherAccountAvatarRadiusDimension, getResources(),
-                            getStorageManager(), accountEndView, this);
+                            accountEndView, this);
                     mAccountEndAccountAvatar.setVisibility(View.VISIBLE);
                 } else {
                     mAccountEndAccountAvatar.setVisibility(View.GONE);
@@ -623,7 +624,7 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                     accountMiddleView.setTag(mAvatars[2].name);
 
                     DisplayUtils.setAvatar(mAvatars[2], this, mOtherAccountAvatarRadiusDimension, getResources(),
-                            getStorageManager(), accountMiddleView, this);
+                            accountMiddleView, this);
                     mAccountMiddleAccountAvatar.setVisibility(View.VISIBLE);
                 } else {
                     mAccountMiddleAccountAvatar.setVisibility(View.GONE);
@@ -657,7 +658,7 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                             account.name)
                             .setIcon(TextDrawable.createAvatar(account.name, mMenuAccountAvatarRadiusDimension));
                     DisplayUtils.setAvatar(account, this, mMenuAccountAvatarRadiusDimension, getResources(),
-                            getStorageManager(), accountMenuItem, this);
+                            accountMenuItem, this);
                 }
             } catch (Exception e) {
                 Log_OC.e(TAG, "Error calculating RGB value for account menu item.", e);
@@ -729,7 +730,7 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
             currentAccountView.setTag(account.name);
 
             DisplayUtils.setAvatar(account, this, mCurrentAccountAvatarRadiusDimension, getResources(),
-                    getStorageManager(), currentAccountView, this);
+                    currentAccountView, this);
 
             // check and show quota info if available
             getAndDisplayUserQuota();

+ 4 - 3
src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java

@@ -263,7 +263,7 @@ public class UserInfoActivity extends FileActivity {
         userName.setText(account.name);
         avatar.setTag(account.name);
         DisplayUtils.setAvatar(account, UserInfoActivity.this, mCurrentAccountAvatarRadiusDimension, getResources(),
-                getStorageManager(), avatar, this);
+                avatar, this);
 
         int tint = ThemeUtils.primaryColor(account, true, this);
 
@@ -482,8 +482,9 @@ public class UserInfoActivity extends FileActivity {
             notifyDataSetChanged();
         }
 
+        @NonNull
         @Override
-        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
             LayoutInflater inflater = LayoutInflater.from(parent.getContext());
             View view = inflater.inflate(R.layout.user_info_details_table_item, parent, false);
             ViewHolder holder = new ViewHolder(view);
@@ -491,7 +492,7 @@ public class UserInfoActivity extends FileActivity {
         }
 
         @Override
-        public void onBindViewHolder(ViewHolder holder, int position) {
+        public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
             UserInfoDetailsItem item = mDisplayList.get(position);
             holder.icon.setImageResource(item.icon);
             holder.text.setText(item.text);

+ 2 - 2
src/main/java/com/owncloud/android/ui/adapter/AccountListAdapter.java

@@ -149,8 +149,8 @@ public class AccountListAdapter extends ArrayAdapter<AccountListItem> implements
         try {
             View viewItem = viewHolder.imageViewItem;
             viewItem.setTag(account.name);
-            DisplayUtils.setAvatar(account, this, mAccountAvatarRadiusDimension, mContext.getResources(),
-                    mContext.getStorageManager(), viewItem, mContext);
+            DisplayUtils.setAvatar(account, this, mAccountAvatarRadiusDimension, mContext.getResources(), viewItem,
+                    mContext);
         } catch (Exception e) {
             Log_OC.e(TAG, "Error calculating RGB value for account list item.", e);
             // use user icon as a fallback

+ 1 - 1
src/main/java/com/owncloud/android/ui/adapter/UserListAdapter.java

@@ -118,7 +118,7 @@ public class UserListAdapter extends RecyclerView.Adapter<UserListAdapter.UserVi
             } else {
                 holder.avatar.setTag(share.getShareWith());
                 DisplayUtils.setAvatar(account, share.getShareWith(), this, avatarRadiusDimension,
-                        context.getResources(), storageManager, holder.avatar, context);
+                        context.getResources(), holder.avatar, context);
             }
             holder.name.setText(name);
 

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

@@ -67,7 +67,6 @@ import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.ArbitraryDataProvider;
-import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.datamodel.ThumbnailsCacheManager;
 import com.owncloud.android.lib.common.OwnCloudAccount;
@@ -439,18 +438,16 @@ public class DisplayUtils {
      * @param account        the account to be used to connect to server
      * @param avatarRadius   the avatar radius
      * @param resources      reference for density information
-     * @param storageManager reference for caching purposes
      * @param callContext    which context is called to set the generated avatar
      */
     public static void setAvatar(@NonNull Account account, AvatarGenerationListener listener,
-                                 float avatarRadius, Resources resources, FileDataStorageManager storageManager,
-                                 Object callContext, Context context) {
+                                 float avatarRadius, Resources resources, Object callContext, Context context) {
 
         AccountManager accountManager = AccountManager.get(context);
         String userId = accountManager.getUserData(account,
                 com.owncloud.android.lib.common.accounts.AccountUtils.Constants.KEY_USER_ID);
 
-        setAvatar(account, userId, listener, avatarRadius, resources, storageManager, callContext, context);
+        setAvatar(account, userId, listener, avatarRadius, resources, callContext, context);
     }
 
     /**
@@ -460,12 +457,10 @@ public class DisplayUtils {
      * @param userId         the userId which avatar should be set
      * @param avatarRadius   the avatar radius
      * @param resources      reference for density information
-     * @param storageManager reference for caching purposes
      * @param callContext    which context is called to set the generated avatar
      */
     public static void setAvatar(@NonNull Account account, @NonNull String userId, AvatarGenerationListener listener,
-                                 float avatarRadius, Resources resources, FileDataStorageManager storageManager,
-                                 Object callContext, Context context) {
+                                 float avatarRadius, Resources resources, Object callContext, Context context) {
         if (callContext instanceof View) {
             ((View) callContext).setContentDescription(account.name);
         }
@@ -493,8 +488,8 @@ public class DisplayUtils {
         // check for new avatar, eTag is compared, so only new one is downloaded
         if (ThumbnailsCacheManager.cancelPotentialAvatarWork(userId, callContext)) {
             final ThumbnailsCacheManager.AvatarGenerationTask task =
-                    new ThumbnailsCacheManager.AvatarGenerationTask(listener, callContext, storageManager,
-                            account, resources, avatarRadius, userId, serverName, context);
+                    new ThumbnailsCacheManager.AvatarGenerationTask(listener, callContext, account, resources,
+                            avatarRadius, userId, serverName, context);
 
             final ThumbnailsCacheManager.AsyncAvatarDrawable asyncDrawable =
                     new ThumbnailsCacheManager.AsyncAvatarDrawable(resources, avatar, task);