Skip to content

Commit 56a5910

Browse files
authored
Merge pull request #679 from Esri/v.next
v200.8.0
2 parents fb21196 + a55a40e commit 56a5910

File tree

133 files changed

+7893
-1423
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+7893
-1423
lines changed

build/Signing.targets

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,23 @@
22

33
<!-- Signing outputs -->
44
<PropertyGroup>
5-
<Certificate256TimeStampService>http://timestamp.digicert.com</Certificate256TimeStampService>
6-
<SignToolPath>$(ProgramFiles)\Windows Kits\10\bin\x64\signtool.exe</SignToolPath>
7-
<SignToolPath Condition="!Exists($(SignToolPath))">$(ProgramFiles)\Windows Kits\10\bin\x86\signtool.exe</SignToolPath>
8-
<SignToolPath Condition="!Exists($(SignToolPath))">$(ProgramFiles)\Windows Kits\10\bin\10.0.16299.0\x64\signtool.exe</SignToolPath>
9-
<SignToolPath Condition="!Exists($(SignToolPath))">$(WindowsSDK80Path)bin\x64\signtool.exe</SignToolPath>
10-
<SignToolPath Condition="!Exists($(SignToolPath))">signtool.exe</SignToolPath> <!-- fallback to use PATH environment -->
5+
<CertificateTimeStampService>http://timestamp.digicert.com</CertificateTimeStampService>
6+
<SignToolPath>$(MSBuildProgramFiles32)\Windows Kits\10\App Certification Kit\signtool.exe</SignToolPath>
7+
<SignToolPath Condition="!Exists($(SignToolPath))">$(MSBuildProgramFiles32)\Windows Kits\10\bin\x64\signtool.exe</SignToolPath>
8+
<SignToolPath Condition="!Exists($(SignToolPath))">$(MSBuildProgramFiles32)\Windows Kits\10\bin\10.0.22000.0\x64\signtool.exe</SignToolPath>
9+
<SignToolPath Condition="!Exists($(SignToolPath))">$(MSBuildProgramFiles32)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe</SignToolPath>
10+
<SignToolPath Condition="!Exists($(SignToolPath))">$(WindowsSDK80Path)bin\x64\signtool.exe</SignToolPath>
11+
<SignToolPath Condition="!Exists($(SignToolPath))">signtool.exe</SignToolPath> <!-- fallback to use PATH environment -->
1112

12-
<PFXSignatureFile Condition="'$(PFXSignatureFile)'==''"></PFXSignatureFile>
13-
<PFXSignaturePassword Condition="'$(PFXSignaturePassword)'==''"></PFXSignaturePassword>
14-
<CodeSignCertificateStore Condition="'$(CodeSignCertificateStore)'==''"></CodeSignCertificateStore>
15-
<CodeSignCertificateName Condition="'$(CodeSignCertificateName)'==''"></CodeSignCertificateName>
16-
17-
<CodeSignFromStore Condition="'$(CodeSignCertificateStore)' != '' AND '$(CodeSignCertificateName)' != ''">true</CodeSignFromStore>
18-
<CodeSignFromFile Condition="Exists($(PFXSignatureFile))">true</CodeSignFromFile>
19-
<SignAssemblyCommand Condition="'$(CodeSignFromStore)' == 'true'">"$(SignToolPath)" sign /fd SHA256 /s "$(CodeSignCertificateStore)" /n "$(CodeSignCertificateName)" /tr $(Certificate256TimeStampService) /td SHA256 </SignAssemblyCommand>
20-
<SignAssemblyCommand Condition="'$(CodeSignFromFile)' == 'true'">"$(SignToolPath)" sign /fd SHA256 /f "$(PFXSignatureFile)" /p "$(PFXSignaturePassword)" /tr $(Certificate256TimeStampService) /td SHA256 </SignAssemblyCommand>
13+
<CodeSignCertificateStore Condition="'$(CodeSignCertificateStore)'==''">LocalMachine</CodeSignCertificateStore>
14+
<CodeSignCertificateName Condition="'$(THUMBPRINT)'==''"></CodeSignCertificateName>
15+
<SignOutput Condition="'$(THUMBPRINT)'!=''">true</SignOutput>
16+
<SignAssemblyCommand Condition="'$(SignOutput)' == 'true'">"$(SignToolPath)" sign /fd SHA256 /sha1 $(THUMBPRINT) /sm /tr $(CertificateTimeStampService) /td SHA256</SignAssemblyCommand>
2117
<NuGetExePath>$(MSBuildThisFileDirectory)..\.tools\NuGet.exe</NuGetExePath>
22-
<SignNugetCommand Condition="'$(CodeSignFromStore)' == 'true'">-CertificateStoreName &quot;$(CodeSignCertificateStore)&quot; -CertificateSubjectName &quot;$(CodeSignCertificateName)&quot; -Timestamper $(Certificate256TimeStampService)</SignNugetCommand>
23-
<SignNugetCommand Condition="'$(CodeSignFromFile)' == 'true'">-CertificatePath &quot;$(PFXSignatureFile)&quot; -CertificatePassword &quot;$(PFXSignaturePassword)&quot; -Timestamper $(Certificate256TimeStampService)</SignNugetCommand>
18+
<SignNugetCommand>--certificate-fingerprint $(THUMBPRINT) --certificate-store-name My --certificate-store-location $(CodeSignCertificateStore) --timestamper $(CertificateTimeStampService) --overwrite</SignNugetCommand>
2419
</PropertyGroup>
2520

26-
<Target Name="SignAssembly" Condition="'$(SignAssemblyCommand)' != ''" BeforeTargets="CopyFilesToOutputDirectory" DependsOnTargets="ComputeIntermediateSatelliteAssemblies">
21+
<Target Name="SignAssembly" Condition="'$(SignOutput)' == 'true'" BeforeTargets="CopyFilesToOutputDirectory" DependsOnTargets="ComputeIntermediateSatelliteAssemblies">
2722
<ItemGroup>
2823
<FilesToSign Include="@(IntermediateAssembly)" />
2924
<FilesToSign Include="@(IntermediateRefAssembly)" />
@@ -37,13 +32,13 @@
3732
WorkingDirectory="$(ProjectDir)" EchoOff="true" />
3833
</Target>
3934

40-
<Target Name="SignNuGet" Condition="'$(SignNugetCommand)' != '' AND '$(IsPackable)'=='true'" AfterTargets="Pack" DependsOnTargets="DownloadNuGetExe">
35+
<Target Name="SignNuGet" Condition="'$(SignOutput)' == 'true' AND '$(IsPackable)'=='true'" AfterTargets="Pack">
4136
<PropertyGroup>
4237
<NugetPackageFileName>$(PackageOutputPath)\$(PackageId).$(PackageVersion).nupkg</NugetPackageFileName>
4338
<SNugetPackageFileName>$(PackageOutputPath)\$(PackageId).$(PackageVersion).snupkg</SNugetPackageFileName>
4439
</PropertyGroup>
45-
<Exec Command="&quot;$(NuGetExePath)&quot; sign &quot;$(NugetPackageFileName)&quot; $(SignNugetCommand)" />
46-
<Exec Command="&quot;$(NuGetExePath)&quot; sign &quot;$(SNugetPackageFileName)&quot; $(SignNugetCommand)" />
40+
<Exec Command="dotnet nuget sign &quot;$(NugetPackageFileName)&quot; $(SignNugetCommand)" />
41+
<Exec Command="dotnet nuget sign &quot;$(SNugetPackageFileName)&quot; $(SignNugetCommand)" />
4742
</Target>
4843

4944
<Target Name="DownloadNuGetExe">

src/CommonProperties.targets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<DefineConstants Condition="$([MSBuild]::IsTargetFrameworkCompatible($(TargetFramework), 'net6.0'))">$(DefineConstants);NET6_0_OR_GREATER</DefineConstants>
1616
<DefineConstants Condition="$([MSBuild]::IsTargetFrameworkCompatible($(TargetFramework), 'net7.0'))">$(DefineConstants);NET7_0_OR_GREATER</DefineConstants>
1717
<DefineConstants Condition="$([MSBuild]::IsTargetFrameworkCompatible($(TargetFramework), 'net8.0'))">$(DefineConstants);NET8_0_OR_GREATER</DefineConstants>
18+
<DefineConstants Condition="$([MSBuild]::IsTargetFrameworkCompatible($(TargetFramework), 'net9.0'))">$(DefineConstants);NET9_0_OR_GREATER</DefineConstants>
1819
<DefineConstants Condition="'$(IsTargetingWindows)'=='true'">$(DefineConstants);WINDOWS</DefineConstants>
1920
<DefineConstants Condition="'$(IsTargetingAndroid)'=='true' OR '$(IsTargetingiOS)'=='true'">$(DefineConstants);XAMARIN</DefineConstants>
2021
<Nullable Condition="'$(SupportsNullable)'=='true'">enable</Nullable>

src/Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Project>
22

33
<PropertyGroup>
4-
<ArcGISRuntimeToolkitPackageVersion Condition="'$(ArcGISRuntimeToolkitPackageVersion)'==''">200.7.0</ArcGISRuntimeToolkitPackageVersion>
5-
<ArcGISRuntimePackageVersion Condition="'$(ArcGISRuntimePackageVersion)'==''">200.7.0</ArcGISRuntimePackageVersion>
4+
<ArcGISRuntimeToolkitPackageVersion Condition="'$(ArcGISRuntimeToolkitPackageVersion)'==''">200.8.0</ArcGISRuntimeToolkitPackageVersion>
5+
<ArcGISRuntimePackageVersion Condition="'$(ArcGISRuntimePackageVersion)'==''">200.8.0</ArcGISRuntimePackageVersion>
66

77
<!--Common package properties-->
88
<Authors>Esri Inc.</Authors>

src/Samples/Toolkit.SampleApp.Maui/Samples/FeatureFormViewSample.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
<ColumnDefinition />
3636
</Grid.ColumnDefinitions>
3737
<Button Text="Close" Background="#007AC2" TextColor="White" Clicked="CloseButton_Click" Grid.Column="0" />
38-
<Button Text="Reset" Background="#D83020" TextColor="White" Clicked="DiscardButton_Click" Grid.Column="1" />
39-
<Button Text="Apply" Background="#35AC46" TextColor="White" Clicked="UpdateButton_Click" Grid.Column="2" />
38+
<Button Text="Reset" Background="#D83020" TextColor="White" Command="{Binding DiscardEditsCommand, Source={x:Reference formViewer}}" Grid.Column="1" />
39+
<Button Text="Apply" Background="#35AC46" TextColor="White" Command="{Binding FinishEditingCommand, Source={x:Reference formViewer}}" Grid.Column="2" />
4040
</Grid>
4141
</Border>
4242
</Grid>

src/Samples/Toolkit.SampleApp.Maui/Samples/FeatureFormViewSample.xaml.cs

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -62,50 +62,12 @@ private void FormAttachmentClicked(object sender, Esri.ArcGISRuntime.Toolkit.Mau
6262
Debug.WriteLine("Attachment clicked: " + e.Attachment.Name);
6363
}
6464

65-
private async void DiscardButton_Click(object sender, EventArgs e)
66-
{
67-
var result = await DisplayAlert("Confirm", "Discard edits?", "Yes", "Cancel");
68-
if (result)
69-
{
70-
71-
((Button)sender).IsEnabled = false;
72-
try
73-
{
74-
await formViewer.DiscardEditsAsync();
75-
} catch { }
76-
77-
((Button)sender).IsEnabled = true;
78-
}
79-
}
80-
8165
private void CloseButton_Click(object sender, EventArgs e)
8266
{
8367
formViewer.FeatureForm = null;
8468
SidePanel.IsVisible = false;
8569
}
8670

87-
private async void UpdateButton_Click(object sender, EventArgs e)
88-
{
89-
if (formViewer.FeatureForm == null) return;
90-
if (!formViewer.IsValid)
91-
{
92-
var errorsMessages = formViewer.FeatureForm.Elements.OfType<FieldFormElement>().Where(e=>e.ValidationErrors.Any()).Select(s => s.FieldName + ": " + string.Join(",", s.ValidationErrors.Select(e=>e.Message)));
93-
if (errorsMessages.Any())
94-
{
95-
await DisplayAlert("Form has errors", string.Join("\n", errorsMessages), "OK");
96-
return;
97-
}
98-
}
99-
try
100-
{
101-
await formViewer.FinishEditingAsync();
102-
}
103-
catch (Exception ex)
104-
{
105-
await DisplayAlert("Error", "Failed to apply edits:\n" + ex.Message, "OK");
106-
}
107-
}
108-
10971
private void FeatureFormViewSample_SizeChanged(object? sender, EventArgs e)
11072
{
11173
// Programmatic adaptive layout

src/Samples/Toolkit.SampleApp.Maui/Toolkit.SampleApp.Maui.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
2525
<ApplicationVersion>1</ApplicationVersion>
2626

27-
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.0</SupportedOSPlatformVersion>
28-
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">15.0</SupportedOSPlatformVersion>
29-
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">26.0</SupportedOSPlatformVersion>
27+
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">17.0</SupportedOSPlatformVersion>
28+
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">17.0</SupportedOSPlatformVersion>
29+
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">28.0</SupportedOSPlatformVersion>
3030
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.19041.0</SupportedOSPlatformVersion>
3131
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.19041.0</TargetPlatformMinVersion>
3232
</PropertyGroup>
@@ -74,6 +74,7 @@
7474
<When Condition="'$(UseNugetPackage)'==''">
7575
<ItemGroup>
7676
<ProjectReference Include="..\..\Toolkit\Toolkit.Maui\Esri.ArcGISRuntime.Toolkit.Maui.csproj" />
77+
<MauiFont Include="$(MSBuildThisFileDirectory)..\..\Toolkit\Toolkit.Maui\Resources\Fonts\*.ttf" Link="Resources\Fonts\%(Filename)%(Extension)" />
7778
</ItemGroup>
7879
</When>
7980
<Otherwise>

src/Samples/Toolkit.SampleApp.UWP/Samples/Forms/FeatureFormViewSample.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
<ColumnDefinition />
3939
</Grid.ColumnDefinitions>
4040
<Button Content="Close" Background="#007AC2" Foreground="White" Padding="5" Click="CloseButton_Click" Grid.Column="0" HorizontalAlignment="Stretch" />
41-
<Button Content="Reset" Margin="5,0" Background="#D83020" Foreground="White" Padding="5" Click="DiscardButton_Click" Grid.Column="1" HorizontalAlignment="Stretch" />
42-
<Button Content="Apply" Background="#35AC46" Foreground="White" Padding="5" Click="UpdateButton_Click" Grid.Column="2" HorizontalAlignment="Stretch" />
41+
<Button Content="Reset" Margin="5,0" Background="#D83020" Foreground="White" Padding="5" Command="{x:Bind formViewer.DiscardEditsCommand}" Grid.Column="1" HorizontalAlignment="Stretch" />
42+
<Button Content="Apply" Background="#35AC46" Foreground="White" Padding="5" Command="{x:Bind formViewer.FinishEditingCommand}" Grid.Column="2" HorizontalAlignment="Stretch" />
4343
</Grid>
4444
</Border>
4545
</Grid>

src/Samples/Toolkit.SampleApp.UWP/Samples/Forms/FeatureFormViewSample.xaml.cs

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -58,72 +58,10 @@ private ArcGISFeature GetFeature(IEnumerable<IdentifyLayerResult> results, out F
5858
return null;
5959
}
6060

61-
private async void DiscardButton_Click(object sender, RoutedEventArgs e)
62-
{
63-
ContentDialog dialog = new ContentDialog
64-
{
65-
Title = "Discard edits?",
66-
Content = "Are you sure you want to discard edits?",
67-
PrimaryButtonText = "Yes",
68-
CloseButtonText = "No",
69-
#if !WINDOWS_UWP
70-
XamlRoot = this.XamlRoot
71-
#endif
72-
};
73-
var result = await dialog.ShowAsync();
74-
if (result == ContentDialogResult.Primary)
75-
{
76-
((Button)sender).IsEnabled = false;
77-
try
78-
{
79-
await formViewer.DiscardEditsAsync();
80-
}
81-
catch { }
82-
((Button)sender).IsEnabled = true;
83-
}
84-
}
85-
8661
private void CloseButton_Click(object sender, RoutedEventArgs e)
8762
{
8863
formViewer.FeatureForm = null;
8964
SidePanel.Visibility = Visibility.Collapsed;
9065
}
91-
92-
private async void UpdateButton_Click(object sender, RoutedEventArgs e)
93-
{
94-
if (!formViewer.IsValid)
95-
{
96-
var errorsMessages = formViewer.FeatureForm.Elements.OfType<FieldFormElement>().Where(e => e.ValidationErrors.Any()).Select(s => s.FieldName + ": " + string.Join(",", s.ValidationErrors.Select(e => e.Message)));
97-
if (errorsMessages.Any())
98-
{
99-
await new ContentDialog
100-
{
101-
Title = "Can't apply",
102-
Content = "Form has errors:\n" + string.Join("\n", errorsMessages),
103-
PrimaryButtonText = "OK",
104-
#if !WINDOWS_UWP
105-
XamlRoot = this.XamlRoot
106-
#endif
107-
}.ShowAsync();
108-
return;
109-
}
110-
}
111-
try
112-
{
113-
await formViewer.FinishEditingAsync();
114-
}
115-
catch (Exception ex)
116-
{
117-
await new ContentDialog
118-
{
119-
Title = "Error",
120-
Content = "Failed to apply edits:\n" + ex.Message,
121-
PrimaryButtonText = "OK",
122-
#if !WINDOWS_UWP
123-
XamlRoot = this.XamlRoot
124-
#endif
125-
}.ShowAsync();
126-
}
127-
}
12866
}
12967
}

src/Samples/Toolkit.SampleApp.WPF/Samples/Forms/FeatureFormViewSample.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
<ColumnDefinition />
3636
</Grid.ColumnDefinitions>
3737
<Button Content="Close" Background="#007AC2" Foreground="White" Padding="5" Click="CloseButton_Click" Grid.Column="0" />
38-
<Button Content="Reset" Margin="5,0" Background="#D83020" Foreground="White" Padding="5" Click="DiscardButton_Click" Grid.Column="1" />
39-
<Button Content="Apply" Background="#35AC46" Foreground="White" Padding="5" Click="UpdateButton_Click" Grid.Column="2" />
38+
<Button Content="Reset" Margin="5,0" Background="#D83020" Foreground="White" Padding="5" Command="{Binding DiscardEditsCommand, ElementName=formViewer}" Grid.Column="1" />
39+
<Button Content="Apply" Background="#35AC46" Foreground="White" Padding="5" Command="{Binding FinishEditingCommand, ElementName=formViewer}" Grid.Column="2" />
4040
</Grid>
4141
</Border>
4242
</Grid>

src/Samples/Toolkit.SampleApp.WPF/Samples/Forms/FeatureFormViewSample.xaml.cs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -55,46 +55,10 @@ private ArcGISFeature GetFeature(IEnumerable<IdentifyLayerResult> results, out F
5555
return null;
5656
}
5757

58-
private async void DiscardButton_Click(object sender, RoutedEventArgs e)
59-
{
60-
var result = MessageBox.Show("Discard edits?", "Confirm", MessageBoxButton.YesNo);
61-
if (result == MessageBoxResult.Yes)
62-
{
63-
((Button)sender).IsEnabled = false;
64-
try
65-
{
66-
await formViewer.DiscardEditsAsync();
67-
}
68-
catch { }
69-
((Button)sender).IsEnabled = true;
70-
}
71-
}
72-
7358
private void CloseButton_Click(object sender, RoutedEventArgs e)
7459
{
7560
formViewer.FeatureForm = null;
7661
SidePanel.Visibility = Visibility.Collapsed;
7762
}
78-
79-
private async void UpdateButton_Click(object sender, RoutedEventArgs e)
80-
{
81-
if (!formViewer.IsValid)
82-
{
83-
var errorsMessages = formViewer.FeatureForm.Elements.OfType<FieldFormElement>().Where(e => e.ValidationErrors.Any()).Select(s => s.FieldName + ": " + string.Join(",", s.ValidationErrors.Select(e => e.Message)));
84-
if (errorsMessages.Any())
85-
{
86-
MessageBox.Show("Form has errors:\n" + string.Join("\n", errorsMessages), "Can't apply");
87-
return;
88-
}
89-
}
90-
try
91-
{
92-
await formViewer.FinishEditingAsync();
93-
}
94-
catch (Exception ex)
95-
{
96-
MessageBox.Show("Failed to apply edits:\n" + ex.Message, "Error");
97-
}
98-
}
9963
}
10064
}

0 commit comments

Comments
 (0)