mirror of
https://github.com/bitwarden/mobile
synced 2025-12-05 23:53:33 +00:00
service container
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Android.App;
|
||||
using Android.Runtime;
|
||||
using Bit.App.Abstractions;
|
||||
using Bit.App.Services;
|
||||
using Bit.Core.Abstractions;
|
||||
using Bit.Core.Services;
|
||||
using Bit.Core.Utilities;
|
||||
using Bit.Droid.Services;
|
||||
|
||||
namespace Bit.Droid
|
||||
{
|
||||
@@ -14,12 +21,34 @@ namespace Bit.Droid
|
||||
{
|
||||
public MainApplication(IntPtr handle, JniHandleOwnership transer)
|
||||
: base(handle, transer)
|
||||
{ }
|
||||
{
|
||||
if(ServiceContainer.RegisteredServices.Count == 0)
|
||||
{
|
||||
RegisterLocalServices();
|
||||
ServiceContainer.Init();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnCreate()
|
||||
{
|
||||
base.OnCreate();
|
||||
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this);
|
||||
}
|
||||
|
||||
public void RegisterLocalServices()
|
||||
{
|
||||
var preferencesStorage = new PreferencesStorageService(null);
|
||||
var documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
|
||||
var liteDbStorage = new LiteDbStorageService(Path.Combine(documentsPath, "bitwarden.db"));
|
||||
var deviceActionService = new DeviceActionService();
|
||||
|
||||
ServiceContainer.Register<ICryptoPrimitiveService>("cryptoPrimitiveService", new CryptoPrimitiveService());
|
||||
ServiceContainer.Register<IStorageService>("storageService",
|
||||
new MobileStorageService(preferencesStorage, liteDbStorage));
|
||||
ServiceContainer.Register<IStorageService>("secureStorageService", new SecureStorageService());
|
||||
ServiceContainer.Register<IDeviceActionService>("deviceActionService", deviceActionService);
|
||||
ServiceContainer.Register<IPlatformUtilsService>("platformUtilsService",
|
||||
new MobilePlatformUtilsService(deviceActionService));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user