mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Revert " Prompt user to install OpenXR package if not installed"
This reverts commit 75b522d210
.
This commit is contained in:
parent
138e50dc67
commit
5c6e38d1b4
8 changed files with 2 additions and 126 deletions
|
@ -19,23 +19,6 @@ namespace winrt::ServoApp::implementation {
|
|||
BrowserPage::BrowserPage() {
|
||||
InitializeComponent();
|
||||
BindServoEvents();
|
||||
if (!xrPkgChecker.IsInstalled()) {
|
||||
XRPkgWarning().Visibility(Visibility::Visible);
|
||||
xrPkgChecker.OnInstalled(
|
||||
[=] { XRPkgWarning().Visibility(Visibility::Collapsed); },
|
||||
std::chrono::seconds{5});
|
||||
}
|
||||
}
|
||||
|
||||
void BrowserPage::OnXRPkgWarningDismissClick(IInspectable const &,
|
||||
RoutedEventArgs const &) {
|
||||
xrPkgChecker.StopTracking();
|
||||
XRPkgWarning().Visibility(Visibility::Collapsed);
|
||||
}
|
||||
|
||||
void BrowserPage::OnXRPkgWarningInstallClick(IInspectable const &,
|
||||
RoutedEventArgs const &) {
|
||||
xrPkgChecker.OpenStore();
|
||||
}
|
||||
|
||||
void BrowserPage::BindServoEvents() {
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "BrowserPage.g.h"
|
||||
#include "XRPkgChecker.h"
|
||||
#include "ServoControl\ServoControl.h"
|
||||
|
||||
namespace winrt::ServoApp::implementation {
|
||||
|
@ -37,10 +36,6 @@ public:
|
|||
void LoadServoURI(Windows::Foundation::Uri uri);
|
||||
void SetTransientMode(bool);
|
||||
void SetArgs(hstring);
|
||||
void OnXRPkgWarningInstallClick(Windows::Foundation::IInspectable const &,
|
||||
Windows::UI::Xaml::RoutedEventArgs const &);
|
||||
void OnXRPkgWarningDismissClick(Windows::Foundation::IInspectable const &,
|
||||
Windows::UI::Xaml::RoutedEventArgs const &);
|
||||
void OnMediaControlsPlayClicked(Windows::Foundation::IInspectable const &,
|
||||
Windows::UI::Xaml::RoutedEventArgs const &);
|
||||
void OnMediaControlsPauseClicked(Windows::Foundation::IInspectable const &,
|
||||
|
@ -48,7 +43,6 @@ public:
|
|||
|
||||
private:
|
||||
void BindServoEvents();
|
||||
XRPkgChecker xrPkgChecker;
|
||||
};
|
||||
} // namespace winrt::ServoApp::implementation
|
||||
|
||||
|
|
|
@ -84,7 +84,6 @@
|
|||
<RowDefinition Height="auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="auto"/>
|
||||
<RowDefinition Height="auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.Row="0" x:Name="navigationBar" Background="{ThemeResource InkToolbarButtonBackgroundThemeBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
|
@ -130,14 +129,7 @@
|
|||
</Grid>
|
||||
<local:ServoControl TabIndex="0" x:Name="servoControl" Grid.Row="1"/>
|
||||
<ProgressBar x:Name="transientLoadingIndicator" Visibility="Collapsed" Grid.Row="2"/>
|
||||
<StackPanel Grid.Row="2" Background="LightYellow" Padding="10" BorderThickness="0,2,0,0" BorderBrush="Black" x:Name="XRPkgWarning" Visibility="Collapsed">
|
||||
<TextBlock Margin="0,0" VerticalAlignment="Center">The package "Windows OpenXR Developer Preview" is not installed. WebXR pages won't work.</TextBlock>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button Margin="0,10,10,0" Click="OnXRPkgWarningInstallClick">Install Package</Button>
|
||||
<Button Margin="0,10,10,0" Click="OnXRPkgWarningDismissClick">Dismiss</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<CommandBar Grid.Row="3" x:Name="mediaControls" Visibility="Collapsed">
|
||||
<CommandBar Grid.Row="2" x:Name="mediaControls" Visibility="Collapsed">
|
||||
<AppBarButton Icon="Play" Label="Play" x:Name="playButton" Visibility="Collapsed" Click="OnMediaControlsPlayClicked"/>
|
||||
<AppBarButton Icon="Pause" Label="Pause" x:Name="pauseButton" Click="OnMediaControlsPauseClicked"/>
|
||||
</CommandBar>
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Package
|
||||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
|
||||
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||
IgnorableNamespaces="uap mp uap5 rescap">
|
||||
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" IgnorableNamespaces="uap mp uap5">
|
||||
<Identity Name="1d265729-8836-4bd3-9992-4cb111d1068b" Publisher="CN=Allizom" Version="1.0.0.0" />
|
||||
<mp:PhoneIdentity PhoneProductId="1d265729-8836-4bd3-9992-4cb111d1068b" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
|
||||
<Properties>
|
||||
|
@ -51,7 +45,6 @@
|
|||
</Application>
|
||||
</Applications>
|
||||
<Capabilities>
|
||||
<rescap:Capability Name="packageQuery" />
|
||||
<Capability Name="internetClient" />
|
||||
<Capability Name="codeGeneration" />
|
||||
<Capability Name="privateNetworkClientServer" />
|
||||
|
|
|
@ -133,7 +133,6 @@
|
|||
<ClInclude Include="ServoControl\Servo.h" />
|
||||
<ClInclude Include="ServoControl\ServoControl.h" />
|
||||
<ClInclude Include="DefaultUrl.h" />
|
||||
<ClInclude Include="XRPkgChecker.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
|
@ -930,7 +929,6 @@
|
|||
<ClCompile Include="ServoControl\OpenGLES.cpp" />
|
||||
<ClCompile Include="ServoControl\Servo.cpp" />
|
||||
<ClCompile Include="ServoControl\ServoControl.cpp" />
|
||||
<ClCompile Include="XRPkgChecker.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Midl Include="App.idl">
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
<ClCompile Include="ServoControl\ServoControl.cpp">
|
||||
<Filter>ServoControl</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="XRPkgChecker.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="pch.h" />
|
||||
|
@ -39,7 +38,6 @@
|
|||
<Filter>ServoControl</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DefaultUrl.h" />
|
||||
<ClInclude Include="XRPkgChecker.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="Assets\Wide310x150Logo.scale-200.png">
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "pch.h"
|
||||
#include "XRPkgChecker.h"
|
||||
#include "logs.h"
|
||||
#include "winrt/Windows.Management.Deployment.h"
|
||||
|
||||
using namespace winrt::Windows::Management::Deployment;
|
||||
|
||||
namespace winrt {
|
||||
|
||||
void XRPkgChecker::OnInstalled(std::function<void()> callback,
|
||||
winrt::Windows::Foundation::TimeSpan interval) {
|
||||
timer.Stop();
|
||||
timer.Interval(interval);
|
||||
installed_callback = std::make_unique<std::function<void()>>(callback);
|
||||
timer.Tick({this, &XRPkgChecker::CheckXRPkgTick});
|
||||
timer.Start();
|
||||
}
|
||||
|
||||
void XRPkgChecker::StopTracking() {
|
||||
installed_callback.reset();
|
||||
timer.Stop();
|
||||
}
|
||||
|
||||
void XRPkgChecker::CheckXRPkgTick(Windows::Foundation::IInspectable const &,
|
||||
Windows::Foundation::IInspectable const &) {
|
||||
if (IsInstalled()) {
|
||||
(*installed_callback)();
|
||||
StopTracking();
|
||||
}
|
||||
}
|
||||
|
||||
void XRPkgChecker::OpenStore() {
|
||||
std::wstring url = L"ms-windows-store://pdp/?PFN=";
|
||||
Windows::Foundation::Uri uri{url + OPENXR_PACKAGE_NAME};
|
||||
Windows::System::Launcher::LaunchUriAsync(uri);
|
||||
}
|
||||
|
||||
bool XRPkgChecker::IsInstalled() {
|
||||
auto current_user = L"";
|
||||
for (auto package : PackageManager().FindPackagesForUser(current_user)) {
|
||||
if (package.Id().Name() == OPENXR_PACKAGE_SHORT_NAME) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace winrt
|
|
@ -1,30 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
namespace winrt {
|
||||
class XRPkgChecker {
|
||||
|
||||
public:
|
||||
void OnInstalled(std::function<void()> callback,
|
||||
winrt::Windows::Foundation::TimeSpan interval);
|
||||
bool IsInstalled();
|
||||
void StopTracking();
|
||||
void OpenStore();
|
||||
|
||||
private:
|
||||
std::unique_ptr<std::function<void()>> installed_callback;
|
||||
void CheckXRPkgTick(Windows::Foundation::IInspectable const &,
|
||||
Windows::Foundation::IInspectable const &);
|
||||
Windows::UI::Xaml::DispatcherTimer timer;
|
||||
inline static const hstring OPENXR_PACKAGE_NAME =
|
||||
L"Microsoft.MixedRealityRuntimeDeveloperPreview_8wekyb3d8bbwe";
|
||||
inline static const hstring OPENXR_PACKAGE_SHORT_NAME =
|
||||
L"Microsoft.MixedRealityRuntimeDeveloperPreview";
|
||||
};
|
||||
|
||||
} // namespace winrt
|
Loading…
Add table
Add a link
Reference in a new issue