Exemple #1
0
        private async void Initialize(double?volume = null, bool?locked = null)
        {
            ShowIcon();

            double v;

            if (locked == true)
            {
                Locked = true;
                checkBoxLocked.Checked = true;

                // Set volume to provided value or the current
                v = volume ?? await GetVolumeWrapper();
            }
            else
            {
                v = await GetVolumeWrapper();
            }

            volumeChanged = device is null?
                            session.VolumeChanged.Subscribe(x => VolumeChanged(x.Volume)) :
                                device.VolumeChanged.Subscribe(x => VolumeChanged(x.Volume));

            await UiSynchronization.SwitchToUiThread();

            SetVolume(v);
        }
Exemple #2
0
        private async void VolumeChanged(double volume)
        {
            await UiSynchronization.SwitchToUiThread();

            // Has changed?
            if (volume != Volume)
            {
                if (Locked)
                {
                    // Revert
                    await SetVolumeWrapper(Volume);
                }
                else
                {
                    SetVolume(volume);
                }
            }
        }