public AudioPlayerViewModel(INavigation navigation = null) : base(navigation)
        {
            _audioPlayerManager       = DependencyService.Get <IAudioPlayerManager>();
            _musicDictionary          = DependencyService.Get <IMusicDictionary>();
            _devicePermissionServices = DependencyService.Get <IDevicePermissionServices>();
            SetPageImageSize();
            MusicFiles         = new List <MusicFile>();
            AllMusicFiles      = new List <MusicFile>();
            PlaylistMusicFiles = new List <MusicFile>();
            CurrentMusicFile   = new MusicFile();
            PlayButton         = ImageResizer.ResizeImage(TextResources.icon_media_play, ButtonImageSize);
            PauseButton        = ImageResizer.ResizeImage(TextResources.icon_media_pause, ButtonImageSize);
            StopButton         = ImageResizer.ResizeImage(TextResources.icon_media_stop, ButtonImageSize);
            NextButton         = ImageResizer.ResizeImage(TextResources.icon_media_next, ButtonImageSize);
            PreviousButton     = ImageResizer.ResizeImage(TextResources.icon_media_previous, ButtonImageSize);
            ForwardButton      = ImageResizer.ResizeImage(TextResources.icon_media_forward, ButtonImageSize);
            BackwardButton     = ImageResizer.ResizeImage(TextResources.icon_media_backward, ButtonImageSize);
            PlayPauseButton    = PlayButton;
            NowPlayingButton   = PlayButton;

            ChecklistImage    = ChecklistDefaultImage;
            SortImage         = SortDefaultImage;
            PlaylistTextStyle = PlaylistTextStyleDefault;
            PlaylistSortBy    = PlaylistSortList.Title;

            IsPlaying           = false;
            IsPause             = false;
            IsMediaExists       = false;
            CurrentSongIndex    = 0;
            IsLoopStarted       = false;
            IsPermissionGranted = false;
        }
        public AudioPlayerViewModel(INavigation navigation = null) : base(navigation)
        {
            SetActivityResource(showEditable: false, showBusy: true, busyMessage: TextResources.ProcessingPleaseWait);
            _audioPlayerManager = DependencyService.Get <IAudioPlayerManager>();
            _musicDictionary    = DependencyService.Get <IMusicDictionary>();
            if (!_musicDictionary.Authorized())
            {
                var message = "";
                _musicDictionary.Messages.ForEach((msg) => { message += msg + "\n"; });
                SetActivityResource(showMessage: true, message: message);
            }
            SetPageImageSize();
            MusicFiles         = new List <MediaItem>();
            AllMusicFiles      = new List <MediaItem>();
            PlaylistMusicFiles = new List <MediaItem>();
            CurrentMusicFile   = new MediaItem();
            PlayButton         = ImageResizer.ResizeImage(TextResources.icon_media_play, ButtonImageSize);
            //PauseButton = ImageResizer.ResizeImage(TextResources.icon_media_pause, ButtonImageSize);
            StopButton     = ImageResizer.ResizeImage(TextResources.icon_media_stop, ButtonImageSize);
            NextButton     = ImageResizer.ResizeImage(TextResources.icon_media_next, ButtonImageSize);
            PreviousButton = ImageResizer.ResizeImage(TextResources.icon_media_previous, ButtonImageSize);
            //ForwardButton = ImageResizer.ResizeImage(TextResources.icon_media_forward, ButtonImageSize);
            //BackwardButton = ImageResizer.ResizeImage(TextResources.icon_media_backward, ButtonImageSize);
            PlayPauseButton  = PlayButton;
            NowPlayingButton = PlayButton;

            ChecklistImage    = ChecklistDefaultImage;
            SortImage         = SortDefaultImage;
            PlaylistTextStyle = PlaylistTextStyleDefault;
            PlaylistSortBy    = PlaylistSortList.Title;

            IsPlaying           = false;
            IsPause             = false;
            IsMediaExists       = false;
            CurrentSongIndex    = 0;
            IsLoopStarted       = false;
            IsPermissionGranted = false;
        }