コード例 #1
0
        public void LoadState(States state)
        {
            //Switch to the corresponding State based upon enum request
            switch (state)
            {
            case States.MainMenu:
                requestedState = mainMenuState;
                requestedView  = mainView;
                break;

            case States.LevelEditor:
                requestedState = levelEditorState;
                requestedView  = mapEditorView;
                break;

            case States.GamePlay:
                requestedState = gamePlayState;
                requestedView  = gameView;
                break;
            }

            //Step 1: Toggle Loading Screen
            loadingView.Show();
            //Start Async Unload -> GC Process
            UnloadOldAssets();
        }
コード例 #2
0
ファイル: AppDelegate.cs プロジェクト: bshehera/cross-copy
        private void UploadMedia(UIImage image, NSUrl referenceUrl, NSUrl mediaUrl)
        {
            byte[] mediaByteArray;
            if (image != null)
            {
                ByteHelper.ImageToByteArray(image, out mediaByteArray);
            }
            else if (mediaUrl != null)
            {
                ByteHelper.VideoToByteArray(mediaUrl, out mediaByteArray);
            }
            else
            {
                Console.Out.WriteLine("No media to upload!");
                return;
            }

            LoadingView loading = new LoadingView();

            loading.Show("Uploading file, please wait ...");

            server.UploadFileAsync(
                referenceUrl.AbsoluteString,
                mediaByteArray,
                delegate {
                loading.Hide();
            }
                );
        }
コード例 #3
0
ファイル: Helpers.cs プロジェクト: TrevorDArcyEvans/EllieSoft
        public static UIImage GetImageFromWebPage(UIWebView webPage, LoadingView lv)
        {
            var oldFrame = webPage.Frame;

            try
            {
                lv.Show();
                var frame       = webPage.Frame;
                var fittingSize = webPage.SizeThatFits(new SizeF());
                frame.Size    = fittingSize;
                webPage.Frame = frame;

                UIGraphics.BeginImageContext(new SizeF(webPage.Bounds.Width, webPage.Bounds.Height));
                webPage.Layer.RenderInContext(UIGraphics.GetCurrentContext());

                var viewImage = UIGraphics.GetImageFromCurrentImageContext();

                UIGraphics.EndImageContext();

                return(viewImage);
            }
            finally
            {
                webPage.Frame = oldFrame;
                lv.Hide();
            }
        }
コード例 #4
0
        private void SignIn(object param)
        {
            LoadingView loadView = new LoadingView(currentView);

            loadView.FriendlyText.Text = "登陆中,请稍后";
            loadView.Show();
            //如果允许自动登录,且保存了上一次的Token,则自动登录
            if (IsAutoSignIn && !string.IsNullOrEmpty(LocalProperties.Token))
            {
                GenericResult <UserInformation> x = authentication.GetUserInformation();
                if (x.Success)
                {
                    currentView.Dispatcher.Invoke(() =>
                    {
                        currentView.Close();
                        new MainFrame(x.Result).Show();
                    });
                }
            }
            //如果密码框中输入了信息,则使用密码框中的密码登陆
            else if (param is PasswordBox passwordBox && !string.IsNullOrEmpty(passwordBox.Password))
            {
                string passwordMD5 = authentication.UserMd5(passwordBox.Password);
                GenericResult <UserInformation> x = LoginOperate(passwordMD5);
                if (x.Success)
                {
                    App.Current.Dispatcher.Invoke(() =>
                    {
                        currentView.Close();
                        new MainFrame(x.Result).Show();
                    });
                    if (IsRememberPassword)
                    {
                        LocalProperties.UserName = PhoneNumber;
                        LocalProperties.Password = authentication.UserMd5(passwordBox.Password);
                    }
                    else
                    {
                        LocalProperties.Password = "";
                    }
                }
                else
                {
                    currentView.Dispatcher.Invoke(() =>
                    {
                        MessageBox.Show(x.Message, "登陆失败");
                        currentView.Activate();
                    });
                }
            }
コード例 #5
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Models.User user = new Models.User()
            {
                Login = Email.Text, Password = Password.Text, UseProxy = (bool)UseProxy.IsChecked
            };
            using (FileStream fs = new FileStream("user.data", FileMode.Create))
            {
                bf.Serialize(fs, user);
            }
            LoadingView lw = new LoadingView(user);

            lw.Show();
            this.Close();
        }
コード例 #6
0
        private void Share(IUIInfo selDest)
        {
            var lv = new LoadingView("Retrieving image");

            SelectedDestination = selDest;

            if (selDest is ISocialSharer)
            {
                var selSocialSharer = (ISocialSharer)selDest;
                selSocialSharer.Share(this);

                return;
            }

            // this is a mess
            if (selDest is IFileSharingUploader)
            {
                var selFileSharer = (IFileSharingUploader)selDest;
                var docs          = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                var myFilename    = Helpers.GetWebFileName(docs);
                selFileSharer.Upload(WebFilePath, myFilename, this);

                return;
            }

            if (selDest is IPhotoAlbumUploader)
            {
                var selPhotoSharer = (IPhotoAlbumUploader)selDest;
                lv.Show();
                var img = Helpers.GetImageFromWebPage(WebPage, lv);
                lv.Hide();
                selPhotoSharer.Upload(img, this);

                return;
            }

            if (selDest is DropboxUploader)
            {
                var selDropBox = (DropboxUploader)selDest;
                selDropBox.Upload(WebFilePath, this);

                return;
            }

            throw new ArgumentOutOfRangeException("Unsupported sharer: " + selDest.Name);
        }
コード例 #7
0
 public void OpenMainView(object arg)
 {
     if (m_loadingView == null)
     {
         GameView viewType = GameView.MainView;
         ViewManager.Open(GameViewInfo.GetViewName(Moudle, viewType),
                          (GameObject gameObject) => {
             m_loadingView = new LoadingView(Moudle, viewType, gameObject.GetComponent <UIPrefab>());
             EventManager.Register(GameEvent.Type.FrameUpdate, OnStartGameFrameUpdate);
             m_startTime = Time.time;
         }
                          );
     }
     else
     {
         m_loadingView.Show();
         EventManager.Register(GameEvent.Type.FrameUpdate, OnFrameUpdate);
     }
 }
コード例 #8
0
        public async Task DeleteLatestVideo()
        {
            try
            {
                this.RunOnUiThread(() => LoadingView.Show(this, "Deleting..."));
                var deleteResponse = await UserResponseAPI.DeleteResponse(selectedMedia.Id);

                TabbedMainActivity.GetInstance().MyChannelFragment.latestResponse.adpater.LatestResponse =
                    new ObservableCollection <AdminVideoResponse>(UserResponseAPI.GetAdminVideos().VideoResponse);
                this.RunOnUiThread(() => Toast.MakeText(this, "Deleted Successfully", ToastLength.Long));
            }
            catch (Exception ex)
            {
            }
            finally
            {
                this.RunOnUiThread(() => LoadingView.Hide());
                this.Finish();
            }
        }
コード例 #9
0
        public async System.Threading.Tasks.Task UploadRecordedResponse(string Description)
        {
            try
            {
                this.RunOnUiThread(() => LoadingView.Show(this, "Uploading..."));
                var binaryData = VideoManager.GetVideoData();
                if (VideoManager.IsRecorderStop && binaryData != null)
                {
                    string msg = string.Empty;
                    if (UserResponseType == UserResponse.Video)
                    {
                        msg = await UserResponseAPI.UploadUserResponse(videoId, binaryData, InputSelectedType.Recorded, Description);
                    }
                    else
                    {
                        msg = await UserResponseAPI.UploadAudioUserResponse(videoId, binaryData, InputSelectedType.Recorded, Description);
                    }
                    if (ResponseFragment != null)
                    {
                        await ResponseFragment.GetResponseList(videoId);

                        ResponseFragment.GetUserResponse(videoId);
                    }
                    if (msg.Contains("ok"))
                    {
                        this.RunOnUiThread(() => Toast.MakeText(this, "Response Uploaded successfully", ToastLength.Short).Show());
                    }
                    else
                    {
                        this.RunOnUiThread(() => Toast.MakeText(this, msg, ToastLength.Short).Show());
                    }
                }
            }
            catch (System.Exception ex)
            {
            }
            finally
            {
                this.RunOnUiThread(() => LoadingView.Hide());
            }
        }
コード例 #10
0
        private void BeginPrintingDailySummary(string pdfFileName)
        {
            ThreadStart tsPrinting = new ThreadStart(delegate {
                LoadingView printing = new LoadingView();
                printing.Show("Printing, please wait");

                var printSummaryDone = new ManualResetEvent(false);
                bool printSummaryOK  = false;

                ThreadStart tsPrintSummary = new ThreadStart(delegate {
                    printSummaryOK = MyConstants.PrintPDFFile(pdfFileName);
                    printSummaryDone.Set();
                });
                Thread tPrintSummary = new Thread(tsPrintSummary);
                tPrintSummary.Start();

                printSummaryDone.WaitOne(5000);
                if (tPrintSummary.ThreadState == ThreadState.Running)
                {
                    tPrintSummary.Abort();
                }

                if (!printSummaryOK)
                {
                    InvokeOnMainThread(delegate {
                        printing.Hide();
                        var printError = new UIAlertView("Failed to print summary", "We are sorry!", null, "OK");
                        printError.Show();
                    });
                }
                else
                {
                    InvokeOnMainThread(delegate { printing.Hide(); });
                }
            });

            Thread tPrinting = new Thread(tsPrinting);

            tPrinting.Start();
        }
コード例 #11
0
        public void LoadImageByName(string imgPath)
        {
            // first remove previous image view, if any
            var prevImgView = ViewWithTag(ZOOM_VIEW_TAG);

            if (null != prevImgView)
            {
                prevImgView.RemoveFromSuperview();
                prevImgView.Dispose();
            }
            prevImgView = null;

            var loader = new LoadingView("Loading ...");

            try
            {
                loader.Show();

                var image = UIImage.FromFile(imgPath);
                mDrawingImageView              = new DrawingImageView(image);
                mDrawingImageView.OnTouchDown += OnTouchDownInternal;
                mDrawingImageView.OnTouchUp   += OnTouchUpInternal;
                mDrawingImageView.Tag          = ZOOM_VIEW_TAG;
                AddSubview(mDrawingImageView);
                ContentSize = mDrawingImageView.Frame.Size;

                // choose minimum scale so image width fits screen
                var minScale = Frame.Size.Width / mDrawingImageView.Frame.Size.Width;
                MinimumZoomScale = minScale;
                ZoomScale        = minScale;
                ContentOffset    = PointF.Empty;
            }
            finally
            {
                loader.Hide();
            }
        }
コード例 #12
0
 /// <summary>
 /// ローディングを表示する
 /// </summary>
 /// <returns></returns>
 public static async UniTask Show()
 {
     await _view.Show();
 }
コード例 #13
0
 private void ShowLoading(object text)
 {
     UIApplication.SharedApplication.InvokeOnMainThread(delegate {
         loadingView.Show((string)text);
     });
 }
コード例 #14
0
//		void GetEmailRecepients (long CN, UIView view) {
//			// NOTE :: this does not work since iOS 6, because
//					// XPC infrastructure along with remote view controllers is used by mail composition
//					// we will have to collect email address before presenting the mail view controller
//			if (view is UITextField) {
//				if ((view as UITextField).Text.Contains ("@")) {
//					emailRecepients = (view as UITextField).Text;
//					return;
//				}
//			}
//
//			if (view.Subviews.Length > 0) {
//				foreach (UIView subView in view.Subviews) {
//					GetEmailRecepients (CN, subView);
//				}
//			}
//		}

        void BeginPrinting()
        {
            ThreadStart ts = new ThreadStart(delegate {
                LoadingView wait = new LoadingView();
                wait.Show("Printing, please wait");
                printOK = false;

                if (!Tabs._prePlumbView.IsDefault())
                {
                    if (Tabs._jobRunTable.CurrentCustomer.FilesToPrint != null)
                    {
                        this.Tabs._jobRunTable.CurrentCustomer.FilesToPrint.Add(Tabs._prePlumbView.pdfPrePlumbingFileName);
                    }

                    PrePlumbingPrintingDone.Reset();
                    ThreadStart tsPrintPreplumbing = new ThreadStart(delegate {
                        printOK = MyConstants.PrintPDFFile(Tabs._prePlumbView.pdfPrePlumbingFileName);
                        PrePlumbingPrintingDone.Set();
                    });
                    Thread tPrintPrePlumbing = new Thread(tsPrintPreplumbing);
                    tPrintPrePlumbing.Start();
                    PrePlumbingPrintingDone.WaitOne(5000);
                    if (tPrintPrePlumbing.ThreadState == ThreadState.Running)
                    {
                        tPrintPrePlumbing.Abort();
                    }
                }
                else
                {
                    printOK = true;
                }
                // WAS :: printOK = printOK && MyConstants.PrintPDFFile (Tabs._payment.pdfReceiptFileName);

                if (Tabs._jobRunTable.CurrentCustomer.FilesToPrint != null)
                {
                    this.Tabs._jobRunTable.CurrentCustomer.FilesToPrint.Add(Tabs._payment.pdfReceiptFileName);
                }

                bool printReceiptOK = false;
                ReceiptPrintingDone.Reset();
                ThreadStart tsPrintReceipt = new ThreadStart(delegate {
                    printReceiptOK = MyConstants.PrintPDFFile(Tabs._payment.pdfReceiptFileName);
                    ReceiptPrintingDone.Set();
                });
                Thread tPrintReceipt = new Thread(tsPrintReceipt);
                tPrintReceipt.Start();

                ReceiptPrintingDone.WaitOne(5000);
                if (tPrintReceipt.ThreadState == ThreadState.Running)
                {
                    tPrintReceipt.Abort();
                }

                printOK = printOK && printReceiptOK;

                InvokeOnMainThread(delegate()
                {
                    wait.Hide();
                    if (printOK)
                    {
                        Tabs._navWorkflow._finishWorkflow(null, null);
                    }
                    else                     // printing failed for some reason
                    {
                        UIAlertView printingError = new UIAlertView("Warning", "An error occurred during printing. What would you like to do?", null, "Try again", "Skip printing");
                        printingError.Dismissed  += HandlePrintingErrorDismissed;
                        printingError.Show();
                    }
                });
            });

            Thread t = new Thread(ts);

            t.Start();
        }
コード例 #15
0
        private async void SignIn(object param)
        {
            LoadingView loadView = new LoadingView(currentView);

            loadView.FriendlyText.Text = "登录中,请稍后";
            try
            {
                loadView.Show();

                //如果允许自动登录,且保存了上一次的Token,则自动登录
                if (IsAutoSignIn && !string.IsNullOrEmpty(LocalProperties.Token))
                {
                    GenericResult <UserInformation> x = await authentication.GetUserInformation();

                    if (x.Success)
                    {
                        App.Current.Dispatcher.Invoke(() =>
                        {
                            OnSignInSuccessful();
                            currentView.Close();
                            new MainFrame(x.Result).Show();
                        });
                        return;
                    }
                }

                //如果是验证码登录,且已输入验证码,则验证码登录
                if (IsCodeMode && !string.IsNullOrWhiteSpace(PhoneCode))
                {
                    var x = await authentication.LoginByMessageCode(PhoneInfo, PhoneCode);

                    if (x.Success)
                    {
                        App.Current.Dispatcher.Invoke(() =>
                        {
                            OnSignInSuccessful();
                            currentView.Close();
                            new MainFrame(x.Result).Show();
                        });
                        return;
                    }
                }

                //如果密码框中输入了信息,则使用密码框中的密码登录
                if (!IsCodeMode && param is PasswordBox passwordBox && !string.IsNullOrEmpty(passwordBox.Password))
                {
                    string passwordMD5 = Authentication.UserMd5(passwordBox.Password);
                    GenericResult <UserInformation> x = await LoginOperate(passwordMD5);

                    if (x.Success)
                    {
                        App.Current.Dispatcher.Invoke(() =>
                        {
                            OnSignInSuccessful();
                            currentView.Close();
                            new MainFrame(x.Result).Show();
                        });
                        if (IsRememberPassword)
                        {
                            LocalProperties.UserName    = PhoneNumber;
                            LocalProperties.CountryCode = Code;
                            LocalProperties.Password    = Authentication.UserMd5(passwordBox.Password);
                        }
                        else
                        {
                            LocalProperties.Password = "";
                        }
                    }
                    else
                    {
                        currentView.Dispatcher.Invoke(() =>
                        {
                            MessageBox.Show(x.Message, "登录失败");
                            currentView.Activate();
                        });
                    }
                    return;
                }

                //如果允许保存密码,且保存了上次登录的密码,且密码框为空,则使用上次保存的密码的md5登录
                if (!IsCodeMode && IsRememberPassword && !string.IsNullOrEmpty(LocalProperties.Password))
                {
                    string passwordMD5 = LocalProperties.Password;
                    GenericResult <UserInformation> x = await LoginOperate(passwordMD5);

                    if (x.Success)
                    {
                        LocalProperties.UserName    = PhoneNumber;
                        LocalProperties.CountryCode = Code;
                        App.Current.Dispatcher.Invoke(() =>
                        {
                            OnSignInSuccessful();
                            currentView.Close();
                            new MainFrame(x.Result).Show();
                        });
                    }
                    else
                    {
                        Application.Current.Dispatcher.Invoke(() =>
                        {
                            MessageBox.Show(x.Message, "登录失败");
                            currentView.Activate();
                        });
                        LocalProperties.Password = "";
                        OnPropertyChanged(nameof(PasswordBoxHint));
                    }
                    return;
                }

                Application.Current.Dispatcher.Invoke(() =>
                {
                    MessageBox.Show("要登录,请输入密码");
                    currentView.Activate();
                });
            }
            finally
            {
                loadView.Close();
            }

            async Task <GenericResult <UserInformation> > LoginOperate(string passwordMD5)
            {
                try
                {
                    return(await authentication.LoginByPassword(PhoneNumber, passwordMD5, GetCountryCode()));
                }
                catch (LoginUserTooMuchException ex)
                {
                    GenericResult <OnlineDeviceList> getOnlineDeviceList = await authentication.GetOnlineDeviceList();

                    if (getOnlineDeviceList.Success)
                    {
                        string[] devicesSSID = null;
                        LogoutOthersViewModels logoutOthersViewModels = new LogoutOthersViewModels(getOnlineDeviceList);
                        logoutOthersViewModels.ShowDialog();
                        devicesSSID = logoutOthersViewModels.DevicesSSID;

                        GenericResult <bool?> x = await authentication.LogoutOnlineDevices(devicesSSID);

                        if (x.Result == true)
                        {
                            return(await LoginOperate(passwordMD5));
                        }
                        else
                        {
                            return(ex.Response);
                        }
                    }
                    else
                    {
                        return(ex.Response);
                    }
                }
            }
        }