Skip to content

Commit 6f0e10d

Browse files
committed
ff
1 parent d895c3d commit 6f0e10d

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/AndroidLinkContext.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,5 @@ public AndroidLinkContext (Pipeline pipeline, AssemblyResolver resolver, ReaderP
1414

1515
public bool PreserveJniMarshalMethods { get; set; }
1616

17-
public IList<AssemblyDefinition> Assemblies => new List<AssemblyDefinition> ();
1817
}
1918
}

src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/RemoveResourceDesignerStep.cs

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,33 @@
1010

1111
namespace MonoDroid.Tuner
1212
{
13+
public class AndroidLinkConfiguration {
14+
public IList<AssemblyDefinition> Assemblies => new List<AssemblyDefinition> ();
15+
16+
static IDictionary<LinkContext, AndroidLinkConfiguration> configurations = new Dictionary<LinkContext, AndroidLinkConfiguration> ();
17+
18+
public static AndroidLinkConfiguration GetInstance (LinkContext context)
19+
{
20+
if (!configurations.TryGetValue (context, out AndroidLinkConfiguration config)) {
21+
configurations.Add (context, new AndroidLinkConfiguration ());
22+
}
23+
return config;
24+
}
25+
}
1326
public class GetAssembliesStep : BaseStep
1427
{
15-
AndroidLinkContext linkContext = null;
28+
AndroidLinkConfiguration config = null;
1629

1730
protected override void Process ()
1831
{
19-
linkContext = Context as AndroidLinkContext;
32+
config = AndroidLinkConfiguration.GetInstance (Context);
2033
}
2134

2235
protected override void ProcessAssembly (AssemblyDefinition assembly)
2336
{
24-
if (linkContext == null)
37+
if (config == null)
2538
return;
26-
linkContext.Assemblies.Add (assembly);
39+
config.Assemblies.Add (assembly);
2740
}
2841
}
2942

@@ -37,10 +50,10 @@ public class RemoveResourceDesignerStep : BaseStep
3750
protected override void Process ()
3851
{
3952
// resolve the MainAssembly Resource designer TypeDefinition
40-
var _context = Context as AndroidLinkContext;
41-
if (_context == null)
53+
AndroidLinkConfiguration config = AndroidLinkConfiguration.GetInstance (Context);
54+
if (config == null)
4255
return;
43-
foreach(var asm in _context.Assemblies) {
56+
foreach(var asm in config.Assemblies) {
4457
if (FindResourceDesigner (asm, true, out mainDesigner)) {
4558
mainAssembly = asm;
4659
break;

0 commit comments

Comments
 (0)