Browse Source

Add viewThemeUtils for different primary colors

Signed-off-by: Alper Ozturk <alperozturk@lions-macbook.local>
Signed-off-by: alperozturk <alper_ozturk@proton.me>
Alper Ozturk 1 year ago
parent
commit
c570c4f2a5

+ 1 - 1
app/src/main/java/com/nextcloud/utils/ShortcutUtil.kt

@@ -72,7 +72,7 @@ class ShortcutUtil @Inject constructor(private val mContext: Context) {
                 icon = IconCompat.createWithAdaptiveBitmap(thumbnail)
             } else if (file.isFolder) {
                 val isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user)
-                val drawable = file.getFileIcon(isAutoUploadFolder, mContext)
+                val drawable = file.getFileIcon(isAutoUploadFolder, mContext, viewThemeUtils)
                 val bitmapIcon = drawable.toBitmap()
                 icon = IconCompat.createWithBitmap(bitmapIcon)
             } else {

+ 7 - 2
app/src/main/java/com/owncloud/android/datamodel/OCFile.java

@@ -31,6 +31,7 @@ import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
 
+import com.nextcloud.android.common.ui.theme.utils.ColorRole;
 import com.owncloud.android.R;
 import com.owncloud.android.lib.common.network.WebdavEntry;
 import com.owncloud.android.lib.common.network.WebdavUtils;
@@ -42,6 +43,7 @@ import com.owncloud.android.lib.resources.files.model.ServerFileInterface;
 import com.owncloud.android.lib.resources.shares.ShareeUser;
 import com.owncloud.android.utils.DrawableUtil;
 import com.owncloud.android.utils.MimeType;
+import com.owncloud.android.utils.theme.ViewThemeUtils;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -666,10 +668,13 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
         }
     }
 
-    public LayerDrawable getFileIcon(boolean isAutoUploadFolder, Context context) {
+    public LayerDrawable getFileIcon(boolean isAutoUploadFolder, Context context, ViewThemeUtils viewThemeUtils) {
         Drawable folderDrawable = ContextCompat.getDrawable(context, R.drawable.folder);
         assert(folderDrawable != null);
 
+        // TODO move getFileIcon in MimeTypeUtil
+        // TODO delete folder_ icons from project directory
+        viewThemeUtils.platform.tintDrawable(context, folderDrawable, ColorRole.PRIMARY);
         LayerDrawable folderLayerDrawable = new LayerDrawable(new Drawable[] { folderDrawable } );
 
         Integer overlayIconId = getFileOverlayIconId(isAutoUploadFolder);
@@ -683,8 +688,8 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
         if (overlayDrawable == null) {
             return folderLayerDrawable;
         }
-
         DrawableUtil drawableUtil = new DrawableUtil();
+
         return drawableUtil.addDrawableAsOverlay(folderDrawable, overlayDrawable, 6);
     }
 

+ 1 - 1
app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java

@@ -222,7 +222,7 @@ public abstract class EditorWebView extends ExternalSiteWebView {
         OCFile file = getFile();
         if (file.isFolder()) {
             boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user);
-            LayerDrawable drawable = file.getFileIcon(isAutoUploadFolder, this);
+            LayerDrawable drawable = file.getFileIcon(isAutoUploadFolder, this, viewThemeUtils);
             binding.thumbnail.setImageDrawable(drawable);
         } else {
             if ((MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file)) && file.getRemoteId() != null) {

+ 1 - 1
app/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java

@@ -79,7 +79,7 @@ public class ShareActivity extends FileActivity {
         // Icon
         if (file.isFolder()) {
             boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, optionalUser.get());
-            LayerDrawable drawable = file.getFileIcon(isAutoUploadFolder, this);
+            LayerDrawable drawable = file.getFileIcon(isAutoUploadFolder, this, viewThemeUtils);
             binding.shareFileIcon.setImageDrawable(drawable);
         } else {
             binding.shareFileIcon.setImageDrawable(MimeTypeUtil.getFileTypeIcon(file.getMimeType(),

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

@@ -106,7 +106,7 @@ public class UploaderAdapter extends SimpleAdapter {
 
         if (file.isFolder()) {
             boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user);
-            final LayerDrawable icon = file.getFileIcon(isAutoUploadFolder, mContext);
+            final LayerDrawable icon = file.getFileIcon(isAutoUploadFolder, mContext, viewThemeUtils);
             fileIcon.setImageDrawable(icon);
         } else {
             // get Thumbnail if file is image

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

@@ -855,7 +855,7 @@ public final class DisplayUtils {
             stopShimmer(shimmerThumbnail, thumbnailView);
 
             boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user);
-            LayerDrawable fileIcon = file.getFileIcon(isAutoUploadFolder, context);
+            LayerDrawable fileIcon = file.getFileIcon(isAutoUploadFolder, context, viewThemeUtils);
             thumbnailView.setImageDrawable(fileIcon);
         } else {
             if (file.getRemoteId() != null && file.isPreviewAvailable()) {