Friday, March 17, 2017

File Manager source code

File Manager source code


namespace File_Explorer
{
    using GoogleAds;
    using Microsoft.Phone.Controls;
    using Microsoft.Phone.Shell;
    using Microsoft.Phone.Tasks;
    using SharpCompress.Archive;
    using SharpCompress.Archive.Zip;
    using SharpCompress.Common;
    using SharpCompress.Compressor.Deflate;
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.IO;
    using System.IO.IsolatedStorage;
    using System.Linq;
    using System.Runtime.CompilerServices;
    using System.Runtime.InteropServices;
    using System.Runtime.InteropServices.WindowsRuntime;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Threading;
    using Windows.ApplicationModel.DataTransfer;
    using Windows.Foundation;
    using Windows.Storage;
    using Windows.System;

    public class MainPage : PhoneApplicationPage
    {
        private bool _contentLoaded;
        private MarketplaceDetailTask _marketPlaceDetailTask = new MarketplaceDetailTask();
        private bool AdLoaded;
        internal Grid AdRoot;
        private ApplicationBarIconButton appbarcopy;
        private ApplicationBarIconButton appbarcut;
        private ApplicationBarIconButton appbarsearch;
        private ApplicationBarIconButton appbarshare;
        private bool cancel;
        internal Grid ContentPanel;
        private string CurrentPath = "";
        private ApplicationBarIconButton delete;
        internal TextBlock emptyFolder;
        internal LongListSelector explorer;
        internal Storyboard HideOperationBox;
        internal Storyboard HideOperationDetails;
        private bool IsBusy;
        private bool IsOpen;
        private bool IsSearchEnabled;
        private int itemsRemaining;
        internal Grid LayoutRoot;
        internal Button Navigate_Button;
        private File_Explorer.NavigationType NavigationMode;
        private string NextPath = "";
        internal Button Operation_Cancel;
        internal TextBlock Operation_Left;
        internal TextBlock Operation_Name;
        internal TextBlock Operation_Status;
        internal TextBlock Operation_Title;
        internal Grid OperationBox;
        internal StackPanel OperationDetails;
        private ApplicationBarMenuItem paste;
        internal Grid pathBackground;
        internal ScrollViewer pathScrollViewer;
        internal TextBox PathText;
        private string phonePath = @"C:DataUsersPublic";
        internal ProgressBar Progress;
        private string SearchText;
        internal ProgressBar secondaryProgress;
        private ApplicationBarIconButton select;
        private ApplicationBarMenuItem selectall;
        private File_Explorer.StorageItem selectedItem;
        internal Storyboard ShowOperationBox;
        internal Storyboard ShowOperationDetails;
        internal Storyboard storyboard;
        internal StackPanel TitlePanel;
        internal TranslateTransform transform;
        internal Button UpDown;

        public MainPage()
        {
            ApplicationBarIconButton button = new ApplicationBarIconButton(new Uri(@"AssetsApplicationBar.Select.png", UriKind.Relative));
            button.set_Text("select");
            this.select = button;
            ApplicationBarIconButton button2 = new ApplicationBarIconButton(new Uri(@"AssetsApplicationBar.Delete.png", UriKind.Relative));
            button2.set_Text("delete");
            this.delete = button2;
            ApplicationBarIconButton button3 = new ApplicationBarIconButton(new Uri(@"AssetsCopy.png", UriKind.Relative));
            button3.set_Text("copy");
            this.appbarcopy = button3;
            ApplicationBarIconButton button4 = new ApplicationBarIconButton(new Uri(@"AssetsCut.png", UriKind.Relative));
            button4.set_Text("cut");
            this.appbarcut = button4;
            ApplicationBarIconButton button5 = new ApplicationBarIconButton(new Uri(@"Assetsfeature.search.png", UriKind.Relative));
            button5.set_Text("search");
            this.appbarsearch = button5;
            ApplicationBarIconButton button6 = new ApplicationBarIconButton(new Uri(@"AssetsApplicationBar.Share.png", UriKind.Relative));
            button6.set_Text("share");
            this.appbarshare = button6;
            ApplicationBarMenuItem item = new ApplicationBarMenuItem("Paste");
            item.set_IsEnabled(false);
            this.paste = item;
            this.selectall = new ApplicationBarMenuItem("Select all");
            this.SearchText = "";
            this.InitializeComponent();
            this.explorer.set_LayoutMode((File_Explorer.App.ViewModel.ViewMode == 0) ? ((LongListSelectorLayoutMode) 0) : ((LongListSelectorLayoutMode) 1));
            this.explorer.set_ItemTemplate((DataTemplate) base.get_Resources().get_Item((File_Explorer.App.ViewModel.ViewMode == 0) ? "ListTemplate" : "GridTemplate"));
            base.set_DataContext(File_Explorer.App.ViewModel);
            this.Init();
            this.BuildLocalizedApplicationBar();
            File_Explorer.FileOperator.ProgressChanged += new EventHandler<File_Explorer.FileOperationProgressChangedEventArgs>(this.FileOperator_ProgressChanged);
        }

        private async void AddItem(string path, bool IsFolder)
        {
            Func<File_Explorer.StorageItem, bool> predicate = null;
            Func<File_Explorer.StorageItem, bool> asyncVariable5 = null;
            if (this.PathEquals(Path.GetDirectoryName(path), this.CurrentPath) && !this.cancel)
            {
                if (IsFolder)
                {
                    try
                    {
                        File_Explorer.StorageItem expressionStack_2FD_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_2FD_1;
                        File_Explorer.StorageItem expressionStack_22D_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_22D_1;
                        File_Explorer.StorageItem expressionStack_212_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_212_1;
                        ObservableCollection<File_Explorer.StorageItem> storageSource;
                        File_Explorer.StorageItem expressionStack_269_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_269_1;
                        File_Explorer.StorageItem expressionStack_263_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_263_1;
                        File_Explorer.StorageItem expressionStack_289_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_289_1;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_E5_0;
                        if (this.cancel)
                        {
                            return;
                        }
                        if (predicate != null)
                        {
                            storageSource = File_Explorer.App.ViewModel.StorageSource;
                            break;
                        }
                        else
                        {
                            expressionStack_E5_0 = File_Explorer.App.ViewModel.StorageSource;
                        }
                        predicate = x => x.IsFolder && this.PathEquals(x.Path, path);
                        storageSource = expressionStack_E5_0;
                        if (storageSource.SingleOrDefault<File_Explorer.StorageItem>(predicate) != null)
                        {
                            return;
                        }
                        StorageFolder asyncVariable0 = await StorageFolder.GetFolderFromPathAsync(path);
                        File_Explorer.StorageItem item = new File_Explorer.StorageItem {
                            FileName = asyncVariable0.get_Name(),
                            IsFolder = true,
                            Path = asyncVariable0.get_Path(),
                            Description = asyncVariable0.get_DateCreated().ToString()
                        };
                        if (this.explorer.get_LayoutMode() == null)
                        {
                            expressionStack_22D_1 = File_Explorer.App.ViewModel.StorageSource;
                            expressionStack_22D_0 = item;
                            goto Label_022D;
                        }
                        else
                        {
                            expressionStack_212_1 = File_Explorer.App.ViewModel.StorageSource;
                            expressionStack_212_0 = item;
                        }
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_246_2 = expressionStack_212_1;
                        File_Explorer.StorageItem expressionStack_246_1 = expressionStack_212_0;
                        Style expressionStack_246_0 = (Style) Application.get_Current().get_Resources().get_Item("Folder");
                        goto Label_0246;
                    Label_022D:
                        expressionStack_246_2 = expressionStack_22D_1;
                        expressionStack_246_1 = expressionStack_22D_0;
                        expressionStack_246_0 = (Style) Application.get_Current().get_Resources().get_Item("File");
                    Label_0246:
                        expressionStack_246_1.Style = expressionStack_246_0;
                        if (this.explorer.get_LayoutMode() == null)
                        {
                            expressionStack_269_1 = expressionStack_246_2;
                            expressionStack_269_0 = item;
                            goto Label_0269;
                        }
                        else
                        {
                            expressionStack_263_1 = expressionStack_246_2;
                            expressionStack_263_0 = item;
                        }
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_311_2 = expressionStack_263_1;
                        File_Explorer.StorageItem expressionStack_311_1 = expressionStack_263_0;
                        BitmapImage expressionStack_311_0 = null;
                        goto Label_0311;
                    Label_0269:
                        if (awaiter3.IsCompleted)
                        {
                            expressionStack_2FD_1 = expressionStack_269_1;
                            expressionStack_2FD_0 = expressionStack_269_0;
                            goto Label_02FD;
                        }
                        else
                        {
                            expressionStack_289_1 = expressionStack_269_1;
                            expressionStack_289_0 = expressionStack_269_0;
                        }
                        Tuple<ObservableCollection<File_Explorer.StorageItem>, File_Explorer.StorageItem> tuple = new Tuple<ObservableCollection<File_Explorer.StorageItem>, File_Explorer.StorageItem>(expressionStack_289_1, expressionStack_289_0);
                        this.<>t__stack = tuple;
                        this.<>1__state = 1;
                        AsyncVoidMethodBuilder.Create().AwaitUnsafeOnCompleted<TaskAwaiter<ImageSource>, <AddItem>d__d8>(ref awaiter3, ref this);
                        return;
                        Tuple<ObservableCollection<File_Explorer.StorageItem>, File_Explorer.StorageItem> tuple2 = (Tuple<ObservableCollection<File_Explorer.StorageItem>, File_Explorer.StorageItem>) this.<>t__stack;
                        this.<>t__stack = null;
                        expressionStack_2FD_1 = tuple2.Item1;
                        expressionStack_2FD_0 = tuple2.Item2;
                    Label_02FD:
                        ImageSource introduced36 = await GetIcon("Folder", "", null);
                        expressionStack_311_2 = expressionStack_2FD_1;
                        expressionStack_311_1 = expressionStack_2FD_0;
                        expressionStack_311_0 = (BitmapImage) introduced36;
                    Label_0311:
                        expressionStack_311_1.ThumbSource = expressionStack_311_0;
                        expressionStack_311_2.Add(item);
                    }
                    catch
                    {
                    }
                }
                else
                {
                    try
                    {
                        StorageFile asyncVariable2;
                        string subdesc;
                        string extension;
                        File_Explorer.StorageItem asyncVariable3;
                        string expressionStack_6A2_0;
                        File_Explorer.StorageItem expressionStack_7EB_0;
                        ObservableCollection<File_Explorer.StorageItem> expressionStack_7EB_1;
                        if (!this.cancel)
                        {
                            ObservableCollection<File_Explorer.StorageItem> expressionStack_38A_0;
                            string expressionStack_63F_0;
                            ObservableCollection<File_Explorer.StorageItem> expressionStack_373_0;
                            if (asyncVariable5 != null)
                            {
                                expressionStack_38A_0 = File_Explorer.App.ViewModel.StorageSource;
                                break;
                            }
                            else
                            {
                                expressionStack_373_0 = File_Explorer.App.ViewModel.StorageSource;
                            }
                            asyncVariable5 = x => !x.IsFolder && this.PathEquals(x.Path, path);
                            expressionStack_38A_0 = expressionStack_373_0;
                            if (expressionStack_38A_0.SingleOrDefault<File_Explorer.StorageItem>(asyncVariable5) != null)
                            {
                                return;
                            }
                            asyncVariable2 = await StorageFile.GetFileFromPathAsync(path);
                            subdesc = "";
                            extension = Path.GetExtension(asyncVariable2.get_Name()).ToLower();
                            if ((((extension == ".mp4") || (extension == ".wav")) || ((extension == ".mpg") || (extension == ".mp3"))) || ((extension == ".wma") || (extension == ".wmv")))
                            {
                                StorageFile introduced39 = await StorageFile.GetFileFromPathAsync(asyncVariable2.get_Path());
                                MusicProperties introduced40 = await introduced39.get_Properties().GetMusicPropertiesAsync();
                                TimeSpan duration = introduced40.get_Duration();
                                subdesc = "Duration: " + duration.Hours.ToString("00") + ":" + duration.Minutes.ToString("00") + ":" + duration.Seconds.ToString("00");
                            }
                            if (awaiter11.IsCompleted)
                            {
                                expressionStack_6A2_0 = "Size: ";
                                goto Label_06A2;
                            }
                            else
                            {
                                expressionStack_63F_0 = "Size: ";
                            }
                            string str = expressionStack_63F_0;
                            this.<>t__stack = str;
                            this.<>1__state = 5;
                            AsyncVoidMethodBuilder.Create().AwaitUnsafeOnCompleted<TaskAwaiter<BasicProperties>, <AddItem>d__d8>(ref awaiter11, ref this);
                        }
                        return;
                        string str2 = (string) this.<>t__stack;
                        this.<>t__stack = null;
                        expressionStack_6A2_0 = str2;
                    Label_06A2:
                        BasicProperties introduced41 = await asyncVariable2.GetBasicPropertiesAsync();
                        string filesize = expressionStack_6A2_0 + FormatBytes((double) introduced41.get_Size());
                        if (!this.cancel)
                        {
                            File_Explorer.StorageItem expressionStack_777_0;
                            ObservableCollection<File_Explorer.StorageItem> expressionStack_777_1;
                            asyncVariable3 = new File_Explorer.StorageItem {
                                FileName = asyncVariable2.get_Name(),
                &n

Available link for download