From c0ed18561280e15f562958b8f560ffb49865dfaf Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Tue, 29 Apr 2025 13:48:24 +0200 Subject: [PATCH] rename RunnableOnFinish => OperationWithFinishHandler, introduce IKp2aStatusLogger --- .../Interfaces/IStatusLogger.cs | 25 ++- src/Kp2aBusinessLogic/IKp2aApp.cs | 2 +- .../ProgressDialogStatusLogger.cs | 198 ++++++++++++------ src/Kp2aBusinessLogic/ProgressTask.cs | 4 +- .../database/CheckDatabaseForChanges.cs | 2 +- src/Kp2aBusinessLogic/database/Database.cs | 4 +- .../database/SynchronizeCachedDatabase.cs | 2 +- .../database/edit/AddEntry.cs | 2 +- .../database/edit/AddGroup.cs | 2 +- .../database/edit/AddTemplateEntries.cs | 2 +- .../database/edit/CreateDB.cs | 2 +- .../database/edit/DeleteRunnable.cs | 2 +- .../database/edit/EditGroup.cs | 2 +- src/Kp2aBusinessLogic/database/edit/LoadDB.cs | 2 +- .../database/edit/MoveElements.cs | 2 +- .../edit/OnOperationFinishedHandler.cs | 5 +- ...inish.cs => OperationWithFinishHandler.cs} | 13 +- src/Kp2aBusinessLogic/database/edit/SaveDB.cs | 2 +- .../database/edit/SetPassword.cs | 2 +- .../database/edit/UpdateEntry.cs | 2 +- src/keepass2android-app/CreateNewFilename.cs | 2 +- src/keepass2android-app/EntryActivity.cs | 4 +- src/keepass2android-app/EntryEditActivity.cs | 2 +- .../ExportDatabaseActivity.cs | 2 +- src/keepass2android-app/GroupBaseActivity.cs | 2 +- src/keepass2android-app/SyncUtil.cs | 4 +- src/keepass2android-app/app/App.cs | 2 +- .../settings/ExportKeyfileActivity.cs | 2 +- 28 files changed, 186 insertions(+), 111 deletions(-) rename src/Kp2aBusinessLogic/database/edit/{RunnableOnFinish.cs => OperationWithFinishHandler.cs} (82%) diff --git a/src/KeePassLib2Android/Interfaces/IStatusLogger.cs b/src/KeePassLib2Android/Interfaces/IStatusLogger.cs index ae7258f6..d51dd91f 100644 --- a/src/KeePassLib2Android/Interfaces/IStatusLogger.cs +++ b/src/KeePassLib2Android/Interfaces/IStatusLogger.cs @@ -86,12 +86,17 @@ namespace KeePassLib.Interfaces /// the current work. bool SetText(string strNewText, LogStatusType lsType); - /// - /// Check if the user cancelled the current work. - /// - /// Returns true if the caller should continue - /// the current work. - bool ContinueWork(); + void UpdateMessage(String message); + + + void UpdateSubMessage(String submessage); + + /// + /// Check if the user cancelled the current work. + /// + /// Returns true if the caller should continue + /// the current work. + bool ContinueWork(); } public sealed class NullStatusLogger : IStatusLogger @@ -100,6 +105,12 @@ namespace KeePassLib.Interfaces public void EndLogging() { } public bool SetProgress(uint uPercent) { return true; } public bool SetText(string strNewText, LogStatusType lsType) { return true; } - public bool ContinueWork() { return true; } + public void UpdateMessage(string message){ + } + + public void UpdateSubMessage(string submessage){ + } + + public bool ContinueWork() { return true; } } } diff --git a/src/Kp2aBusinessLogic/IKp2aApp.cs b/src/Kp2aBusinessLogic/IKp2aApp.cs index 9a8357f8..b5533928 100644 --- a/src/Kp2aBusinessLogic/IKp2aApp.cs +++ b/src/Kp2aBusinessLogic/IKp2aApp.cs @@ -52,7 +52,7 @@ namespace keepass2android /// /// Loads the specified data as the currently open database, as unlocked. /// - Database LoadDatabase(IOConnectionInfo ioConnectionInfo, MemoryStream memoryStream, CompositeKey compKey, ProgressDialogStatusLogger statusLogger, IDatabaseFormat databaseFormat, bool makeCurrent); + Database LoadDatabase(IOConnectionInfo ioConnectionInfo, MemoryStream memoryStream, CompositeKey compKey, IKp2aStatusLogger statusLogger, IDatabaseFormat databaseFormat, bool makeCurrent); HashSet DirtyGroups { get; } diff --git a/src/Kp2aBusinessLogic/ProgressDialogStatusLogger.cs b/src/Kp2aBusinessLogic/ProgressDialogStatusLogger.cs index dd1cc6d1..d67b9f51 100644 --- a/src/Kp2aBusinessLogic/ProgressDialogStatusLogger.cs +++ b/src/Kp2aBusinessLogic/ProgressDialogStatusLogger.cs @@ -22,12 +22,132 @@ using KeePassLib.Interfaces; namespace keepass2android { - /// - /// StatusLogger implementation which shows the progress in a progress dialog - /// - public class ProgressDialogStatusLogger: IStatusLogger { + public interface IKp2aStatusLogger : IStatusLogger + { + void UpdateMessage(UiStringKey stringKey); + } + + public class Kp2aNullStatusLogger : IKp2aStatusLogger + { + public void StartLogging(string strOperation, bool bWriteOperationToLog) + { + + } + + public void EndLogging() + { + } + + public bool SetProgress(uint uPercent) + { + return true; + } + + public bool SetText(string strNewText, LogStatusType lsType) + { + return true; + } + + public void UpdateMessage(string message) + { + + } + + public void UpdateSubMessage(string submessage) + { + + } + + public bool ContinueWork() + { + return true; + } + + public void UpdateMessage(UiStringKey stringKey) + { + + } + } + + public abstract class Kp2aAppStatusLogger : IKp2aStatusLogger + { + protected IKp2aApp _app; + + public Kp2aAppStatusLogger(IKp2aApp app) + { + _app = app; + } + + #region IStatusLogger implementation + + public void StartLogging(string strOperation, bool bWriteOperationToLog) + { + + } + + public void EndLogging() + { + + } + + public bool SetProgress(uint uPercent) + { + return true; + } + + public bool SetText(string strNewText, LogStatusType lsType) + { + if (strNewText.StartsWith("KP2AKEY_")) + { + UiStringKey key; + if (Enum.TryParse(strNewText.Substring("KP2AKEY_".Length), true, out key)) + { + UpdateMessage(_app.GetResourceString(key), lsType); + return true; + } + } + UpdateMessage(strNewText, lsType); + + return true; + } + + public abstract void UpdateMessage(string message); + public abstract void UpdateSubMessage(string submessage); + + private void UpdateMessage(string message, LogStatusType lsType) + { + if (lsType == LogStatusType.AdditionalInfo) + { + UpdateSubMessage(message); + } + else + { + UpdateMessage(message); + } + } + + public bool ContinueWork() + { + return true; + } + + #endregion + + public void UpdateMessage(UiStringKey stringKey) + { + if (_app != null) + UpdateMessage(_app.GetResourceString(stringKey)); + } + + } + + /// + /// StatusLogger implementation which shows the progress in a progress dialog + /// + public class ProgressDialogStatusLogger: Kp2aAppStatusLogger + { private readonly IProgressDialog _progressDialog; - readonly IKp2aApp _app; + private readonly Handler _handler; private string _message = ""; private string _submessage; @@ -35,22 +155,15 @@ namespace keepass2android public String SubMessage => _submessage; public String Message => _message; - public ProgressDialogStatusLogger() { - - } - public ProgressDialogStatusLogger(IKp2aApp app, Handler handler, IProgressDialog pd) { - _app = app; + public ProgressDialogStatusLogger(IKp2aApp app, Handler handler, IProgressDialog pd) + : base(app){ _progressDialog = pd; _handler = handler; } - public void UpdateMessage(UiStringKey stringKey) { - if (_app != null) - UpdateMessage(_app.GetResourceString(stringKey)); - } - - public void UpdateMessage (String message) + + public override void UpdateMessage (String message) { Kp2aLog.Log("status message: " + message); _message = message; @@ -59,7 +172,7 @@ namespace keepass2android } } - public void UpdateSubMessage(String submessage) + public override void UpdateSubMessage(String submessage) { Kp2aLog.Log("status submessage: " + submessage); _submessage = submessage; @@ -80,57 +193,6 @@ namespace keepass2android } } - #region IStatusLogger implementation - - public void StartLogging (string strOperation, bool bWriteOperationToLog) - { - - } - - public void EndLogging () - { - - } - - public bool SetProgress (uint uPercent) - { - return true; - } - - public bool SetText (string strNewText, LogStatusType lsType) - { - if (strNewText.StartsWith("KP2AKEY_")) - { - UiStringKey key; - if (Enum.TryParse(strNewText.Substring("KP2AKEY_".Length), true, out key)) - { - UpdateMessage(_app.GetResourceString(key), lsType); - return true; - } - } - UpdateMessage(strNewText, lsType); - - return true; - } - - private void UpdateMessage(string message, LogStatusType lsType) - { - if (lsType == LogStatusType.AdditionalInfo) - { - UpdateSubMessage(message); - } - else - { - UpdateMessage(message); - } - } - - public bool ContinueWork () - { - return true; - } - - #endregion } } diff --git a/src/Kp2aBusinessLogic/ProgressTask.cs b/src/Kp2aBusinessLogic/ProgressTask.cs index 47903f9f..58951898 100644 --- a/src/Kp2aBusinessLogic/ProgressTask.cs +++ b/src/Kp2aBusinessLogic/ProgressTask.cs @@ -72,14 +72,14 @@ namespace keepass2android } private readonly Handler _handler; - private readonly RunnableOnFinish _task; + private readonly OperationWithFinishHandler _task; private IProgressDialog _progressDialog; private readonly IKp2aApp _app; private Java.Lang.Thread _thread; private Activity _activeActivity, _previouslyActiveActivity; private ProgressDialogStatusLogger _progressDialogStatusLogger; - public ProgressTask(IKp2aApp app, Activity activity, RunnableOnFinish task) + public ProgressTask(IKp2aApp app, Activity activity, OperationWithFinishHandler task) { _activeActivity = activity; _task = task; diff --git a/src/Kp2aBusinessLogic/database/CheckDatabaseForChanges.cs b/src/Kp2aBusinessLogic/database/CheckDatabaseForChanges.cs index 2c7358e0..15434933 100644 --- a/src/Kp2aBusinessLogic/database/CheckDatabaseForChanges.cs +++ b/src/Kp2aBusinessLogic/database/CheckDatabaseForChanges.cs @@ -13,7 +13,7 @@ using keepass2android.Io; namespace keepass2android { - public class CheckDatabaseForChanges: RunnableOnFinish + public class CheckDatabaseForChanges: OperationWithFinishHandler { private readonly Context _context; private readonly IKp2aApp _app; diff --git a/src/Kp2aBusinessLogic/database/Database.cs b/src/Kp2aBusinessLogic/database/Database.cs index f62572cd..501bff5b 100644 --- a/src/Kp2aBusinessLogic/database/Database.cs +++ b/src/Kp2aBusinessLogic/database/Database.cs @@ -85,7 +85,7 @@ namespace keepass2android /// /// Do not call this method directly. Call App.Kp2a.LoadDatabase instead. /// - public void LoadData(IKp2aApp app, IOConnectionInfo iocInfo, MemoryStream databaseData, CompositeKey compositeKey, ProgressDialogStatusLogger status, IDatabaseFormat databaseFormat) + public void LoadData(IKp2aApp app, IOConnectionInfo iocInfo, MemoryStream databaseData, CompositeKey compositeKey, IKp2aStatusLogger status, IDatabaseFormat databaseFormat) { PwDatabase pwDatabase = new PwDatabase(); @@ -149,7 +149,7 @@ namespace keepass2android get { return GetFingerprintModePrefKey(Ioc); } } - protected virtual void PopulateDatabaseFromStream(PwDatabase pwDatabase, Stream s, IOConnectionInfo iocInfo, CompositeKey compositeKey, ProgressDialogStatusLogger status, IDatabaseFormat databaseFormat) + protected virtual void PopulateDatabaseFromStream(PwDatabase pwDatabase, Stream s, IOConnectionInfo iocInfo, CompositeKey compositeKey, IKp2aStatusLogger status, IDatabaseFormat databaseFormat) { IFileStorage fileStorage = _app.GetFileStorage(iocInfo); var filename = fileStorage.GetFilenameWithoutPathAndExt(iocInfo); diff --git a/src/Kp2aBusinessLogic/database/SynchronizeCachedDatabase.cs b/src/Kp2aBusinessLogic/database/SynchronizeCachedDatabase.cs index 299d63ea..cbe25ae1 100644 --- a/src/Kp2aBusinessLogic/database/SynchronizeCachedDatabase.cs +++ b/src/Kp2aBusinessLogic/database/SynchronizeCachedDatabase.cs @@ -10,7 +10,7 @@ using KeePass.Util; namespace keepass2android { - public class SynchronizeCachedDatabase: RunnableOnFinish + public class SynchronizeCachedDatabase: OperationWithFinishHandler { private readonly Activity _context; private readonly IKp2aApp _app; diff --git a/src/Kp2aBusinessLogic/database/edit/AddEntry.cs b/src/Kp2aBusinessLogic/database/edit/AddEntry.cs index 646189a5..d52103c6 100644 --- a/src/Kp2aBusinessLogic/database/edit/AddEntry.cs +++ b/src/Kp2aBusinessLogic/database/edit/AddEntry.cs @@ -21,7 +21,7 @@ using KeePassLib; namespace keepass2android { - public class AddEntry : RunnableOnFinish { + public class AddEntry : OperationWithFinishHandler { protected Database Db { get { return _app.CurrentDb; } diff --git a/src/Kp2aBusinessLogic/database/edit/AddGroup.cs b/src/Kp2aBusinessLogic/database/edit/AddGroup.cs index 9e491be2..a5b07237 100644 --- a/src/Kp2aBusinessLogic/database/edit/AddGroup.cs +++ b/src/Kp2aBusinessLogic/database/edit/AddGroup.cs @@ -23,7 +23,7 @@ using KeePassLib; namespace keepass2android { - public class AddGroup : RunnableOnFinish { + public class AddGroup : OperationWithFinishHandler { internal Database Db { get { return _app.CurrentDb; } diff --git a/src/Kp2aBusinessLogic/database/edit/AddTemplateEntries.cs b/src/Kp2aBusinessLogic/database/edit/AddTemplateEntries.cs index cc591395..05e9f255 100644 --- a/src/Kp2aBusinessLogic/database/edit/AddTemplateEntries.cs +++ b/src/Kp2aBusinessLogic/database/edit/AddTemplateEntries.cs @@ -26,7 +26,7 @@ using KeePassLib.Utility; namespace keepass2android { - public class AddTemplateEntries : RunnableOnFinish { + public class AddTemplateEntries : OperationWithFinishHandler { public class TemplateEntry { diff --git a/src/Kp2aBusinessLogic/database/edit/CreateDB.cs b/src/Kp2aBusinessLogic/database/edit/CreateDB.cs index 53bf8428..ce20e002 100644 --- a/src/Kp2aBusinessLogic/database/edit/CreateDB.cs +++ b/src/Kp2aBusinessLogic/database/edit/CreateDB.cs @@ -26,7 +26,7 @@ using KeePassLib.Keys; namespace keepass2android { - public class CreateDb : RunnableOnFinish { + public class CreateDb : OperationWithFinishHandler { private readonly IOConnectionInfo _ioc; private readonly bool _dontSave; private readonly Activity _ctx; diff --git a/src/Kp2aBusinessLogic/database/edit/DeleteRunnable.cs b/src/Kp2aBusinessLogic/database/edit/DeleteRunnable.cs index 68861603..6c1fdc89 100644 --- a/src/Kp2aBusinessLogic/database/edit/DeleteRunnable.cs +++ b/src/Kp2aBusinessLogic/database/edit/DeleteRunnable.cs @@ -6,7 +6,7 @@ using KeePassLib; namespace keepass2android { - public abstract class DeleteRunnable : RunnableOnFinish + public abstract class DeleteRunnable : OperationWithFinishHandler { protected DeleteRunnable(Activity activity, OnOperationFinishedHandler operationFinishedHandler, IKp2aApp app) : base(activity, operationFinishedHandler) diff --git a/src/Kp2aBusinessLogic/database/edit/EditGroup.cs b/src/Kp2aBusinessLogic/database/edit/EditGroup.cs index 68fce8a5..622d126a 100644 --- a/src/Kp2aBusinessLogic/database/edit/EditGroup.cs +++ b/src/Kp2aBusinessLogic/database/edit/EditGroup.cs @@ -23,7 +23,7 @@ using KeePassLib; namespace keepass2android { - public class EditGroup : RunnableOnFinish { + public class EditGroup : OperationWithFinishHandler { internal Database Db { get { return _app.FindDatabaseForElement(Group); } diff --git a/src/Kp2aBusinessLogic/database/edit/LoadDB.cs b/src/Kp2aBusinessLogic/database/edit/LoadDB.cs index 7f5b06d7..db333f1b 100644 --- a/src/Kp2aBusinessLogic/database/edit/LoadDB.cs +++ b/src/Kp2aBusinessLogic/database/edit/LoadDB.cs @@ -29,7 +29,7 @@ using KeePassLib.Serialization; namespace keepass2android { - public class LoadDb : RunnableOnFinish { + public class LoadDb : OperationWithFinishHandler { private readonly IOConnectionInfo _ioc; private readonly Task _databaseData; private readonly CompositeKey _compositeKey; diff --git a/src/Kp2aBusinessLogic/database/edit/MoveElements.cs b/src/Kp2aBusinessLogic/database/edit/MoveElements.cs index 31a5f918..bda32234 100644 --- a/src/Kp2aBusinessLogic/database/edit/MoveElements.cs +++ b/src/Kp2aBusinessLogic/database/edit/MoveElements.cs @@ -10,7 +10,7 @@ using KeePassLib.Interfaces; namespace keepass2android.database.edit { - public class MoveElements: RunnableOnFinish + public class MoveElements: OperationWithFinishHandler { private readonly List _elementsToMove; private readonly PwGroup _targetGroup; diff --git a/src/Kp2aBusinessLogic/database/edit/OnOperationFinishedHandler.cs b/src/Kp2aBusinessLogic/database/edit/OnOperationFinishedHandler.cs index 6bab8142..d00c51b4 100644 --- a/src/Kp2aBusinessLogic/database/edit/OnOperationFinishedHandler.cs +++ b/src/Kp2aBusinessLogic/database/edit/OnOperationFinishedHandler.cs @@ -22,6 +22,7 @@ using Android.Content; using Android.OS; using Android.Widget; using Google.Android.Material.Dialog; +using KeePassLib.Interfaces; namespace keepass2android { @@ -39,11 +40,11 @@ namespace keepass2android protected OnOperationFinishedHandler NextOnOperationFinishedHandler; protected Handler Handler; - private ProgressDialogStatusLogger _statusLogger = new ProgressDialogStatusLogger(); //default: no logging but not null -> can be used whenever desired + private IKp2aStatusLogger _statusLogger = new Kp2aNullStatusLogger(); //default: no logging but not null -> can be used whenever desired private Activity _activeActivity, _previouslyActiveActivity; - public ProgressDialogStatusLogger StatusLogger + public IKp2aStatusLogger StatusLogger { get { return _statusLogger; } set { _statusLogger = value; } diff --git a/src/Kp2aBusinessLogic/database/edit/RunnableOnFinish.cs b/src/Kp2aBusinessLogic/database/edit/OperationWithFinishHandler.cs similarity index 82% rename from src/Kp2aBusinessLogic/database/edit/RunnableOnFinish.cs rename to src/Kp2aBusinessLogic/database/edit/OperationWithFinishHandler.cs index dec3fe8f..1c083409 100644 --- a/src/Kp2aBusinessLogic/database/edit/RunnableOnFinish.cs +++ b/src/Kp2aBusinessLogic/database/edit/OperationWithFinishHandler.cs @@ -17,17 +17,18 @@ This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file using System; using Android.App; using Android.Content; +using KeePassLib.Interfaces; namespace keepass2android { - public abstract class RunnableOnFinish { + public abstract class OperationWithFinishHandler { protected OnOperationFinishedHandler _operationFinishedHandler; - public ProgressDialogStatusLogger StatusLogger = new ProgressDialogStatusLogger(); //default: empty but not null + public IKp2aStatusLogger StatusLogger = new Kp2aNullStatusLogger(); //default: empty but not null private Activity _activeActivity; - protected RunnableOnFinish(Activity activeActivity, OnOperationFinishedHandler operationFinishedHandler) + protected OperationWithFinishHandler(Activity activeActivity, OnOperationFinishedHandler operationFinishedHandler) { _activeActivity = activeActivity; _operationFinishedHandler = operationFinishedHandler; @@ -64,12 +65,12 @@ namespace keepass2android } } - public void SetStatusLogger(ProgressDialogStatusLogger status) { + public void SetStatusLogger(IKp2aStatusLogger statusLogger) { if (operationFinishedHandler != null) { - operationFinishedHandler.StatusLogger = status; + operationFinishedHandler.StatusLogger = statusLogger; } - StatusLogger = status; + StatusLogger = statusLogger; } public abstract void Run(); diff --git a/src/Kp2aBusinessLogic/database/edit/SaveDB.cs b/src/Kp2aBusinessLogic/database/edit/SaveDB.cs index a705639f..de641535 100644 --- a/src/Kp2aBusinessLogic/database/edit/SaveDB.cs +++ b/src/Kp2aBusinessLogic/database/edit/SaveDB.cs @@ -34,7 +34,7 @@ using KeePass.Util; namespace keepass2android { - public class SaveDb : RunnableOnFinish { + public class SaveDb : OperationWithFinishHandler { private readonly IKp2aApp _app; private readonly Database _db; private readonly bool _dontSave; diff --git a/src/Kp2aBusinessLogic/database/edit/SetPassword.cs b/src/Kp2aBusinessLogic/database/edit/SetPassword.cs index 5b715c56..94721ae6 100644 --- a/src/Kp2aBusinessLogic/database/edit/SetPassword.cs +++ b/src/Kp2aBusinessLogic/database/edit/SetPassword.cs @@ -22,7 +22,7 @@ using KeePassLib.Keys; namespace keepass2android { - public class SetPassword : RunnableOnFinish { + public class SetPassword : OperationWithFinishHandler { private readonly String _password; private readonly String _keyfile; diff --git a/src/Kp2aBusinessLogic/database/edit/UpdateEntry.cs b/src/Kp2aBusinessLogic/database/edit/UpdateEntry.cs index 3d771add..58dbc417 100644 --- a/src/Kp2aBusinessLogic/database/edit/UpdateEntry.cs +++ b/src/Kp2aBusinessLogic/database/edit/UpdateEntry.cs @@ -22,7 +22,7 @@ using KeePassLib; namespace keepass2android { - public class UpdateEntry : RunnableOnFinish { + public class UpdateEntry : OperationWithFinishHandler { private readonly IKp2aApp _app; private readonly Activity _ctx; diff --git a/src/keepass2android-app/CreateNewFilename.cs b/src/keepass2android-app/CreateNewFilename.cs index bea88eb8..1700a7b2 100644 --- a/src/keepass2android-app/CreateNewFilename.cs +++ b/src/keepass2android-app/CreateNewFilename.cs @@ -4,7 +4,7 @@ using KeePassLib.Serialization; namespace keepass2android { - class CreateNewFilename : RunnableOnFinish + class CreateNewFilename : OperationWithFinishHandler { private readonly string _filename; diff --git a/src/keepass2android-app/EntryActivity.cs b/src/keepass2android-app/EntryActivity.cs index 014e16ff..fd45d739 100644 --- a/src/keepass2android-app/EntryActivity.cs +++ b/src/keepass2android-app/EntryActivity.cs @@ -1260,7 +1260,7 @@ namespace keepass2android } - public class WriteBinaryTask : RunnableOnFinish + public class WriteBinaryTask : OperationWithFinishHandler { private readonly IKp2aApp _app; private readonly ProtectedBinary _data; @@ -1511,7 +1511,7 @@ namespace keepass2android }); - RunnableOnFinish runnable = new UpdateEntry(this, App.Kp2a, initialEntry, newEntry, closeOrShowError); + OperationWithFinishHandler runnable = new UpdateEntry(this, App.Kp2a, initialEntry, newEntry, closeOrShowError); ProgressTask pt = new ProgressTask(App.Kp2a, this, runnable); pt.Run(); diff --git a/src/keepass2android-app/EntryEditActivity.cs b/src/keepass2android-app/EntryEditActivity.cs index 5251f996..3450340c 100644 --- a/src/keepass2android-app/EntryEditActivity.cs +++ b/src/keepass2android-app/EntryEditActivity.cs @@ -519,7 +519,7 @@ namespace keepass2android SetResult(KeePass.ExitRefreshTitle); //} - RunnableOnFinish runnable; + OperationWithFinishHandler runnable; ActionOnOperationFinished closeOrShowError = new ActionOnOperationFinished(this, (success, message, activity) => { if (success) diff --git a/src/keepass2android-app/ExportDatabaseActivity.cs b/src/keepass2android-app/ExportDatabaseActivity.cs index a94369a2..7d2f46a9 100644 --- a/src/keepass2android-app/ExportDatabaseActivity.cs +++ b/src/keepass2android-app/ExportDatabaseActivity.cs @@ -93,7 +93,7 @@ namespace keepass2android get { return 0; } } - public class ExportDb : RunnableOnFinish + public class ExportDb : OperationWithFinishHandler { private readonly IKp2aApp _app; private readonly FileFormatProvider _fileFormat; diff --git a/src/keepass2android-app/GroupBaseActivity.cs b/src/keepass2android-app/GroupBaseActivity.cs index 508888a1..1006d652 100644 --- a/src/keepass2android-app/GroupBaseActivity.cs +++ b/src/keepass2android-app/GroupBaseActivity.cs @@ -202,7 +202,7 @@ namespace keepass2android String strGroupUuid = data.Extras.GetString(GroupEditActivity.KeyGroupUuid); GroupBaseActivity act = this; Handler handler = new Handler(); - RunnableOnFinish task; + OperationWithFinishHandler task; if (strGroupUuid == null) { task = AddGroup.GetInstance(this, App.Kp2a, groupName, groupIconId, groupCustomIconId, Group, new RefreshTask(handler, this), false); diff --git a/src/keepass2android-app/SyncUtil.cs b/src/keepass2android-app/SyncUtil.cs index e4a750fc..0c7eb9dd 100644 --- a/src/keepass2android-app/SyncUtil.cs +++ b/src/keepass2android-app/SyncUtil.cs @@ -15,7 +15,7 @@ namespace keepass2android _activity = activity; } - public class SyncOtpAuxFile : RunnableOnFinish + public class SyncOtpAuxFile : OperationWithFinishHandler { private readonly IOConnectionInfo _ioc; @@ -52,7 +52,7 @@ namespace keepass2android public void SynchronizeDatabase(Action runAfterSuccess) { var filestorage = App.Kp2a.GetFileStorage(App.Kp2a.CurrentDb.Ioc); - RunnableOnFinish task; + OperationWithFinishHandler task; OnOperationFinishedHandler onOperationFinishedHandler = new ActionOnOperationFinished(_activity, (success, message, activity) => { if (!String.IsNullOrEmpty(message)) diff --git a/src/keepass2android-app/app/App.cs b/src/keepass2android-app/app/App.cs index 7420a6f4..7bbb3e1c 100644 --- a/src/keepass2android-app/app/App.cs +++ b/src/keepass2android-app/app/App.cs @@ -186,7 +186,7 @@ namespace keepass2android - public Database LoadDatabase(IOConnectionInfo ioConnectionInfo, MemoryStream memoryStream, CompositeKey compositeKey, ProgressDialogStatusLogger statusLogger, IDatabaseFormat databaseFormat, bool makeCurrent) + public Database LoadDatabase(IOConnectionInfo ioConnectionInfo, MemoryStream memoryStream, CompositeKey compositeKey, IKp2aStatusLogger statusLogger, IDatabaseFormat databaseFormat, bool makeCurrent) { var prefs = PreferenceManager.GetDefaultSharedPreferences(LocaleManager.LocalizedAppContext); var createBackup = prefs.GetBoolean(LocaleManager.LocalizedAppContext.GetString(Resource.String.CreateBackups_key), true) diff --git a/src/keepass2android-app/settings/ExportKeyfileActivity.cs b/src/keepass2android-app/settings/ExportKeyfileActivity.cs index a075af39..d03aeff0 100644 --- a/src/keepass2android-app/settings/ExportKeyfileActivity.cs +++ b/src/keepass2android-app/settings/ExportKeyfileActivity.cs @@ -13,7 +13,7 @@ namespace keepass2android public class ExportKeyfileActivity : LockCloseActivity { - public class ExportKeyfile : RunnableOnFinish + public class ExportKeyfile : OperationWithFinishHandler { private readonly IKp2aApp _app; private IOConnectionInfo _targetIoc;