From 90cfa4ed5c0717874d3e842d3e05697e65636f3a Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Mon, 19 Feb 2018 13:33:35 +0100 Subject: [PATCH] refactor CopyToClipboardService to get (hopefully) more helpful reports on Google Play, see #248 --- .../services/CopyToClipboardService.cs | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/keepass2android/services/CopyToClipboardService.cs b/src/keepass2android/services/CopyToClipboardService.cs index fb2535ca..34417a18 100644 --- a/src/keepass2android/services/CopyToClipboardService.cs +++ b/src/keepass2android/services/CopyToClipboardService.cs @@ -645,23 +645,30 @@ namespace keepass2android } public override void Run() - { - String currentClip = Util.GetClipboard(_service); - _handler.Post(() => _service.OnWaitElementDeleted(ClearClipboard)); - if (currentClip.Equals(_clearText)) - { - Util.CopyToClipboard(_service, ""); - _handler.Post(() => - { - string message = _service.GetString(Resource.String.ClearClipboard) + " " - + _service.GetString(Resource.String.ClearClipboardWarning); - Android.Util.Log.Debug("KP2A", message); - Toast.MakeText(_service, - message, - ToastLength.Long).Show(); - }); - } - } + { + String currentClip = Util.GetClipboard(_service); + _handler.Post(NewMethod()); + if (currentClip.Equals(_clearText)) + { + Util.CopyToClipboard(_service, ""); + _handler.Post(ShowClipboardWarning); + } + } + + private System.Action NewMethod() + { + return () => _service.OnWaitElementDeleted(ClearClipboard); + } + + private void ShowClipboardWarning() + { + string message = _service.GetString(Resource.String.ClearClipboard) + " " + + _service.GetString(Resource.String.ClearClipboardWarning); + Android.Util.Log.Debug("KP2A", message); + Toast.MakeText(_service, + message, + ToastLength.Long).Show(); + } }