Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java30
1 files changed, 24 insertions, 6 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java
index 8e3a4d9f..1c0ebf11 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java
@@ -1,28 +1,46 @@
package it.niedermann.owncloud.notes.branding;
+import static it.niedermann.owncloud.notes.NotesApplication.isDarkThemeActive;
+import static it.niedermann.owncloud.notes.branding.BrandingUtil.getAttribute;
+import static it.niedermann.owncloud.notes.branding.BrandingUtil.readBrandMainColor;
+import static it.niedermann.owncloud.notes.shared.util.NotesColorUtil.contrastRatioIsSufficient;
+
import android.graphics.Color;
import android.view.View;
+import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
+import com.google.android.material.snackbar.BaseTransientBottomBar;
import com.google.android.material.snackbar.Snackbar;
-import it.niedermann.android.util.ColorUtil;
+import it.niedermann.owncloud.notes.R;
public class BrandedSnackbar {
@NonNull
- public static Snackbar make(@NonNull View view, @NonNull CharSequence text, @Snackbar.Duration int duration) {
+ public static Snackbar make(@NonNull View view, @NonNull CharSequence text, @BaseTransientBottomBar.Duration int duration) {
final var snackbar = Snackbar.make(view, text, duration);
- final int color = BrandingUtil.readBrandMainColor(view.getContext());
- snackbar.setActionTextColor(ColorUtil.INSTANCE.isColorDark(color) ? Color.WHITE : color);
+
+ @ColorInt final int backgroundColor = getAttribute(view.getContext(), R.attr.colorSurfaceInverse);
+ @ColorInt final int color = readBrandMainColor(view.getContext());
+
+ if (contrastRatioIsSufficient(backgroundColor, color)) {
+ snackbar.setActionTextColor(color);
+ } else {
+ if (isDarkThemeActive(view.getContext())) {
+ snackbar.setActionTextColor(Color.BLACK);
+ } else {
+ snackbar.setActionTextColor(Color.WHITE);
+ }
+ }
+
return snackbar;
}
@NonNull
- public static Snackbar make(@NonNull View view, @StringRes int resId, @Snackbar.Duration int duration) {
+ public static Snackbar make(@NonNull View view, @StringRes int resId, @BaseTransientBottomBar.Duration int duration) {
return make(view, view.getResources().getText(resId), duration);
}
-
} \ No newline at end of file