Skip to content

Commit 79b783e

Browse files
committed
fix(branding): refresh BrandingUtil instance when color changes
1 parent 8c44be9 commit 79b783e

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public class NotesApplication extends Application {
3838
private static boolean isGridViewEnabled = false;
3939
private static boolean isSwipeEnabled = true;
4040
private static BrandingUtil brandingUtil;
41+
private static NotesApplication instance;
4142

4243
@Override
4344
public void onCreate() {
@@ -48,7 +49,8 @@ public void onCreate() {
4849
isGridViewEnabled = getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_gridview), false);
4950
isSwipeEnabled = getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_swipe_actions), true);
5051
super.onCreate();
51-
brandingUtil = BrandingUtil.getInstance(this);
52+
instance = this;
53+
resetBrandingUtil();
5254
if (BuildConfig.DEBUG) {
5355
WebView.setWebContentsDebuggingEnabled(true);
5456
}
@@ -70,6 +72,10 @@ public static BrandingUtil brandingUtil() {
7072
return brandingUtil;
7173
}
7274

75+
public static void resetBrandingUtil() {
76+
brandingUtil = BrandingUtil.getInstance(instance);
77+
}
78+
7379
public static void setAppTheme(DarkModeSetting setting) {
7480
AppCompatDelegate.setDefaultNightMode(setting.getModeId());
7581
}

app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.util.concurrent.ConcurrentMap;
2828

2929
import it.niedermann.android.sharedpreferences.SharedPreferenceIntLiveData;
30+
import it.niedermann.owncloud.notes.NotesApplication;
3031
import it.niedermann.owncloud.notes.R;
3132

3233
public class BrandingUtil extends ViewThemeUtilsBase {
@@ -88,9 +89,9 @@ public static void saveBrandColor(@NonNull Context context, @ColorInt int color)
8889
Log.v(TAG, "--- Write: shared_preference_theme_main" + " | " + color);
8990
editor.putInt(pref_key_branding_main, color);
9091
editor.apply();
91-
if (context instanceof BrandedActivity) {
92-
if (color != previousMainColor) {
93-
final var activity = (BrandedActivity) context;
92+
if (color != previousMainColor) {
93+
NotesApplication.resetBrandingUtil();
94+
if (context instanceof BrandedActivity activity) {
9495
activity.runOnUiThread(() -> ActivityCompat.recreate(activity));
9596
}
9697
}

0 commit comments

Comments
 (0)