/// <summary>
        /// Checks that a document has finished Printing.
        /// </summary>
        /// <param name="initialJobCount"></param>
        /// <returns></returns>
        public override bool FinishProcessDelete(int initialJobCount)
        {
            bool popUpFound = _jediOmniPopupManager.WaitForPopup(TimeSpan.FromSeconds(2));
            bool success    = false;

            if (popUpFound)
            {
                _controlPanel.Press("#hpid-button-yes");
            }


            Wait.ForTrue(() =>
            {
                success = base.FinishProcessDelete(initialJobCount);
                return(success);
            }
                         , TimeSpan.FromSeconds(20));
            return(success);
        }
        private bool ProcessNoStatusBanner(ScanExecutionOptions executionOptions)
        {
            if (_popupManager.WaitForPopup("Contacting Quota server", TimeSpan.FromSeconds(2)))
            {
                _popupManager.HandleTemporaryPopup("Contacting Quota server", TimeSpan.FromSeconds(30));
            }

            _notificationPanel.WaitForNotDisplaying("Initiating job");
            _notificationPanel.WaitForNotDisplaying("Pending");
            RecordEvent(DeviceWorkflowMarker.ProcessingJobEnd);

            if (executionOptions.JobBuildSegments == 0)
            {
                RecordEvent(DeviceWorkflowMarker.ScanJobBegin);
                _notificationPanel.WaitForNotDisplaying(_idleTimeoutOffset, "Scanning");
                RecordEvent(DeviceWorkflowMarker.ScanJobEnd);
            }

            return(MarkSendingJob(statusMsg: string.Empty));
        }
        /// <summary>
        /// Checks the device control panel for successful authentication.
        /// </summary>
        /// <returns>
        ///   <c>true</c> if the authentication operation is valid, <c>false</c> otherwise.
        /// </returns>
        public virtual bool ValidateAuthentication()
        {
            bool signedIn = true; //Assume the login operation was successful

            System.Diagnostics.Debug.WriteLine($"{DateTime.Now}: JediOmniAppAuthenticatorBase::ValidateAuthentication::Checking for indication of login status.");
            _popupManager.WaitForPopup(TimeSpan.FromSeconds(5));

            List<Func<bool>> handlers = new List<Func<bool>>
            {             
                () => UserNotification(out signedIn),
                () => HomeScreenAuthenticationNotification(out signedIn),
                () => OnOxpdApplicationScreen(out signedIn),
                () => InvalidUserIdPassword(ref signedIn),
                () => OnSignInScreen(ref signedIn)
            };

            InvokeValidationHandlers(handlers);

            System.Diagnostics.Debug.WriteLine($"{DateTime.Now}: JediOmniAppAuthenticatorBase::ValidateAuthentication::SignIn status: {signedIn}.");
            return signedIn;
        }