using Billing.Languages; using Billing.Themes; using Xamarin.Essentials; using Xamarin.Forms; namespace Billing { public class App : Application { public static AppTheme CurrentTheme { get; private set; } public static PlatformCulture CurrentCulture { get; private set; } public App() { CurrentCulture = new PlatformCulture(); InitResources(); MainPage = new MainShell(); Shell.Current.GoToAsync("//Bills"); } protected override void OnStart() { } protected override void OnResume() { SetTheme(AppInfo.RequestedTheme); } private void InitResources() { var theme = AppInfo.RequestedTheme; SetTheme(theme, true); } private void SetTheme(AppTheme theme, bool force = false) { if (force || theme != CurrentTheme) { CurrentTheme = theme; } else { return; } Helper.Debug($"application theme: {theme}"); BaseTheme instance; if (theme == AppTheme.Dark) { instance = Dark.Instance; } else { instance = Light.Instance; } // TODO: status bar Resources = instance; } } }