/////// <summary> /////// Initializes the app service on the host process /////// </summary> ////protected override void OnBackgroundActivated(BackgroundActivatedEventArgs args) ////{ //// base.OnBackgroundActivated(args); //// if (args.TaskInstance.TriggerDetails is AppServiceTriggerDetails) //// { //// appServiceDeferral = args.TaskInstance.GetDeferral(); //// AppServiceTriggerDetails details = args.TaskInstance.TriggerDetails as AppServiceTriggerDetails; //// Connection = details.AppServiceConnection; //// } //// else if (args.TaskInstance.TriggerDetails is RawNotification) //// { //// var task = new NotificationTask(); //// task.Run(args.TaskInstance); //// } //// else if (args.TaskInstance.TriggerDetails is ToastNotificationActionTriggerDetail) //// { //// // TODO: upgrade the task to take advanges from in-process execution. //// var task = new InteractiveTask(); //// task.Run(args.TaskInstance); //// } ////} public override Task OnInitializeAsync(IActivatedEventArgs args) { //Locator.Configure(); //UnigramContainer.Current.ResolveType<IGenerationService>(); var passcode = TLContainer.Current.Resolve <IPasscodeService>(); if (passcode != null && passcode.IsEnabled) { passcode.Lock(); InactivityHelper.Initialize(passcode.AutolockTimeout); } if (Window.Current != null) { Execute.Initialize(); Window.Current.Activated -= Window_Activated; Window.Current.Activated += Window_Activated; Window.Current.VisibilityChanged -= Window_VisibilityChanged; Window.Current.VisibilityChanged += Window_VisibilityChanged; TLWindowContext.GetForCurrentView().UpdateTitleBar(); Theme.Current.Update(); //NotifyThemeChanged(); } return(base.OnInitializeAsync(args)); }
public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args) { if (TLContainer.Current.Passcode.IsLockscreenRequired) { ShowPasscode(); } if (startKind == StartKind.Activate) { var lifetime = TLContainer.Current.Lifetime; var sessionId = lifetime.ActiveItem.Id; var id = Toast.GetSession(args); if (id != null) { lifetime.ActiveItem = lifetime.Items.FirstOrDefault(x => x.Id == id.Value) ?? lifetime.ActiveItem; } if (sessionId != TLContainer.Current.Lifetime.ActiveItem.Id) { var root = Window.Current.Content as RootPage; root.Switch(lifetime.ActiveItem); } } var navService = WindowContext.GetForCurrentView().NavigationServices.GetByFrameId($"{TLContainer.Current.Lifetime.ActiveItem.Id}"); var service = TLContainer.Current.Resolve <IProtoService>(); if (service == null) { return; } var state = service.GetAuthorizationState(); if (state == null) { return; } TLWindowContext.GetForCurrentView().SetActivatedArgs(args, navService); TLWindowContext.GetForCurrentView().UpdateTitleBar(); Window.Current.Activated -= Window_Activated; Window.Current.Activated += Window_Activated; Window.Current.VisibilityChanged -= Window_VisibilityChanged; Window.Current.VisibilityChanged += Window_VisibilityChanged; ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(320, 500)); //SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible; var dispatcher = Window.Current.Dispatcher; await Task.Run(() => OnStartSync(dispatcher)); //return Task.CompletedTask; }
private void Update(Chat chat, Action action) { Execute.BeginOnUIThread(() => { if (_sessionService.IsActive) { var service = WindowContext.GetForCurrentView().NavigationServices.GetByFrameId("Main" + _protoService.SessionId); if (service == null) { return; } if (TLWindowContext.GetForCurrentView().ActivationState != Windows.UI.Core.CoreWindowActivationState.Deactivated && service.CurrentPageType == typeof(ChatPage) && (long)service.CurrentPageParam == chat.Id) { return; } } action(); }); }
private void UnmaskTitleAndStatusBar() { TLWindowContext.GetForCurrentView().UpdateTitleBar(); }