mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-16 20:26:24 +02:00
Cleanup 'Private' HMD Preview State Machine Logic
This commit is contained in:
parent
dc3e1751cb
commit
feec52b4bb
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
|
||||
Item {
|
||||
|
|
|
@ -77,7 +77,7 @@ Item {
|
|||
UserActivityLogger.commerceWalletSetupProgress(timestamp, root.setupAttemptID,
|
||||
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'});
|
||||
} else {
|
||||
sendSignalToWallet({method: 'maybeEnableHmdPreview'});
|
||||
|
|
|
@ -885,13 +885,21 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
}
|
||||
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()
|
||||
//
|
||||
// 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 isHmdPreviewDisabledBySecurity = false;
|
||||
function fromQml(message) {
|
||||
switch (message.method) {
|
||||
case 'purchases_openWallet':
|
||||
|
@ -966,21 +974,19 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
openLoginWindow();
|
||||
break;
|
||||
case 'disableHmdPreview':
|
||||
var isHmdPreviewDisabled = Menu.isOptionChecked("Disable Preview");
|
||||
if (!isHmdPreviewDisabled) {
|
||||
if (!savedDisablePreviewOption) {
|
||||
savedDisablePreviewOption = Menu.isOptionChecked("Disable Preview");
|
||||
savedDisablePreviewOptionLocked = true;
|
||||
}
|
||||
|
||||
if (!savedDisablePreviewOption) {
|
||||
DesktopPreviewProvider.setPreviewDisabledReason("SECURE_SCREEN");
|
||||
Menu.setIsOptionChecked("Disable Preview", true);
|
||||
setTabletVisibleInSecondaryCamera(false);
|
||||
isHmdPreviewDisabledBySecurity = true;
|
||||
}
|
||||
break;
|
||||
case 'maybeEnableHmdPreview':
|
||||
if (isHmdPreviewDisabledBySecurity) {
|
||||
DesktopPreviewProvider.setPreviewDisabledReason("USER");
|
||||
Menu.setIsOptionChecked("Disable Preview", false);
|
||||
setTabletVisibleInSecondaryCamera(true);
|
||||
isHmdPreviewDisabledBySecurity = false;
|
||||
}
|
||||
maybeEnableHMDPreview();
|
||||
break;
|
||||
case 'purchases_openGoTo':
|
||||
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);
|
||||
|
||||
if ((!onWalletScreenNow && onWalletScreen) || (!onCommerceScreenNow && onCommerceScreen)) { // exiting wallet or commerce screen
|
||||
if (isHmdPreviewDisabledBySecurity) {
|
||||
DesktopPreviewProvider.setPreviewDisabledReason("USER");
|
||||
Menu.setIsOptionChecked("Disable Preview", false);
|
||||
setTabletVisibleInSecondaryCamera(true);
|
||||
isHmdPreviewDisabledBySecurity = false;
|
||||
}
|
||||
maybeEnableHMDPreview();
|
||||
}
|
||||
|
||||
onCommerceScreen = onCommerceScreenNow;
|
||||
|
@ -1205,6 +1206,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
removeOverlays();
|
||||
}
|
||||
function shutdown() {
|
||||
maybeEnableHMDPreview();
|
||||
deleteSendAssetParticleEffect();
|
||||
|
||||
ContextOverlay.contextOverlayClicked.disconnect(setCertificateInfo);
|
||||
|
|
Loading…
Reference in a new issue