예제 #1
0
        public void UpdateNowPlaying(RadioStationNowPlaying playing)
        {
            var slot = playing.Slot;

            _controls.ArtistLabel.Text       = slot.Artist;
            _controls.TitleLabel.Text        = slot.Title;
            _controls.ScheduleTimeRange.Text = $"{Localization.Today.Add(playing.Slot.TimeOfDay):h:mm tt} - {Localization.Today.Add(playing.Slot.TimeOfDay).Add(playing.Duration):h:mm tt}";
            _controls.CoverImage.SetImageResource(Resource.Drawable.logo);

            if (slot.ImageUrl == null)
            {
                _controls.CoverImage.SetImageResource(Resource.Drawable.logo);
                _controls.CoverImage.ContentDescription = "Now Playing";
            }
            else
            {
                _controls.CoverImage.ContentDescription = $"Visit {slot.Artist} on the Web";

                if (playing.Cover == null)
                {
                    _controls.CoverImage.SetImageResource(Resource.Drawable.logo);
                }
                else
                {
                    _controls.CoverImage.SetImageBitmap(playing.Cover);
                }
            }
        }
예제 #2
0
        public void Refresh(bool isConnected, bool isPlaying, RadioStationNowPlaying playing)
        {
            base.Activity.SetContentView(Resource.Layout.MainActivity);

            _controls = new Controls(base.Activity);

            UpdateNetworkStatus(isConnected);
            UpdateState(isPlaying);

            if (playing != null)
            {
                UpdateNowPlaying(playing);
                UpdateProgress(playing);
            }
        }
예제 #3
0
        public void UpdateProgress(RadioStationNowPlaying playing)
        {
            _controls.PlayingProgress.Progress = 0;
            _controls.PlayingProgress.Max      = 100;

            if (playing.Duration.TotalMinutes > 0)
            {
                _controls.PlayingProgress.Progress = (int)Math.Ceiling((playing.Position.TotalSeconds / playing.Duration.TotalSeconds) * 100);
            }

            if (playing.Remaining.TotalMinutes >= 1)
            {
                _controls.PlayingProgress.ContentDescription = $"{Math.Ceiling(playing.Remaining.TotalMinutes):#0} minutes remaining";
            }
            else
            {
                _controls.PlayingProgress.ContentDescription = $"{Math.Ceiling(playing.Remaining.TotalSeconds):#0} seconds remaining";
            }
        }