コード例 #1
0
 public RunData(string mode)
 {
     this.mode            = mode;
     events               = new List <Event>(2048); // 100 seconds recording if 1 event every 50ms (= 20Hz)
     runDistance          = new RunDistance(mode);
     runAdjust            = new RunAdjust();
     accelerationRecorder = new AccelerometerRecorder(false); // false: do not use queue mode
 }
コード例 #2
0
        public PageMain()
        {
            InitializeComponent();
            Debug.LogToFileMethod();

            NavigationPage.SetHasBackButton(this, false);
            NavigationPage.SetHasNavigationBar(this, false);

            // DependencyService decides if to use iOS or Android
            gpsProvider           = DependencyService.Get <IDeviceGps>();
            accelerometerProvider = DependencyService.Get <IDeviceAcceleromter>();
            soundProvider         = DependencyService.Get <IDeviceSound>();

            runModeProvider       = new RunModeAcceleration(accelerometerProvider, soundProvider);
            accelerometerRecorder = new AccelerometerRecorder(true); // true: use queue mode to limit recording size

            // on first start -> use device language -> update our settings
            // on next starts -> use our updated settings
            LocaleId deviceLanguage = DependencyService.Get <IDeviceLocale>().GetLocale();

            // set language, use system language as default
            Localization.isEnglish = Settings.GetValueOrDefault(Settings.Language, deviceLanguage == LocaleId.English);
            Settings.AddOrUpdateValue(Settings.Language, Localization.isEnglish);

            InitLayout();
            InitLocalisation();
            InitHelp();

            bool showDisclaimer = Settings.GetValueOrDefault(Settings.Disclaimer, true);
            bool showTipOfDay   = Settings.GetValueOrDefault(Settings.TipOfDay, true);

            if (showDisclaimer || showTipOfDay)
            {
                Device.StartTimer(TimeSpan.FromMilliseconds(50), () =>
                {
                    if (isStartUpNoteShown == false) // only show once
                    {
                        isStartUpNoteShown = true;

                        if (showDisclaimer)
                        {
                            Navigation.PushAsync(new PageText(PageText.ContentType.Disclaimer));
                        }
                        else
                        {
                            Navigation.PushAsync(new PageText(PageText.ContentType.TipOfDay));
                        }
                    }

                    return(false); // stop timer
                });
            }
        }
コード例 #3
0
        public void Dispose() // IDisposable
        {
            imgButtonBack.Source = null;
            imgButtonBack.GestureRecognizers.RemoveAt(0);
            imgButtonBack         = null;
            tgrButtonBack.Tapped -= OnButtonBackTapped;
            tgrButtonBack         = null;

            lblCaption = null;

            imgButtonHelp.Source = null;
            imgButtonHelp.GestureRecognizers.RemoveAt(0);
            imgButtonHelp         = null;
            tgrButtonHelp.Tapped -= OnButtonHelpTapped;
            tgrButtonHelp         = null;

            lblHelp = null;

            imgCalibAnim1.Source       = null;
            imgCalibAnim1.SizeChanged -= OnLayoutSizeChanged;
            imgCalibAnim1              = null;

            imgCalibAnim2.Source = null;
            imgCalibAnim2        = null;

            imgCalibAnim3.Source = null;
            imgCalibAnim3        = null;

            imgCalibAnim4.Source = null;
            imgCalibAnim4        = null;

            lblText.SizeChanged -= OnLayoutSizeChanged;
            lblText              = null;

            btnOk.Image    = null;
            btnOk.Clicked -= OnButtonOkClicked;
            btnOk          = null;

            vehicle = null;
            accelerometerProvider = null;
            accelerometerRecorder = null;
            soundProvider         = null;
            calibrationFilter     = null;
            pageNavigation        = null;
        }
コード例 #4
0
        public PageCalibration(DataItemVehicle item, IDeviceAcceleromter accelerometer, IDeviceSound sound, PageMain parentPage)
        {
            InitializeComponent();
            Debug.LogToFileMethod();

            NavigationPage.SetHasBackButton(this, false);
            NavigationPage.SetHasNavigationBar(this, false);

            vehicle = item;
            accelerometerProvider = accelerometer;
            soundProvider         = sound;
            state                 = CalibrationState.Init;
            timeMilliSeconds      = 0;
            calibrationFilter     = new MovingAverage(SAMPLE_DURATION_MS / SAMPLE_INTERVAL_MS);
            calibration           = 0;
            pageNavigation        = parentPage;
            accelerometerRecorder = new AccelerometerRecorder(false); // false: do not use queue mode

            InitLayout();
        }
コード例 #5
0
        public void Dispose() // IDisposable
        {
            imgBackground.Source = null;
            imgBackground        = null;

            imgGpsStateOk.Source = null;
            imgGpsStateOk        = null;

            imgGpsStateNotOk.Source = null;
            imgGpsStateNotOk        = null;

            imgMountStateOk.Source = null;
            imgMountStateOk        = null;

            imgMountStateNotOk.Source = null;
            imgMountStateNotOk        = null;

            imgVelocityStateOk.Source = null;
            imgVelocityStateOk        = null;

            imgVelocityStateNotOk.Source = null;
            imgVelocityStateNotOk        = null;

            if (Config.Debug.PageRunAdjustEnabled)
            {
                imgDebugRunAdjust.Source  = null;
                imgDebugRunAdjust         = null;
                tgrDebugRunAdjust.Tapped -= OnImageDebugRunAdjust;
                tgrDebugRunAdjust         = null;
            }

            lblGpsState.SizeChanged      -= OnLayoutSizeChanged;
            lblMountState.SizeChanged    -= OnLayoutSizeChanged;
            lblVelocityState.SizeChanged -= OnLayoutSizeChanged;

            lblGpsState      = null;
            lblMountState    = null;
            lblVelocityState = null;

            lytHorizontalTab = null;

            btnTabAcceleration.Image    = null;
            btnTabAcceleration.Clicked -= OnButtonTabAcceleration;
            btnTabAcceleration          = null;

            btnTabBrake.Image    = null;
            btnTabBrake.Clicked -= OnButtonTabBrake;
            btnTabBrake          = null;

            btnTabZeroToZero.Image    = null;
            btnTabZeroToZero.Clicked -= OnButtonTabZeroToZero;
            btnTabZeroToZero          = null;

            btnTabResults.Image    = null;
            btnTabResults.Clicked -= OnButtonTabResults;
            btnTabResults          = null;

            btnHelp.Image    = null;
            btnHelp.Clicked -= OnButtonHelp;
            btnHelp          = null;

            if (Config.Debug.PagePurchaseEnabled)
            {
                btnDebugPurchase.Image    = null;
                btnDebugPurchase.Clicked -= OnButtonDebugPurchase;
                btnDebugPurchase          = null;
            }

            btnConfig          = null;
            btnConfig.Image    = null;
            btnConfig.Clicked -= OnButtonConfig;

            btnSetup.Image    = null;
            btnSetup.Clicked -= OnButtonSetup;
            btnSetup          = null;

            btnRun.Image    = null;
            btnRun.Clicked -= OnButtonRun;
            btnRun          = null;

            btnProfile.Image    = null;
            btnProfile.Clicked -= OnButtonProfile;
            btnProfile          = null;

            gpsProvider           = null;
            accelerometerProvider = null;
            runModeProvider       = null;
            soundProvider         = null;
            accelerometerRecorder = null;
            pageRun            = null;
            pageConfig         = null;
            pageProfile        = null;
            pageResults        = null;
            pageHelp           = null;
            pageDebugRunAdjust = null;
            pageDebugPurchase  = null;
            pageSetup          = null;
        }