diff --git a/MusicApp.sln b/MusicApp.sln index 28247a9..463879e 100644 --- a/MusicApp.sln +++ b/MusicApp.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26730.12 +VisualStudioVersion = 15.0.27004.2006 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MusicApp", "MusicApp\MusicApp.csproj", "{35E54AD4-5E2B-4DCD-9C20-F715D682A22B}" EndProject diff --git a/MusicApp/MainActivity.cs b/MusicApp/MainActivity.cs index a24c0a8..4610ad2 100644 --- a/MusicApp/MainActivity.cs +++ b/MusicApp/MainActivity.cs @@ -111,8 +111,6 @@ namespace MusicApp searchView.QueryTextSubmit += (s, e) => { - if (DownloadList.instance != null) - DownloadList.instance.Search(e.Query); if (YoutubeEngine.instance != null) YoutubeEngine.instance.Search(e.Query); diff --git a/MusicApp/MusicApp.csproj b/MusicApp/MusicApp.csproj index 7fa59a2..b15d443 100644 --- a/MusicApp/MusicApp.csproj +++ b/MusicApp/MusicApp.csproj @@ -56,6 +56,24 @@ True + + ..\packages\Xam.Plugins.Android.ExoPlayer.2.5.3\lib\MonoAndroid\ExoPlayer.dll + + + ..\packages\Xam.Plugins.Android.ExoPlayer.Core.2.5.3\lib\MonoAndroid\ExoPlayer.Core.dll + + + ..\packages\Xam.Plugins.Android.ExoPlayer.Dash.2.5.3\lib\MonoAndroid\ExoPlayer.Dash.dll + + + ..\packages\Xam.Plugins.Android.ExoPlayer.Hls.2.5.3\lib\MonoAndroid\ExoPlayer.Hls.dll + + + ..\packages\Xam.Plugins.Android.ExoPlayer.SmoothStreaming.2.5.3\lib\MonoAndroid\ExoPlayer.SmoothStreaming.dll + + + ..\packages\Xam.Plugins.Android.ExoPlayer.UI.2.5.3\lib\MonoAndroid\ExoPlayer.UI.dll + ..\packages\Google.Apis.1.30.0\lib\netstandard1.3\Google.Apis.dll @@ -68,8 +86,8 @@ ..\packages\Google.Apis.Core.1.30.0\lib\netstandard1.3\Google.Apis.Core.dll - - ..\packages\Google.Apis.YouTube.v3.1.30.0.1006\lib\netstandard1.3\Google.Apis.YouTube.v3.dll + + ..\packages\Google.Apis.YouTube.v3.1.30.0.1035\lib\netstandard1.3\Google.Apis.YouTube.v3.dll @@ -168,9 +186,6 @@ ..\packages\YoutubeExplode.3.2.5\lib\netstandard1.1\YoutubeExplode.dll - - ..\packages\YoutubeSearch.dll.1.1\lib\YoutubeSearch.dll - @@ -197,7 +212,6 @@ - diff --git a/MusicApp/Properties/AndroidManifest.xml b/MusicApp/Properties/AndroidManifest.xml index 67cc25a..fd2dba2 100644 --- a/MusicApp/Properties/AndroidManifest.xml +++ b/MusicApp/Properties/AndroidManifest.xml @@ -1,6 +1,6 @@  - + diff --git a/MusicApp/Resources/Portable Class/DownloadList.cs b/MusicApp/Resources/Portable Class/DownloadList.cs index 131892a..601759a 100644 --- a/MusicApp/Resources/Portable Class/DownloadList.cs +++ b/MusicApp/Resources/Portable Class/DownloadList.cs @@ -1,114 +1,113 @@ -using Android.Content; -using Android.OS; -using Android.Views; -using Android.Widget; -using Android.Support.V4.App; -using System.Collections.Generic; -using Android.Support.Design.Widget; -using YoutubeSearch; -using MusicApp.Resources.values; -using Android.Support.V7.Preferences; -using Android.Util; +//using Android.Content; +//using Android.OS; +//using Android.Views; +//using Android.Widget; +//using Android.Support.V4.App; +//using System.Collections.Generic; +//using Android.Support.Design.Widget; +//using MusicApp.Resources.values; +//using Android.Support.V7.Preferences; +//using Android.Util; -namespace MusicApp.Resources.Portable_Class -{ - public class DownloadList : ListFragment - { - public static DownloadList instance; +//namespace MusicApp.Resources.Portable_Class +//{ +// public class DownloadList : ListFragment +// { +// public static DownloadList instance; - private View emptyView; - private bool isEmpty = true; - private List list = new List(); +// private View emptyView; +// private bool isEmpty = true; +// private List list = new List(); - public override void OnActivityCreated(Bundle savedInstanceState) - { - base.OnActivityCreated(savedInstanceState); - emptyView = LayoutInflater.Inflate(Resource.Layout.DownloadLayout, null); - ListView.EmptyView = emptyView; - ListView.ItemClick += ListView_ItemClick; - ListView.ItemLongClick += ListView_ItemLongClick; ; - ListAdapter = null; - Activity.AddContentView(emptyView, View.LayoutParameters); - } +// public override void OnActivityCreated(Bundle savedInstanceState) +// { +// base.OnActivityCreated(savedInstanceState); +// emptyView = LayoutInflater.Inflate(Resource.Layout.DownloadLayout, null); +// ListView.EmptyView = emptyView; +// ListView.ItemClick += ListView_ItemClick; +// ListView.ItemLongClick += ListView_ItemLongClick; +// ListAdapter = null; +// Activity.AddContentView(emptyView, View.LayoutParameters); +// } - public override void OnDestroy() - { - if (isEmpty) - { - ViewGroup rootView = Activity.FindViewById(Android.Resource.Id.Content); - rootView.RemoveView(emptyView); - } - base.OnDestroy(); - instance = null; - } +// public override void OnDestroy() +// { +// if (isEmpty) +// { +// ViewGroup rootView = Activity.FindViewById(Android.Resource.Id.Content); +// rootView.RemoveView(emptyView); +// } +// base.OnDestroy(); +// instance = null; +// } - public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) - { - View view = base.OnCreateView(inflater, container, savedInstanceState); - view.SetPadding(0, 100, 0, MainActivity.paddingBot); - return view; - } +// public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) +// { +// View view = base.OnCreateView(inflater, container, savedInstanceState); +// view.SetPadding(0, 100, 0, MainActivity.paddingBot); +// return view; +// } - public static Fragment NewInstance() - { - instance = new DownloadList { Arguments = new Bundle() }; - return instance; - } +// public static Fragment NewInstance() +// { +// instance = new DownloadList { Arguments = new Bundle() }; +// return instance; +// } - public void Search(string search) - { - if(search == null || search == "") - { - if(!isEmpty) - Activity.AddContentView(emptyView, View.LayoutParameters); - return; - } - if (!isEmpty) - { - ViewGroup rootView = Activity.FindViewById(Android.Resource.Id.Content); - rootView.RemoveView(emptyView); - isEmpty = false; - } +// public void Search(string search) +// { +// if(search == null || search == "") +// { +// if(!isEmpty) +// Activity.AddContentView(emptyView, View.LayoutParameters); +// return; +// } +// if (!isEmpty) +// { +// ViewGroup rootView = Activity.FindViewById(Android.Resource.Id.Content); +// rootView.RemoveView(emptyView); +// isEmpty = false; +// } - list.Clear(); - var items = new VideoSearch(); +// list.Clear(); +// var items = new VideoSearch(); - foreach(var item in items.SearchQuery(search, 1)) - { - new YTitemToSong(item, out Song song); - list.Add(song); - } +// foreach(var item in items.SearchQuery(search, 1)) +// { +// new YTitemToSong(item, out Song song); +// list.Add(song); +// } - ListAdapter = new Adapter(Android.App.Application.Context, Resource.Layout.SongList, list); - } +// ListAdapter = new Adapter(Android.App.Application.Context, Resource.Layout.SongList, list); +// } - private void ListView_ItemClick(object sender, AdapterView.ItemClickEventArgs e) - { +// private void ListView_ItemClick(object sender, AdapterView.ItemClickEventArgs e) +// { - } +// } - private void ListView_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e) - { - ISharedPreferences prefManager = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context); - if(prefManager.GetString("downloadPath", null) != null) - { - Toast.MakeText(Android.App.Application.Context, "Downloading...", ToastLength.Short).Show(); - Context context = Android.App.Application.Context; - Intent intent = new Intent(context, typeof(Downloader)); - intent.PutExtra("file", list[e.Position].GetPath()); - intent.PutExtra("path", prefManager.GetString("downloadPath", null)); - intent.PutExtra("name", list[e.Position].GetName()); - context.StartService(intent); - } - else - { - Snackbar.Make(View, "Download Path Not Set.", Snackbar.LengthShort).SetAction("Set Path", (v) => - { - Intent intent = new Intent(Android.App.Application.Context, typeof(Preferences)); - StartActivity(intent); - }).Show(); - } - } - } -} \ No newline at end of file +// private void ListView_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e) +// { +// ISharedPreferences prefManager = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context); +// if(prefManager.GetString("downloadPath", null) != null) +// { +// Toast.MakeText(Android.App.Application.Context, "Downloading...", ToastLength.Short).Show(); +// Context context = Android.App.Application.Context; +// Intent intent = new Intent(context, typeof(Downloader)); +// intent.PutExtra("file", list[e.Position].GetPath()); +// intent.PutExtra("path", prefManager.GetString("downloadPath", null)); +// intent.PutExtra("name", list[e.Position].GetName()); +// context.StartService(intent); +// } +// else +// { +// Snackbar.Make(View, "Download Path Not Set.", Snackbar.LengthShort).SetAction("Set Path", (v) => +// { +// Intent intent = new Intent(Android.App.Application.Context, typeof(Preferences)); +// StartActivity(intent); +// }).Show(); +// } +// } +// } +//} \ No newline at end of file diff --git a/MusicApp/Resources/Portable Class/Downloader.cs b/MusicApp/Resources/Portable Class/Downloader.cs index 51f9c2f..dad1c7b 100644 --- a/MusicApp/Resources/Portable Class/Downloader.cs +++ b/MusicApp/Resources/Portable Class/Downloader.cs @@ -41,21 +41,19 @@ namespace MusicApp.Resources.Portable_Class public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId) { Console.WriteLine("Downloader service started"); - string uri = intent.GetStringExtra("file"); + string videoID = intent.GetStringExtra("videoID"); string path = intent.GetStringExtra("path"); string name = intent.GetStringExtra("name"); - DownloadAudio(uri, path, name); + DownloadAudio(videoID, path, name); return StartCommandResult.Sticky; } - private async void DownloadAudio(string uri, string path, string name) + private async void DownloadAudio(string videoID, string path, string name) { CreateNotification("Downloading: ", name); - string videoID = uri.Remove(0, uri.IndexOf("=") + 1); var client = new YoutubeClient(); var videoInfo = await client.GetVideoInfoAsync(videoID); - var streamInfo = videoInfo.AudioStreams.OrderBy(s => s.Bitrate).Last(); string fileExtension = streamInfo.Container.GetFileExtension(); diff --git a/MusicApp/Resources/Portable Class/MusicPlayer.cs b/MusicApp/Resources/Portable Class/MusicPlayer.cs index ef53880..edf7eec 100644 --- a/MusicApp/Resources/Portable Class/MusicPlayer.cs +++ b/MusicApp/Resources/Portable Class/MusicPlayer.cs @@ -16,13 +16,18 @@ using Square.Picasso; using Uri = Android.Net.Uri; using Android.Widget; +using Com.Google.Android.Exoplayer2; +using Com.Google.Android.Exoplayer2.Trackselection; +using Com.Google.Android.Exoplayer2.Upstream; +using Com.Google.Android.Exoplayer2.Source; +using Com.Google.Android.Exoplayer2.Extractor; namespace MusicApp.Resources.Portable_Class { [Service] - public class MusicPlayer : Service, AudioManager.IOnAudioFocusChangeListener + public class MusicPlayer : Service, IPlayerEventListener, AudioManager.IOnAudioFocusChangeListener { - public static MediaPlayer player; + public static SimpleExoPlayer player; public static List queue = new List(); public MediaSessionCompat mediaSession; public AudioManager audioManager; @@ -55,7 +60,7 @@ namespace MusicApp.Resources.Portable_Class break; case "Pause": - if (player.IsPlaying) + if(isRunning) Pause(); else Resume(); @@ -82,18 +87,9 @@ namespace MusicApp.Resources.Portable_Class SwitchQueue(file); break; case "Stop": - if (player.IsPlaying) + if(isRunning) Stop(); break; - case "YTPlay": - string[] song = intent.GetStringArrayListExtra("song").ToArray(); - Console.WriteLine(song.Length); - Console.WriteLine(song[0]); - Console.WriteLine(song[1]); - Console.WriteLine(song[2]); - - PlayFromYT(file, song[0], song[1], song[2]); - break; } if (intent.Action != null) @@ -109,90 +105,47 @@ namespace MusicApp.Resources.Portable_Class { audioManager = (AudioManager)Application.Context.GetSystemService(AudioService); notificationManager = (NotificationManager)Application.Context.GetSystemService(NotificationService); - - player = new MediaPlayer(); - InitializePlayer(); + DefaultBandwidthMeter bandwithMeter = new DefaultBandwidthMeter(); + AdaptiveTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwithMeter); + TrackSelector trackSelector = new DefaultTrackSelector(trackSelectionFactory); + player = ExoPlayerFactory.NewSimpleInstance(Application.Context, trackSelector); + player.PlayWhenReady = true; + player.AddListener(this); } - private void InitializePlayer() - { - player.SetAudioStreamType(Stream.Music); - player.SetWakeMode(Application.Context, WakeLockFlags.Partial); - - player.Prepared += (sender, args) => player.Start(); - player.Completion += (sender, args) => PlayNext(); - player.Error += (sender, args) => - { - Console.WriteLine("Error in playback resetting: " + args.What); - Stop(); - }; - } - - public async void Play(string filePath) + public void Play(string filePath) { isRunning = true; if (player == null) InitializeService(); - if (mediaSession != null) + DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(Application.Context, "MusicApp"); + IExtractorsFactory extractorFactory = new DefaultExtractorsFactory(); + Handler handler = new Handler(); + IMediaSource mediaSource = new ExtractorMediaSource(Uri.Parse(filePath), dataSourceFactory, extractorFactory, handler, null); + var audioFocus = audioManager.RequestAudioFocus(this, Stream.Music, AudioFocus.Gain); + if (audioFocus != AudioFocusRequest.Granted) { - player.Reset(); - InitializePlayer(); - await player.SetDataSourceAsync(Application.Context, Uri.Parse(filePath)); - player.PrepareAsync(); - GetTrackSong(filePath, out Song song); - CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt()); - queue.Clear(); - AddToQueue(filePath); + Console.WriteLine("Can't Get Audio Focus"); return; } - try - { - mediaSession = new MediaSessionCompat(Application.Context, "MusicApp"); - mediaSession.SetFlags(MediaSessionCompat.FlagHandlesMediaButtons | MediaSessionCompat.FlagHandlesTransportControls); - PlaybackStateCompat.Builder builder = new PlaybackStateCompat.Builder().SetActions(PlaybackStateCompat.ActionPlay | PlaybackStateCompat.ActionPause); - mediaSession.SetPlaybackState(builder.Build()); + player.Prepare(mediaSource, true, true); - await player.SetDataSourceAsync(Application.Context, Android.Net.Uri.Parse(filePath)); - var audioFocus = audioManager.RequestAudioFocus(this, Stream.Music, AudioFocus.Gain); - if (audioFocus != AudioFocusRequest.Granted) - { - Console.WriteLine("Can't Get Audio Focus"); - return; - } - player.PrepareAsync(); - GetTrackSong(filePath, out Song song); - CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt()); - queue.Clear(); - AddToQueue(filePath); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex); - } - } - - public async void PlayFromYT(string url, string title, string artist, string imageURL) - { - Console.WriteLine("URL: " + url); - InitializeService(); - await player.SetDataSourceAsync(Application.Context, Uri.Parse(url)); - player.PrepareAsync(); - //isRunning = true; - //if (player == null) - // InitializeService(); + GetTrackSong(filePath, out Song song); + CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt()); + queue.Clear(); + AddToQueue(song); //if (mediaSession != null) //{ // player.Reset(); // InitializePlayer(); - // await player.SetDataSourceAsync(Application.Context, Uri.Parse(url)); + // await player.SetDataSourceAsync(Application.Context, Uri.Parse(filePath)); // player.PrepareAsync(); - // CreateNotification(title, artist, 0, imageURL); - + // GetTrackSong(filePath, out Song song); + // CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt()); // queue.Clear(); - // Song item = new Song(title, artist, imageURL, -1, 1, url); - // queue.Add(item); + // AddToQueue(filePath); // return; //} //try @@ -202,7 +155,7 @@ namespace MusicApp.Resources.Portable_Class // PlaybackStateCompat.Builder builder = new PlaybackStateCompat.Builder().SetActions(PlaybackStateCompat.ActionPlay | PlaybackStateCompat.ActionPause); // mediaSession.SetPlaybackState(builder.Build()); - // await player.SetDataSourceAsync(Application.Context, Uri.Parse(url)); + // await player.SetDataSourceAsync(Application.Context, Android.Net.Uri.Parse(filePath)); // var audioFocus = audioManager.RequestAudioFocus(this, Stream.Music, AudioFocus.Gain); // if (audioFocus != AudioFocusRequest.Granted) // { @@ -210,10 +163,10 @@ namespace MusicApp.Resources.Portable_Class // return; // } // player.PrepareAsync(); - // CreateNotification(title, artist, 0, imageURL); + // GetTrackSong(filePath, out Song song); + // CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt()); // queue.Clear(); - // Song item = new Song(title, artist, imageURL, -1, 1, url); - // queue.Add(item); + // AddToQueue(filePath); //} //catch (Exception ex) //{ @@ -239,7 +192,14 @@ namespace MusicApp.Resources.Portable_Class public void AddToQueue(string filePath) { GetTrackSong(filePath, out Song song); - Console.WriteLine("AddToQueue path: " + song.GetPath() + " Before get track song: " + filePath); + if (CurrentID() == -1) + queue.Add(song); + else + queue.Insert(CurrentID() + 1, song); + } + + public void AddToQueue(Song song) + { if (CurrentID() == -1) queue.Add(song); else @@ -275,17 +235,11 @@ namespace MusicApp.Resources.Portable_Class SwitchQueue(filePath); } - async void SwitchQueue(string filePath) + void SwitchQueue(string filePath) { - isRunning = true; + Play(filePath); - if(player != null) - player.Reset(); - InitializePlayer(); - await player.SetDataSourceAsync(Application.Context, Uri.Parse(filePath)); - player.PrepareAsync(); GetTrackSong(filePath, out Song song); - CreateNotification(song.GetName(), song.GetArtist(), song.GetAlbumArt()); if (Player.instance != null) Player.instance.RefreshPlayer(); @@ -315,8 +269,8 @@ namespace MusicApp.Resources.Portable_Class public static void SetSeekBar(SeekBar bar) { - bar.Max = player.Duration; - bar.Progress = player.CurrentPosition; + bar.Max = (int) player.Duration; + bar.Progress = (int) player.CurrentPosition; bar.ProgressChanged += (sender, e) => { if (player != null && e.FromUser) @@ -328,7 +282,7 @@ namespace MusicApp.Resources.Portable_Class { get { - return player.Duration; + return (int) player.Duration; } } @@ -336,7 +290,7 @@ namespace MusicApp.Resources.Portable_Class { get { - return player.CurrentPosition; + return (int) player.CurrentPosition; } } @@ -349,6 +303,10 @@ namespace MusicApp.Resources.Portable_Class long id = 0; string path = filePath; + if (false /*Check if it's a youtube video*/) + { + //return information about a youtube video + } Uri musicUri = MediaStore.Audio.Media.ExternalContentUri; @@ -406,7 +364,7 @@ namespace MusicApp.Resources.Portable_Class { icon = Picasso.With(Application.Context).Load(iconURI).Error(Resource.Drawable.MusicIcon).Placeholder(Resource.Drawable.MusicIcon).NetworkPolicy(NetworkPolicy.Offline).Resize(400, 400).CenterCrop().Get(); } - catch (Exception) + catch (System.Exception) { icon = Picasso.With(Application.Context).Load(Resource.Drawable.MusicIcon).Get(); } @@ -452,7 +410,7 @@ namespace MusicApp.Resources.Portable_Class public void Pause() { - if(player != null && player.IsPlaying) + if(player != null && isRunning) { Intent tmpPauseIntent = new Intent(Application.Context, typeof(MusicPlayer)); tmpPauseIntent.SetAction("Pause"); @@ -461,7 +419,7 @@ namespace MusicApp.Resources.Portable_Class notification.Actions[1] = new Notification.Action(Resource.Drawable.ic_play_arrow_black_24dp, "Play", pauseIntent); notificationManager.Notify(notificationID, notification); - player.Pause(); + player.PlayWhenReady = false; StopForeground(false); RelativeLayout smallPlayer = MainActivity.instance.FindViewById(Resource.Id.smallPlayer); @@ -476,7 +434,7 @@ namespace MusicApp.Resources.Portable_Class public void Resume() { - if(player != null && !player.IsPlaying) + if(player != null && !isRunning) { Intent tmpPauseIntent = new Intent(Application.Context, typeof(MusicPlayer)); tmpPauseIntent.SetAction("Pause"); @@ -484,7 +442,7 @@ namespace MusicApp.Resources.Portable_Class notification.Actions[1] = new Notification.Action(Resource.Drawable.ic_pause_black_24dp, "Pause", pauseIntent); - player.Start(); + player.PlayWhenReady = true; StartForeground(notificationID, notification); RelativeLayout smallPlayer = MainActivity.instance.FindViewById(Resource.Id.smallPlayer); @@ -503,9 +461,9 @@ namespace MusicApp.Resources.Portable_Class MainActivity.instance.HideSmallPlayer(); if (player != null) { - if (player.IsPlaying) + if (isRunning) player.Stop(); - player.Reset(); + player.Release(); StopForeground(true); } } @@ -516,12 +474,12 @@ namespace MusicApp.Resources.Portable_Class { case AudioFocus.Gain: if (player == null) - InitializePlayer(); + InitializeService(); - if (!player.IsPlaying) - player.Start(); + if (!isRunning) + player.PlayWhenReady = true; - player.SetVolume(1, 1); + player.Volume = 1; break; case AudioFocus.Loss: @@ -533,8 +491,8 @@ namespace MusicApp.Resources.Portable_Class break; case AudioFocus.LossTransientCanDuck: - if (player.IsPlaying) - player.SetVolume(.2f, .2f); + if (isRunning) + player.Volume = 0.2f; break; default: @@ -551,5 +509,45 @@ namespace MusicApp.Resources.Portable_Class if (player != null) player.Release(); } + + public void OnLoadingChanged(bool p0) + { + + } + + public void OnPlaybackParametersChanged(PlaybackParameters p0) + { + + } + + public void OnPlayerError(ExoPlaybackException args) + { + Console.WriteLine("Error in playback resetting: " + args.Cause); + } + + public void OnPlayerStateChanged(bool p0, int p1) + { + + } + + public void OnPositionDiscontinuity() + { + + } + + public void OnRepeatModeChanged(int p0) + { + + } + + public void OnTimelineChanged(Timeline p0, Java.Lang.Object p1) + { + + } + + public void OnTracksChanged(TrackGroupArray p0, TrackSelectionArray p1) + { + + } } } \ No newline at end of file diff --git a/MusicApp/Resources/Portable Class/YTitemToSong.cs b/MusicApp/Resources/Portable Class/YTitemToSong.cs deleted file mode 100644 index 97ec161..0000000 --- a/MusicApp/Resources/Portable Class/YTitemToSong.cs +++ /dev/null @@ -1,20 +0,0 @@ -using MusicApp.Resources.values; -using YoutubeSearch; - -namespace MusicApp.Resources.Portable_Class -{ - public class YTitemToSong - { - public YTitemToSong(VideoInformation item, out Song song) - { - string title = item.Title; - string artist = item.Author; - string album = item.Thumbnail; - long albumArt = -1; - long id = 1; - string path = item.Url; - - song = new Song(title, artist, album, albumArt, id, path); - } - } -} \ No newline at end of file diff --git a/MusicApp/Resources/Portable Class/YoutubeEngine.cs b/MusicApp/Resources/Portable Class/YoutubeEngine.cs index f03dcb9..3bf71aa 100644 --- a/MusicApp/Resources/Portable Class/YoutubeEngine.cs +++ b/MusicApp/Resources/Portable Class/YoutubeEngine.cs @@ -14,6 +14,10 @@ using Android.Gms.Auth.Api; using System.Collections.Generic; using Google.Apis.Services; using Android.Accounts; +using Android.Preferences; +using System; +using YoutubeExplode; +using System.Linq; namespace MusicApp.Resources.Portable_Class { @@ -27,6 +31,7 @@ namespace MusicApp.Resources.Portable_Class private string ApiKey = "AIzaSyBOQyZVnBAKjur0ztBuYPSopS725Qudgc4"; private YouTubeService youtubeService; + private string videoID; //private string oAuthKey; //private GoogleApiClient googleClient; //private const int signPickerID = 9001; @@ -47,6 +52,8 @@ namespace MusicApp.Resources.Portable_Class ListView.EmptyView = emptyView; Activity.AddContentView(emptyView, View.LayoutParameters); ListAdapter = null; + ListView.ItemClick += ListView_ItemClick; + ListView.ItemLongClick += ListView_ItemLongClick; if (youtubeService == null) { @@ -152,48 +159,48 @@ namespace MusicApp.Resources.Portable_Class #endregion #region Permissions - void GetPermissions(string[] permissions) - { - bool hasPermissions = CheckPermissions(permissions); + //void GetPermissions(string[] permissions) + //{ + // bool hasPermissions = CheckPermissions(permissions); - if (!hasPermissions) - RequestPermissions(permissions, 0); - //else - // PopulateList(); - } + // if (!hasPermissions) + // RequestPermissions(permissions, 0); + // //else + // // PopulateList(); + //} - bool CheckPermissions(string[] permissions) - { - bool hasPermissions = true; - foreach (string permission in permissions) - { - if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(Android.App.Application.Context, permission) != (int)Permission.Granted) - { - hasPermissions = false; - break; - } - } - return hasPermissions; - } + //bool CheckPermissions(string[] permissions) + //{ + // bool hasPermissions = true; + // foreach (string permission in permissions) + // { + // if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(Android.App.Application.Context, permission) != (int)Permission.Granted) + // { + // hasPermissions = false; + // break; + // } + // } + // return hasPermissions; + //} - public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) - { - switch (requestCode) - { - case 0: - { - if (grantResults[0] == Permission.Granted) - { - PopulateList(); - } - else - { - Snackbar.Make(View, "Permission denied, can't list search on youtube.", Snackbar.LengthShort).Show(); - } - } - break; - } - } + //public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) + //{ + // switch (requestCode) + // { + // case 0: + // { + // if (grantResults[0] == Permission.Granted) + // { + // PopulateList(); + // } + // else + // { + // Snackbar.Make(View, "Permission denied, can't list search on youtube.", Snackbar.LengthShort).Show(); + // } + // } + // break; + // } + //} #endregion public async void Search(string search) @@ -220,9 +227,39 @@ namespace MusicApp.Resources.Portable_Class ListAdapter = new YtAdapter(Android.App.Application.Context, Resource.Layout.YtList, result); } - void PopulateList() + private async void ListView_ItemClick(object sender, AdapterView.ItemClickEventArgs e) { + videoID = result[e.Position].Id; + var client = new YoutubeClient(); + var videoInfo = await client.GetVideoInfoAsync(videoID); + var streamInfo = videoInfo.AudioStreams.OrderBy(s => s.Bitrate).Last(); + Intent intent = new Intent(Android.App.Application.Context, typeof(MusicPlayer)); + intent.PutExtra("file", streamInfo.Url); + Android.App.Application.Context.StartService(intent); + } + + private void ListView_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e) + { + ISharedPreferences prefManager = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context); + if (prefManager.GetString("downloadPath", null) != null) + { + Toast.MakeText(Android.App.Application.Context, "Downloading...", ToastLength.Short).Show(); + Context context = Android.App.Application.Context; + Intent intent = new Intent(context, typeof(Downloader)); + intent.PutExtra("videoID", result[e.Position].Id); + intent.PutExtra("path", prefManager.GetString("downloadPath", null)); + intent.PutExtra("name", result[e.Position].Title); + context.StartService(intent); + } + else + { + Snackbar.Make(View, "Download Path Not Set.", Snackbar.LengthShort).SetAction("Set Path", (v) => + { + Intent intent = new Intent(Android.App.Application.Context, typeof(Preferences)); + StartActivity(intent); + }).Show(); + } } } } \ No newline at end of file diff --git a/MusicApp/Resources/Portable Class/YtAdapter.cs b/MusicApp/Resources/Portable Class/YtAdapter.cs index f039ae1..633969c 100644 --- a/MusicApp/Resources/Portable Class/YtAdapter.cs +++ b/MusicApp/Resources/Portable Class/YtAdapter.cs @@ -38,7 +38,7 @@ namespace MusicApp.Resources.Portable_Class Artist = { Text = ytList[position].channelTitle }, }; - Picasso.With(Application.Context).Load(ytList[position].thumbnailUrl).Placeholder(Resource.Drawable.MusicIcon).Resize(400, 400).CenterCrop().Into(holder.AlbumArt); + Picasso.With(Application.Context).Load(ytList[position].thumbnailUrl).Placeholder(Resource.Drawable.MusicIcon).Into(holder.AlbumArt); return convertView; } } diff --git a/MusicApp/Resources/Resource.Designer.cs b/MusicApp/Resources/Resource.Designer.cs index ae20a6e..222a84b 100644 --- a/MusicApp/Resources/Resource.Designer.cs +++ b/MusicApp/Resources/Resource.Designer.cs @@ -216,6 +216,12 @@ namespace MusicApp // aapt resource value: 0x7f0100a6 public const int activityChooserViewStyle = 2130772134; + // aapt resource value: 0x7f01018b + public const int ad_marker_color = 2130772363; + + // aapt resource value: 0x7f010183 + public const int ad_marker_width = 2130772355; + // aapt resource value: 0x7f01003c public const int adjustable = 2130772028; @@ -246,6 +252,9 @@ namespace MusicApp // aapt resource value: 0x7f0100d2 public const int autoCompleteTextViewStyle = 2130772178; + // aapt resource value: 0x7f010191 + public const int auto_show = 2130772369; + // aapt resource value: 0x7f01004c public const int background = 2130772044; @@ -264,6 +273,9 @@ namespace MusicApp // aapt resource value: 0x7f0100ea public const int barLength = 2130772202; + // aapt resource value: 0x7f010181 + public const int bar_height = 2130772353; + // aapt resource value: 0x7f010150 public const int behavior_autoHide = 2130772304; @@ -291,6 +303,9 @@ namespace MusicApp // aapt resource value: 0x7f010149 public const int bottomSheetStyle = 2130772297; + // aapt resource value: 0x7f010189 + public const int buffered_color = 2130772361; + // aapt resource value: 0x7f0100a0 public const int buttonBarButtonStyle = 2130772128; @@ -417,6 +432,9 @@ namespace MusicApp // aapt resource value: 0x7f0100c8 public const int controlBackground = 2130772168; + // aapt resource value: 0x7f010179 + public const int controller_layout_id = 2130772345; + // aapt resource value: 0x7f01016f public const int counterEnabled = 2130772335; @@ -438,6 +456,9 @@ namespace MusicApp // aapt resource value: 0x7f01001e public const int defaultValue = 2130771998; + // aapt resource value: 0x7f01018e + public const int default_artwork = 2130772366; + // aapt resource value: 0x7f01001c public const int dependency = 2130771996; @@ -555,6 +576,9 @@ namespace MusicApp // aapt resource value: 0x7f01014c public const int fabSize = 2130772300; + // aapt resource value: 0x7f01017a + public const int fastforward_increment = 2130772346; + // aapt resource value: 0x7f010151 public const int foregroundInsidePadding = 2130772305; @@ -576,6 +600,9 @@ namespace MusicApp // aapt resource value: 0x7f010055 public const int hideOnContentScroll = 2130772053; + // aapt resource value: 0x7f010190 + public const int hide_on_touch = 2130772368; + // aapt resource value: 0x7f010173 public const int hintAnimationEnabled = 2130772339; @@ -798,6 +825,15 @@ namespace MusicApp // aapt resource value: 0x7f01001d public const int persistent = 2130771997; + // aapt resource value: 0x7f01018c + public const int played_ad_marker_color = 2130772364; + + // aapt resource value: 0x7f010187 + public const int played_color = 2130772359; + + // aapt resource value: 0x7f01017b + public const int player_layout_id = 2130772347; + // aapt resource value: 0x7f0100a9 public const int popupMenuStyle = 2130772137; @@ -882,9 +918,18 @@ namespace MusicApp // aapt resource value: 0x7f0100db public const int ratingBarStyleSmall = 2130772187; + // aapt resource value: 0x7f01017c + public const int repeat_toggle_modes = 2130772348; + + // aapt resource value: 0x7f01017d + public const int resize_mode = 2130772349; + // aapt resource value: 0x7f010008 public const int reverseLayout = 2130771976; + // aapt resource value: 0x7f01017e + public const int rewind_increment = 2130772350; + // aapt resource value: 0x7f01002f public const int ringtonePreferenceStyle = 2130772015; @@ -900,6 +945,18 @@ namespace MusicApp // aapt resource value: 0x7f010139 public const int scrimVisibleHeightTrigger = 2130772281; + // aapt resource value: 0x7f010188 + public const int scrubber_color = 2130772360; + + // aapt resource value: 0x7f010185 + public const int scrubber_disabled_size = 2130772357; + + // aapt resource value: 0x7f010186 + public const int scrubber_dragged_size = 2130772358; + + // aapt resource value: 0x7f010184 + public const int scrubber_enabled_size = 2130772356; + // aapt resource value: 0x7f010100 public const int searchHintIcon = 2130772224; @@ -945,6 +1002,9 @@ namespace MusicApp // aapt resource value: 0x7f010066 public const int showTitle = 2130772070; + // aapt resource value: 0x7f01017f + public const int show_timeout = 2130772351; + // aapt resource value: 0x7f010064 public const int singleChoiceItemLayout = 2130772068; @@ -1014,6 +1074,9 @@ namespace MusicApp // aapt resource value: 0x7f01000a public const int summaryOn = 2130771978; + // aapt resource value: 0x7f010180 + public const int surface_type = 2130772352; + // aapt resource value: 0x7f01010d public const int switchMinWidth = 2130772237; @@ -1194,6 +1257,9 @@ namespace MusicApp // aapt resource value: 0x7f0100a7 public const int toolbarStyle = 2130772135; + // aapt resource value: 0x7f010182 + public const int touch_target_height = 2130772354; + // aapt resource value: 0x7f010108 public const int track = 2130772232; @@ -1203,9 +1269,18 @@ namespace MusicApp // aapt resource value: 0x7f01010a public const int trackTintMode = 2130772234; + // aapt resource value: 0x7f01018a + public const int unplayed_color = 2130772362; + // aapt resource value: 0x7f01014f public const int useCompatPadding = 2130772303; + // aapt resource value: 0x7f01018d + public const int use_artwork = 2130772365; + + // aapt resource value: 0x7f01018f + public const int use_controller = 2130772367; + // aapt resource value: 0x7f010101 public const int voiceIcon = 2130772225; @@ -1286,44 +1361,44 @@ namespace MusicApp public partial class Color { - // aapt resource value: 0x7f06004e - public const int abc_background_cache_hint_selector_material_dark = 2131099726; - // aapt resource value: 0x7f06004f - public const int abc_background_cache_hint_selector_material_light = 2131099727; + public const int abc_background_cache_hint_selector_material_dark = 2131099727; // aapt resource value: 0x7f060050 - public const int abc_btn_colored_borderless_text_material = 2131099728; + public const int abc_background_cache_hint_selector_material_light = 2131099728; // aapt resource value: 0x7f060051 - public const int abc_btn_colored_text_material = 2131099729; + public const int abc_btn_colored_borderless_text_material = 2131099729; // aapt resource value: 0x7f060052 - public const int abc_color_highlight_material = 2131099730; + public const int abc_btn_colored_text_material = 2131099730; // aapt resource value: 0x7f060053 - public const int abc_hint_foreground_material_dark = 2131099731; + public const int abc_color_highlight_material = 2131099731; // aapt resource value: 0x7f060054 - public const int abc_hint_foreground_material_light = 2131099732; + public const int abc_hint_foreground_material_dark = 2131099732; + + // aapt resource value: 0x7f060055 + public const int abc_hint_foreground_material_light = 2131099733; // aapt resource value: 0x7f060009 public const int abc_input_method_navigation_guard = 2131099657; - // aapt resource value: 0x7f060055 - public const int abc_primary_text_disable_only_material_dark = 2131099733; - // aapt resource value: 0x7f060056 - public const int abc_primary_text_disable_only_material_light = 2131099734; + public const int abc_primary_text_disable_only_material_dark = 2131099734; // aapt resource value: 0x7f060057 - public const int abc_primary_text_material_dark = 2131099735; + public const int abc_primary_text_disable_only_material_light = 2131099735; // aapt resource value: 0x7f060058 - public const int abc_primary_text_material_light = 2131099736; + public const int abc_primary_text_material_dark = 2131099736; // aapt resource value: 0x7f060059 - public const int abc_search_url_text = 2131099737; + public const int abc_primary_text_material_light = 2131099737; + + // aapt resource value: 0x7f06005a + public const int abc_search_url_text = 2131099738; // aapt resource value: 0x7f06000a public const int abc_search_url_text_normal = 2131099658; @@ -1334,32 +1409,32 @@ namespace MusicApp // aapt resource value: 0x7f06000c public const int abc_search_url_text_selected = 2131099660; - // aapt resource value: 0x7f06005a - public const int abc_secondary_text_material_dark = 2131099738; - // aapt resource value: 0x7f06005b - public const int abc_secondary_text_material_light = 2131099739; + public const int abc_secondary_text_material_dark = 2131099739; // aapt resource value: 0x7f06005c - public const int abc_tint_btn_checkable = 2131099740; + public const int abc_secondary_text_material_light = 2131099740; // aapt resource value: 0x7f06005d - public const int abc_tint_default = 2131099741; + public const int abc_tint_btn_checkable = 2131099741; // aapt resource value: 0x7f06005e - public const int abc_tint_edittext = 2131099742; + public const int abc_tint_default = 2131099742; // aapt resource value: 0x7f06005f - public const int abc_tint_seek_thumb = 2131099743; + public const int abc_tint_edittext = 2131099743; // aapt resource value: 0x7f060060 - public const int abc_tint_spinner = 2131099744; + public const int abc_tint_seek_thumb = 2131099744; // aapt resource value: 0x7f060061 - public const int abc_tint_switch_thumb = 2131099745; + public const int abc_tint_spinner = 2131099745; // aapt resource value: 0x7f060062 - public const int abc_tint_switch_track = 2131099746; + public const int abc_tint_switch_thumb = 2131099746; + + // aapt resource value: 0x7f060063 + public const int abc_tint_switch_track = 2131099747; // aapt resource value: 0x7f06000d public const int accent_material_dark = 2131099661; @@ -1403,8 +1478,8 @@ namespace MusicApp // aapt resource value: 0x7f06001a public const int button_material_light = 2131099674; - // aapt resource value: 0x7f060063 - public const int common_google_signin_btn_text_dark = 2131099747; + // aapt resource value: 0x7f060064 + public const int common_google_signin_btn_text_dark = 2131099748; // aapt resource value: 0x7f060000 public const int common_google_signin_btn_text_dark_default = 2131099648; @@ -1418,8 +1493,8 @@ namespace MusicApp // aapt resource value: 0x7f060003 public const int common_google_signin_btn_text_dark_pressed = 2131099651; - // aapt resource value: 0x7f060064 - public const int common_google_signin_btn_text_light = 2131099748; + // aapt resource value: 0x7f060065 + public const int common_google_signin_btn_text_light = 2131099749; // aapt resource value: 0x7f060004 public const int common_google_signin_btn_text_light_default = 2131099652; @@ -1433,14 +1508,14 @@ namespace MusicApp // aapt resource value: 0x7f060007 public const int common_google_signin_btn_text_light_pressed = 2131099655; - // aapt resource value: 0x7f060065 - public const int common_google_signin_btn_tint = 2131099749; + // aapt resource value: 0x7f060066 + public const int common_google_signin_btn_tint = 2131099750; // aapt resource value: 0x7f060043 public const int design_bottom_navigation_shadow_color = 2131099715; - // aapt resource value: 0x7f060066 - public const int design_error = 2131099750; + // aapt resource value: 0x7f060067 + public const int design_error = 2131099751; // aapt resource value: 0x7f060044 public const int design_fab_shadow_end_color = 2131099716; @@ -1472,8 +1547,8 @@ namespace MusicApp // aapt resource value: 0x7f06004d public const int design_textinput_error_color_light = 2131099725; - // aapt resource value: 0x7f060067 - public const int design_tint_password_toggle = 2131099751; + // aapt resource value: 0x7f060068 + public const int design_tint_password_toggle = 2131099752; // aapt resource value: 0x7f06001b public const int dim_foreground_disabled_material_dark = 2131099675; @@ -1487,6 +1562,9 @@ namespace MusicApp // aapt resource value: 0x7f06001e public const int dim_foreground_material_light = 2131099678; + // aapt resource value: 0x7f06004e + public const int exo_edit_mode_background_color = 2131099726; + // aapt resource value: 0x7f06001f public const int foreground_material_dark = 2131099679; @@ -1592,11 +1670,11 @@ namespace MusicApp // aapt resource value: 0x7f060040 public const int switch_thumb_disabled_material_light = 2131099712; - // aapt resource value: 0x7f060068 - public const int switch_thumb_material_dark = 2131099752; - // aapt resource value: 0x7f060069 - public const int switch_thumb_material_light = 2131099753; + public const int switch_thumb_material_dark = 2131099753; + + // aapt resource value: 0x7f06006a + public const int switch_thumb_material_light = 2131099754; // aapt resource value: 0x7f060041 public const int switch_thumb_normal_material_dark = 2131099713; @@ -1959,6 +2037,12 @@ namespace MusicApp // aapt resource value: 0x7f090056 public const int disabled_alpha_material_light = 2131296342; + // aapt resource value: 0x7f09008f + public const int exo_media_button_height = 2131296399; + + // aapt resource value: 0x7f090090 + public const int exo_media_button_width = 2131296400; + // aapt resource value: 0x7f090057 public const int highlight_alpha_material_colored = 2131296343; @@ -2311,26 +2395,26 @@ namespace MusicApp // aapt resource value: 0x7f020053 public const int avd_hide_password = 2130837587; - // aapt resource value: 0x7f02008d - public const int avd_hide_password_1 = 2130837645; + // aapt resource value: 0x7f020097 + public const int avd_hide_password_1 = 2130837655; - // aapt resource value: 0x7f02008e - public const int avd_hide_password_2 = 2130837646; + // aapt resource value: 0x7f020098 + public const int avd_hide_password_2 = 2130837656; - // aapt resource value: 0x7f02008f - public const int avd_hide_password_3 = 2130837647; + // aapt resource value: 0x7f020099 + public const int avd_hide_password_3 = 2130837657; // aapt resource value: 0x7f020054 public const int avd_show_password = 2130837588; - // aapt resource value: 0x7f020090 - public const int avd_show_password_1 = 2130837648; + // aapt resource value: 0x7f02009a + public const int avd_show_password_1 = 2130837658; - // aapt resource value: 0x7f020091 - public const int avd_show_password_2 = 2130837649; + // aapt resource value: 0x7f02009b + public const int avd_show_password_2 = 2130837659; - // aapt resource value: 0x7f020092 - public const int avd_show_password_3 = 2130837650; + // aapt resource value: 0x7f02009c + public const int avd_show_password_3 = 2130837660; // aapt resource value: 0x7f020055 public const int common_full_open_on_phone = 2130837589; @@ -2411,94 +2495,124 @@ namespace MusicApp public const int DownloadIcon = 2130837614; // aapt resource value: 0x7f02006f - public const int folderIcon = 2130837615; + public const int exo_controls_fastforward = 2130837615; // aapt resource value: 0x7f020070 - public const int googleg_disabled_color_18 = 2130837616; + public const int exo_controls_next = 2130837616; // aapt resource value: 0x7f020071 - public const int googleg_standard_color_18 = 2130837617; + public const int exo_controls_pause = 2130837617; // aapt resource value: 0x7f020072 - public const int ic_expand_less_black_24dp = 2130837618; + public const int exo_controls_play = 2130837618; // aapt resource value: 0x7f020073 - public const int ic_expand_more_black_24dp = 2130837619; + public const int exo_controls_previous = 2130837619; // aapt resource value: 0x7f020074 - public const int ic_pause_black_24dp = 2130837620; + public const int exo_controls_repeat_all = 2130837620; // aapt resource value: 0x7f020075 - public const int ic_play_arrow_black_24dp = 2130837621; + public const int exo_controls_repeat_off = 2130837621; // aapt resource value: 0x7f020076 - public const int ic_playlist_add_white_24dp = 2130837622; + public const int exo_controls_repeat_one = 2130837622; // aapt resource value: 0x7f020077 - public const int ic_skip_next_black_24dp = 2130837623; + public const int exo_controls_rewind = 2130837623; // aapt resource value: 0x7f020078 - public const int ic_skip_previous_black_24dp = 2130837624; + public const int exo_edit_mode_logo = 2130837624; // aapt resource value: 0x7f020079 - public const int ic_timer_white_24dp = 2130837625; + public const int folderIcon = 2130837625; // aapt resource value: 0x7f02007a - public const int MusicIcon = 2130837626; + public const int googleg_disabled_color_18 = 2130837626; // aapt resource value: 0x7f02007b - public const int navigation_empty_icon = 2130837627; + public const int googleg_standard_color_18 = 2130837627; // aapt resource value: 0x7f02007c - public const int noAlbum = 2130837628; + public const int ic_expand_less_black_24dp = 2130837628; // aapt resource value: 0x7f02007d - public const int notification_action_background = 2130837629; + public const int ic_expand_more_black_24dp = 2130837629; // aapt resource value: 0x7f02007e - public const int notification_bg = 2130837630; + public const int ic_pause_black_24dp = 2130837630; // aapt resource value: 0x7f02007f - public const int notification_bg_low = 2130837631; + public const int ic_play_arrow_black_24dp = 2130837631; // aapt resource value: 0x7f020080 - public const int notification_bg_low_normal = 2130837632; + public const int ic_playlist_add_white_24dp = 2130837632; // aapt resource value: 0x7f020081 - public const int notification_bg_low_pressed = 2130837633; + public const int ic_skip_next_black_24dp = 2130837633; // aapt resource value: 0x7f020082 - public const int notification_bg_normal = 2130837634; + public const int ic_skip_previous_black_24dp = 2130837634; // aapt resource value: 0x7f020083 - public const int notification_bg_normal_pressed = 2130837635; + public const int ic_timer_white_24dp = 2130837635; // aapt resource value: 0x7f020084 - public const int notification_icon_background = 2130837636; - - // aapt resource value: 0x7f02008b - public const int notification_template_icon_bg = 2130837643; - - // aapt resource value: 0x7f02008c - public const int notification_template_icon_low_bg = 2130837644; + public const int MusicIcon = 2130837636; // aapt resource value: 0x7f020085 - public const int notification_tile_bg = 2130837637; + public const int navigation_empty_icon = 2130837637; // aapt resource value: 0x7f020086 - public const int notify_panel_notification_icon_bg = 2130837638; + public const int noAlbum = 2130837638; // aapt resource value: 0x7f020087 - public const int PlaylistPlay = 2130837639; + public const int notification_action_background = 2130837639; // aapt resource value: 0x7f020088 - public const int PlaylistPlayIcon = 2130837640; + public const int notification_bg = 2130837640; // aapt resource value: 0x7f020089 - public const int search = 2130837641; + public const int notification_bg_low = 2130837641; // aapt resource value: 0x7f02008a - public const int settings = 2130837642; + public const int notification_bg_low_normal = 2130837642; + + // aapt resource value: 0x7f02008b + public const int notification_bg_low_pressed = 2130837643; + + // aapt resource value: 0x7f02008c + public const int notification_bg_normal = 2130837644; + + // aapt resource value: 0x7f02008d + public const int notification_bg_normal_pressed = 2130837645; + + // aapt resource value: 0x7f02008e + public const int notification_icon_background = 2130837646; + + // aapt resource value: 0x7f020095 + public const int notification_template_icon_bg = 2130837653; + + // aapt resource value: 0x7f020096 + public const int notification_template_icon_low_bg = 2130837654; + + // aapt resource value: 0x7f02008f + public const int notification_tile_bg = 2130837647; + + // aapt resource value: 0x7f020090 + public const int notify_panel_notification_icon_bg = 2130837648; + + // aapt resource value: 0x7f020091 + public const int PlaylistPlay = 2130837649; + + // aapt resource value: 0x7f020092 + public const int PlaylistPlayIcon = 2130837650; + + // aapt resource value: 0x7f020093 + public const int search = 2130837651; + + // aapt resource value: 0x7f020094 + public const int settings = 2130837652; static Drawable() { @@ -2513,41 +2627,41 @@ namespace MusicApp public partial class Id { - // aapt resource value: 0x7f0a0099 - public const int action0 = 2131361945; + // aapt resource value: 0x7f0a00b0 + public const int action0 = 2131361968; - // aapt resource value: 0x7f0a006b - public const int action_bar = 2131361899; + // aapt resource value: 0x7f0a0082 + public const int action_bar = 2131361922; // aapt resource value: 0x7f0a0001 public const int action_bar_activity_content = 2131361793; - // aapt resource value: 0x7f0a006a - public const int action_bar_container = 2131361898; + // aapt resource value: 0x7f0a0081 + public const int action_bar_container = 2131361921; - // aapt resource value: 0x7f0a0066 - public const int action_bar_root = 2131361894; + // aapt resource value: 0x7f0a007d + public const int action_bar_root = 2131361917; // aapt resource value: 0x7f0a0002 public const int action_bar_spinner = 2131361794; - // aapt resource value: 0x7f0a0049 - public const int action_bar_subtitle = 2131361865; + // aapt resource value: 0x7f0a0060 + public const int action_bar_subtitle = 2131361888; - // aapt resource value: 0x7f0a0048 - public const int action_bar_title = 2131361864; + // aapt resource value: 0x7f0a005f + public const int action_bar_title = 2131361887; - // aapt resource value: 0x7f0a0096 - public const int action_container = 2131361942; + // aapt resource value: 0x7f0a00ad + public const int action_container = 2131361965; - // aapt resource value: 0x7f0a006c - public const int action_context_bar = 2131361900; + // aapt resource value: 0x7f0a0083 + public const int action_context_bar = 2131361923; - // aapt resource value: 0x7f0a009d - public const int action_divider = 2131361949; + // aapt resource value: 0x7f0a00b4 + public const int action_divider = 2131361972; - // aapt resource value: 0x7f0a0097 - public const int action_image = 2131361943; + // aapt resource value: 0x7f0a00ae + public const int action_image = 2131361966; // aapt resource value: 0x7f0a0003 public const int action_menu_divider = 2131361795; @@ -2555,350 +2669,413 @@ namespace MusicApp // aapt resource value: 0x7f0a0004 public const int action_menu_presenter = 2131361796; - // aapt resource value: 0x7f0a0068 - public const int action_mode_bar = 2131361896; - - // aapt resource value: 0x7f0a0067 - public const int action_mode_bar_stub = 2131361895; - - // aapt resource value: 0x7f0a004a - public const int action_mode_close_button = 2131361866; - - // aapt resource value: 0x7f0a0098 - public const int action_text = 2131361944; - - // aapt resource value: 0x7f0a00a6 - public const int actions = 2131361958; - - // aapt resource value: 0x7f0a004b - public const int activity_chooser_view_content = 2131361867; - - // aapt resource value: 0x7f0a0026 - public const int add = 2131361830; - - // aapt resource value: 0x7f0a000f - public const int adjust_height = 2131361807; - - // aapt resource value: 0x7f0a0010 - public const int adjust_width = 2131361808; - - // aapt resource value: 0x7f0a00cb - public const int albumArt = 2131361995; - - // aapt resource value: 0x7f0a005f - public const int alertTitle = 2131361887; - - // aapt resource value: 0x7f0a0044 - public const int all = 2131361860; - - // aapt resource value: 0x7f0a002b - public const int always = 2131361835; - - // aapt resource value: 0x7f0a00cc - public const int artist = 2131361996; - - // aapt resource value: 0x7f0a0015 - public const int auto = 2131361813; - - // aapt resource value: 0x7f0a0028 - public const int beginning = 2131361832; - - // aapt resource value: 0x7f0a0030 - public const int bottom = 2131361840; - - // aapt resource value: 0x7f0a0093 - public const int bottomView = 2131361939; - - // aapt resource value: 0x7f0a00d1 - public const int browseLayout = 2131362001; - - // aapt resource value: 0x7f0a007a - public const int browseList = 2131361914; - - // aapt resource value: 0x7f0a0052 - public const int buttonPanel = 2131361874; - - // aapt resource value: 0x7f0a009a - public const int cancel_action = 2131361946; - - // aapt resource value: 0x7f0a0037 - public const int center = 2131361847; - - // aapt resource value: 0x7f0a0038 - public const int center_horizontal = 2131361848; - - // aapt resource value: 0x7f0a0039 - public const int center_vertical = 2131361849; - - // aapt resource value: 0x7f0a0062 - public const int checkbox = 2131361890; - - // aapt resource value: 0x7f0a00a2 - public const int chronometer = 2131361954; - - // aapt resource value: 0x7f0a0040 - public const int clip_horizontal = 2131361856; - - // aapt resource value: 0x7f0a0041 - public const int clip_vertical = 2131361857; - - // aapt resource value: 0x7f0a002c - public const int collapseActionView = 2131361836; + // aapt resource value: 0x7f0a007f + public const int action_mode_bar = 2131361919; // aapt resource value: 0x7f0a007e - public const int container = 2131361918; - - // aapt resource value: 0x7f0a0055 - public const int contentPanel = 2131361877; - - // aapt resource value: 0x7f0a0092 - public const int contentView = 2131361938; - - // aapt resource value: 0x7f0a007f - public const int coordinator = 2131361919; - - // aapt resource value: 0x7f0a005c - public const int custom = 2131361884; - - // aapt resource value: 0x7f0a005b - public const int customPanel = 2131361883; - - // aapt resource value: 0x7f0a0016 - public const int dark = 2131361814; - - // aapt resource value: 0x7f0a0069 - public const int decor_content_parent = 2131361897; - - // aapt resource value: 0x7f0a004e - public const int default_activity_button = 2131361870; - - // aapt resource value: 0x7f0a0081 - public const int design_bottom_sheet = 2131361921; - - // aapt resource value: 0x7f0a0088 - public const int design_menu_item_action_area = 2131361928; - - // aapt resource value: 0x7f0a0087 - public const int design_menu_item_action_area_stub = 2131361927; - - // aapt resource value: 0x7f0a0086 - public const int design_menu_item_text = 2131361926; - - // aapt resource value: 0x7f0a0085 - public const int design_navigation_view = 2131361925; - - // aapt resource value: 0x7f0a001b - public const int disableHome = 2131361819; - - // aapt resource value: 0x7f0a00bb - public const int downFAB = 2131361979; - - // aapt resource value: 0x7f0a00d2 - public const int downloadLayout = 2131362002; - - // aapt resource value: 0x7f0a006d - public const int edit_query = 2131361901; - - // aapt resource value: 0x7f0a0029 - public const int end = 2131361833; - - // aapt resource value: 0x7f0a00ac - public const int end_padder = 2131361964; - - // aapt resource value: 0x7f0a0032 - public const int enterAlways = 2131361842; - - // aapt resource value: 0x7f0a0033 - public const int enterAlwaysCollapsed = 2131361843; - - // aapt resource value: 0x7f0a0034 - public const int exitUntilCollapsed = 2131361844; - - // aapt resource value: 0x7f0a004c - public const int expand_activities_button = 2131361868; + public const int action_mode_bar_stub = 2131361918; // aapt resource value: 0x7f0a0061 - public const int expanded_menu = 2131361889; + public const int action_mode_close_button = 2131361889; - // aapt resource value: 0x7f0a008c - public const int expendChilds = 2131361932; + // aapt resource value: 0x7f0a00af + public const int action_text = 2131361967; - // aapt resource value: 0x7f0a0042 - public const int fill = 2131361858; + // aapt resource value: 0x7f0a00bd + public const int actions = 2131361981; - // aapt resource value: 0x7f0a0043 - public const int fill_horizontal = 2131361859; + // aapt resource value: 0x7f0a0062 + public const int activity_chooser_view_content = 2131361890; + + // aapt resource value: 0x7f0a0037 + public const int add = 2131361847; + + // aapt resource value: 0x7f0a0020 + public const int adjust_height = 2131361824; + + // aapt resource value: 0x7f0a0021 + public const int adjust_width = 2131361825; + + // aapt resource value: 0x7f0a00e2 + public const int albumArt = 2131362018; + + // aapt resource value: 0x7f0a0076 + public const int alertTitle = 2131361910; + + // aapt resource value: 0x7f0a0055 + public const int all = 2131361877; + + // aapt resource value: 0x7f0a003c + public const int always = 2131361852; + + // aapt resource value: 0x7f0a00e3 + public const int artist = 2131362019; + + // aapt resource value: 0x7f0a0026 + public const int auto = 2131361830; + + // aapt resource value: 0x7f0a0039 + public const int beginning = 2131361849; + + // aapt resource value: 0x7f0a0041 + public const int bottom = 2131361857; + + // aapt resource value: 0x7f0a00aa + public const int bottomView = 2131361962; + + // aapt resource value: 0x7f0a00e8 + public const int browseLayout = 2131362024; + + // aapt resource value: 0x7f0a0091 + public const int browseList = 2131361937; + + // aapt resource value: 0x7f0a0069 + public const int buttonPanel = 2131361897; + + // aapt resource value: 0x7f0a00b1 + public const int cancel_action = 2131361969; + + // aapt resource value: 0x7f0a0048 + public const int center = 2131361864; + + // aapt resource value: 0x7f0a0049 + public const int center_horizontal = 2131361865; + + // aapt resource value: 0x7f0a004a + public const int center_vertical = 2131361866; + + // aapt resource value: 0x7f0a0079 + public const int checkbox = 2131361913; + + // aapt resource value: 0x7f0a00b9 + public const int chronometer = 2131361977; + + // aapt resource value: 0x7f0a0051 + public const int clip_horizontal = 2131361873; + + // aapt resource value: 0x7f0a0052 + public const int clip_vertical = 2131361874; + + // aapt resource value: 0x7f0a003d + public const int collapseActionView = 2131361853; + + // aapt resource value: 0x7f0a0095 + public const int container = 2131361941; + + // aapt resource value: 0x7f0a006c + public const int contentPanel = 2131361900; + + // aapt resource value: 0x7f0a00a9 + public const int contentView = 2131361961; + + // aapt resource value: 0x7f0a0096 + public const int coordinator = 2131361942; + + // aapt resource value: 0x7f0a0073 + public const int custom = 2131361907; + + // aapt resource value: 0x7f0a0072 + public const int customPanel = 2131361906; + + // aapt resource value: 0x7f0a0027 + public const int dark = 2131361831; + + // aapt resource value: 0x7f0a0080 + public const int decor_content_parent = 2131361920; + + // aapt resource value: 0x7f0a0065 + public const int default_activity_button = 2131361893; + + // aapt resource value: 0x7f0a0098 + public const int design_bottom_sheet = 2131361944; + + // aapt resource value: 0x7f0a009f + public const int design_menu_item_action_area = 2131361951; + + // aapt resource value: 0x7f0a009e + public const int design_menu_item_action_area_stub = 2131361950; + + // aapt resource value: 0x7f0a009d + public const int design_menu_item_text = 2131361949; + + // aapt resource value: 0x7f0a009c + public const int design_navigation_view = 2131361948; + + // aapt resource value: 0x7f0a002c + public const int disableHome = 2131361836; + + // aapt resource value: 0x7f0a00d2 + public const int downFAB = 2131362002; + + // aapt resource value: 0x7f0a00e9 + public const int downloadLayout = 2131362025; + + // aapt resource value: 0x7f0a0084 + public const int edit_query = 2131361924; // aapt resource value: 0x7f0a003a - public const int fill_vertical = 2131361850; + public const int end = 2131361850; - // aapt resource value: 0x7f0a0046 - public const int @fixed = 2131361862; + // aapt resource value: 0x7f0a00c3 + public const int end_padder = 2131361987; - // aapt resource value: 0x7f0a008b - public const int folderList = 2131361931; + // aapt resource value: 0x7f0a0043 + public const int enterAlways = 2131361859; - // aapt resource value: 0x7f0a008d - public const int folderName = 2131361933; + // aapt resource value: 0x7f0a0044 + public const int enterAlwaysCollapsed = 2131361860; - // aapt resource value: 0x7f0a008e - public const int folderUsed = 2131361934; + // aapt resource value: 0x7f0a0045 + public const int exitUntilCollapsed = 2131361861; + + // aapt resource value: 0x7f0a000f + public const int exo_artwork = 2131361807; + + // aapt resource value: 0x7f0a0010 + public const int exo_content_frame = 2131361808; + + // aapt resource value: 0x7f0a0011 + public const int exo_controller = 2131361809; + + // aapt resource value: 0x7f0a0012 + public const int exo_controller_placeholder = 2131361810; + + // aapt resource value: 0x7f0a0013 + public const int exo_duration = 2131361811; + + // aapt resource value: 0x7f0a0014 + public const int exo_ffwd = 2131361812; + + // aapt resource value: 0x7f0a0015 + public const int exo_next = 2131361813; + + // aapt resource value: 0x7f0a0016 + public const int exo_overlay = 2131361814; + + // aapt resource value: 0x7f0a0017 + public const int exo_pause = 2131361815; + + // aapt resource value: 0x7f0a0018 + public const int exo_play = 2131361816; + + // aapt resource value: 0x7f0a0019 + public const int exo_position = 2131361817; + + // aapt resource value: 0x7f0a001a + public const int exo_prev = 2131361818; + + // aapt resource value: 0x7f0a001b + public const int exo_progress = 2131361819; + + // aapt resource value: 0x7f0a001c + public const int exo_repeat_toggle = 2131361820; + + // aapt resource value: 0x7f0a001d + public const int exo_rew = 2131361821; + + // aapt resource value: 0x7f0a001e + public const int exo_shutter = 2131361822; + + // aapt resource value: 0x7f0a001f + public const int exo_subtitles = 2131361823; + + // aapt resource value: 0x7f0a0063 + public const int expand_activities_button = 2131361891; + + // aapt resource value: 0x7f0a0078 + public const int expanded_menu = 2131361912; + + // aapt resource value: 0x7f0a00a3 + public const int expendChilds = 2131361955; + + // aapt resource value: 0x7f0a0053 + public const int fill = 2131361875; + + // aapt resource value: 0x7f0a0054 + public const int fill_horizontal = 2131361876; + + // aapt resource value: 0x7f0a004b + public const int fill_vertical = 2131361867; + + // aapt resource value: 0x7f0a005a + public const int fit = 2131361882; + + // aapt resource value: 0x7f0a0057 + public const int @fixed = 2131361879; + + // aapt resource value: 0x7f0a005b + public const int fixed_height = 2131361883; + + // aapt resource value: 0x7f0a005c + public const int fixed_width = 2131361884; + + // aapt resource value: 0x7f0a00a2 + public const int folderList = 2131361954; + + // aapt resource value: 0x7f0a00a4 + public const int folderName = 2131361956; + + // aapt resource value: 0x7f0a00a5 + public const int folderUsed = 2131361957; // aapt resource value: 0x7f0a0005 public const int home = 2131361797; - // aapt resource value: 0x7f0a001c - public const int homeAsUp = 2131361820; - - // aapt resource value: 0x7f0a0050 - public const int icon = 2131361872; - - // aapt resource value: 0x7f0a00bc - public const int icon_frame = 2131361980; - - // aapt resource value: 0x7f0a00a7 - public const int icon_group = 2131361959; - - // aapt resource value: 0x7f0a0012 - public const int icon_only = 2131361810; - // aapt resource value: 0x7f0a002d - public const int ifRoom = 2131361837; + public const int homeAsUp = 2131361837; - // aapt resource value: 0x7f0a004d - public const int image = 2131361869; + // aapt resource value: 0x7f0a0067 + public const int icon = 2131361895; - // aapt resource value: 0x7f0a00a3 - public const int info = 2131361955; + // aapt resource value: 0x7f0a00d3 + public const int icon_frame = 2131362003; - // aapt resource value: 0x7f0a00b3 - public const int infoPanel = 2131361971; + // aapt resource value: 0x7f0a00be + public const int icon_group = 2131361982; + + // aapt resource value: 0x7f0a0023 + public const int icon_only = 2131361827; + + // aapt resource value: 0x7f0a003e + public const int ifRoom = 2131361854; + + // aapt resource value: 0x7f0a0064 + public const int image = 2131361892; + + // aapt resource value: 0x7f0a00ba + public const int info = 2131361978; + + // aapt resource value: 0x7f0a00ca + public const int infoPanel = 2131361994; // aapt resource value: 0x7f0a0000 public const int item_touch_helper_previous_elevation = 2131361792; - // aapt resource value: 0x7f0a007d - public const int largeLabel = 2131361917; + // aapt resource value: 0x7f0a0094 + public const int largeLabel = 2131361940; - // aapt resource value: 0x7f0a00ae - public const int lastButton = 2131361966; + // aapt resource value: 0x7f0a00c5 + public const int lastButton = 2131361989; + + // aapt resource value: 0x7f0a004c + public const int left = 2131361868; + + // aapt resource value: 0x7f0a0028 + public const int light = 2131361832; + + // aapt resource value: 0x7f0a00bf + public const int line1 = 2131361983; + + // aapt resource value: 0x7f0a00e4 + public const int line2 = 2131362020; + + // aapt resource value: 0x7f0a00c1 + public const int line3 = 2131361985; + + // aapt resource value: 0x7f0a00d5 + public const int list = 2131362005; + + // aapt resource value: 0x7f0a0029 + public const int listMode = 2131361833; + + // aapt resource value: 0x7f0a0066 + public const int list_item = 2131361894; + + // aapt resource value: 0x7f0a00e6 + public const int masked = 2131362022; + + // aapt resource value: 0x7f0a00b3 + public const int media_actions = 2131361971; // aapt resource value: 0x7f0a003b - public const int left = 2131361851; + public const int middle = 2131361851; - // aapt resource value: 0x7f0a0017 - public const int light = 2131361815; + // aapt resource value: 0x7f0a0056 + public const int mini = 2131361878; - // aapt resource value: 0x7f0a00a8 - public const int line1 = 2131361960; + // aapt resource value: 0x7f0a0032 + public const int multiply = 2131361842; - // aapt resource value: 0x7f0a00cd - public const int line2 = 2131361997; + // aapt resource value: 0x7f0a00e7 + public const int musicLayout = 2131362023; - // aapt resource value: 0x7f0a00aa - public const int line3 = 2131361962; - - // aapt resource value: 0x7f0a00be - public const int list = 2131361982; - - // aapt resource value: 0x7f0a0018 - public const int listMode = 2131361816; - - // aapt resource value: 0x7f0a004f - public const int list_item = 2131361871; - - // aapt resource value: 0x7f0a00cf - public const int masked = 2131361999; - - // aapt resource value: 0x7f0a009c - public const int media_actions = 2131361948; - - // aapt resource value: 0x7f0a002a - public const int middle = 2131361834; - - // aapt resource value: 0x7f0a0045 - public const int mini = 2131361861; - - // aapt resource value: 0x7f0a0021 - public const int multiply = 2131361825; - - // aapt resource value: 0x7f0a00d0 - public const int musicLayout = 2131362000; - - // aapt resource value: 0x7f0a0084 - public const int navigation_header_container = 2131361924; - - // aapt resource value: 0x7f0a002e - public const int never = 2131361838; - - // aapt resource value: 0x7f0a00b7 - public const int nextArt = 2131361975; - - // aapt resource value: 0x7f0a00b9 - public const int nextArtist = 2131361977; - - // aapt resource value: 0x7f0a00b0 - public const int nextButton = 2131361968; - - // aapt resource value: 0x7f0a00b6 - public const int nextSong = 2131361974; - - // aapt resource value: 0x7f0a00b8 - public const int nextTitle = 2131361976; - - // aapt resource value: 0x7f0a0095 - public const int noPlaylist = 2131361941; - - // aapt resource value: 0x7f0a0011 - public const int none = 2131361809; - - // aapt resource value: 0x7f0a0019 - public const int normal = 2131361817; - - // aapt resource value: 0x7f0a00a5 - public const int notification_background = 2131361957; - - // aapt resource value: 0x7f0a009f - public const int notification_main_column = 2131361951; - - // aapt resource value: 0x7f0a009e - public const int notification_main_column_container = 2131361950; - - // aapt resource value: 0x7f0a0091 - public const int pager = 2131361937; - - // aapt resource value: 0x7f0a003e - public const int parallax = 2131361854; - - // aapt resource value: 0x7f0a0054 - public const int parentPanel = 2131361876; + // aapt resource value: 0x7f0a009b + public const int navigation_header_container = 2131361947; // aapt resource value: 0x7f0a003f - public const int pin = 2131361855; + public const int never = 2131361855; - // aapt resource value: 0x7f0a00af - public const int playButton = 2131361967; + // aapt resource value: 0x7f0a00ce + public const int nextArt = 2131361998; - // aapt resource value: 0x7f0a00ad - public const int playerAlbum = 2131361965; + // aapt resource value: 0x7f0a00d0 + public const int nextArtist = 2131362000; + + // aapt resource value: 0x7f0a00c7 + public const int nextButton = 2131361991; + + // aapt resource value: 0x7f0a00cd + public const int nextSong = 2131361997; + + // aapt resource value: 0x7f0a00cf + public const int nextTitle = 2131361999; + + // aapt resource value: 0x7f0a00ac + public const int noPlaylist = 2131361964; + + // aapt resource value: 0x7f0a0022 + public const int none = 2131361826; + + // aapt resource value: 0x7f0a002a + public const int normal = 2131361834; + + // aapt resource value: 0x7f0a00bc + public const int notification_background = 2131361980; + + // aapt resource value: 0x7f0a00b6 + public const int notification_main_column = 2131361974; // aapt resource value: 0x7f0a00b5 - public const int playerArtist = 2131361973; + public const int notification_main_column_container = 2131361973; - // aapt resource value: 0x7f0a00b2 - public const int playerPlaylistAdd = 2131361970; + // aapt resource value: 0x7f0a0059 + public const int one = 2131361881; - // aapt resource value: 0x7f0a00b1 - public const int playerSleep = 2131361969; + // aapt resource value: 0x7f0a00a8 + public const int pager = 2131361960; - // aapt resource value: 0x7f0a00b4 - public const int playerTitle = 2131361972; + // aapt resource value: 0x7f0a004f + public const int parallax = 2131361871; - // aapt resource value: 0x7f0a00d3 - public const int playlistLayout = 2131362003; + // aapt resource value: 0x7f0a006b + public const int parentPanel = 2131361899; - // aapt resource value: 0x7f0a007b - public const int playlistName = 2131361915; + // aapt resource value: 0x7f0a0050 + public const int pin = 2131361872; + + // aapt resource value: 0x7f0a00c6 + public const int playButton = 2131361990; + + // aapt resource value: 0x7f0a00c4 + public const int playerAlbum = 2131361988; + + // aapt resource value: 0x7f0a00cc + public const int playerArtist = 2131361996; + + // aapt resource value: 0x7f0a00c9 + public const int playerPlaylistAdd = 2131361993; + + // aapt resource value: 0x7f0a00c8 + public const int playerSleep = 2131361992; + + // aapt resource value: 0x7f0a00cb + public const int playerTitle = 2131361995; + + // aapt resource value: 0x7f0a00ea + public const int playlistLayout = 2131362026; + + // aapt resource value: 0x7f0a0092 + public const int playlistName = 2131361938; // aapt resource value: 0x7f0a0006 public const int progress_circular = 2131361798; @@ -2906,194 +3083,197 @@ namespace MusicApp // aapt resource value: 0x7f0a0007 public const int progress_horizontal = 2131361799; - // aapt resource value: 0x7f0a0064 - public const int radio = 2131361892; + // aapt resource value: 0x7f0a007b + public const int radio = 2131361915; - // aapt resource value: 0x7f0a003c - public const int right = 2131361852; + // aapt resource value: 0x7f0a004d + public const int right = 2131361869; - // aapt resource value: 0x7f0a00a4 - public const int right_icon = 2131361956; + // aapt resource value: 0x7f0a00bb + public const int right_icon = 2131361979; - // aapt resource value: 0x7f0a00a0 - public const int right_side = 2131361952; + // aapt resource value: 0x7f0a00b7 + public const int right_side = 2131361975; - // aapt resource value: 0x7f0a0022 - public const int screen = 2131361826; + // aapt resource value: 0x7f0a0033 + public const int screen = 2131361843; - // aapt resource value: 0x7f0a0035 - public const int scroll = 2131361845; - - // aapt resource value: 0x7f0a005a - public const int scrollIndicatorDown = 2131361882; - - // aapt resource value: 0x7f0a0056 - public const int scrollIndicatorUp = 2131361878; - - // aapt resource value: 0x7f0a0057 - public const int scrollView = 2131361879; - - // aapt resource value: 0x7f0a0047 - public const int scrollable = 2131361863; - - // aapt resource value: 0x7f0a00c2 - public const int search = 2131361986; - - // aapt resource value: 0x7f0a006f - public const int search_badge = 2131361903; - - // aapt resource value: 0x7f0a006e - public const int search_bar = 2131361902; - - // aapt resource value: 0x7f0a0070 - public const int search_button = 2131361904; - - // aapt resource value: 0x7f0a0075 - public const int search_close_btn = 2131361909; + // aapt resource value: 0x7f0a0046 + public const int scroll = 2131361862; // aapt resource value: 0x7f0a0071 - public const int search_edit_frame = 2131361905; + public const int scrollIndicatorDown = 2131361905; - // aapt resource value: 0x7f0a0077 - public const int search_go_btn = 2131361911; + // aapt resource value: 0x7f0a006d + public const int scrollIndicatorUp = 2131361901; - // aapt resource value: 0x7f0a0072 - public const int search_mag_icon = 2131361906; + // aapt resource value: 0x7f0a006e + public const int scrollView = 2131361902; - // aapt resource value: 0x7f0a0073 - public const int search_plate = 2131361907; + // aapt resource value: 0x7f0a0058 + public const int scrollable = 2131361880; - // aapt resource value: 0x7f0a0074 - public const int search_src_text = 2131361908; + // aapt resource value: 0x7f0a00d9 + public const int search = 2131362009; - // aapt resource value: 0x7f0a0078 - public const int search_voice_btn = 2131361912; + // aapt resource value: 0x7f0a0086 + public const int search_badge = 2131361926; - // aapt resource value: 0x7f0a00bf - public const int seekbar = 2131361983; + // aapt resource value: 0x7f0a0085 + public const int search_bar = 2131361925; - // aapt resource value: 0x7f0a00c0 - public const int seekbar_value = 2131361984; + // aapt resource value: 0x7f0a0087 + public const int search_button = 2131361927; - // aapt resource value: 0x7f0a0079 - public const int select_dialog_listview = 2131361913; + // aapt resource value: 0x7f0a008c + public const int search_close_btn = 2131361932; + + // aapt resource value: 0x7f0a0088 + public const int search_edit_frame = 2131361928; + + // aapt resource value: 0x7f0a008e + public const int search_go_btn = 2131361934; + + // aapt resource value: 0x7f0a0089 + public const int search_mag_icon = 2131361929; + + // aapt resource value: 0x7f0a008a + public const int search_plate = 2131361930; + + // aapt resource value: 0x7f0a008b + public const int search_src_text = 2131361931; + + // aapt resource value: 0x7f0a008f + public const int search_voice_btn = 2131361935; + + // aapt resource value: 0x7f0a00d6 + public const int seekbar = 2131362006; + + // aapt resource value: 0x7f0a00d7 + public const int seekbar_value = 2131362007; + + // aapt resource value: 0x7f0a0090 + public const int select_dialog_listview = 2131361936; + + // aapt resource value: 0x7f0a00eb + public const int settings = 2131362027; + + // aapt resource value: 0x7f0a007a + public const int shortcut = 2131361914; + + // aapt resource value: 0x7f0a002e + public const int showCustom = 2131361838; + + // aapt resource value: 0x7f0a002f + public const int showHome = 2131361839; + + // aapt resource value: 0x7f0a0030 + public const int showTitle = 2131361840; + + // aapt resource value: 0x7f0a0093 + public const int smallLabel = 2131361939; + + // aapt resource value: 0x7f0a00ab + public const int smallPlayer = 2131361963; + + // aapt resource value: 0x7f0a009a + public const int snackbar_action = 2131361946; + + // aapt resource value: 0x7f0a0099 + public const int snackbar_text = 2131361945; + + // aapt resource value: 0x7f0a0047 + public const int snap = 2131361863; + + // aapt resource value: 0x7f0a00d1 + public const int songTimer = 2131362001; + + // aapt resource value: 0x7f0a00db + public const int spArt = 2131362011; + + // aapt resource value: 0x7f0a00dd + public const int spArtist = 2131362013; + + // aapt resource value: 0x7f0a00da + public const int spContainer = 2131362010; + + // aapt resource value: 0x7f0a00e0 + public const int spLast = 2131362016; + + // aapt resource value: 0x7f0a00de + public const int spNext = 2131362014; + + // aapt resource value: 0x7f0a00df + public const int spPlay = 2131362015; + + // aapt resource value: 0x7f0a00e1 + public const int spProgress = 2131362017; + + // aapt resource value: 0x7f0a00dc + public const int spTitle = 2131362012; + + // aapt resource value: 0x7f0a006a + public const int spacer = 2131361898; // aapt resource value: 0x7f0a00d4 - public const int settings = 2131362004; - - // aapt resource value: 0x7f0a0063 - public const int shortcut = 2131361891; - - // aapt resource value: 0x7f0a001d - public const int showCustom = 2131361821; - - // aapt resource value: 0x7f0a001e - public const int showHome = 2131361822; - - // aapt resource value: 0x7f0a001f - public const int showTitle = 2131361823; - - // aapt resource value: 0x7f0a007c - public const int smallLabel = 2131361916; - - // aapt resource value: 0x7f0a0094 - public const int smallPlayer = 2131361940; - - // aapt resource value: 0x7f0a0083 - public const int snackbar_action = 2131361923; - - // aapt resource value: 0x7f0a0082 - public const int snackbar_text = 2131361922; - - // aapt resource value: 0x7f0a0036 - public const int snap = 2131361846; - - // aapt resource value: 0x7f0a00ba - public const int songTimer = 2131361978; - - // aapt resource value: 0x7f0a00c4 - public const int spArt = 2131361988; - - // aapt resource value: 0x7f0a00c6 - public const int spArtist = 2131361990; - - // aapt resource value: 0x7f0a00c3 - public const int spContainer = 2131361987; - - // aapt resource value: 0x7f0a00c9 - public const int spLast = 2131361993; - - // aapt resource value: 0x7f0a00c7 - public const int spNext = 2131361991; - - // aapt resource value: 0x7f0a00c8 - public const int spPlay = 2131361992; - - // aapt resource value: 0x7f0a00ca - public const int spProgress = 2131361994; - - // aapt resource value: 0x7f0a00c5 - public const int spTitle = 2131361989; - - // aapt resource value: 0x7f0a0053 - public const int spacer = 2131361875; - - // aapt resource value: 0x7f0a00bd - public const int spinner = 2131361981; + public const int spinner = 2131362004; // aapt resource value: 0x7f0a0008 public const int split_action_bar = 2131361800; - // aapt resource value: 0x7f0a0023 - public const int src_atop = 2131361827; + // aapt resource value: 0x7f0a0034 + public const int src_atop = 2131361844; + + // aapt resource value: 0x7f0a0035 + public const int src_in = 2131361845; + + // aapt resource value: 0x7f0a0036 + public const int src_over = 2131361846; // aapt resource value: 0x7f0a0024 - public const int src_in = 2131361828; + public const int standard = 2131361828; - // aapt resource value: 0x7f0a0025 - public const int src_over = 2131361829; + // aapt resource value: 0x7f0a004e + public const int start = 2131361870; - // aapt resource value: 0x7f0a0013 - public const int standard = 2131361811; + // aapt resource value: 0x7f0a00b2 + public const int status_bar_latest_event_content = 2131361970; - // aapt resource value: 0x7f0a003d - public const int start = 2131361853; + // aapt resource value: 0x7f0a007c + public const int submenuarrow = 2131361916; - // aapt resource value: 0x7f0a009b - public const int status_bar_latest_event_content = 2131361947; + // aapt resource value: 0x7f0a008d + public const int submit_area = 2131361933; - // aapt resource value: 0x7f0a0065 - public const int submenuarrow = 2131361893; + // aapt resource value: 0x7f0a005d + public const int surface_view = 2131361885; - // aapt resource value: 0x7f0a0076 - public const int submit_area = 2131361910; + // aapt resource value: 0x7f0a00d8 + public const int switchWidget = 2131362008; - // aapt resource value: 0x7f0a00c1 - public const int switchWidget = 2131361985; + // aapt resource value: 0x7f0a002b + public const int tabMode = 2131361835; - // aapt resource value: 0x7f0a001a - public const int tabMode = 2131361818; + // aapt resource value: 0x7f0a00a7 + public const int tabs = 2131361959; - // aapt resource value: 0x7f0a0090 - public const int tabs = 2131361936; + // aapt resource value: 0x7f0a00c2 + public const int text = 2131361986; - // aapt resource value: 0x7f0a00ab - public const int text = 2131361963; + // aapt resource value: 0x7f0a00a1 + public const int text1 = 2131361953; - // aapt resource value: 0x7f0a008a - public const int text1 = 2131361930; + // aapt resource value: 0x7f0a00c0 + public const int text2 = 2131361984; - // aapt resource value: 0x7f0a00a9 - public const int text2 = 2131361961; + // aapt resource value: 0x7f0a0070 + public const int textSpacerNoButtons = 2131361904; - // aapt resource value: 0x7f0a0059 - public const int textSpacerNoButtons = 2131361881; + // aapt resource value: 0x7f0a006f + public const int textSpacerNoTitle = 2131361903; - // aapt resource value: 0x7f0a0058 - public const int textSpacerNoTitle = 2131361880; - - // aapt resource value: 0x7f0a0089 - public const int text_input_password_toggle = 2131361929; + // aapt resource value: 0x7f0a00a0 + public const int text_input_password_toggle = 2131361952; // aapt resource value: 0x7f0a000c public const int textinput_counter = 2131361804; @@ -3101,29 +3281,32 @@ namespace MusicApp // aapt resource value: 0x7f0a000d public const int textinput_error = 2131361805; - // aapt resource value: 0x7f0a00a1 - public const int time = 2131361953; - - // aapt resource value: 0x7f0a0051 - public const int title = 2131361873; - - // aapt resource value: 0x7f0a0060 - public const int titleDividerNoCustom = 2131361888; - // aapt resource value: 0x7f0a005e - public const int title_template = 2131361886; + public const int texture_view = 2131361886; - // aapt resource value: 0x7f0a008f - public const int toolbar = 2131361935; + // aapt resource value: 0x7f0a00b8 + public const int time = 2131361976; - // aapt resource value: 0x7f0a0031 - public const int top = 2131361841; + // aapt resource value: 0x7f0a0068 + public const int title = 2131361896; - // aapt resource value: 0x7f0a005d - public const int topPanel = 2131361885; + // aapt resource value: 0x7f0a0077 + public const int titleDividerNoCustom = 2131361911; - // aapt resource value: 0x7f0a0080 - public const int touch_outside = 2131361920; + // aapt resource value: 0x7f0a0075 + public const int title_template = 2131361909; + + // aapt resource value: 0x7f0a00a6 + public const int toolbar = 2131361958; + + // aapt resource value: 0x7f0a0042 + public const int top = 2131361858; + + // aapt resource value: 0x7f0a0074 + public const int topPanel = 2131361908; + + // aapt resource value: 0x7f0a0097 + public const int touch_outside = 2131361943; // aapt resource value: 0x7f0a000a public const int transition_current_scene = 2131361802; @@ -3134,23 +3317,23 @@ namespace MusicApp // aapt resource value: 0x7f0a0009 public const int up = 2131361801; - // aapt resource value: 0x7f0a0020 - public const int useLogo = 2131361824; + // aapt resource value: 0x7f0a0031 + public const int useLogo = 2131361841; // aapt resource value: 0x7f0a000e public const int view_offset_helper = 2131361806; - // aapt resource value: 0x7f0a00ce - public const int visible = 2131361998; + // aapt resource value: 0x7f0a00e5 + public const int visible = 2131362021; - // aapt resource value: 0x7f0a0014 - public const int wide = 2131361812; + // aapt resource value: 0x7f0a0025 + public const int wide = 2131361829; - // aapt resource value: 0x7f0a002f - public const int withText = 2131361839; + // aapt resource value: 0x7f0a0040 + public const int withText = 2131361856; - // aapt resource value: 0x7f0a0027 - public const int wrap_content = 2131361831; + // aapt resource value: 0x7f0a0038 + public const int wrap_content = 2131361848; static Id() { @@ -3341,145 +3524,151 @@ namespace MusicApp public const int DownloadLayout = 2130903083; // aapt resource value: 0x7f03002c - public const int folderList = 2130903084; + public const int exo_playback_control_view = 2130903084; // aapt resource value: 0x7f03002d - public const int Main = 2130903085; + public const int exo_simple_player_view = 2130903085; // aapt resource value: 0x7f03002e - public const int MusicLayout = 2130903086; + public const int folderList = 2130903086; // aapt resource value: 0x7f03002f - public const int NoPlaylist = 2130903087; + public const int Main = 2130903087; // aapt resource value: 0x7f030030 - public const int NoQueue = 2130903088; + public const int MusicLayout = 2130903088; // aapt resource value: 0x7f030031 - public const int NoSong = 2130903089; + public const int NoPlaylist = 2130903089; // aapt resource value: 0x7f030032 - public const int notification_action = 2130903090; + public const int NoQueue = 2130903090; // aapt resource value: 0x7f030033 - public const int notification_action_tombstone = 2130903091; + public const int NoSong = 2130903091; // aapt resource value: 0x7f030034 - public const int notification_media_action = 2130903092; + public const int notification_action = 2130903092; // aapt resource value: 0x7f030035 - public const int notification_media_cancel_action = 2130903093; + public const int notification_action_tombstone = 2130903093; // aapt resource value: 0x7f030036 - public const int notification_template_big_media = 2130903094; + public const int notification_media_action = 2130903094; // aapt resource value: 0x7f030037 - public const int notification_template_big_media_custom = 2130903095; + public const int notification_media_cancel_action = 2130903095; // aapt resource value: 0x7f030038 - public const int notification_template_big_media_narrow = 2130903096; + public const int notification_template_big_media = 2130903096; // aapt resource value: 0x7f030039 - public const int notification_template_big_media_narrow_custom = 2130903097; + public const int notification_template_big_media_custom = 2130903097; // aapt resource value: 0x7f03003a - public const int notification_template_custom_big = 2130903098; + public const int notification_template_big_media_narrow = 2130903098; // aapt resource value: 0x7f03003b - public const int notification_template_icon_group = 2130903099; + public const int notification_template_big_media_narrow_custom = 2130903099; // aapt resource value: 0x7f03003c - public const int notification_template_lines_media = 2130903100; + public const int notification_template_custom_big = 2130903100; // aapt resource value: 0x7f03003d - public const int notification_template_media = 2130903101; + public const int notification_template_icon_group = 2130903101; // aapt resource value: 0x7f03003e - public const int notification_template_media_custom = 2130903102; + public const int notification_template_lines_media = 2130903102; // aapt resource value: 0x7f03003f - public const int notification_template_part_chronometer = 2130903103; + public const int notification_template_media = 2130903103; // aapt resource value: 0x7f030040 - public const int notification_template_part_time = 2130903104; + public const int notification_template_media_custom = 2130903104; // aapt resource value: 0x7f030041 - public const int player = 2130903105; + public const int notification_template_part_chronometer = 2130903105; // aapt resource value: 0x7f030042 - public const int playerInfo = 2130903106; + public const int notification_template_part_time = 2130903106; // aapt resource value: 0x7f030043 - public const int PlaylistList = 2130903107; + public const int player = 2130903107; // aapt resource value: 0x7f030044 - public const int preference = 2130903108; + public const int playerInfo = 2130903108; // aapt resource value: 0x7f030045 - public const int preference_category = 2130903109; + public const int PlaylistList = 2130903109; // aapt resource value: 0x7f030046 - public const int preference_dialog_edittext = 2130903110; + public const int preference = 2130903110; // aapt resource value: 0x7f030047 - public const int preference_dropdown = 2130903111; + public const int preference_category = 2130903111; // aapt resource value: 0x7f030048 - public const int preference_information = 2130903112; + public const int preference_dialog_edittext = 2130903112; // aapt resource value: 0x7f030049 - public const int preference_list_fragment = 2130903113; + public const int preference_dropdown = 2130903113; // aapt resource value: 0x7f03004a - public const int preference_recyclerview = 2130903114; + public const int preference_information = 2130903114; // aapt resource value: 0x7f03004b - public const int preference_widget_checkbox = 2130903115; + public const int preference_list_fragment = 2130903115; // aapt resource value: 0x7f03004c - public const int preference_widget_seekbar = 2130903116; + public const int preference_recyclerview = 2130903116; // aapt resource value: 0x7f03004d - public const int preference_widget_switch_compat = 2130903117; + public const int preference_widget_checkbox = 2130903117; // aapt resource value: 0x7f03004e - public const int Preferences = 2130903118; + public const int preference_widget_seekbar = 2130903118; // aapt resource value: 0x7f03004f - public const int PreferenceToolbar = 2130903119; + public const int preference_widget_switch_compat = 2130903119; // aapt resource value: 0x7f030050 - public const int search_layout = 2130903120; + public const int Preferences = 2130903120; // aapt resource value: 0x7f030051 - public const int select_dialog_item_material = 2130903121; + public const int PreferenceToolbar = 2130903121; // aapt resource value: 0x7f030052 - public const int select_dialog_multichoice_material = 2130903122; + public const int search_layout = 2130903122; // aapt resource value: 0x7f030053 - public const int select_dialog_singlechoice_material = 2130903123; + public const int select_dialog_item_material = 2130903123; // aapt resource value: 0x7f030054 - public const int SmallPlayer = 2130903124; + public const int select_dialog_multichoice_material = 2130903124; // aapt resource value: 0x7f030055 - public const int SongList = 2130903125; + public const int select_dialog_singlechoice_material = 2130903125; // aapt resource value: 0x7f030056 - public const int support_simple_spinner_dropdown_item = 2130903126; + public const int SmallPlayer = 2130903126; // aapt resource value: 0x7f030057 - public const int tabs = 2130903127; + public const int SongList = 2130903127; // aapt resource value: 0x7f030058 - public const int TimerLayout = 2130903128; + public const int support_simple_spinner_dropdown_item = 2130903128; // aapt resource value: 0x7f030059 - public const int TwoLineLayout = 2130903129; + public const int tabs = 2130903129; // aapt resource value: 0x7f03005a - public const int YtList = 2130903130; + public const int TimerLayout = 2130903130; + + // aapt resource value: 0x7f03005b + public const int TwoLineLayout = 2130903131; + + // aapt resource value: 0x7f03005c + public const int YtList = 2130903132; static Layout() { @@ -3606,8 +3795,8 @@ namespace MusicApp // aapt resource value: 0x7f070025 public const int abc_toolbar_collapse_description = 2131165221; - // aapt resource value: 0x7f07003c - public const int app_name = 2131165244; + // aapt resource value: 0x7f070046 + public const int app_name = 2131165254; // aapt resource value: 0x7f070034 public const int appbar_scrolling_view_behavior = 2131165236; @@ -3669,6 +3858,36 @@ namespace MusicApp // aapt resource value: 0x7f07000f public const int common_signin_button_text_long = 2131165199; + // aapt resource value: 0x7f07003c + public const int exo_controls_fastforward_description = 2131165244; + + // aapt resource value: 0x7f07003d + public const int exo_controls_next_description = 2131165245; + + // aapt resource value: 0x7f07003e + public const int exo_controls_pause_description = 2131165246; + + // aapt resource value: 0x7f07003f + public const int exo_controls_play_description = 2131165247; + + // aapt resource value: 0x7f070040 + public const int exo_controls_previous_description = 2131165248; + + // aapt resource value: 0x7f070041 + public const int exo_controls_repeat_all_description = 2131165249; + + // aapt resource value: 0x7f070042 + public const int exo_controls_repeat_off_description = 2131165250; + + // aapt resource value: 0x7f070043 + public const int exo_controls_repeat_one_description = 2131165251; + + // aapt resource value: 0x7f070044 + public const int exo_controls_rewind_description = 2131165252; + + // aapt resource value: 0x7f070045 + public const int exo_controls_stop_description = 2131165253; + // aapt resource value: 0x7f070037 public const int password_toggle_content_description = 2131165239; @@ -3724,8 +3943,8 @@ namespace MusicApp // aapt resource value: 0x7f0b016c public const int Animation_Design_BottomSheetDialog = 2131427692; - // aapt resource value: 0x7f0b0187 - public const int AppCompatAlertDialogStyle = 2131427719; + // aapt resource value: 0x7f0b018e + public const int AppCompatAlertDialogStyle = 2131427726; // aapt resource value: 0x7f0b00ae public const int Base_AlertDialog_AppCompat = 2131427502; @@ -4189,6 +4408,27 @@ namespace MusicApp // aapt resource value: 0x7f0b016e public const int Base_Widget_Design_TabLayout = 2131427694; + // aapt resource value: 0x7f0b0185 + public const int ExoMediaButton = 2131427717; + + // aapt resource value: 0x7f0b0186 + public const int ExoMediaButton_FastForward = 2131427718; + + // aapt resource value: 0x7f0b0187 + public const int ExoMediaButton_Next = 2131427719; + + // aapt resource value: 0x7f0b0188 + public const int ExoMediaButton_Pause = 2131427720; + + // aapt resource value: 0x7f0b0189 + public const int ExoMediaButton_Play = 2131427721; + + // aapt resource value: 0x7f0b018a + public const int ExoMediaButton_Previous = 2131427722; + + // aapt resource value: 0x7f0b018b + public const int ExoMediaButton_Rewind = 2131427723; + // aapt resource value: 0x7f0b002b public const int Platform_AppCompat = 2131427371; @@ -4522,8 +4762,8 @@ namespace MusicApp // aapt resource value: 0x7f0b010c public const int TextAppearance_Widget_AppCompat_Toolbar_Title = 2131427596; - // aapt resource value: 0x7f0b0185 - public const int Theme = 2131427717; + // aapt resource value: 0x7f0b018c + public const int Theme = 2131427724; // aapt resource value: 0x7f0b010d public const int Theme_AppCompat = 2131427597; @@ -4588,8 +4828,8 @@ namespace MusicApp // aapt resource value: 0x7f0b011a public const int Theme_AppCompat_NoActionBar = 2131427610; - // aapt resource value: 0x7f0b0186 - public const int Theme_Base = 2131427718; + // aapt resource value: 0x7f0b018d + public const int Theme_Base = 2131427725; // aapt resource value: 0x7f0b0176 public const int Theme_Design = 2131427702; @@ -5672,6 +5912,12 @@ namespace MusicApp // aapt resource value: 3 public const int AppCompatTheme_windowNoTitle = 3; + public static int[] AspectRatioFrameLayout = new int[] { + 2130772349}; + + // aapt resource value: 0 + public const int AspectRatioFrameLayout_resize_mode = 0; + public static int[] BackgroundStyle = new int[] { 16843534, 2130772129}; @@ -5894,6 +6140,56 @@ namespace MusicApp // aapt resource value: 3 public const int CoordinatorLayout_Layout_layout_keyline = 3; + public static int[] DefaultTimeBar = new int[] { + 2130772353, + 2130772354, + 2130772355, + 2130772356, + 2130772357, + 2130772358, + 2130772359, + 2130772360, + 2130772361, + 2130772362, + 2130772363, + 2130772364}; + + // aapt resource value: 10 + public const int DefaultTimeBar_ad_marker_color = 10; + + // aapt resource value: 2 + public const int DefaultTimeBar_ad_marker_width = 2; + + // aapt resource value: 0 + public const int DefaultTimeBar_bar_height = 0; + + // aapt resource value: 8 + public const int DefaultTimeBar_buffered_color = 8; + + // aapt resource value: 11 + public const int DefaultTimeBar_played_ad_marker_color = 11; + + // aapt resource value: 6 + public const int DefaultTimeBar_played_color = 6; + + // aapt resource value: 7 + public const int DefaultTimeBar_scrubber_color = 7; + + // aapt resource value: 4 + public const int DefaultTimeBar_scrubber_disabled_size = 4; + + // aapt resource value: 5 + public const int DefaultTimeBar_scrubber_dragged_size = 5; + + // aapt resource value: 3 + public const int DefaultTimeBar_scrubber_enabled_size = 3; + + // aapt resource value: 1 + public const int DefaultTimeBar_touch_target_height = 1; + + // aapt resource value: 9 + public const int DefaultTimeBar_unplayed_color = 9; + public static int[] DesignTheme = new int[] { 2130772296, 2130772297, @@ -6338,6 +6634,28 @@ namespace MusicApp // aapt resource value: 4 public const int NavigationView_menu = 4; + public static int[] PlaybackControlView = new int[] { + 2130772345, + 2130772346, + 2130772348, + 2130772350, + 2130772351}; + + // aapt resource value: 0 + public const int PlaybackControlView_controller_layout_id = 0; + + // aapt resource value: 1 + public const int PlaybackControlView_fastforward_increment = 1; + + // aapt resource value: 2 + public const int PlaybackControlView_repeat_toggle_modes = 2; + + // aapt resource value: 3 + public const int PlaybackControlView_rewind_increment = 3; + + // aapt resource value: 4 + public const int PlaybackControlView_show_timeout = 4; + public static int[] PopupWindow = new int[] { 16843126, 16843465, @@ -6766,6 +7084,56 @@ namespace MusicApp // aapt resource value: 2 public const int SignInButton_scopeUris = 2; + public static int[] SimpleExoPlayerView = new int[] { + 2130772345, + 2130772346, + 2130772347, + 2130772349, + 2130772350, + 2130772351, + 2130772352, + 2130772365, + 2130772366, + 2130772367, + 2130772368, + 2130772369}; + + // aapt resource value: 11 + public const int SimpleExoPlayerView_auto_show = 11; + + // aapt resource value: 0 + public const int SimpleExoPlayerView_controller_layout_id = 0; + + // aapt resource value: 8 + public const int SimpleExoPlayerView_default_artwork = 8; + + // aapt resource value: 1 + public const int SimpleExoPlayerView_fastforward_increment = 1; + + // aapt resource value: 10 + public const int SimpleExoPlayerView_hide_on_touch = 10; + + // aapt resource value: 2 + public const int SimpleExoPlayerView_player_layout_id = 2; + + // aapt resource value: 3 + public const int SimpleExoPlayerView_resize_mode = 3; + + // aapt resource value: 4 + public const int SimpleExoPlayerView_rewind_increment = 4; + + // aapt resource value: 5 + public const int SimpleExoPlayerView_show_timeout = 5; + + // aapt resource value: 6 + public const int SimpleExoPlayerView_surface_type = 6; + + // aapt resource value: 7 + public const int SimpleExoPlayerView_use_artwork = 7; + + // aapt resource value: 9 + public const int SimpleExoPlayerView_use_controller = 9; + public static int[] SnackbarLayout = new int[] { 16843039, 2130772060, diff --git a/MusicApp/packages.config b/MusicApp/packages.config index 4534b36..9758ca8 100644 --- a/MusicApp/packages.config +++ b/MusicApp/packages.config @@ -3,7 +3,7 @@ - + @@ -64,6 +64,12 @@ + + + + + + @@ -86,5 +92,4 @@ - \ No newline at end of file diff --git a/YouTubeApi/Additions/AboutAdditions.txt b/YouTubeApi/Additions/AboutAdditions.txt new file mode 100644 index 0000000..c511f1d --- /dev/null +++ b/YouTubeApi/Additions/AboutAdditions.txt @@ -0,0 +1,48 @@ +Additions allow you to add arbitrary C# to the generated classes +before they are compiled. This can be helpful for providing convenience +methods or adding pure C# classes. + +== Adding Methods to Generated Classes == + +Let's say the library being bound has a Rectangle class with a constructor +that takes an x and y position, and a width and length size. It will look like +this: + +public partial class Rectangle +{ + public Rectangle (int x, int y, int width, int height) + { + // JNI bindings + } +} + +Imagine we want to add a constructor to this class that takes a Point and +Size structure instead of 4 ints. We can add a new file called Rectangle.cs +with a partial class containing our new method: + +public partial class Rectangle +{ + public Rectangle (Point location, Size size) : + this (location.X, location.Y, size.Width, size.Height) + { + } +} + +At compile time, the additions class will be added to the generated class +and the final assembly will a Rectangle class with both constructors. + + +== Adding C# Classes == + +Another thing that can be done is adding fully C# managed classes to the +generated library. In the above example, let's assume that there isn't a +Point class available in Java or our library. The one we create doesn't need +to interact with Java, so we'll create it like a normal class in C#. + +By adding a Point.cs file with this class, it will end up in the binding library: + +public class Point +{ + public int X { get; set; } + public int Y { get; set; } +} diff --git a/YouTubeApi/Jars/AboutJars.txt b/YouTubeApi/Jars/AboutJars.txt new file mode 100644 index 0000000..4f9de89 --- /dev/null +++ b/YouTubeApi/Jars/AboutJars.txt @@ -0,0 +1,37 @@ +This directory is for Android .jars. + +There are 3 types of jars that are supported: + +== Input Jar and Embedded Jar == + +This is the jar that bindings should be generated for. + +For example, if you were binding the Google Maps library, this would +be Google's "maps.jar". + +The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be +embedded in the resulting dll as EmbeddedResource, while InputJar is not. +There are couple of reasons you wouldn't like to embed the target jar +in your dll (the ones that could be internally loaded by +feature e.g. maps.jar, or you cannot embed jars that are under some +proprietary license). + +Set the build action for these jars in the properties page to "InputJar". + + +== Reference Jar and Embedded Reference Jar == + +These are jars that are referenced by the input jar. C# bindings will +not be created for these jars. These jars will be used to resolve +types used by the input jar. + +NOTE: Do not add "android.jar" as a reference jar. It will be added automatically +based on the Target Framework selected. + +Set the build action for these jars in the properties page to "ReferenceJar". + +"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is +embedded in your dll. But at application build time, they are not included +in the final apk, like ReferenceJar files. + + diff --git a/YouTubeApi/Jars/YouTubeAndroidPlayerApi.jar b/YouTubeApi/Jars/YouTubeAndroidPlayerApi.jar new file mode 100644 index 0000000..1dc2b82 Binary files /dev/null and b/YouTubeApi/Jars/YouTubeAndroidPlayerApi.jar differ diff --git a/YouTubeApi/Properties/AssemblyInfo.cs b/YouTubeApi/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5c4829d --- /dev/null +++ b/YouTubeApi/Properties/AssemblyInfo.cs @@ -0,0 +1,23 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using Android.App; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. +[assembly: AssemblyTitle ("YouTubeApi")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("")] +[assembly: AssemblyCopyright ("Nish")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. +[assembly: AssemblyVersion ("1.0.0")] +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/YouTubeApi/Transforms/EnumFields.xml b/YouTubeApi/Transforms/EnumFields.xml new file mode 100644 index 0000000..e9af0ee --- /dev/null +++ b/YouTubeApi/Transforms/EnumFields.xml @@ -0,0 +1,18 @@ + + + diff --git a/YouTubeApi/Transforms/EnumMethods.xml b/YouTubeApi/Transforms/EnumMethods.xml new file mode 100644 index 0000000..2efa814 --- /dev/null +++ b/YouTubeApi/Transforms/EnumMethods.xml @@ -0,0 +1,18 @@ + + + diff --git a/YouTubeApi/Transforms/Metadata.xml b/YouTubeApi/Transforms/Metadata.xml new file mode 100644 index 0000000..8dd28ab --- /dev/null +++ b/YouTubeApi/Transforms/Metadata.xml @@ -0,0 +1,13 @@ + + + Google.YouTube.Player + + + + diff --git a/YouTubeApi/YouTubeApi.csproj b/YouTubeApi/YouTubeApi.csproj new file mode 100644 index 0000000..04caf02 --- /dev/null +++ b/YouTubeApi/YouTubeApi.csproj @@ -0,0 +1,61 @@ + + + + Debug + AnyCPU + {A4CA43B8-7140-4483-96BA-6AFC8E935470} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + YouTubeApi + Resources + Assets + false + YouTubeApi + v6.0 + 1.2.1 + + + true + full + false + bin\Debug + DEBUG;__MOBILE__;__ANDROID__; + prompt + 4 + None + false + + + full + true + bin\Release + __MOBILE__;__ANDROID__; + prompt + 4 + false + false + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file