src/vs/workbench/contrib/surveys/browser/ces.contribution.ts/CESContribution/schedulePrompt
class CESContribution:	private async schedulePrompt(): Promise<void> {
		let waitTimeToShowSurvey = 0;
		const remindLaterDate = this.storageService.get(REMIND_LATER_DATE_KEY, StorageScope.GLOBAL, '');
		if (remindLaterDate) {
			const timeToRemind = new Date(remindLaterDate).getTime() + REMIND_LATER_DELAY - Date.now();
			if (timeToRemind > 0) {
				waitTimeToShowSurvey = timeToRemind;
			}
		} else {
			const info = await this.telemetryService.getTelemetryInfo();
			const timeFromInstall = Date.now() - new Date(info.firstSessionDate).getTime();
			const isNewInstall = !isNaN(timeFromInstall) && timeFromInstall < MAX_INSTALL_AGE;

			// Installation is older than MAX_INSTALL_AGE
			if (!isNewInstall) {
				this.skipSurvey();
				return;
			}
			if (timeFromInstall < WAIT_TIME_TO_SHOW_SURVEY) {
				waitTimeToShowSurvey = WAIT_TIME_TO_SHOW_SURVEY - timeFromInstall;
			}
		}
		/* __GDPR__
		"cesSurvey:schedule" : { }
		*/
		this.telemetryService.publicLog('cesSurvey:schedule');

		this.promptDelayer.trigger(async () => {
			await this.promptUser();
		}, Math.max(waitTimeToShowSurvey, MIN_WAIT_TIME_TO_SHOW_SURVEY));
	}