コード例 #1
0
        public void OnPackageLoad(IdeIntegration ideIntegration)
        {
            IdeIntegration = ideIntegration;

            if (IsDevBuild)
            {
                tracer.Trace("Running on 'dev' version on {0}", this, ideIntegration);
            }

            var today  = DateTime.Today;
            var status = GetInstallStatus();

            if (!status.IsInstalled)
            {
                // new user
                if (ShowNotification(GuidanceNotification.AfterInstall))
                {
                    _analyticsTransmitter.TransmitExtensionInstalledEvent();

                    status.InstallDate      = today;
                    status.InstalledVersion = CurrentVersion;
                    status.LastUsedDate     = today;

                    UpdateStatus(status);
                    CheckFileAssociation();
                }
            }
            else if (status.InstalledVersion < CurrentVersion)
            {
                //upgrading user
                CheckFileAssociation();
            }

            _analyticsTransmitter.TransmitExtensionLoadedEvent();
        }
コード例 #2
0
        public void OnPackageLoad(IdeIntegration ideIntegration)
        {
            IdeIntegration = ideIntegration;

            if (IsDevBuild)
            {
                tracer.Trace("Running on 'dev' version on {0}", this, ideIntegration);
            }

            var today = DateTime.Today;
            var status = GetInstallStatus();

            if (!status.IsInstalled)
            {
                // new user
                if (ShowNotification(GuidanceNotification.AfterInstall))
                {
                    status.InstallDate = today;
                    status.InstalledVersion = CurrentVersion;
                    status.LastUsedDate = today;

                    UpdateStatus(status);
                    CheckFileAssociation();
                }
            }
            else if (status.InstalledVersion < CurrentVersion)
            {
                //upgrading user   
                CheckFileAssociation();
            }
        }
コード例 #3
0
 public InstallServices(IGuidanceNotificationService notificationService, IIdeTracer tracer, IFileAssociationDetector fileAssociationDetector, IStatusAccessor statusAccessor, IAnalyticsTransmitter analyticsTransmitter, ICurrentExtensionVersionProvider currentExtensionVersionProvider, IDevBuildChecker devBuildChecker)
 {
     this.notificationService = notificationService;
     this.tracer = tracer;
     this.fileAssociationDetector     = fileAssociationDetector;
     this.statusAccessor              = statusAccessor;
     _analyticsTransmitter            = analyticsTransmitter;
     _currentExtensionVersionProvider = currentExtensionVersionProvider;
     _devBuildChecker = devBuildChecker;
     IdeIntegration   = IdeIntegration.Unknown;
 }