2025-04-30 16:52:48 +02:00
using Microsoft.Win32 ;
using System ;
using Crapfixer ;
using System.Threading.Tasks ;
namespace Settings.Edge
{
public class EdgeCollections : FeatureBase
{
private const string keyName = @"HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge" ;
private const string valueName = "EdgeCollectionsEnabled" ;
private const int recommendedValue = 0 ;
public override string ID () => "Disable Access to Collections feature" ;
public override string Info () => "Enables users to access the Collections feature, allowing them to gather, organize, share, and export content more efficiently with Office integration" ;
public override string GetFeatureDetails ()
{
return $"{keyName} | Value: {valueName} | Recommended Value: {recommendedValue}" ;
}
2025-05-06 17:09:07 +02:00
public override Task < bool > CheckFeature ()
2025-04-30 16:52:48 +02:00
{
2025-05-06 17:09:07 +02:00
return Task . FromResult ( Utils . IntEquals ( keyName , valueName , recommendedValue ));
2025-04-30 16:52:48 +02:00
}
public override Task < bool > DoFeature ()
{
try
{
Registry . SetValue ( keyName , valueName , 0 , Microsoft . Win32 . RegistryValueKind . DWord );
return Task . FromResult ( true );
}
catch ( Exception ex )
{
Logger . Log ( "Code red in " + ex . Message , LogLevel . Error );
}
return Task . FromResult ( false );
}
public override bool UndoFeature ()
{
try
{
Registry . SetValue ( keyName , valueName , 1 , Microsoft . Win32 . RegistryValueKind . DWord );
return true ;
}
catch ( Exception ex )
{
Logger . Log ( "Code red in " + ex . Message , LogLevel . Error );
}
return false ;
}
}
}