Merge pull request #12324 from ElderOrb/FB11844

Fix the issue with not re-enabling preview after it was auto-disabled by wallet/marketplace
This commit is contained in:
John Conklin II 2018-02-07 14:31:20 -08:00 committed by GitHub
commit 40851b097f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 17 deletions

View file

@ -636,14 +636,9 @@
openLoginWindow();
break;
case 'disableHmdPreview':
isHmdPreviewDisabled = Menu.isOptionChecked("Disable Preview");
DesktopPreviewProvider.setPreviewDisabledReason("SECURE_SCREEN");
Menu.setIsOptionChecked("Disable Preview", true);
break;
break; // do nothing here, handled in marketplaces.js
case 'maybeEnableHmdPreview':
DesktopPreviewProvider.setPreviewDisabledReason("USER");
Menu.setIsOptionChecked("Disable Preview", isHmdPreviewDisabled);
break;
break; // do nothing here, handled in marketplaces.js
case 'passphraseReset':
onButtonClicked();
onButtonClicked();
@ -731,11 +726,7 @@
// -Called when the TabletScriptingInterface::screenChanged() signal is emitted. The "type" argument can be either the string
// value of "Home", "Web", "Menu", "QML", or "Closed". The "url" argument is only valid for Web and QML.
function onTabletScreenChanged(type, url) {
var onWalletScreenNow = (type === "QML" && url === WALLET_QML_SOURCE);
if (!onWalletScreenNow && onWalletScreen) {
DesktopPreviewProvider.setPreviewDisabledReason("USER");
}
onWalletScreen = onWalletScreenNow;
onWalletScreen = (type === "QML" && url === WALLET_QML_SOURCE);
wireEventBridge(onWalletScreen);
// Change button to active when window is first openend, false otherwise.
if (button) {

View file

@ -112,11 +112,23 @@ var selectionDisplay = null; // for gridTool.js to ignore
var referrerURL; // Used for updating Purchases QML
var filterText; // Used for updating Purchases QML
var onWalletScreen = false;
function onScreenChanged(type, url) {
onMarketplaceScreen = type === "Web" && url.indexOf(MARKETPLACE_URL) !== -1;
onWalletScreen = url.indexOf(MARKETPLACE_WALLET_QML_PATH) !== -1;
var onWalletScreenNow = url.indexOf(MARKETPLACE_WALLET_QML_PATH) !== -1;
onCommerceScreen = type === "QML" && (url.indexOf(MARKETPLACE_CHECKOUT_QML_PATH) !== -1 || url === MARKETPLACE_PURCHASES_QML_PATH
|| url.indexOf(MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH) !== -1);
if (!onWalletScreenNow && onWalletScreen) { // exiting wallet screen
if (isHmdPreviewDisabledBySecurity) {
DesktopPreviewProvider.setPreviewDisabledReason("USER");
Menu.setIsOptionChecked("Disable Preview", false);
isHmdPreviewDisabledBySecurity = false;
}
}
onWalletScreen = onWalletScreenNow;
wireEventBridge(onMarketplaceScreen || onCommerceScreen || onWalletScreen);
if (url === MARKETPLACE_PURCHASES_QML_PATH) {
@ -480,7 +492,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
// Description:
// -Called when a message is received from Checkout.qml. The "message" argument is what is sent from the Checkout QML
// in the format "{method, params}", like json-rpc.
var isHmdPreviewDisabled = true;
var isHmdPreviewDisabledBySecurity = false;
function fromQml(message) {
switch (message.method) {
case 'purchases_openWallet':
@ -548,11 +560,19 @@ var selectionDisplay = null; // for gridTool.js to ignore
openLoginWindow();
break;
case 'disableHmdPreview':
isHmdPreviewDisabled = Menu.isOptionChecked("Disable Preview");
Menu.setIsOptionChecked("Disable Preview", true);
var isHmdPreviewDisabled = Menu.isOptionChecked("Disable Preview");
if (!isHmdPreviewDisabled) {
DesktopPreviewProvider.setPreviewDisabledReason("SECURE_SCREEN");
Menu.setIsOptionChecked("Disable Preview", true);
isHmdPreviewDisabledBySecurity = true;
}
break;
case 'maybeEnableHmdPreview':
Menu.setIsOptionChecked("Disable Preview", isHmdPreviewDisabled);
if (isHmdPreviewDisabledBySecurity) {
DesktopPreviewProvider.setPreviewDisabledReason("USER");
Menu.setIsOptionChecked("Disable Preview", false);
isHmdPreviewDisabledBySecurity = false;
}
break;
case 'purchases_openGoTo':
tablet.loadQMLSource("hifi/tablet/TabletAddressDialog.qml");