Skip to content

Commit 8aff619

Browse files
committed
Fix dynamic theme change
1 parent 6cf3157 commit 8aff619

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

dynamic-support/src/main/java/com/pranavpandey/android/dynamic/support/DynamicApplication.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616

1717
package com.pranavpandey.android.dynamic.support;
1818

19+
import android.annotation.TargetApi;
1920
import android.app.Application;
2021
import android.content.Context;
2122
import android.content.SharedPreferences;
2223
import android.content.pm.ActivityInfo;
2324
import android.content.res.Configuration;
25+
import android.os.Build;
2426
import android.preference.PreferenceManager;
2527

2628
import androidx.annotation.NonNull;
@@ -78,20 +80,20 @@ public void onCreate() {
7880
setDynamicTheme();
7981
}
8082

83+
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
8184
@Override
8285
public void onConfigurationChanged(@NonNull Configuration newConfig) {
8386
super.onConfigurationChanged(newConfig);
8487

8588
int diff = mConfiguration.diff(new Configuration(newConfig));
86-
if ((diff & ActivityInfo.CONFIG_LOCALE) != 0
87-
|| (diff & ActivityInfo.CONFIG_FONT_SCALE) != 0
88-
|| (diff & ActivityInfo.CONFIG_ORIENTATION) != 0
89-
|| (diff & ActivityInfo.CONFIG_UI_MODE) != 0
90-
|| (DynamicSdkUtils.is17()
91-
&& (diff & ActivityInfo.CONFIG_DENSITY) != 0)) {
92-
DynamicTheme.getInstance().onDynamicChanged(true, false);
93-
mConfiguration = new Configuration(newConfig);
94-
}
89+
DynamicTheme.getInstance().onDynamicConfigurationChanged(
90+
(diff & ActivityInfo.CONFIG_LOCALE) != 0,
91+
(diff & ActivityInfo.CONFIG_FONT_SCALE) != 0,
92+
(diff & ActivityInfo.CONFIG_ORIENTATION) != 0,
93+
(diff & ActivityInfo.CONFIG_UI_MODE) != 0,
94+
DynamicSdkUtils.is17() && (diff & ActivityInfo.CONFIG_DENSITY) != 0);
95+
96+
mConfiguration = new Configuration(newConfig);
9597
}
9698

9799
/**

dynamic-support/src/main/java/com/pranavpandey/android/dynamic/support/activity/DynamicSystemActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import android.graphics.drawable.ColorDrawable;
2828
import android.os.Build;
2929
import android.os.Bundle;
30+
import android.os.Handler;
3031
import android.preference.PreferenceManager;
3132
import android.view.LayoutInflater;
3233
import android.view.View;
@@ -607,7 +608,7 @@ public void onResume() {
607608
setDynamicTheme();
608609
setNavigationBarColor(mNavigationBarColor);
609610

610-
runOnUiThread(mDynamicChange);
611+
new Handler().postDelayed(mDynamicChange, DynamicTheme.DELAY_THEME_CHANGE);
611612
}
612613
}
613614

0 commit comments

Comments
 (0)