private void OnSliderScroll(FluidSliderView slider, bool touching, Scalar pressure, Scalar temperature)
        {
            if (touching)
            {
                SetPressureInputQuietly(SensorUtils.ToFormattedString(pressure.ConvertTo(pressureUnit)));
                SetTemperatureInputQuietly(SensorUtils.ToFormattedString(temperature.ConvertTo(temperatureUnit)));
            }
            else
            {
                if (!pressureEntryView.HasFocus)
                {
                    SetPressureInputQuietly(SensorUtils.ToFormattedString(pressure.ConvertTo(pressureUnit)));
                }

                if (!temperatureEntryView.HasFocus)
                {
                    SetTemperatureInputQuietly(SensorUtils.ToFormattedString(temperature.ConvertTo(temperatureUnit)));
                }
            }
        }
        // Overridden from IONActivity
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            ActionBar.SetIcon(GetColoredDrawable(Resource.Drawable.ic_nav_ptconversion, Resource.Color.gray));
            ActionBar.SetDisplayHomeAsUpEnabled(true);

            SetContentView(Resource.Layout.activity_ptchart);

            FindViewById(Resource.Id.fluid).SetOnClickListener(new ViewClickAction((view) => {
                var i = new Intent(this, typeof(FluidManagerActivity));
                i.SetAction(Intent.ActionPick);
                i.PutExtra(FluidManagerActivity.EXTRA_SELECTED, ion.fluidManager.lastUsedFluid.name);
                StartActivityForResult(i, REQUEST_FLUID);
            }));

            fluidColorView       = FindViewById(Resource.Id.color);
            fluidNameView        = FindViewById <TextView>(Resource.Id.name);
            fluidPhaseToggleView = FindViewById <Switch>(Resource.Id.state);
            fluidPhaseToggleView.SetOnCheckedChangeListener(new ViewCheckChangedAction((button, isChecked) => {
                if (isChecked)
                {
                    ptChart = ptChart.fluid.GetPtChart(Fluid.EState.Bubble);
                }
                else
                {
                    ptChart = ptChart.fluid.GetPtChart(Fluid.EState.Dew);
                }
            }));

            slider = FindViewById <FluidSliderView>(Resource.Id.ptchart);

            pressureUnit    = ion.preferences.units.pressure;
            temperatureUnit = ion.preferences.units.temperature;

            // Init elevation widgets
            var container = FindViewById(Resource.Id.elevation);

            elevation = container.FindViewById <TextView>(Resource.Id.text);

            InitPressureWidgets();
            InitTemperatureWidgets();
            var contentView = FindViewById(Resource.Id.content);

            contentView.SetOnTouchListener(new ClearFocusListener(pressureEntryView, temperatureEntryView));

            // Note: [email protected]: apparently we want to always change the fluid to the last used fluid per christian and kyle 1 Feb 2017
            ptChart = ion.fluidManager.lastUsedFluid.GetPtChart(Fluid.EState.Dew);

            if (Intent.HasExtra(EXTRA_WORKBENCH_MANIFOLD))
            {
                var index = Intent.GetIntExtra(EXTRA_WORKBENCH_MANIFOLD, -1);
                if (index == -1)
                {
                    Alert(Resource.String.ptchart_error_no_manifold);
                    SetResult(Result.Canceled);
                    Finish();
                    return;
                }
                else
                {
                    var manifold = ion.currentWorkbench[index];
                    InitFromManifold(manifold);
                }
            }
            else if (Intent.HasExtra(EXTRA_ANALYZER_MANIFOLD))
            {
                var index = Intent.GetIntExtra(EXTRA_ANALYZER_MANIFOLD, -1);
                var side  = (Analyzer.ESide)index;

                if (index == -1)
                {
                    Alert(Resource.String.ptchart_error_no_manifold);
                    SetResult(Result.Canceled);
                    Finish();
                    return;
                }
                else
                {
                    var manifold = ion.currentAnalyzer.GetManifoldFromSide(side);
                    InitFromManifold(manifold);
                }
            }
            else if (Intent.HasExtra(EXTRA_SENSOR))
            {
                var sp = (SensorParcelable)Intent.GetParcelableExtra(EXTRA_SENSOR);
                var s  = sp.Get(ion);
                if (ESensorType.Pressure == s?.type || ESensorType.Temperature == s?.type)
                {
                    _sensor      = s;
                    sensorLocked = true;
                }
                else
                {
                    Error(string.Format(GetString(Resource.String.ptchart_error_cannot_start_activity_1sarg), s?.type.GetTypeString()));
                    SetResult(Result.Canceled);
                    Finish();
                }
            }
            else
            {
                sensorLocked = false;
            }

            ClearInput();
        }