Esempio n. 1
0
        public void Activate(CachedFileUpdaterActivatedEventArgs args)
        {
            // cache CachedFileUpdaterUI
            cachedFileUpdaterUI = args.CachedFileUpdaterUI;

            cachedFileUpdaterUI.FileUpdateRequested += CachedFileUpdaterUI_FileUpdateRequested;
            cachedFileUpdaterUI.UIRequested         += CachedFileUpdaterUI_UIRequested;

            switch (cachedFileUpdaterUI.UpdateTarget)
            {
            case CachedFileTarget.Local:
                scenarios = new List <Scenario> {
                    new Scenario()
                    {
                        Title = "Get latest version", ClassType = typeof(FilePickerContracts.CachedFileUpdater_Local)
                    }
                };
                break;

            case CachedFileTarget.Remote:
                scenarios = new List <Scenario> {
                    new Scenario()
                    {
                        Title = "Remote file update", ClassType = typeof(FilePickerContracts.CachedFileUpdater_Remote)
                    }
                };
                break;
            }

            Window.Current.Activate();
        }
Esempio n. 2
0
        public void Activate(CachedFileUpdaterActivatedEventArgs args)
        {
            // cache CachedFileUpdaterUI
            cachedFileUpdaterUI = args.CachedFileUpdaterUI;

            // Currently, the Desktop device family activates the app in the background. Other device families
            // use a background task activation. We need to handle both cases.
            //
            // We can check to see if there is UI on activation to determine which case we are in, because
            // we receive the FileUpdateRequest differently.
            //
            // If activated in the foreground (visible), then the FileUpdateRequest is passed explicitly as
            // part of the activation.
            //
            // If activated in the background (not visible), then we subscribe to the FileUpdateRequested
            // and UIRequest events. The FileUpdateRequest is received as part of the FileUpdatedRequested event,
            // and UIRequested is raised when user input is needed to resolve a conflict.

            bool isForegroundActivated = (cachedFileUpdaterUI.UIStatus == UIStatus.Visible);

            if (isForegroundActivated)
            {
                fileUpdateRequest         = cachedFileUpdaterUI.UpdateRequest;
                fileUpdateRequestDeferral = cachedFileUpdaterUI.GetDeferral();
            }
            else
            {
                cachedFileUpdaterUI.FileUpdateRequested += CachedFileUpdaterUI_FileUpdateRequested;
                cachedFileUpdaterUI.UIRequested         += CachedFileUpdaterUI_UIRequested;
            }

            switch (cachedFileUpdaterUI.UpdateTarget)
            {
            case CachedFileTarget.Local:
                scenarios = new List <Scenario> {
                    new Scenario()
                    {
                        Title = "Get latest version", ClassType = typeof(FilePickerContracts.CachedFileUpdater_Local)
                    }
                };
                break;

            case CachedFileTarget.Remote:
                scenarios = new List <Scenario> {
                    new Scenario()
                    {
                        Title = "Remote file update", ClassType = typeof(FilePickerContracts.CachedFileUpdater_Remote)
                    }
                };
                break;
            }

            if (isForegroundActivated)
            {
                Window.Current.Content = this;
                this.OnNavigatedTo(null);
                Window.Current.Activate();
            }
        }
Esempio n. 3
0
        // 通过缓存文件更新程序(CachedFileUpdater)激活应用程序时所调用的方法
        protected override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
        {
            var rootFrame = new Frame();

            rootFrame.Navigate(typeof(MyCachedFileUpdater), args);
            Window.Current.Content = rootFrame;

            Window.Current.Activate();
        }
Esempio n. 4
0
        protected override sealed async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
        {
            await this.HandleWaitForConstructedActionsAsync();

            AppStartInfo info = AppStartInfo.Default;

            await this.OnPreStartAsync(args, info);

            await this.OnCacheFileUpdaterStartAsync(args, info);

            this.InternalStartAsync(args, info);
        }
 protected override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     AppStarted();
     base.OnCachedFileUpdaterActivated(args);
 }
 protected sealed override async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     await Activated(args);
 }
        protected override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
        {
            var CachedFileUpdaterPage = new SDKTemplate.CachedFileUpdaterPage();

            CachedFileUpdaterPage.Activate(args);
        }
Esempio n. 8
0
 protected override sealed void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs e)
 {
     DebugWrite(); StartupOrchestratorAsync(e, StartKind.Activate);
 }
Esempio n. 9
0
 protected override sealed async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     DebugWrite(); await InternalActivatedAsync(args);
 }
Esempio n. 10
0
 protected sealed override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     Logger.Info();
     CallInternalActivated(args);
 }
Esempio n. 11
0
 protected override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     base.OnCachedFileUpdaterActivated(args);
     Activate(args);
 }
Esempio n. 12
0
 /// <summary>
 /// 应用程序作为缓存文件更新器时激活使用此方法作为入口。
 /// </summary>
 /// <param name="args">事件的事件数据。</param>
 /// <param name="info"></param>
 /// <returns></returns>
 protected virtual Task OnCacheFileUpdaterStartAsync(CachedFileUpdaterActivatedEventArgs args, AppStartInfo info)
 {
     return(Task.FromResult <object>(null));
 }
Esempio n. 13
0
 protected sealed override async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs e)
 {
     this.DebugWriteMessage(); await InternalActivatedAsync(e);
 }
 public void CachedFileUpdaterActivate(CachedFileUpdaterActivatedEventArgs e)
 {
     EventDispatcher.Dispatch(() => Activated?.Invoke(this, e));
 }
Esempio n. 15
0
 protected sealed override async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs e)
 {
     this.LogInfo(); await InternalActivatedAsync(e);
 }
Esempio n. 16
0
 protected override sealed void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args) =>
 CallInternalActivatedAsync(args);
Esempio n. 17
0
 protected virtual Task HandleActivation(CachedFileUpdaterActivatedEventArgs args)
 {
     return(Task.CompletedTask);
 }
 protected sealed override async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs e) => await InternalStartAsync(new StartArgs(e, StartKinds.Activate));
Esempio n. 19
0
 protected override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     InternalActivated(args);
 }
Esempio n. 20
0
 protected override async void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     await InternalActivatedAsync(args);
 }
 protected override void OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
 {
     _webUIApplication.CachedFileUpdaterActivate(args);
     base.OnCachedFileUpdaterActivated(args);
 }