Revert " Prompt user to install OpenXR package if not installed"

This reverts commit 75b522d210.
This commit is contained in:
Paul Rouget 2019-12-06 10:24:23 +01:00
parent 138e50dc67
commit 5c6e38d1b4
8 changed files with 2 additions and 126 deletions

View file

@ -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() {

View file

@ -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

View file

@ -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>

View file

@ -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" />

View file

@ -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">

View file

@ -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">

View file

@ -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

View file

@ -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