Merge remote-tracking branch 'origin/master'

This commit is contained in:
Robert committed 2020-09-29 19:30:31 +02:00
commit 882fe44c20
29 files changed
+319 -84

No files matched your search

+22 -6
View File
@@ -46,12 +46,7 @@ namespace Artemis.Core.Services
if (ActiveModuleOverride == overrideModule)
return;
// Always deactivate all modules whenever override is called
var modules = _pluginService.GetPluginsOfType<Module>().ToList();
foreach (var module in modules)
OverrideDeactivate(module);
if (overrideModule != null)
{
OverrideActivate(overrideModule);
@@ -60,6 +55,11 @@ namespace Artemis.Core.Services
else
_logger.Information("Clearing active module override");
// Always deactivate all other modules whenever override is called
var modules = _pluginService.GetPluginsOfType<Module>().ToList();
foreach (var module in modules.Where(m => m != overrideModule))
OverrideDeactivate(module);
ActiveModuleOverride = overrideModule;
}
finally
@@ -78,7 +78,23 @@ namespace Artemis.Core.Services
await ActiveModuleSemaphore.WaitAsync();
if (ActiveModuleOverride != null)
{
// The conditions of the active module override may be matched, in that case reactivate as a non-override
// the principle is different for this service but not for the module
var shouldBeActivated = ActiveModuleOverride.EvaluateActivationRequirements();
if (shouldBeActivated && ActiveModuleOverride.IsActivatedOverride)
{
ActiveModuleOverride.Deactivate(true);
ActiveModuleOverride.Activate(false);
}
else if (!shouldBeActivated && !ActiveModuleOverride.IsActivatedOverride)
{
ActiveModuleOverride.Deactivate(false);
ActiveModuleOverride.Activate(true);
}
return;
}
var stopwatch = new Stopwatch();
stopwatch.Start();
@@ -236,7 +236,8 @@ namespace Artemis.Core.Services
var profileEntity = JsonConvert.DeserializeObject<ProfileEntity>(json, ExportSettings);
// Assign a new GUID to make sure it is unique in case of a previous import of the same content
profileEntity.Id = Guid.NewGuid();
profileEntity.UpdateGuid(Guid.NewGuid());
profileEntity.Name = $"{profileEntity.Name} - Imported";
_profileRepository.Add(profileEntity);
return new ProfileDescriptor(profileModule, profileEntity);