Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ShareEventArgs"/> class.
        /// </summary>
        /// <param name="previousExecutionState">The <see cref="ApplicationExecutionState">execution state</see> of the application before sharing began.</param>
        /// <param name="shareOperation">The representation of the <see cref="ShareOperation">share operation</see>.</param>
        public ShareEventArgs( ApplicationExecutionState previousExecutionState, ShareOperation shareOperation )
        {
            Arg.NotNull( shareOperation, nameof( shareOperation ) );

            PreviousExecutionState = previousExecutionState;
            adapted = shareOperation;
            dataPackageView = new Lazy<IDataPackageView>( () => new DataPackageViewAdapter( adapted.Data ) );
        }
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            ShareOperation shareOperation = args.ShareOperation;

            if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
            {
                var sis = await shareOperation.Data.GetStorageItemsAsync();

                shareOperation.ReportStarted();
            }

            shareOperation.ReportCompleted();
        }
Beispiel #3
0
        /// <summary>
        /// Wird aufgerufen, wenn eine andere Anwendung Inhalte durch diese Anwendung freigeben möchte.
        /// </summary>
        /// <param name="e">Aktivierungsdaten zum Koordinieren des Prozesses mit Windows.</param>
        public async void Activate(ShareTargetActivatedEventArgs e)
        {
            this.shareOperation = e.ShareOperation;

            var shareProperties = this.shareOperation.Data.Properties;

            this.DefaultViewModel["Title"]       = shareProperties.Title;
            this.DefaultViewModel["Description"] = shareProperties.Description;
            this.DefaultViewModel["Sharing"]     = false;
            this.DefaultViewModel["Url"]         = await shareOperation.Data.GetWebLinkAsync();

            Window.Current.Content = this;
            Window.Current.Activate();
        }
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            Initialize(false);
            ShareOperation shareOperation = args.ShareOperation;

            if (shareOperation.Data.Contains(StandardDataFormats.WebLink))
            {
                Uri uri = await shareOperation.Data.GetWebLinkAsync();

                await CoreApplication.Views.First().Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => {
                    AppLogic.Analyze(uri);
                });
            }
        }
Beispiel #5
0
        /// <summary>
        /// Вызывается при обычном запуске приложения пользователем. Будут использоваться другие точки входа,
        /// например, если приложение запускается для открытия конкретного файла.
        /// </summary>
        /// <param name="e">Сведения о запросе и обработке запуска.</param>
        ///

        protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            if (args != null)
            {
                shareOperation = args.ShareOperation;
                if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
                {
                    var rootFrame = new Frame();
                    rootFrame.Navigate(typeof(MainPage), args.ShareOperation);
                    Window.Current.Content = rootFrame;
                    Window.Current.Activate();
                }
            }
        }
Beispiel #6
0
        public async Task SetupShareDataAsync(ShareOperation share)
        {
            // store the share operation - we need to do this to hold a
            // reference otherwise the sharing subsystem will assume
            // that we've finished...
            this.ShareOperation = share;

            // get the properties out...
            var data  = share.Data;
            var props = data.Properties;

            this.Title       = props.Title;
            this.Description = props.Description;

            // now the text...
            if (data.Contains(StandardDataFormats.Text))
            {
                this.SharedText = await data.GetTextAsync();
            }

            // do we have an image? if so, load it...
            if (data.Contains(StandardDataFormats.StorageItems) || data.Contains(StandardDataFormats.Bitmap))
            {
                IRandomAccessStreamReference reference = null;

                // load the first one...
                if (data.Contains(StandardDataFormats.StorageItems))
                {
                    var file = (IStorageFile)(await data.GetStorageItemsAsync()).FirstOrDefault();
                    reference = RandomAccessStreamReference.CreateFromFile(file);
                }
                else
                {
                    reference = await data.GetBitmapAsync();
                }

                // load it into an image...
                var image = new BitmapImage();
                using (var stream = await reference.OpenReadAsync())
                    image.SetSource(stream);

                // set...
                this.SharedImage = image;
                this.ShowImage   = true;
            }

            // tell the OS that we have the data...
            share.ReportDataRetrieved();
        }
        /// <summary>
        /// Invoked when another application wants to share content through this application.
        /// </summary>
        /// <param name="e">Activation data used to coordinate the process with Windows.</param>
        public void Activate(ShareTargetActivatedEventArgs e)
        {
            _shareOperation = e.ShareOperation;

            InitializeViewModel();

            Window.Current.Content = this;
            Window.Current.Activate();

            // Load Image Properties asynchronousely now that the panel is ready
            ShowSharedImageProperties();

            // Load any shared data asynchronousely now that the panel is ready
            ShowSharedContent();
        }
Beispiel #8
0
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            ShareOperation shareOperation = args.ShareOperation;

            new MessageDialog(shareOperation.Data.ToString(), "消息提示").ShowAsync();
            shareOperation.ReportCompleted();

            /*if (shareOperation.Data.Contains(StandardDataFormats.Text))
             * {
             *  string text = await shareOperation.Data.GetTextAsync();
             *  new MessageDialog(text, "消息提示").ShowAsync();
             *  // To output the text from this example, you need a TextBlock control
             *  // with a name of "sharedContent".
             *  //sharedContent.Text = "Text: " + text;
             * }*/
        }
Beispiel #9
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            dispatcher        = MainPage.dispatcher ?? CoreWindow.GetForCurrentThread().Dispatcher;
            currentDispatcher = CoreWindow.GetForCurrentThread().Dispatcher;
            shareOperation    = e.Parameter as ShareOperation;

            // Get the shared files
            items.Clear();
            foreach (StorageFile file in await shareOperation.Data.GetStorageItemsAsync())
            {
                items.Add(file);
            }

            // Update the categories list
            await dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => await FileManager.CreateCategoriesListAsync());
        }
Beispiel #10
0
        // Code to execute when the application is launching (eg, from Start)
        // This code will not execute when the application is reactivated
        private void Application_Launching(object sender, LaunchingEventArgs e)
        {
            // Initialize Telerik Diagnostics with the actual app version information
            ApplicationUsageHelper.Init(AppService.GetAppVersion());
            AppInformation.HasPinLockIntroduced = false;
            NetworkService.CheckChangesIP();

            #if WINDOWS_PHONE_81
            // Code to intercept files that are send to MEGA as share target
            var shareEventArgs = e as ShareLaunchingEventArgs;
            if (shareEventArgs != null)
            {
                this.ShareOperation = shareEventArgs.ShareTargetActivatedEventArgs.ShareOperation;
            }
            #endif
        }
 private void OnClipboardContentChanged(object sender, object e)
 {
     if (_share != null)
     {
         try
         {
             _share.ReportCompleted();
             _share = null;
         }
         catch (Exception ex)
         {
             Debug.WriteLine(ex);
             _share.ReportError(ex.ToString());
         }
     }
 }
Beispiel #12
0
        public void Activate(ShareTargetActivatedEventArgs args)
        {
            DefaultViewModel["Sharing"] = false;

            _ShareOperation = args.ShareOperation;
            DataPackagePropertySetView shareProperties = _ShareOperation.Data.Properties;

            DefaultViewModel["Link"] = new Link
            {
                Name = shareProperties.Title,
                Uri  = new Uri(shareProperties.Description)
            };

            Window.Current.Content = this;
            Window.Current.Activate();
        }
        private static async Task <T> GetOperationDataAsync <T>(this ShareOperation shareOperation, string dataFormat)
            where T : class
        {
            try
            {
                if (dataFormat == StandardDataFormats.ApplicationLink)
                {
                    return(await shareOperation.Data.GetApplicationLinkAsync() as T);
                }

                if (dataFormat == StandardDataFormats.Bitmap)
                {
                    return(await shareOperation.Data.GetBitmapAsync() as T);
                }

                if (dataFormat == StandardDataFormats.Html)
                {
                    return(await shareOperation.Data.GetHtmlFormatAsync() as T);
                }

                if (dataFormat == StandardDataFormats.Rtf)
                {
                    return(await shareOperation.Data.GetRtfAsync() as T);
                }

                if (dataFormat == StandardDataFormats.StorageItems)
                {
                    return(await shareOperation.Data.GetStorageItemsAsync() as T);
                }

                if (dataFormat == StandardDataFormats.Text)
                {
                    return(await shareOperation.Data.GetTextAsync() as T);
                }

                if (dataFormat == StandardDataFormats.WebLink)
                {
                    return(await shareOperation.Data.GetWebLinkAsync() as T);
                }
            }
            catch (Exception)
            {
                return(default(T));
            }

            return(default(T));
        }
Beispiel #14
0
        public async Task ActivateAsync(ShareTargetActivatedEventArgs args)
        {
            // <Snippetcs_HandleSharedText>
            ShareOperation shareOperation = args.ShareOperation;

            if (shareOperation.Data.Contains(StandardDataFormats.Text))
            {
                string text = await shareOperation.Data.GetTextAsync();

                // To output the text from this example, you need a TextBlock control
                // with a name of "sharedContent".
                sharedContent.Text = "Text: " + text;
            }
            // </Snippetcs_HandleSharedText>

            if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
            {
                // <Snippetcs_ReportStarted>
                shareOperation.ReportStarted();
                // </Snippetcs_ReportStarted>
                IReadOnlyList <IStorageItem> storageItems = null;
                storageItems = await shareOperation.Data.GetStorageItemsAsync();

                string fileList = String.Empty;

                for (int index = 0; index < storageItems.Count; index++)
                {
                    fileList += storageItems[index].Name;
                    if (index < storageItems.Count - 1)
                    {
                        fileList += ", ";
                    }
                }

                // To output the text from this example, you need a TextBlock control
                // with a name of "sharedContent".
                sharedContent.Text += "StorageItems: " + fileList + Environment.NewLine;

                shareOperation.ReportCompleted();
            }

            Window.Current.Content = this;
            Window.Current.Activate();
        }
Beispiel #15
0
        public async Task Init(ShareOperation p_shareOperation)
        {
            _shareOperation = p_shareOperation;
            var data = _shareOperation.Data;

            if (data.Contains(StandardDataFormats.StorageItems))
            {
                var files = await data.GetStorageItemsAsync();

                if (files != null && files.Count > 0 && files[0] is StorageFile sf)
                {
                    _sf      = sf;
                    FilePath = _sf.Path;
                    _length  = (await _sf.GetBasicPropertiesAsync()).Size;
                    if (_image.Contains(_sf.FileType))
                    {
                        DataType = ShareDataType.Image;
                    }
                    else if (_video.Contains(_sf.FileType))
                    {
                        DataType = ShareDataType.Video;
                    }
                    else if (_audio.Contains(_sf.FileType))
                    {
                        DataType = ShareDataType.Audio;
                    }
                    else
                    {
                        DataType = ShareDataType.File;
                    }
                }
            }
            else if (_shareOperation.Data.Contains(StandardDataFormats.WebLink))
            {
                DataType = ShareDataType.Text;
                Content  = (await data.GetWebLinkAsync()).AbsoluteUri;
            }
            else if (_shareOperation.Data.Contains(StandardDataFormats.Text))
            {
                DataType = ShareDataType.Text;
                Content  = await data.GetTextAsync();
            }
        }
Beispiel #16
0
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            ShareOperation shareOperation = args.ShareOperation;

            if (shareOperation.Data.Contains(StandardDataFormats.WebLink))
            {
                Uri uri = await shareOperation.Data.GetWebLinkAsync();

                if (uri != null)
                {
                    ILogger logger = ServiceLocator.Current.GetService <ILogger>();
                    logger.Information("Received URI: {uri}", uri);
                    args.ShareOperation.ReportCompleted();
                    return;
                }
            }

            args.ShareOperation.ReportError("Failed to share, couldn't get a URI");
        }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            operation = (ShareOperation)e.Parameter;
            if (operation.Data.Contains(StandardDataFormats.StorageItems))
            {
                var items = await operation.Data.GetStorageItemsAsync();

                file = items[0] as StorageFile;
                IRandomAccessStreamWithContentType stream = await file.OpenReadAsync();

                await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
                {
                    BitmapImage image = new BitmapImage();
                    this.img.Source   = image;
                    await image.SetSourceAsync(stream);
                });
            }
        }
Beispiel #18
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.Parameter.GetType() == typeof(ViewModels.TodoItemViewModel))
            {
                ViewModel = e.Parameter as ViewModels.TodoItemViewModel;
            }
            else if (e.Parameter.GetType() == typeof(ShareOperation))
            {
                // handle event as a sharing target
                shareOp = (e.Parameter as ShareOperation);
                if (shareOp.Data.Contains(StandardDataFormats.Text))
                {
                    string text = await shareOp.Data.GetTextAsync();

                    DetailTextBox.Text = text;
                }
            }
            SetButton();
        }
Beispiel #19
0
        // Note that the following code if for snippeting only. It's not actually called in
        // this app. It's derived from the SharingTarget sample, so I'm confident it works.

        // <Snippetcs_HowToCreateAQuickLink>
        async void ReportCompleted(ShareOperation shareOperation, string quickLinkId, string quickLinkTitle)
        {
            QuickLink quickLinkInfo = new QuickLink
            {
                Id    = quickLinkId,
                Title = quickLinkTitle,

                // For quicklinks, the supported FileTypes and DataFormats are set
                // independently from the manifest
                SupportedFileTypes   = { "*" },
                SupportedDataFormats = { StandardDataFormats.Text,   StandardDataFormats.Uri,
                                         StandardDataFormats.Bitmap, StandardDataFormats.StorageItems }
            };

            StorageFile iconFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.CreateFileAsync(
                "assets\\user.png", CreationCollisionOption.OpenIfExists);

            quickLinkInfo.Thumbnail = RandomAccessStreamReference.CreateFromFile(iconFile);
            shareOperation.ReportCompleted(quickLinkInfo);
        }
Beispiel #20
0
        private async Task UploadToJiraAsync(ShareOperation shareOperation, string jiraId, string comment)
        {
            // Read all images.
            var imageStreams = await GetImageStreamsAsync(shareOperation);

            var files = (await Task.WhenAll(imageStreams.AsParallel()
                                            .Select(async kv =>
            {
                var originalStream = await kv.Value;
                var memoryStream = new MemoryStream();
                await originalStream.AsStream().CopyToAsync(memoryStream);
                memoryStream.Position = 0;
                originalStream.Dispose();
                return(new
                {
                    kv.Key,
                    Value = memoryStream
                });
            })))
                        .ToDictionary(kv => kv.Key, kv => kv.Value);

            shareOperation.ReportSubmittedBackgroundTask();

            // Send images to Jira.
            var jiraClient = new HttpJiraClient(new Uri($"https://{SettingsStore.JiraUrlPrefix}.atlassian.net/rest/api/2"),
                                                SettingsStore.JiraUser, SettingsStore.JiraPassword, SettingsStore.JiraUser);

            if (SettingsStore.JiraUrlPrefix.ToUpper() == TEST_PREFIX.ToUpper())
            {
                jiraClient.TestMode = true;
            }
            foreach (var file in files)
            {
                await jiraClient.AddIssueAttachmentAsync(jiraId, file.Key, file.Value);
            }

            if (!string.IsNullOrWhiteSpace(comment))
            {
                await jiraClient.AddCommentAsync(jiraId, comment, true);
            }
        }
Beispiel #21
0
        /// <summary>
        ///  共有データに含まれる画像とファイルを登録候補として追加する.
        /// </summary>
        /// <param name="shareOperation"></param>
        private async void AddSharedItemsAsync(ShareOperation shareOperation)
        {
            var bmpItem = await SharedBitmapItem.CreateFromDataPackage(shareOperation.Data);

            if (bmpItem != null)
            {
                this.sharedItems.Add(bmpItem);
            }

            var stgItems = await SharedStorageFileItem.CreateFromDataPackage(shareOperation.Data);

            if (stgItems != null)
            {
                foreach (var stgItem in stgItems)
                {
                    this.sharedItems.Add(stgItem);
                }
            }

            this.SharedItemsView.SelectAll();
        }
Beispiel #22
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            shrOpration = e.Parameter as ShareOperation;

            if (shrOpration == null)
            {
                return;
            }

            // 获取数据
            if (shrOpration.Data.Contains(StandardDataFormats.Text))
            {
                //var bmpstream = await shrOpration.Data.GetBitmapAsync();
                //BitmapImage bmp = new BitmapImage();
                //bmp.SetSource(await bmpstream.OpenReadAsync());
                //this.img.Source = bmp;
                var jieshou = await shrOpration.Data.GetTextAsync();

                Content_TextBox.Text = jieshou;
            }
        }
Beispiel #23
0
        static async void HandleShareAsync(ShareTargetActivatedEventArgs args)
        {
            ShareOperation shareOperation = args.ShareOperation;

            if (shareOperation.Data.Contains(Windows.ApplicationModel.DataTransfer.StandardDataFormats.Bitmap))
            {
                try
                {
                    Stream    bitMapStream = (Stream)shareOperation.Data.GetBitmapAsync();
                    ImageFile image        = new ImageFile(bitMapStream);
                    image.AddToCache();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            if (shareOperation.Data.Contains(Windows.ApplicationModel.DataTransfer.StandardDataFormats.StorageItems))
            {
                try
                {
                    IReadOnlyList <IStorageItem> items = await shareOperation.Data.GetStorageItemsAsync();

                    IStorageFile file = (IStorageFile)items[0];
                    string       path = file.Path;

                    ImageFile image = new ImageFile(path);
                    image.AddToCache();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            shareOperation.ReportCompleted();
            SingleInstanceManager singleInstanceManager = new SingleInstanceManager();

            singleInstanceManager.Run(Environment.GetCommandLineArgs());
        }
Beispiel #24
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            switch (e.Parameter)
            {
            case MainPageArgs args:
                Arguments = args;
                break;

            case ShareOperation operation:
                _shareOperation = operation;
                break;

            default:
                break;
            }


            if (_isReady)
            {
                await OnFirstDiscordReady(null);
            }
        }
Beispiel #25
0
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            ShareOperation = args.ShareOperation;
            string type = await ExternalContentHelper.SetData(ShareOperation.Data);

            if (type == "")
            {
                ShareOperation.ReportError("Unknown data type received.");
                return;
            }

            ShareOperation.ReportDataRetrieved();
            SendDataTemporaryStorage.IsSharingTarget = true;

            Frame rootFrame = null;

            LaunchRootFrameIfNecessary(ref rootFrame, false);
            rootFrame.Navigate(typeof(MainPage), new ShareTargetDetails
            {
                Type = type,
            });
        }
Beispiel #26
0
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            // Code to handle activation goes here.
            ShareOperation shareOperation = args.ShareOperation;

            if (shareOperation.Data.Contains(StandardDataFormats.Text))
            {
                string url = await shareOperation.Data.GetTextAsync();

                Frame rootFrame = Window.Current.Content as Frame;
                if (rootFrame == null)
                {
                    // Create a Frame to act as the navigation context and navigate to the first page
                    rootFrame = new Frame();

                    // Place the frame in the current Window
                    Window.Current.Content = rootFrame;
                    rootFrame.Navigate(typeof(MainPage), args.ShareOperation);
                    Window.Current.Activate();
                }
            }
        }
        public override async Task LoadDataAsync(ShareOperation shareOperation)
        {
            await base.LoadDataAsync(shareOperation);

            PageTitle  = "ShareTarget_ImagesTitle".GetLocalized();
            DataFormat = StandardDataFormats.StorageItems;
            var files = await shareOperation.GetStorageItemsAsync();

            foreach (var file in files)
            {
                var storageFile = file as StorageFile;
                if (storageFile != null)
                {
                    using (var inputStream = await storageFile.OpenReadAsync())
                    {
                        var img = new BitmapImage();
                        img.SetSource(inputStream);
                        Images.Add(img);
                    }
                }
            }
        }
Beispiel #28
0
        protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            if (args.PreviousExecutionState == ApplicationExecutionState.NotRunning)
            {
                ShareOperation shareOperation = args.ShareOperation;
                if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
                {
                    shareOperation.ReportDataRetrieved();

                    Frame frame = new Frame();
                    frame.Navigate(typeof(ShareTargetPage), shareOperation);

                    Window.Current.Content = frame;
                    Window.Current.Activate();
                }
                else
                {
                    shareOperation.ReportError("An error occured.");
                }
            }
            else
            {
                // App is running
                ShareOperation shareOperation = args.ShareOperation;
                if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
                {
                    shareOperation.ReportDataRetrieved();

                    var rootFrame = CreateRootFrame(args.PreviousExecutionState, "", typeof(ShareTargetPage));
                    rootFrame.Navigate(typeof(ShareTargetPage), shareOperation);
                    Window.Current.Activate();
                }
                else
                {
                    shareOperation.ReportError("An error occured.");
                }
            }
        }
Beispiel #29
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            switch (e.Parameter)
            {
            case MainPageArgs args:
                Arguments = args;
                break;

            case ShareOperation operation:
                _shareOperation = operation;
                break;

            default:
                break;
            }

            WindowManager.HandleTitleBarForWindow(titleBar, this);

            if (_isReady)
            {
                await OnFirstDiscordReady(null);
            }
        }
Beispiel #30
0
        protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            ShareOperation shareOperation = args.ShareOperation;

            var formats = shareOperation.Data.AvailableFormats.ToArray();

            if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
            {
                shareOperation.ReportStarted();

                var storageItems = await shareOperation.Data.GetStorageItemsAsync();

                var firstFile = storageItems.First() as StorageFile;

                string json = await FileToJson(firstFile);

                shareOperation.ReportDataRetrieved();

                LaunchMainUI(args);

                ApplicationCenter.Receive(json);
            }
        }
Beispiel #31
0
        public async Task OnShareTargetActivated(ShareOperation shareOperation)
        {
            this.shareOperation = shareOperation;
            if (shareOperation.Data.Contains(StandardDataFormats.WebLink))
            {
                // https://www.microsoft.com/store/productId/9NNDJTDMH874

                Uri webLink = await shareOperation.Data.GetWebLinkAsync();

                if (!webLink.ToString().Contains("www.microsoft.com/store"))
                {
                    Analytics.TrackEvent("Wrong share link");
                    shareOperation.ReportError("Data doesn't contain link to Microsoft Store.");
                    return;
                }

                string appId    = webLink.ToString().Split('/').LastOrDefault();
                var    database = new Database();
                var    list     = await database.GetAll();

                if (list.Any(e => e.AppId == appId))
                {
                    IsAppOnWishlist = true;
                    IsNewApp        = false;
                }
                await CoreApplication.GetCurrentView().Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    AppName = shareOperation.Data.Properties.Title;
                    AppInfo = new ApplicationInfo()
                    {
                        AppId              = appId,
                        AppName            = AppName,
                        IsInstalledClicked = false,
                    };
                });
            }
        }