Skip to content

Commit e3b424e

Browse files
committed
Remove GetLanguagesForUser
Thread safe PrimaryLanguageOverride for un-packaged Use W.G.PrimaryLanguageOverride for packaged
1 parent 3f8a0d7 commit e3b424e

File tree

6 files changed

+24
-11
lines changed

6 files changed

+24
-11
lines changed

dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/src/ApplicationLanguages.cpp

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#include <winrt/Windows.Globalization.h>
99

10+
#include <AppModel.Identity.h>
11+
1012
namespace winrt::Microsoft::Windows::ApplicationModel::Resources::implementation
1113
{
1214
hstring ApplicationLanguages::m_language;
@@ -23,17 +25,24 @@ namespace winrt::Microsoft::Windows::ApplicationModel::Resources::implementation
2325

2426
hstring ApplicationLanguages::PrimaryLanguageOverride()
2527
{
28+
static wil::srwlock lock;
29+
30+
auto criticalSection{ lock.lock_shared() };
2631
return m_language;
2732
}
2833

2934
void ApplicationLanguages::PrimaryLanguageOverride(hstring const& language)
3035
{
31-
m_language = language;
32-
}
33-
34-
winrt::Windows::Foundation::Collections::IVectorView<hstring> ApplicationLanguages::GetLanguagesForUser(winrt::Windows::System::User const& user)
35-
{
36-
return winrt::Windows::Globalization::ApplicationLanguages::GetLanguagesForUser(user);
36+
if (AppModel::Identity::IsPackagedProcess())
37+
{
38+
winrt::Windows::Globalization::ApplicationLanguages::PrimaryLanguageOverride(language);
39+
}
40+
else
41+
{
42+
static wil::srwlock lock;
43+
44+
auto criticalSection{ lock.lock_exclusive() };
45+
m_language = language;
46+
}
3747
}
38-
3948
} // namespace winrt::Microsoft::Windows::ApplicationModel::Resources::implementation

dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/src/ApplicationLanguages.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ namespace winrt::Microsoft::Windows::ApplicationModel::Resources::implementation
1414
static winrt::Windows::Foundation::Collections::IVectorView<hstring> ManifestLanguages();
1515
static hstring PrimaryLanguageOverride();
1616
static void PrimaryLanguageOverride(hstring const& language);
17-
static winrt::Windows::Foundation::Collections::IVectorView<hstring> GetLanguagesForUser(winrt::Windows::System::User const& user);
1817

1918
private:
2019
static hstring m_language;

dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/src/Microsoft.Windows.ApplicationModel.Resources.idl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ namespace Microsoft.Windows.ApplicationModel.Resources
120120
static IVectorView<String> Languages { get; };
121121
static IVectorView<String> ManifestLanguages { get; };
122122
static String PrimaryLanguageOverride;
123-
124-
static IVectorView<String> GetLanguagesForUser(Windows.System.User user);
125123
}
126124

127125
} // namespace Microsoft.Windows.ApplicationModel. Resources

dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/src/Microsoft.Windows.ApplicationModel.Resources.vcxproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
</DisableSpecificWarnings>
9191
<PreprocessorDefinitions>_WINRT_DLL;WIN32_LEAN_AND_MEAN;WINRT_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
9292
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
93+
<AdditionalIncludeDirectories>$(RepoRoot)\dev\Common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
9394
</ClCompile>
9495
<Link>
9596
<SubSystem>Console</SubSystem>
@@ -173,6 +174,7 @@
173174
<Import Project="$(NugetPackageDirectory)\Microsoft.SourceLink.Common.$(MicrosoftSourceLinkCommonVersion)\build\Microsoft.SourceLink.Common.targets" Condition="Exists('$(NugetPackageDirectory)\Microsoft.SourceLink.Common.$(MicrosoftSourceLinkCommonVersion)\build\Microsoft.SourceLink.Common.targets')" />
174175
<Import Project="$(NugetPackageDirectory)\Microsoft.Build.Tasks.Git.$(MicrosoftBuildTasksGitVersion)\build\Microsoft.Build.Tasks.Git.targets" Condition="Exists('$(NugetPackageDirectory)\Microsoft.Build.Tasks.Git.$(MicrosoftBuildTasksGitVersion)\build\Microsoft.Build.Tasks.Git.targets')" />
175176
<Import Project="$(NugetPackageDirectory)\Microsoft.SourceLink.GitHub.$(MicrosoftSourceLinkGitHubVersion)\build\Microsoft.SourceLink.GitHub.targets" Condition="Exists('$(NugetPackageDirectory)\Microsoft.SourceLink.GitHub.$(MicrosoftSourceLinkGitHubVersion)\build\Microsoft.SourceLink.GitHub.targets')" />
177+
<Import Project="$(NugetPackageDirectory)\Microsoft.Windows.ImplementationLibrary.$(MicrosoftWindowsImplementationLibraryVersion)\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('$(NugetPackageDirectory)\Microsoft.Windows.ImplementationLibrary.$(MicrosoftWindowsImplementationLibraryVersion)\build\native\Microsoft.Windows.ImplementationLibrary.targets')" />
176178
</ImportGroup>
177179
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
178180
<PropertyGroup>
@@ -187,5 +189,6 @@
187189
<Error Condition="!Exists('$(NugetPackageDirectory)\Microsoft.Build.Tasks.Git.$(MicrosoftBuildTasksGitVersion)\build\Microsoft.Build.Tasks.Git.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\Microsoft.Build.Tasks.Git.$(MicrosoftBuildTasksGitVersion)\build\Microsoft.Build.Tasks.Git.targets'))" />
188190
<Error Condition="!Exists('$(NugetPackageDirectory)\Microsoft.SourceLink.GitHub.$(MicrosoftSourceLinkGitHubVersion)\build\Microsoft.SourceLink.GitHub.props')" Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\Microsoft.SourceLink.GitHub.$(MicrosoftSourceLinkGitHubVersion)\build\Microsoft.SourceLink.GitHub.props'))" />
189191
<Error Condition="!Exists('$(NugetPackageDirectory)\Microsoft.SourceLink.GitHub.$(MicrosoftSourceLinkGitHubVersion)\build\Microsoft.SourceLink.GitHub.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\Microsoft.SourceLink.GitHub.$(MicrosoftSourceLinkGitHubVersion)\build\Microsoft.SourceLink.GitHub.targets'))" />
192+
<Error Condition="!Exists('$(NugetPackageDirectory)\Microsoft.Windows.ImplementationLibrary.$(MicrosoftWindowsImplementationLibraryVersion)\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\Microsoft.Windows.ImplementationLibrary.$(MicrosoftWindowsImplementationLibraryVersion)\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
190193
</Target>
191194
</Project>

dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/src/packages.config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
<package id="Microsoft.SourceLink.Common" version="1.1.1" targetFramework="native" developmentDependency="true" />
55
<package id="Microsoft.SourceLink.GitHub" version="1.1.1" targetFramework="native" developmentDependency="true" />
66
<package id="Microsoft.Windows.CppWinRT" version="2.0.230706.1" targetFramework="native" />
7-
</packages>
7+
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220914.1" targetFramework="native" />
8+
</packages>

dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/src/pch.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
#include <winrt/Windows.Foundation.Collections.h>
88
#include "..\..\core\src\MRM.h"
99

10+
#include <wil/result_macros.h>
11+
#include <wil/resource.h>
12+
1013
struct StringResourceFreer
1114
{
1215
void operator()(wchar_t* resource) { MrmFreeResource(resource); }

0 commit comments

Comments
 (0)