Ejemplo n.º 1
0
        public override void onRequestUpdate(MegaSDK api, MRequest request)
        {
            base.onRequestUpdate(api, request);

            if (request.getType() != MRequestType.TYPE_FETCH_NODES)
            {
                return;
            }

            if (request.getTotalBytes() > 0)
            {
                double progressValue = 100.0 * request.getTransferredBytes() / request.getTotalBytes();
                if ((progressValue > 99) || (progressValue < 0))
                {
                    UiService.OnUiThread(() =>
                                         ProgressService.SetProgressIndicator(true, ProgressMessages.PM_DecryptNodes));
                }
            }

            if (AppMemoryController.IsThresholdExceeded(75UL.FromMBToBytes()))
            {
                UiService.OnUiThread(() =>
                {
                    new CustomMessageDialog(
                        AppMessages.MemoryLimitError_Title,
                        AppMessages.MemoryLimitError,
                        App.AppInformation,
                        MessageDialogButtons.Ok).ShowDialog();
                    Application.Current.Terminate();
                });
            }
        }
Ejemplo n.º 2
0
 protected MemDiagnosticViewModel(MegaSDK megaSdk, bool autoStartDiagnostics, TimeSpan diagnosticPeriod)
     : base(megaSdk)
 {
     MemoryController = new AppMemoryController(314572800);
     if (autoStartDiagnostics)
     {
         MemoryController.StartDiagnostics(new TimeSpan(0), diagnosticPeriod);
     }
 }
Ejemplo n.º 3
0
        public void StopMemoryCounter()
        {
            if (_appMemoryController == null)
            {
                return;
            }

            _appMemoryController.StopDiagnostics();
            _appMemoryController.Dispose();
            _appMemoryController = null;
        }
Ejemplo n.º 4
0
        public override void onRequestUpdate(MegaSDK api, MRequest request)
        {
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                ProgressService.ChangeProgressBarBackgroundColor((Color)Application.Current.Resources["PhoneChromeColor"]);
                ProgressService.SetProgressIndicator(true, String.Format(ProgressMessages.FetchingNodes,
                                                                         request.getTransferredBytes().ToStringAndSuffix(2)));
            });

            if (AppMemoryController.IsThresholdExceeded(75UL.FromMBToBytes()))
            {
                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    new CustomMessageDialog(
                        AppMessages.MemoryLimitError_Title,
                        AppMessages.MemoryLimitError,
                        App.AppInformation,
                        MessageDialogButtons.Ok).ShowDialog();
                    Application.Current.Terminate();
                });
            }
        }
Ejemplo n.º 5
0
 public void StartMemoryCounter()
 {
     _appMemoryController = new AppMemoryController(100UL.FromMBToBytes());
     _appMemoryController.DiagnosticUpdate += AppMemoryControllerOnDiagnosticUpdate;
     _appMemoryController.StartDiagnostics(new TimeSpan(0), new TimeSpan(0, 0, 3));
 }