public void SetVisualStyle(VisualOverride style) { if (Options.Verbose) { Console.WriteLine($"Setting visual style to: {style}"); } SetVisualStyleImpl(style); }
private void SetVisualStyleTo(VisualOverride style) { AppCompatDelegate.DefaultNightMode = _styleMappings[style]; if (CrossCurrentActivity.Current.Activity is AppCompatActivity activity) { activity.Delegate.ApplyDayNight(); } }
public void SetOverrideMode(VisualOverride mode) { switch (mode) { case VisualOverride.Toggle: StartToggle(); return; default: StopToggle(); SetVisualStyle(mode); return; } }
public async Task SetVisualOverride(VisualOverride @override, int?interval = null) { var nextInterval = interval ?? CurrentInterval; var cmd = SetOverrideCommand.Create(@override, nextInterval); await Sender.SendCommand(cmd); CurrentOverride = @override; CurrentInterval = nextInterval; VisualOverrideChanged?.Invoke( this, VisualOverrideChangedEventArgs.Create(@override)); }
private void SetVisualStyleTo(VisualOverride style) { var interfaceStyle = _styleMappings[style]; var target = Options.TargetElementGetter == null ? UIApplication.SharedApplication.KeyWindow : Options.TargetElementGetter(); switch (target) { case null: Console.WriteLine("No element found to override interface style, ensure KeyWindow is set or Options.TargetElementGetter returns a value."); break; case object o when HasOverrideUserInterfaceStyleProperty(target, out var prop): prop.SetValue(o, interfaceStyle); break; default: throw new Exception($"Don't know how to override visual style on object {target}"); } }
protected override void SetVisualStyleImpl(VisualOverride style) { var currentActivity = CrossCurrentActivity.Current.Activity as AppCompatActivity; currentActivity?.RunOnUiThread(() => SetVisualStyleTo(style)); }
protected abstract void SetVisualStyleImpl(VisualOverride style);
public static VisualOverrideChangedEventArgs Create(VisualOverride newVisualOverride) => new VisualOverrideChangedEventArgs { NewVisualOverride = newVisualOverride };
protected override void SetVisualStyleImpl(VisualOverride style) { Debug.WriteLine(style); }
public static SetOverrideCommand Create(VisualOverride @override, int intervalMilliseconds) => new SetOverrideCommand { Override = @override, ToggleInterval = TimeSpan.FromMilliseconds(intervalMilliseconds) };
public void Deconstruct(out VisualOverride @override, out TimeSpan interval) { @override = Override; interval = ToggleInterval; }
protected override void SetVisualStyleImpl(VisualOverride style) { throw new NotImplementedException(); }
protected override void SetVisualStyleImpl(VisualOverride style) => UIApplication .SharedApplication .BeginInvokeOnMainThread(() => SetVisualStyleTo(style));