From 25ea12b1b59210a01480e6a8a8e8a603fd96b5ef Mon Sep 17 00:00:00 2001 From: neronguyen Date: Thu, 4 Jun 2026 19:18:28 +0700 Subject: [PATCH] fix(branding): refresh BrandingUtil instance when color changes Signed-off-by: neronguyen --- .../it/niedermann/owncloud/notes/NotesApplication.java | 4 ++++ .../niedermann/owncloud/notes/branding/BrandingUtil.java | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java b/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java index f449402f4..e82e27bb9 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java @@ -70,6 +70,10 @@ public static BrandingUtil brandingUtil() { return brandingUtil; } + public static void reloadBrandingUtil(Context context) { + brandingUtil = BrandingUtil.getInstance(context.getApplicationContext()); + } + public static void setAppTheme(DarkModeSetting setting) { AppCompatDelegate.setDefaultNightMode(setting.getModeId()); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java index 71b0311be..4ed940fca 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java @@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentMap; import it.niedermann.android.sharedpreferences.SharedPreferenceIntLiveData; +import it.niedermann.owncloud.notes.NotesApplication; import it.niedermann.owncloud.notes.R; public class BrandingUtil extends ViewThemeUtilsBase { @@ -88,9 +89,9 @@ public static void saveBrandColor(@NonNull Context context, @ColorInt int color) Log.v(TAG, "--- Write: shared_preference_theme_main" + " | " + color); editor.putInt(pref_key_branding_main, color); editor.apply(); - if (context instanceof BrandedActivity) { - if (color != previousMainColor) { - final var activity = (BrandedActivity) context; + if (color != previousMainColor) { + NotesApplication.reloadBrandingUtil(context); + if (context instanceof BrandedActivity activity) { activity.runOnUiThread(() -> ActivityCompat.recreate(activity)); } }