@@ -126,7 +126,6 @@ class LatinIME : InputMethodService(), LifecycleOwner, ViewModelStoreOwner, Save
126
126
127
127
private var activeThemeOption: ThemeOption ? = null
128
128
private var activeColorScheme = DarkColorScheme
129
- private var colorSchemeLoaderJob: Job ? = null
130
129
private var pendingRecreateKeyboard: Boolean = false
131
130
132
131
val themeOption get() = activeThemeOption
@@ -182,17 +181,10 @@ class LatinIME : InputMethodService(), LifecycleOwner, ViewModelStoreOwner, Save
182
181
}
183
182
184
183
override fun getDrawableProvider (): DynamicThemeProvider {
185
- if (drawableProvider == null ) {
186
- if (colorSchemeLoaderJob != null && ! colorSchemeLoaderJob!! .isCompleted) {
187
- // Must have completed by now!
188
- runBlocking {
189
- colorSchemeLoaderJob!! .join()
190
- }
191
- }
192
- drawableProvider = BasicThemeProvider (this , activeColorScheme)
184
+ return drawableProvider ? : BasicThemeProvider (this , activeColorScheme).let {
185
+ drawableProvider = it
186
+ it
193
187
}
194
-
195
- return drawableProvider!!
196
188
}
197
189
198
190
private fun updateColorsIfDynamicChanged () {
@@ -289,7 +281,7 @@ class LatinIME : InputMethodService(), LifecycleOwner, ViewModelStoreOwner, Save
289
281
suggestionBlacklist
290
282
)
291
283
292
- colorSchemeLoaderJob = deferGetSetting (THEME_KEY ) {
284
+ getSettingBlocking (THEME_KEY ). let {
293
285
val themeOptionFromSettings = ThemeOptions [it]
294
286
val themeOption = when {
295
287
themeOptionFromSettings == null -> VoiceInputTheme
0 commit comments