protected virtual void OnMediaMetadataChanged(MediaMetadataChangedEventArgs e)
 {
     ThreadPool.QueueUserWorkItem(m =>
     {
         MediaMetadataChanged?.Invoke(this, e);
     });
 }
Beispiel #2
0
        private void MusicController_MediaMetadataChanged(object sender, MediaMetadataChangedEventArgs e)
        {
            Activity?.RunOnUiThread(() =>
            {
                activityIntent      = e.ActivityIntent;
                tvTitle.Text        = e.MediaMetadata.GetString(MediaMetadata.MetadataKeyTitle);
                tvAlbum.Text        = e.MediaMetadata.GetString(MediaMetadata.MetadataKeyAlbum);
                tvArtist.Text       = e.MediaMetadata.GetString(MediaMetadata.MetadataKeyArtist);
                skbSeekSongTime.Max = (int)e.MediaMetadata.GetLong(MediaMetadata.MetadataKeyDuration);
                ThreadPool.QueueUserWorkItem(m =>
                {
                    var albumart     = e.MediaMetadata.GetBitmap(MediaMetadata.MetadataKeyAlbumArt);
                    var wallpaper    = new BitmapDrawable(Activity.Resources, albumart);
                    int opacitylevel = configurationManager.RetrieveAValue(ConfigurationParameters.AlbumArtOpacityLevel, 255);
                    int blurLevel    = configurationManager.RetrieveAValue(ConfigurationParameters.AlbumArtBlurLevel, 1); //Never used (for now)
                    CurrentAlbumArt  = wallpaper;

                    if (configurationManager.RetrieveAValue(ConfigurationParameters.ShowAlbumArt))
                    {
                        WallpaperPublisher.ChangeWallpaper(new WallpaperChangedEventArgs
                        {
                            Wallpaper       = wallpaper,
                            OpacityLevel    = (short)opacitylevel,
                            BlurLevel       = 0,                          //Causes a crash That currently I cant debug, damn, thats why is 0. (No blur) and ignoring the value the used have setted.
                            WallpaperPoster = WallpaperPoster.MusicPlayer //We must nutify WallpaperPublisher who is posting the wallpaper, otherwise it'll be ignored.
                        });
                    }
                });
            });
        }
Beispiel #3
0
 protected virtual void OnMediaMetadataChanged(MediaMetadataChangedEventArgs e)
 {
     if (e.MediaMetadata != null) //Sometimes MediaMetadata is null, and it could cause a Crash later in MusicWidget
     {
         ThreadPool.QueueUserWorkItem(m =>
         {
             MediaMetadataChanged?.Invoke(this, e);
         });
     }
 }
        private void MusicController_MediaMetadataChanged(object sender, MediaMetadataChangedEventArgs e)
        {
            bool shouldChangeArtwork = true;

            if (configurationManager.RetrieveAValue(ConfigurationParameters.DisableArtworkUpdateOnSameAlbum) &&
                (tvAlbum?.Text != null && tvAlbum?.Text == e.MediaMetadata?.GetString(MediaMetadata.MetadataKeyAlbum)))
            {
                shouldChangeArtwork = false;
            }

            if (shouldChangeArtwork)
            {
                ThreadPool.QueueUserWorkItem(m =>
                {
                    var albumart     = e.MediaMetadata?.GetBitmap(MediaMetadata.MetadataKeyAlbumArt);
                    var wallpaper    = new BitmapDrawable(Resources, albumart);
                    int opacitylevel = configurationManager.RetrieveAValue(ConfigurationParameters.AlbumArtOpacityLevel, ConfigurationParameters.DefaultAlbumartOpacityLevel);
                    int blurLevel    = configurationManager.RetrieveAValue(ConfigurationParameters.AlbumArtBlurLevel, ConfigurationParameters.DefaultAlbumartBlurLevel);
                    CurrentAlbumArt  = wallpaper;

                    if (configurationManager.RetrieveAValue(ConfigurationParameters.ShowAlbumArt))
                    {
                        WallpaperPublisher.ChangeWallpaper(new WallpaperChangedEventArgs
                        {
                            Wallpaper       = wallpaper,
                            OpacityLevel    = (short)opacitylevel,
                            BlurLevel       = (short)blurLevel,
                            WallpaperPoster = WallpaperPoster.MusicPlayer //We must nutify WallpaperPublisher who is posting the wallpaper, otherwise it'll be ignored.
                        });
                    }
                });
            }

            Activity?.RunOnUiThread(() =>
            {
                activityIntent      = e.ActivityIntent;
                tvTitle.Text        = e.MediaMetadata?.GetString(MediaMetadata.MetadataKeyTitle);
                tvAlbum.Text        = e.MediaMetadata?.GetString(MediaMetadata.MetadataKeyAlbum);
                tvArtist.Text       = e.MediaMetadata?.GetString(MediaMetadata.MetadataKeyArtist);
                skbSeekSongTime.Max = (int)e.MediaMetadata?.GetLong(MediaMetadata.MetadataKeyDuration) / 1000;
                openNotificationId  = e.OpenNotificationId;
                if (e.AppName != string.Empty)
                {
                    sourceApp.Text = string.Format(Resources.GetString(Resource.String.playing_from_template), e.AppName);
                }
            });
        }
 private void MusicController_MediaMetadataChanged(object sender, MediaMetadataChangedEventArgs e)
 {
     tvTitle.Text        = e.MediaMetadata.GetString(MediaMetadata.MetadataKeyTitle);
     tvAlbum.Text        = e.MediaMetadata.GetString(MediaMetadata.MetadataKeyAlbum);
     tvArtist.Text       = e.MediaMetadata.GetString(MediaMetadata.MetadataKeyArtist);
     skbSeekSongTime.Max = (int)e.MediaMetadata.GetLong(MediaMetadata.MetadataKeyDuration);
     using (var albumart = e.MediaMetadata.GetBitmap(MediaMetadata.MetadataKeyAlbumArt))
     {
         using (var wallpaper = new BitmapDrawable(Resources, albumart))
         {
             int opacitylevel = configurationManager.RetrieveAValue(ConfigurationParameters.OpacityLevel, 255);
             WallpaperPublisher.ChangeWallpaper(new WallpaperChangedEventArgs
             {
                 Wallpaper    = wallpaper,
                 OpacityLevel = (short)opacitylevel
             });
         }
     }
     GC.Collect();
 }
 protected virtual void OnMediaMetadataChanged(MediaMetadataChangedEventArgs e)
 {
     MediaMetadataChanged?.Invoke(this, e);
 }