@@ -30,29 +30,32 @@ public DBusPlatformSettings()
3030
3131 private async Task TryGetInitialValuesAsync ( )
3232 {
33- _themeVariant = await TryGetThemeVariantAsync ( ) ;
34- _accentColor = await TryGetAccentColorAsync ( ) ;
35- _lastColorValues = BuildPlatformColorValues ( ) ;
36- if ( _lastColorValues is not null )
37- Dispatcher . UIThread . Post ( ( ) => OnColorValuesChanged ( _lastColorValues ) ) ;
33+ if ( _settings is { } settings )
34+ {
35+ _themeVariant = await TryGetThemeVariantAsync ( settings ) ;
36+ _accentColor = await TryGetAccentColorAsync ( settings ) ;
37+ _lastColorValues = BuildPlatformColorValues ( ) ;
38+ if ( _lastColorValues is not null )
39+ Dispatcher . UIThread . Post ( ( ) => OnColorValuesChanged ( _lastColorValues ) ) ;
40+ }
3841 }
3942
4043 internal void OnRequestDefaultThemeVariant ( )
4144 {
4245 _ = TryGetInitialValuesAsync ( ) ;
4346 }
4447
45- private async Task < PlatformThemeVariant ? > TryGetThemeVariantAsync ( )
48+ private static async Task < PlatformThemeVariant ? > TryGetThemeVariantAsync ( Settings settings )
4649 {
4750 try
4851 {
49- var version = await _settings ! . GetVersionAsync ( ) ;
52+ var version = await settings . GetVersionAsync ( ) ;
5053 VariantValue value ;
5154 if ( version >= 2 )
52- value = await _settings ! . ReadOneAsync ( "org.freedesktop.appearance" , "color-scheme" ) ;
55+ value = await settings . ReadOneAsync ( "org.freedesktop.appearance" , "color-scheme" ) ;
5356 else
5457 // Unpack nested Variant
55- value = ( await _settings ! . ReadAsync ( "org.freedesktop.appearance" , "color-scheme" ) ) . GetVariantValue ( ) ;
58+ value = ( await settings . ReadAsync ( "org.freedesktop.appearance" , "color-scheme" ) ) . GetVariantValue ( ) ;
5659 return ToColorScheme ( value . GetUInt32 ( ) ) ;
5760 }
5861 catch ( DBusExceptionBase )
@@ -61,16 +64,16 @@ internal void OnRequestDefaultThemeVariant()
6164 }
6265 }
6366
64- private async Task < Color ? > TryGetAccentColorAsync ( )
67+ private static async Task < Color ? > TryGetAccentColorAsync ( Settings settings )
6568 {
6669 try
6770 {
68- var version = await _settings ! . GetVersionAsync ( ) ;
71+ var version = await settings . GetVersionAsync ( ) ;
6972 VariantValue value ;
7073 if ( version >= 2 )
71- value = await _settings ! . ReadOneAsync ( "org.freedesktop.appearance" , "accent-color" ) ;
74+ value = await settings . ReadOneAsync ( "org.freedesktop.appearance" , "accent-color" ) ;
7275 else
73- value = await _settings ! . ReadAsync ( "org.freedesktop.appearance" , "accent-color" ) ;
76+ value = await settings . ReadAsync ( "org.freedesktop.appearance" , "accent-color" ) ;
7477 return ToAccentColor ( value ) ;
7578 }
7679 catch ( DBusExceptionBase )
0 commit comments