public async void ClipboardFieldCopyCommandAction(Object parameter) { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "Clipboard field copy command invoked."); ResetIdleTime(); ClipboardField field = parameter as ClipboardField; if (field != null) { try { if (AppConfig.Instance.EnableClipboardObfuscator) { App.StopClipboardObfuscator(true, new TimeSpan(0, 0, 30)); await ClipboardObfuscator.Instance.PerformObfuscation(SimpleRandomGenerator.QuickGetRandomInt(1, 10)); } await Xamarin.Essentials.Clipboard.SetTextAsync(field.Value); App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Sensitive, "Successfully copied field to clipboard."); } catch (Exception ex) { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseLow | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Exception, "Failed to set clipboard text.\r\n'{0}'.", ex.ToString()); } } }
public void ClipboardFieldRevealCommandAction(Object parameter) { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "Clipboard field copy command invoked."); ResetIdleTime(); ClipboardField field = parameter as ClipboardField; if (field != null) { App.Controller.MainPageInstance.DisplayAlert(String.Format("Reveal {0} Field", field.Name), field.Value, "OK"); } }