Skip to content

Commit

Permalink
Remove all GetAssemblies() implementations (#4583)
Browse files Browse the repository at this point in the history
* Remove all GetAssemblies() implementations

Was removed from IPlatformServices some time ago

* ns

* android
  • Loading branch information
mattleibow authored Feb 9, 2022
1 parent 9ac92f3 commit 09faa7f
Show file tree
Hide file tree
Showing 13 changed files with 10 additions and 133 deletions.
13 changes: 7 additions & 6 deletions src/Compatibility/ControlGallery/src/Core/Startup.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Maui;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
Expand All @@ -23,22 +24,22 @@ public static MauiAppBuilder CreateMauiAppBuilder()
.UseMauiApp<App>()
.ConfigureMauiHandlers(handlers =>
{
handlers.AddCompatibilityRenderers(Device.GetAssemblies());
handlers.AddCompatibilityRenderers(AppDomain.CurrentDomain.GetAssemblies());
})
.ConfigureImageSources(sources =>
{
sources.AddCompatibilityServices(Device.GetAssemblies());
sources.AddCompatibilityServices(AppDomain.CurrentDomain.GetAssemblies());
})
.ConfigureFonts(fonts =>
{
fonts.AddCompatibilityFonts(new FontRegistrar(new EmbeddedFontLoader()), Device.GetAssemblies());
fonts.AddCompatibilityFonts(new FontRegistrar(new EmbeddedFontLoader()), AppDomain.CurrentDomain.GetAssemblies());
})
.ConfigureEffects(effects =>
{
effects.AddCompatibilityEffects(Device.GetAssemblies());
effects.AddCompatibilityEffects(AppDomain.CurrentDomain.GetAssemblies());
});

DependencyService.Register(Device.GetAssemblies());
DependencyService.Register(AppDomain.CurrentDomain.GetAssemblies());

return builder;
}
Expand Down
5 changes: 0 additions & 5 deletions src/Compatibility/Core/src/Android/Forms.cs
Original file line number Diff line number Diff line change
Expand Up @@ -336,11 +336,6 @@ public AndroidPlatformServices(Context context)
_context = context;
}

public Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

public double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
{
if (_smallSize == 0)
Expand Down
5 changes: 0 additions & 5 deletions src/Compatibility/Core/src/GTK/GtkPlatformServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,6 @@ public Ticker CreateTicker()
return new GtkTicker();
}

public Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

public double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
{
switch (size)
Expand Down
5 changes: 0 additions & 5 deletions src/Compatibility/Core/src/Tizen/TizenPlatformServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,6 @@ public async Task<Stream> GetStreamAsync(Uri uri, CancellationToken cancellation
return await response.Content.ReadAsStreamAsync();
}

public Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

public IIsolatedStorageFile GetUserStoreForApplication()
{
return new TizenIsolatedStorageFile();
Expand Down
5 changes: 0 additions & 5 deletions src/Compatibility/Core/src/WPF/WPFPlatformServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,6 @@ public Ticker CreateTicker()
return new WPFTicker();
}

public Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

public double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
{
switch (size)
Expand Down
61 changes: 0 additions & 61 deletions src/Compatibility/Core/src/Windows/WindowsPlatformServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,67 +27,6 @@ public WindowsPlatformServices()
_uiSettings.ColorValuesChanged += UISettingsColorValuesChanged;
}

public virtual Assembly[] GetAssemblies()
{
var options = new QueryOptions { FileTypeFilter = { ".exe", ".dll" } };

StorageFileQueryResult query = Package.Current.InstalledLocation.CreateFileQueryWithOptions(options);
IReadOnlyList<StorageFile> files = query.GetFilesAsync().AsTask().Result;

var assemblies = new List<Assembly>(files.Count);

LoadAllAssemblies(AppDomain.CurrentDomain.GetAssemblies(), assemblies);

Assembly thisAssembly = GetType().GetTypeInfo().Assembly;
// this happens with .NET Native
if (!assemblies.Contains(thisAssembly))
assemblies.Add(thisAssembly);

Assembly coreAssembly = typeof(Microsoft.Maui.Controls.Label).GetTypeInfo().Assembly;
if (!assemblies.Contains(coreAssembly))
assemblies.Add(coreAssembly);

Assembly xamlAssembly = typeof(Microsoft.Maui.Controls.Xaml.Extensions).GetTypeInfo().Assembly;
if (!assemblies.Contains(xamlAssembly))
assemblies.Add(xamlAssembly);

return assemblies.ToArray();
}

void LoadAllAssemblies(Assembly[] files, List<Assembly> loaded)
{
for (var i = 0; i < files.Length; i++)
{
var asm = files[i];
if (!loaded.Contains(asm))
{
loaded.Add(asm);
}
}
}

void LoadAllAssemblies(AssemblyName[] files, List<Assembly> loaded)
{
for (var i = 0; i < files.Length; i++)
{
try
{
var asm = Assembly.Load(files[i]);
if (!loaded.Contains(asm))
{
loaded.Add(asm);
LoadAllAssemblies(asm.GetReferencedAssemblies(), loaded);
}
}
catch (IOException)
{
}
catch (BadImageFormatException)
{
}
}
}

public double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
{
return size.GetFontSize();
Expand Down
5 changes: 0 additions & 5 deletions src/Compatibility/Core/src/iOS/Forms.cs
Original file line number Diff line number Diff line change
Expand Up @@ -293,11 +293,6 @@ public IOSPlatformServices()
#endif
}

public Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

public double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
{
// We make these up anyway, so new sizes didn't really change
Expand Down
5 changes: 0 additions & 5 deletions src/Controls/DualScreen/test/MockPlatformServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,6 @@ public Task<Stream> GetStreamAsync(Uri uri, CancellationToken cancellationToken)
return getStreamAsync(uri, cancellationToken);
}

public Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

public SizeRequest GetNativeSize(VisualElement view, double widthConstraint, double heightConstraint)
{
if (getNativeSizeFunc != null)
Expand Down
26 changes: 0 additions & 26 deletions src/Controls/docs/Microsoft.Maui.Controls/Device.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,32 +106,6 @@ Device.BeginInvokeOnMainThread (() => {
</remarks>
</Docs>
</Member>
<Member MemberName="GetAssemblies">
<MemberSignature Language="C#" Value="public static System.Reflection.Assembly[] GetAssemblies ();" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Reflection.Assembly[] GetAssemblies() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Maui.Controls.Device.GetAssemblies" />
<MemberSignature Language="F#" Value="static member GetAssemblies : unit -&gt; System.Reflection.Assembly[]" Usage="Microsoft.Maui.Controls.Device.GetAssemblies " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Reflection.Assembly[]</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>For internal use by the Microsoft.Maui.Controls platform.</summary>
<returns>For internal use by the Microsoft.Maui.Controls platform.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetMainThreadSynchronizationContextAsync">
<MemberSignature Language="C#" Value="public static System.Threading.Tasks.Task&lt;System.Threading.SynchronizationContext&gt; GetMainThreadSynchronizationContextAsync ();" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Threading.Tasks.Task`1&lt;class System.Threading.SynchronizationContext&gt; GetMainThreadSynchronizationContextAsync() cil managed" />
Expand Down
2 changes: 1 addition & 1 deletion src/Controls/src/Core/DependencyService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ static void Initialize()
if (s_initialized)
return;

Assembly[] assemblies = Device.GetAssemblies();
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
if (Internals.Registrar.ExtraAssemblies != null)
{
assemblies = assemblies.Union(Internals.Registrar.ExtraAssemblies).ToArray();
Expand Down
7 changes: 0 additions & 7 deletions src/Controls/src/Core/Device.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,6 @@ public static void StartTimer(TimeSpan interval, Func<bool> callback)
PlatformServices.StartTimer(interval, callback);
}

/// <include file="../../docs/Microsoft.Maui.Controls/Device.xml" path="//Member[@MemberName='GetAssemblies']/Docs" />
[EditorBrowsable(EditorBrowsableState.Never)]
public static Assembly[] GetAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
}

/// <include file="../../docs/Microsoft.Maui.Controls/Device.xml" path="//Member[@MemberName='GetNamedSize'][2]/Docs" />
[EditorBrowsable(EditorBrowsableState.Never)]
public static double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
Expand Down
2 changes: 1 addition & 1 deletion src/Controls/src/Core/Registrar.cs
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ public static void RegisterAll(Type[] attrTypes, IFontRegistrar fontRegistrar =
public static void RegisterAll(Type[] attrTypes, InitializationFlags flags, IFontRegistrar fontRegistrar = null)
{
RegisterAll(
Device.GetAssemblies(),
AppDomain.CurrentDomain.GetAssemblies(),
Device.PlatformServices.GetType().GetTypeInfo().Assembly,
attrTypes,
flags,
Expand Down
2 changes: 1 addition & 1 deletion src/Controls/src/Core/Visuals/VisualTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public override bool CanConvertTo(ITypeDescriptorContext context, Type destinati
void InitMappings()
{
var mappings = new Dictionary<string, IVisual>(StringComparer.OrdinalIgnoreCase);
Assembly[] assemblies = Device.GetAssemblies();
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();

// Check for IVisual Types
foreach (var assembly in assemblies)
Expand Down

0 comments on commit 09faa7f

Please sign in to comment.