Catrobat.IDE.WindowsPhone.ExtendedSplash.InitializationFinished C# (CSharp) Method

InitializationFinished() public static method

public static InitializationFinished ( IActivatedEventArgs e ) : System.Threading.Tasks.Task
e IActivatedEventArgs
return System.Threading.Tasks.Task
        public static async Task InitializationFinished(IActivatedEventArgs e)
        {
            var filePickerArgs = e as FileOpenPickerContinuationEventArgs;
            if (filePickerArgs != null)
            {
                var pickerArgs = filePickerArgs;
                var files = pickerArgs.Files;

                if (files.Count == 1)
                {
                    if (ServiceLocator.PictureService.SupportedImageFileTypes.
                        Contains(Path.GetExtension(files[0].Name)))
                    {
                        ServiceLocator.PictureService.RecievedFiles(
                            filePickerArgs.Files);
                    }

                    if (ServiceLocator.SoundService.SupportedFileTypes.
                        Contains(Path.GetExtension(files[0].Name)))
                    {
                        ServiceLocator.SoundService.RecievedFiles(
                            filePickerArgs.Files);
                    }
                }
            }

            var activationArgs = e as FileActivatedEventArgs;

            if (activationArgs != null)
            {
                try
                {
                    if (activationArgs.Files.Count == 1 &&
                        StorageConstants.SupportedCatrobatFileTypes.Contains(
                        Path.GetExtension(activationArgs.Files[0].Name)))
                    {
                        var catrobatFileStream = (await ((StorageFile)activationArgs.Files[0]).
                            OpenReadAsync()).AsStream();

                        await TryAddProgram(catrobatFileStream);
                    }


                    var imageFiles = 
                        (from StorageFile file in activationArgs.Files
                        where  ServiceLocator.PictureService.
                        SupportedImageFileTypes.Contains(Path.GetExtension(file.Name))
                        select file).ToList();

                    if (imageFiles.Count > 0)
                        ServiceLocator.PictureService.RecievedFiles(imageFiles);
                }
                catch (Exception exc)
                {
                    // TODO: Handle error
                    //var messageDialog1 = new MessageDialog("Cannot read recieved file: " + exc.Message);
                    //messageDialog1.ShowAsync();
                }
            }

            if (e.Kind == ActivationKind.Protocol)
            {
                ProtocolActivatedEventArgs eventArgs = e as ProtocolActivatedEventArgs;

                string absoluteUri = eventArgs.Uri.AbsoluteUri;
                if (absoluteUri.Contains("pocketcode:c="))
                {
                    int hashIndex = absoluteUri.IndexOf("c=") + 2;
                    string recoveryHash = absoluteUri.Substring(hashIndex);
                    ServiceLocator.WebCommunicationService.SetRecoveryHash(recoveryHash);
                }
            }
        }