diff --git a/app/src/main/java/com/nextcloud/utils/ShortcutUtil.kt b/app/src/main/java/com/nextcloud/utils/ShortcutUtil.kt index b45432c7944f..f1e5a4318baa 100644 --- a/app/src/main/java/com/nextcloud/utils/ShortcutUtil.kt +++ b/app/src/main/java/com/nextcloud/utils/ShortcutUtil.kt @@ -29,6 +29,7 @@ import android.graphics.Bitmap import android.graphics.Canvas import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable +import androidx.core.content.ContextCompat import androidx.core.content.pm.ShortcutInfoCompat import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.graphics.drawable.IconCompat @@ -72,10 +73,13 @@ class ShortcutUtil @Inject constructor(private val mContext: Context) { icon = IconCompat.createWithAdaptiveBitmap(thumbnail) } else if (file.isFolder) { val isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user) - val isDarkModeActive = syncedFolderProvider.preferences.isDarkModeEnabled val overlayIconId = file.getFileOverlayIconId(isAutoUploadFolder) - val drawable = MimeTypeUtil.getFileIcon(isDarkModeActive, overlayIconId, mContext, viewThemeUtils) + // NMC Customization: No overlay icon will be used. Directly using folder icons + val drawable = ContextCompat.getDrawable(mContext, overlayIconId) ?: MimeTypeUtil.getDefaultFolderIcon( + mContext, + viewThemeUtils + ) val bitmapIcon = drawable.toBitmap() icon = IconCompat.createWithBitmap(bitmapIcon) } else { diff --git a/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java b/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java index d3a5367a273e..d1b8b13c2635 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java @@ -52,6 +52,8 @@ import javax.inject.Inject; +import androidx.core.content.ContextCompat; + public abstract class EditorWebView extends ExternalSiteWebView { public static final int REQUEST_LOCAL_FILE = 101; public ValueCallback uploadMessage; @@ -225,8 +227,8 @@ protected void setThumbnailView(final User user) { boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user); Integer overlayIconId = file.getFileOverlayIconId(isAutoUploadFolder); - LayerDrawable drawable = MimeTypeUtil.getFileIcon(preferences.isDarkModeEnabled(), overlayIconId, this, viewThemeUtils); - binding.thumbnail.setImageDrawable(drawable); + // NMC Customization: No overlay icon will be used. Directly using folder icons + binding.thumbnail.setImageDrawable(ContextCompat.getDrawable(this, overlayIconId)); } else { if ((MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file)) && file.getRemoteId() != null) { // Thumbnail in cache? diff --git a/app/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java index b5da83327702..8ee13f80b18f 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java @@ -47,6 +47,7 @@ import javax.inject.Inject; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; @@ -81,8 +82,8 @@ protected void onCreate(Bundle savedInstanceState) { boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, optionalUser.get()); Integer overlayIconId = file.getFileOverlayIconId(isAutoUploadFolder); - LayerDrawable drawable = MimeTypeUtil.getFileIcon(preferences.isDarkModeEnabled(), overlayIconId, this, viewThemeUtils); - binding.shareFileIcon.setImageDrawable(drawable); + // NMC Customization: No overlay icon will be used. Directly using folder icons + binding.shareFileIcon.setImageDrawable(ContextCompat.getDrawable(this, overlayIconId)); } else { binding.shareFileIcon.setImageDrawable(MimeTypeUtil.getFileTypeIcon(file.getMimeType(), file.getFileName(), diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/ReceiveExternalFilesAdapter.kt b/app/src/main/java/com/owncloud/android/ui/adapter/ReceiveExternalFilesAdapter.kt index f407ed557269..d7afc030001b 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/ReceiveExternalFilesAdapter.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/ReceiveExternalFilesAdapter.kt @@ -27,6 +27,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.nextcloud.client.account.User import com.owncloud.android.databinding.UploaderListItemLayoutBinding @@ -127,10 +128,9 @@ class ReceiveExternalFilesAdapter( private fun setupThumbnailForFolder(thumbnailImageView: ImageView, file: OCFile) { val isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user) - val isDarkModeActive = syncedFolderProvider.preferences.isDarkModeEnabled val overlayIconId = file.getFileOverlayIconId(isAutoUploadFolder) - val icon = MimeTypeUtil.getFileIcon(isDarkModeActive, overlayIconId, context, viewThemeUtils) - thumbnailImageView.setImageDrawable(icon) + // NMC Customization: No overlay icon will be used. Directly using folder icons + thumbnailImageView.setImageDrawable(ContextCompat.getDrawable(context, overlayIconId)) } @Suppress("NestedBlockDepth") diff --git a/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java b/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java index c5618bdce2df..76792f2fb583 100644 --- a/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java @@ -38,7 +38,6 @@ import android.graphics.Point; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; -import android.graphics.drawable.LayerDrawable; import android.net.Uri; import android.os.AsyncTask; import android.text.Spannable; @@ -111,6 +110,7 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.appcompat.widget.AppCompatDrawableManager; +import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; @@ -855,11 +855,9 @@ public static void setThumbnail(OCFile file, stopShimmer(shimmerThumbnail, thumbnailView); boolean isAutoUploadFolder = SyncedFolderProvider.isAutoUploadFolder(syncedFolderProvider, file, user); - boolean isDarkModeActive = preferences.isDarkModeEnabled(); - Integer overlayIconId = file.getFileOverlayIconId(isAutoUploadFolder); - LayerDrawable fileIcon = MimeTypeUtil.getFileIcon(isDarkModeActive, overlayIconId, context, viewThemeUtils); - thumbnailView.setImageDrawable(fileIcon); + // NMC Customization: No overlay icon will be used. Directly using folder icons + thumbnailView.setImageDrawable(ContextCompat.getDrawable(context, overlayIconId)); } else { if (file.getRemoteId() != null && file.isPreviewAvailable()) { // Thumbnail in cache? diff --git a/app/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java b/app/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java index 8b0d862fd1dc..af2408475bc1 100644 --- a/app/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java +++ b/app/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java @@ -104,13 +104,8 @@ public static Drawable getFileTypeIcon(String mimetype, ViewThemeUtils viewThemeUtils) { if (context != null) { int iconId = MimeTypeUtil.getFileTypeIconId(mimetype, filename); - Drawable icon = ContextCompat.getDrawable(context, iconId); - - if (R.drawable.file_zip == iconId) { - viewThemeUtils.platform.tintPrimaryDrawable(context, icon); - } - - return icon; + //NMC Customization + return ContextCompat.getDrawable(context, iconId); } else { return null; } @@ -138,11 +133,13 @@ public static Drawable getDefaultFolderIcon(Context context, ViewThemeUtils view Drawable drawable = ContextCompat.getDrawable(context, R.drawable.folder); assert(drawable != null); - viewThemeUtils.platform.tintDrawable(context, drawable, ColorRole.PRIMARY); return drawable; } - public static LayerDrawable getFileIcon(Boolean isDarkModeActive, Integer overlayIconId, Context context, ViewThemeUtils viewThemeUtils) { + // NMC Note: This funtion won't be used in NMC as we are using different folder icons with inbuilt overlay. So this function is of no use for us. + // changed access to PRIVATE, in case if NC will use this function in more areas then we will get compile error which can be fixed by us + // so that UI won't be impacted. + private static LayerDrawable getFileIcon(Boolean isDarkModeActive, Integer overlayIconId, Context context, ViewThemeUtils viewThemeUtils) { Drawable folderDrawable = getDefaultFolderIcon(context, viewThemeUtils); assert(folderDrawable != null);