Esempio n. 1
0
 public void CreateWhatsNewSettingItem()
 {
     _settingsContainer.AddView(
         CreateSettingRow(this, "Show What's New", null, (sender, args) =>
                          WhatsNewDialog.Create(this)));
     _settingsContainer.AddView(CreateSettingDivider(this));
 }
Esempio n. 2
0
 public async Task ShowIfAppropriateAsync()
 {
     if (SystemInformation.IsAppUpdated)
     {
         var dialog = new WhatsNewDialog();
         await dialog.ShowAsync();
     }
 }
 internal static async Task ShowIfAppropriateAsync()
 {
     if (SystemInformation.IsAppUpdated && !shown)
     {
         shown = true;
         var dialog = new WhatsNewDialog();
         await dialog.ShowAsync();
     }
 }
Esempio n. 4
0
        public static async Task showWhatsNewDialog()
        {
            if (!Settings.getSettingBoolean(SettingsConsts.HIDE_WHATS_NEW_DIALOG))
            {
                WhatsNewDialog dialog = new WhatsNewDialog();
                await showDialogAsyncQueue(dialog);

                Settings.setSetting(SettingsConsts.HIDE_WHATS_NEW_DIALOG, !dialog.showOnStartup);
            }
        }
 public async Task ShowIfAppropriateAsync()
 {
     await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(
         CoreDispatcherPriority.Normal, async() =>
     {
         if (SystemInformation.IsAppUpdated && !shown)
         {
             shown      = true;
             var dialog = new WhatsNewDialog();
             await dialog.ShowAsync();
         }
     });
 }
        public async Task ShowIfAppropriateAsync()
        {
            var dispatcherQueue = DispatcherQueue.GetForCurrentThread();

            if (SystemInformation.Instance.IsAppUpdated && !isShown)
            {
                isShown = true;
                await dispatcherQueue.EnqueueAsync(async () =>
                {
                    var dialog = new WhatsNewDialog();
                    await dialog.ShowAsync();
                });
            }
        }
Esempio n. 7
0
 public void ShowUpdateDialog(string version, string whatsNew)
 {
     if (this.InvokeRequired)
     {
         ShowUpdateDialogCallback d = new ShowUpdateDialogCallback(ShowUpdateDialog);
         this.Invoke(d, new object[] { version, whatsNew });
     }
     else
     {
         whatsNew = whatsNew.Replace("\n-", "\n\u2022");
         var dialog = new WhatsNewDialog(version, whatsNew);
         dialog.ShowDialog();
         if (dialog.close)
         {
             this.Close();
         }
     }
 }
        internal static async Task ShowIfAppropriateAsync()
        {
            var complete = new TaskCompletionSource <object>();

            await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(
                CoreDispatcherPriority.Normal, async() =>
            {
#if DEBUG
#else
                if (SystemInformation.IsAppUpdated && !shown)
#endif
                {
                    shown      = true;
                    var dialog = new WhatsNewDialog();
                    await dialog.ShowAsync();
                }
                complete.SetResult(null);
            });

            await complete.Task;
        }
Esempio n. 9
0
        internal static async Task ShowIfAppropiateAsync()
        {
            var currentVersion = PackageVersionToReadableString(Package.Current.Id.Version);

            var lastVersion = await ApplicationData.Current.LocalSettings.ReadAsync <string>(nameof(currentVersion));

            if (lastVersion == null)
            {
                await ApplicationData.Current.LocalSettings.SaveAsync(nameof(currentVersion), currentVersion);
            }
            else
            {
                if (currentVersion != lastVersion)
                {
                    await ApplicationData.Current.LocalSettings.SaveAsync(nameof(currentVersion), currentVersion);

                    var dialog = new WhatsNewDialog();
                    await dialog.ShowAsync();
                }
            }
        }
Esempio n. 10
0
        internal static async Task ShowIfAppropriateAsync()
        {
            await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(
                CoreDispatcherPriority.Normal, async() =>
            {
                if (SystemInformation.Instance.IsAppUpdated && !shown)
                {
                    var agents      = await Core.Services.UserAgentService.GetAgentDataAsync(x => x.Name == "App Default");
                    var updateAgent = agents.FirstOrDefault();
                    if (updateAgent != null)
                    {
                        updateAgent.AgentString = $"MyRSSFeeds/{SystemInfo.AppVersion} (Windows NT 10.0; {SystemInfo.OperatingSystemArchitecture})";
                        await Core.Services.UserAgentService.UpdateAgentAsync(updateAgent);
                    }

                    shown      = true;
                    var dialog = new WhatsNewDialog();
                    await dialog.ShowAsync();
                }
            });
        }
        private async Task LoadAppAsync()
        {
            // Setup listening for theme changes:
            ThemeUtils.SetupThemeListener();

            // Setup listener for window activated changes:
            UiUtils.SetupWindowActivatedListener();

            // Setup window:
            UiUtils.SetupWindow(Application.Current);

            // Setup App Center crashes, push:
            AppCenterHelper.SetupAppCenter(APP_CENTER_PUSH_CALLBACK);

            // Perform app update tasks if necessary:
            await AppUpdateHelper.OnAppStartAsync();

            // Register background tasks:
            Logger.Info("Registering background tasks...");
            await BackgroundTaskHelper.RegisterBackgroundTasksAsync();

            Logger.Info("Finished registering background tasks.");

            // Init the chat background helper:
            ChatBackgroundHelper.INSTANCE.Init();

            // Load all chats:
            await DataCache.INSTANCE.InitAsync();

            // Connect to all clients:
            ConnectionHandler.INSTANCE.ConnectAll();

            // Remove the messages will be send later toast:
            ToastHelper.RemoveToastGroup(ToastHelper.WILL_BE_SEND_LATER_TOAST_GROUP);

            // Update badge notification count:
            ToastHelper.UpdateBadgeNumber();

            // Show initial start dialog:
            if (!Storage.Classes.Settings.GetSettingBoolean(SettingsConsts.HIDE_INITIAL_START_DIALOG_ALPHA))
            {
                InitialStartDialog initialStartDialog = new InitialStartDialog();
                await UiUtils.ShowDialogAsync(initialStartDialog);
            }

            // Show what's new dialog:
            if (!Storage.Classes.Settings.GetSettingBoolean(SettingsConsts.HIDE_WHATS_NEW_DIALOG))
            {
                WhatsNewDialog whatsNewDialog = new WhatsNewDialog();
                await UiUtils.ShowDialogAsync(whatsNewDialog);

                if (whatsNewDialog.VIEW_MODEL.MODEL.ToDonatePageNavigated)
                {
                    if (!Storage.Classes.Settings.GetSettingBoolean(SettingsConsts.INITIALLY_STARTED))
                    {
                        PerformInitialStartSetup();
                    }
                    return;
                }
            }

            EvaluateActivationArgs();
        }
Esempio n. 12
0
 private async void WhatsNewClick(object sender, RoutedEventArgs e)
 {
     WhatsNewButton.Visibility = Visibility.Collapsed;
     WhatsNewDialog dialog = new WhatsNewDialog();
     await dialog.ShowAsync();
 }
Esempio n. 13
0
 public void DisplayWhatsNewDialog()
 {
     WhatsNewDialog.Create(this);
 }
Esempio n. 14
0
        private async Task LoadAppAsync()
        {
            // Setup listening for theme changes:
            ThemeUtils.SetupThemeListener();

            // Setup listener for window activated changes:
            UiUtils.SetupWindowActivatedListener();

            // Setup window:
            UiUtils.SetupWindow(Application.Current);

            // Setup App Center crashes, push:
            AppCenterHelper.SetupAppCenter();
            await ShowReportCrashIfNeeded();

            // Perform app update tasks if necessary:
            await AppUpdateHelper.OnAppStartAsync();

            // Register background tasks:
            Logger.Info("Registering background tasks...");
            await BackgroundTaskHelper.RegisterBackgroundTasksAsync();

            Logger.Info("Finished registering background tasks.");

            // Initialize the chat background helper:
            ChatBackgroundHelper.INSTANCE.Init();

            // Initialize the curated list of XMPP server providers:
            await XMPPProviders.INSTANCE.initAsync();

            // Load all chats:
            await DataCache.INSTANCE.InitAsync();

            // Connect to all clients:
            ConnectionHandler.INSTANCE.ConnectAll();

            // Initialize push:
            PushManager.INSTANCE.Init();

            // Remove toasts:
            ToastHelper.RemoveToastGroup(ToastHelper.WILL_BE_SEND_LATER_TOAST_GROUP);
            ToastHelper.RemoveChatToastGroups();

            // Update badge notification count:
            ToastHelper.ResetBadgeCount();

            // Show welcome dialog:
            if (!Storage.Classes.Settings.GetSettingBoolean(SettingsConsts.HIDE_WELCOME_DIALOG))
            {
                InitialStartDialog initialStartDialog = new InitialStartDialog();
                await UiUtils.ShowDialogAsync(initialStartDialog);
            }

            // Show what's new dialog:
            if (!Storage.Classes.Settings.GetSettingBoolean(SettingsConsts.HIDE_WHATS_NEW_DIALOG))
            {
                WhatsNewDialog whatsNewDialog = new WhatsNewDialog();
                await UiUtils.ShowDialogAsync(whatsNewDialog);

                if (whatsNewDialog.VIEW_MODEL.MODEL.ToDonatePageNavigated)
                {
                    if (!Storage.Classes.Settings.GetSettingBoolean(SettingsConsts.INITIALLY_STARTED))
                    {
                        PerformInitialStartSetup();
                    }
                    return;
                }
            }

            EvaluateActivationArgs();
        }
Esempio n. 15
0
        private async Task LoadAppAsync()
        {
            // Set requested theme:
            UiUtils.LoadRequestedTheme();

            // Setup listening for theme changes:
            UiUtils.SetupThemeListener();

            // Setup window:
            UiUtils.SetupWindow(Application.Current);

            // Setup App Center crashes, push:
            AppCenterHelper.SetupAppCenter(APP_CENTER_PUSH_CALLBACK);

            // Perform App update tasks if necessary:
            await AppUpdateHelper.OnAppStartAsync();

            // Register background tasks:
            Logger.Info("Registering background tasks...");
            await BackgroundTaskHelper.RegisterBackgroundTasksAsync();

            Logger.Info("Finished registering background tasks.");

            // Init all db managers to force event subscriptions:
            await InitDBManagersAsync();

            // Init the chat background helper:
            ChatBackgroundHelper.INSTANCE.Init();

            // Setup push server connection:

            /*if (!Settings.getSettingBoolean(SettingsConsts.DISABLE_PUSH))
             * {
             *  Push_App_Server.Classes.PushManager.init();
             * }*/

            if (ACTIVATION_ARGS.PreviousExecutionState == ApplicationExecutionState.Terminated)
            {
                // TODO: Load state from previously suspended application
            }

            // Connect to all clients:
            ConnectionHandler.INSTANCE.connectAll();

            // Remove the messages will be send later toast:
            ToastHelper.removeToastGroup(ToastHelper.WILL_BE_SEND_LATER_TOAST_GROUP);

            // Show initial start dialog:
            if (!Data_Manager2.Classes.Settings.getSettingBoolean(SettingsConsts.HIDE_INITIAL_START_DIALOG_ALPHA))
            {
                InitialStartDialog initialStartDialog = new InitialStartDialog();
                await UiUtils.ShowDialogAsync(initialStartDialog);
            }

            // Show what's new dialog:
            if (!Data_Manager2.Classes.Settings.getSettingBoolean(SettingsConsts.HIDE_WHATS_NEW_DIALOG))
            {
                WhatsNewDialog whatsNewDialog = new WhatsNewDialog();
                await UiUtils.ShowDialogAsync(whatsNewDialog);

                if (whatsNewDialog.VIEW_MODEL.MODEL.ToDonatePageNavigated)
                {
                    if (!Data_Manager2.Classes.Settings.getSettingBoolean(SettingsConsts.INITIALLY_STARTED))
                    {
                        PerformInitialStartSetup();
                    }
                    return;
                }
            }

            EvaluateActivationArgs();
        }
Esempio n. 16
0
 private async void Whatsnew_Click(object sender, RoutedEventArgs e)
 {
     var dialog = new WhatsNewDialog();
     await dialog.ShowAsync();
 }