Skip to content

Commit 0768a52

Browse files
[TrimmableTypeMap] Drop Crc64Helper scanner changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 7d15e3f commit 0768a52

3 files changed

Lines changed: 1 addition & 37 deletions

File tree

src/Microsoft.Android.Sdk.TrimmableTypeMap/Microsoft.Android.Sdk.TrimmableTypeMap.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
<TargetFramework>$(TargetFrameworkNETStandard)</TargetFramework>
66
<Nullable>enable</Nullable>
77
<WarningsAsErrors>Nullable</WarningsAsErrors>
8-
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
98
<RootNamespace>Microsoft.Android.Sdk.TrimmableTypeMap</RootNamespace>
109
<SignAssembly>true</SignAssembly>
1110
<AssemblyOriginatorKeyFile>..\..\product.snk</AssemblyOriginatorKeyFile>
@@ -19,8 +18,6 @@
1918

2019
<ItemGroup>
2120
<Compile Include="..\..\src-ThirdParty\System.Runtime.CompilerServices\CompilerFeaturePolyfills.cs" Link="CompilerFeaturePolyfills.cs" />
22-
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers\Crc64Helper.cs" Link="Crc64Helper.cs" />
23-
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers\Crc64.Table.cs" Link="Crc64.Table.cs" />
2421
</ItemGroup>
2522

2623
</Project>

src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/JavaPeerScanner.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
using System.Reflection.Metadata;
77
using System.Reflection.Metadata.Ecma335;
88
using System.Reflection.PortableExecutable;
9-
using Java.Interop.Tools.JavaCallableWrappers;
10-
119
namespace Microsoft.Android.Sdk.TrimmableTypeMap;
1210

1311
/// <summary>
@@ -1474,11 +1472,8 @@ static string GetCrc64PackageName (string ns, string assemblyName)
14741472
return ns.ToLowerInvariant ().Replace ('.', '/');
14751473
}
14761474

1477-
// Keep this in sync with JavaNativeTypeManager.ToJniName(Type)/(TypeDefinition).
1478-
// The trimmable build path must emit the exact same CRC64 package names that the
1479-
// runtime later computes for FindClass(Type) and peer activation.
14801475
var data = System.Text.Encoding.UTF8.GetBytes ($"{ns}:{assemblyName}");
1481-
var hash = Crc64Helper.Compute (data);
1476+
var hash = System.IO.Hashing.Crc64.Hash (data);
14821477
return $"crc64{BitConverter.ToString (hash).Replace ("-", "").ToLowerInvariant ()}";
14831478
}
14841479

tests/Microsoft.Android.Sdk.TrimmableTypeMap.Tests/Scanner/JavaPeerScannerTests.cs

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3-
using System.IO;
43
using System.Linq;
5-
using System.Reflection;
6-
using System.Text;
7-
using Java.Interop.Tools.JavaCallableWrappers;
84
using Xunit;
95

106
namespace Microsoft.Android.Sdk.TrimmableTypeMap.Tests;
@@ -90,28 +86,4 @@ public void Scan_RegisterAttribute_DotFormat_NormalizedToSlashes ()
9086
Assert.False (peer.DoNotGenerateAcw);
9187
Assert.True (peer.IsUnconditional, "Should be unconditional due to [Activity]");
9288
}
93-
94-
[Theory]
95-
[InlineData ("MyApp.PlainActivitySubclass")]
96-
[InlineData ("MyApp.UnregisteredClickListener")]
97-
[InlineData ("MyApp.UnregisteredExporter")]
98-
public void Scan_UnregisteredType_MatchesJavaNativeTypeManager (string managedName)
99-
{
100-
var testAssemblyDir = Path.GetDirectoryName (typeof (FixtureTestBase).Assembly.Location)
101-
?? throw new InvalidOperationException ("Cannot determine test assembly directory");
102-
var fixtureAssemblyPath = Path.Combine (testAssemblyDir, "TestFixtures.dll");
103-
var fixtureAssembly = Assembly.LoadFrom (fixtureAssemblyPath);
104-
var fixtureType = fixtureAssembly.GetType (managedName);
105-
if (fixtureType is null) {
106-
throw new InvalidOperationException ($"Could not load fixture type '{managedName}' from '{fixtureAssemblyPath}'.");
107-
}
108-
109-
var assemblyName = fixtureType.Assembly.GetName ().Name
110-
?? throw new InvalidOperationException ($"Could not determine assembly name for '{managedName}'.");
111-
var data = Encoding.UTF8.GetBytes ($"{fixtureType.Namespace}:{assemblyName}");
112-
var hash = Crc64Helper.Compute (data);
113-
var expectedJavaName = $"crc64{BitConverter.ToString (hash).Replace ("-", "").ToLowerInvariant ()}/{fixtureType.Name}";
114-
115-
Assert.Equal (expectedJavaName, FindFixtureByManagedName (managedName).JavaName);
116-
}
11789
}

0 commit comments

Comments
 (0)