mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-22 18:03:19 +02:00
Cleanup 'Private' HMD Preview State Machine Logic
This commit is contained in:
parent
ffab27d442
commit
a2f5891a0b
3 changed files with 19 additions and 29 deletions
|
@ -43,18 +43,6 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will cause a bug -- if you bring up security image selection in HUD mode while
|
|
||||||
// in HMD while having HMD preview enabled, then move, then finish passphrase selection,
|
|
||||||
// HMD preview will stay off.
|
|
||||||
// TODO: Fix this unlikely bug
|
|
||||||
onVisibleChanged: {
|
|
||||||
if (visible) {
|
|
||||||
sendSignalToWallet({method: 'disableHmdPreview'});
|
|
||||||
} else {
|
|
||||||
sendSignalToWallet({method: 'maybeEnableHmdPreview'});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Security Image
|
// Security Image
|
||||||
Item {
|
Item {
|
||||||
|
|
|
@ -77,7 +77,7 @@ Item {
|
||||||
UserActivityLogger.commerceWalletSetupProgress(timestamp, root.setupAttemptID,
|
UserActivityLogger.commerceWalletSetupProgress(timestamp, root.setupAttemptID,
|
||||||
Math.round((timestamp - root.startingTimestamp)/1000), currentStepNumber, root.setupStepNames[currentStepNumber - 1]);
|
Math.round((timestamp - root.startingTimestamp)/1000), currentStepNumber, root.setupStepNames[currentStepNumber - 1]);
|
||||||
|
|
||||||
if (root.activeView === "step_2" || root.activeView === "step_3") {
|
if (root.activeView === "step_3") {
|
||||||
sendSignalToWallet({method: 'disableHmdPreview'});
|
sendSignalToWallet({method: 'disableHmdPreview'});
|
||||||
} else {
|
} else {
|
||||||
sendSignalToWallet({method: 'maybeEnableHmdPreview'});
|
sendSignalToWallet({method: 'maybeEnableHmdPreview'});
|
||||||
|
|
|
@ -885,13 +885,21 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
}
|
}
|
||||||
sendAssetRecipient = null;
|
sendAssetRecipient = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var savedDisablePreviewOptionLocked = false;
|
||||||
|
var savedDisablePreviewOption = Menu.isOptionChecked("Disable Preview");;
|
||||||
|
function maybeEnableHMDPreview() {
|
||||||
|
setTabletVisibleInSecondaryCamera(true);
|
||||||
|
DesktopPreviewProvider.setPreviewDisabledReason("USER");
|
||||||
|
Menu.setIsOptionChecked("Disable Preview", savedDisablePreviewOption);
|
||||||
|
savedDisablePreviewOptionLocked = false;
|
||||||
|
}
|
||||||
|
|
||||||
// Function Name: fromQml()
|
// Function Name: fromQml()
|
||||||
//
|
//
|
||||||
// Description:
|
// Description:
|
||||||
// -Called when a message is received from Checkout.qml. The "message" argument is what is sent from the Checkout QML
|
// -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.
|
// in the format "{method, params}", like json-rpc.
|
||||||
var isHmdPreviewDisabledBySecurity = false;
|
|
||||||
function fromQml(message) {
|
function fromQml(message) {
|
||||||
switch (message.method) {
|
switch (message.method) {
|
||||||
case 'purchases_openWallet':
|
case 'purchases_openWallet':
|
||||||
|
@ -966,21 +974,19 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
openLoginWindow();
|
openLoginWindow();
|
||||||
break;
|
break;
|
||||||
case 'disableHmdPreview':
|
case 'disableHmdPreview':
|
||||||
var isHmdPreviewDisabled = Menu.isOptionChecked("Disable Preview");
|
if (!savedDisablePreviewOption) {
|
||||||
if (!isHmdPreviewDisabled) {
|
savedDisablePreviewOption = Menu.isOptionChecked("Disable Preview");
|
||||||
|
savedDisablePreviewOptionLocked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!savedDisablePreviewOption) {
|
||||||
DesktopPreviewProvider.setPreviewDisabledReason("SECURE_SCREEN");
|
DesktopPreviewProvider.setPreviewDisabledReason("SECURE_SCREEN");
|
||||||
Menu.setIsOptionChecked("Disable Preview", true);
|
Menu.setIsOptionChecked("Disable Preview", true);
|
||||||
setTabletVisibleInSecondaryCamera(false);
|
setTabletVisibleInSecondaryCamera(false);
|
||||||
isHmdPreviewDisabledBySecurity = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'maybeEnableHmdPreview':
|
case 'maybeEnableHmdPreview':
|
||||||
if (isHmdPreviewDisabledBySecurity) {
|
maybeEnableHMDPreview();
|
||||||
DesktopPreviewProvider.setPreviewDisabledReason("USER");
|
|
||||||
Menu.setIsOptionChecked("Disable Preview", false);
|
|
||||||
setTabletVisibleInSecondaryCamera(true);
|
|
||||||
isHmdPreviewDisabledBySecurity = false;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'purchases_openGoTo':
|
case 'purchases_openGoTo':
|
||||||
tablet.loadQMLSource("hifi/tablet/TabletAddressDialog.qml");
|
tablet.loadQMLSource("hifi/tablet/TabletAddressDialog.qml");
|
||||||
|
@ -1111,12 +1117,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
|| url.indexOf(MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH) !== -1);
|
|| url.indexOf(MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH) !== -1);
|
||||||
|
|
||||||
if ((!onWalletScreenNow && onWalletScreen) || (!onCommerceScreenNow && onCommerceScreen)) { // exiting wallet or commerce screen
|
if ((!onWalletScreenNow && onWalletScreen) || (!onCommerceScreenNow && onCommerceScreen)) { // exiting wallet or commerce screen
|
||||||
if (isHmdPreviewDisabledBySecurity) {
|
maybeEnableHMDPreview();
|
||||||
DesktopPreviewProvider.setPreviewDisabledReason("USER");
|
|
||||||
Menu.setIsOptionChecked("Disable Preview", false);
|
|
||||||
setTabletVisibleInSecondaryCamera(true);
|
|
||||||
isHmdPreviewDisabledBySecurity = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onCommerceScreen = onCommerceScreenNow;
|
onCommerceScreen = onCommerceScreenNow;
|
||||||
|
@ -1205,6 +1206,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
removeOverlays();
|
removeOverlays();
|
||||||
}
|
}
|
||||||
function shutdown() {
|
function shutdown() {
|
||||||
|
maybeEnableHMDPreview();
|
||||||
deleteSendAssetParticleEffect();
|
deleteSendAssetParticleEffect();
|
||||||
|
|
||||||
ContextOverlay.contextOverlayClicked.disconnect(setCertificateInfo);
|
ContextOverlay.contextOverlayClicked.disconnect(setCertificateInfo);
|
||||||
|
|
Loading…
Reference in a new issue