mirror of
https://github.com/zoriya/Opus.git
synced 2025-12-06 06:26:15 +00:00
Adding create mix option.
This commit is contained in:
@@ -1182,72 +1182,10 @@ namespace MusicApp
|
||||
|
||||
YtMix:
|
||||
|
||||
ProgressBar parseProgress = FindViewById<ProgressBar>(Resource.Id.ytProgress);
|
||||
parseProgress.Visibility = ViewStates.Visible;
|
||||
parseProgress.ScaleY = 6;
|
||||
|
||||
if (sender != null)
|
||||
QuickPlay(this, e);
|
||||
|
||||
if (!await WaitForYoutube())
|
||||
{
|
||||
Snackbar snackBar = Snackbar.Make(FindViewById(Resource.Id.snackBar), "Error while loading. Check your internet connection and check if your logged in.", Snackbar.LengthLong);
|
||||
snackBar.View.FindViewById<TextView>(Resource.Id.snackbar_text).SetTextColor(Color.White);
|
||||
snackBar.Show();
|
||||
return;
|
||||
}
|
||||
|
||||
List<Song> tracks = new List<Song>();
|
||||
try
|
||||
{
|
||||
YoutubeClient client = new YoutubeClient();
|
||||
Video video = await client.GetVideoAsync(MusicPlayer.queue[MusicPlayer.CurrentID()].YoutubeID);
|
||||
|
||||
var ytPlaylistRequest = YoutubeEngine.youtubeService.PlaylistItems.List("snippet, contentDetails");
|
||||
ytPlaylistRequest.PlaylistId = video.GetVideoMixPlaylistId();
|
||||
ytPlaylistRequest.MaxResults = 50;
|
||||
|
||||
var ytPlaylist = await ytPlaylistRequest.ExecuteAsync();
|
||||
|
||||
foreach (var item in ytPlaylist.Items)
|
||||
{
|
||||
if (item.Snippet.Title != "[Deleted video]" && item.Snippet.Title != "Private video" && item.Snippet.Title != "Deleted video" && item.ContentDetails.VideoId != MusicPlayer.queue[MusicPlayer.CurrentID()].YoutubeID)
|
||||
{
|
||||
Song song = new Song(item.Snippet.Title, item.Snippet.ChannelTitle, item.Snippet.Thumbnails.High.Url, item.ContentDetails.VideoId, -1, -1, item.ContentDetails.VideoId, true, false);
|
||||
tracks.Add(song);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (ex is System.Net.Http.HttpRequestException)
|
||||
instance.Timout();
|
||||
else
|
||||
instance.Unknow();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Song current = MusicPlayer.queue[MusicPlayer.CurrentID()];
|
||||
|
||||
Random r = new Random();
|
||||
tracks = tracks.OrderBy(x => r.Next()).ToList();
|
||||
|
||||
Intent intent = new Intent(this, typeof(MusicPlayer));
|
||||
StartService(intent);
|
||||
|
||||
while (MusicPlayer.instance == null)
|
||||
await Task.Delay(100);
|
||||
|
||||
MusicPlayer.instance.AddToQueue(tracks.ToArray());
|
||||
|
||||
ShowSmallPlayer();
|
||||
ShowPlayer();
|
||||
Player.instance?.UpdateNext();
|
||||
Home.instance?.RefreshQueue();
|
||||
Queue.instance?.Refresh();
|
||||
parseProgress.Visibility = ViewStates.Gone;
|
||||
YoutubeEngine.CreateMix((await MusicPlayer.GetItem()).YoutubeID);
|
||||
}
|
||||
|
||||
public void YoutubeEndPointChanged()
|
||||
|
||||
@@ -160,7 +160,7 @@ namespace MusicApp.Resources.Portable_Class
|
||||
bottomView.FindViewById<TextView>(Resource.Id.bsArtist).Text = item.Artist;
|
||||
if (item.Album == null)
|
||||
{
|
||||
var songCover = Android.Net.Uri.Parse("content://media/external/audio/albumart");
|
||||
var songCover = Uri.Parse("content://media/external/audio/albumart");
|
||||
var nextAlbumArtUri = ContentUris.WithAppendedId(songCover, item.AlbumArt);
|
||||
|
||||
Picasso.With(MainActivity.instance).Load(nextAlbumArtUri).Placeholder(Resource.Drawable.noAlbum).Resize(400, 400).CenterCrop().Into(bottomView.FindViewById<ImageView>(Resource.Id.bsArt));
|
||||
@@ -180,11 +180,19 @@ namespace MusicApp.Resources.Portable_Class
|
||||
|
||||
if (item.IsYt)
|
||||
{
|
||||
actions.Add(new BottomSheetAction(Resource.Drawable.Download, MainActivity.instance.Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
actions.AddRange(new BottomSheetAction[]
|
||||
{
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}));
|
||||
new BottomSheetAction(Resource.Drawable.PlayCircle, MainActivity.instance.Resources.GetString(Resource.String.create_mix_from_song), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.CreateMix(item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}),
|
||||
new BottomSheetAction(Resource.Drawable.Download, MainActivity.instance.Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
})
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -256,11 +264,19 @@ namespace MusicApp.Resources.Portable_Class
|
||||
}
|
||||
else
|
||||
{
|
||||
actions.Add(new BottomSheetAction(Resource.Drawable.Download, MainActivity.instance.Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
actions.AddRange(new BottomSheetAction[]
|
||||
{
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}));
|
||||
new BottomSheetAction(Resource.Drawable.PlayCircle, MainActivity.instance.Resources.GetString(Resource.String.create_mix_from_song), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.CreateMix(item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}),
|
||||
new BottomSheetAction(Resource.Drawable.Download, MainActivity.instance.Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
bottomSheet.FindViewById<ListView>(Resource.Id.bsItems).Adapter = new BottomSheetAdapter(MainActivity.instance, Resource.Layout.BottomSheetText, actions);
|
||||
|
||||
@@ -740,14 +740,22 @@ namespace MusicApp.Resources.Portable_Class
|
||||
}
|
||||
else
|
||||
{
|
||||
actions.Add(new BottomSheetAction(Resource.Drawable.Download, Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
actions.AddRange(new BottomSheetAction[]
|
||||
{
|
||||
if (item.IsYt)
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
else
|
||||
Browse.EditMetadata(item);
|
||||
bottomSheet.Dismiss();
|
||||
}));
|
||||
new BottomSheetAction(Resource.Drawable.PlayCircle, Resources.GetString(Resource.String.create_mix_from_song), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.CreateMix(item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}),
|
||||
new BottomSheetAction(Resource.Drawable.Download, Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
{
|
||||
if (item.IsYt)
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
else
|
||||
Browse.EditMetadata(item);
|
||||
bottomSheet.Dismiss();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
bottomSheet.FindViewById<ListView>(Resource.Id.bsItems).Adapter = new BottomSheetAdapter(MainActivity.instance, Resource.Layout.BottomSheetText, actions);
|
||||
|
||||
@@ -218,11 +218,19 @@ namespace MusicApp.Resources.Portable_Class
|
||||
|
||||
if (item.IsYt)
|
||||
{
|
||||
actions.Add(new BottomSheetAction(Resource.Drawable.Download, Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
actions.AddRange(new BottomSheetAction[]
|
||||
{
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}));
|
||||
new BottomSheetAction(Resource.Drawable.PlayCircle, Resources.GetString(Resource.String.create_mix_from_song), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.CreateMix(item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}),
|
||||
new BottomSheetAction(Resource.Drawable.Download, Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
{
|
||||
YoutubeEngine.Download(item.Title, item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
})
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using TagLib;
|
||||
using YoutubeExplode;
|
||||
using YoutubeExplode.Models;
|
||||
using CursorLoader = Android.Support.V4.Content.CursorLoader;
|
||||
|
||||
namespace MusicApp.Resources.Portable_Class
|
||||
@@ -476,6 +478,11 @@ namespace MusicApp.Resources.Portable_Class
|
||||
PlayLast(item.YoutubeID, item.Title, item.Artist, item.Album);
|
||||
bottomSheet.Dismiss();
|
||||
}),
|
||||
new BottomSheetAction(Resource.Drawable.PlayCircle, Resources.GetString(Resource.String.create_mix_from_song), (sender, eventArg) =>
|
||||
{
|
||||
CreateMix(item.YoutubeID);
|
||||
bottomSheet.Dismiss();
|
||||
}),
|
||||
new BottomSheetAction(Resource.Drawable.PlaylistAdd, Resources.GetString(Resource.String.add_to_playlist), (sender, eventArg) => { Browse.GetPlaylist(item); bottomSheet.Dismiss(); }),
|
||||
new BottomSheetAction(Resource.Drawable.Download, Resources.GetString(Resource.String.download), (sender, eventArg) =>
|
||||
{
|
||||
@@ -547,6 +554,20 @@ namespace MusicApp.Resources.Portable_Class
|
||||
ShowRecomandations(videoID);
|
||||
}
|
||||
|
||||
public static void Play(string videoID)
|
||||
{
|
||||
MusicPlayer.queue?.Clear();
|
||||
MusicPlayer.UpdateQueueDataBase();
|
||||
MusicPlayer.currentID = -1;
|
||||
|
||||
Intent intent = new Intent(Android.App.Application.Context, typeof(MusicPlayer));
|
||||
intent.SetAction("YoutubePlay");
|
||||
intent.PutExtra("action", "Play");
|
||||
intent.PutExtra("file", videoID);
|
||||
Android.App.Application.Context.StartService(intent);
|
||||
ShowRecomandations(videoID);
|
||||
}
|
||||
|
||||
public static async void PlayFiles(Song[] files)
|
||||
{
|
||||
if (files.Length < 1)
|
||||
@@ -965,6 +986,73 @@ namespace MusicApp.Resources.Portable_Class
|
||||
MusicPlayer.instance.RandomPlay(songs, false);
|
||||
}
|
||||
|
||||
public static async void CreateMix(string videoID)
|
||||
{
|
||||
if(MusicPlayer.queue.Count == 0)
|
||||
{
|
||||
Play(videoID);
|
||||
}
|
||||
|
||||
ProgressBar parseProgress = MainActivity.instance.FindViewById<ProgressBar>(Resource.Id.ytProgress);
|
||||
parseProgress.Visibility = ViewStates.Visible;
|
||||
parseProgress.ScaleY = 6;
|
||||
|
||||
if (!await MainActivity.instance.WaitForYoutube())
|
||||
{
|
||||
Snackbar snackBar = Snackbar.Make(MainActivity.instance.FindViewById(Resource.Id.snackBar), "Error while loading. Check your internet connection and check if your logged in.", Snackbar.LengthLong);
|
||||
snackBar.View.FindViewById<TextView>(Resource.Id.snackbar_text).SetTextColor(Color.White);
|
||||
snackBar.Show();
|
||||
return;
|
||||
}
|
||||
|
||||
List<Song> tracks = new List<Song>();
|
||||
try
|
||||
{
|
||||
YoutubeClient client = new YoutubeClient();
|
||||
var video = await client.GetVideoAsync(MusicPlayer.queue[MusicPlayer.CurrentID()].YoutubeID);
|
||||
|
||||
var ytPlaylistRequest = youtubeService.PlaylistItems.List("snippet, contentDetails");
|
||||
ytPlaylistRequest.PlaylistId = video.GetVideoMixPlaylistId();
|
||||
ytPlaylistRequest.MaxResults = 50;
|
||||
|
||||
var ytPlaylist = await ytPlaylistRequest.ExecuteAsync();
|
||||
|
||||
foreach (var item in ytPlaylist.Items)
|
||||
{
|
||||
if (item.Snippet.Title != "[Deleted video]" && item.Snippet.Title != "Private video" && item.Snippet.Title != "Deleted video" && item.ContentDetails.VideoId != MusicPlayer.queue[MusicPlayer.CurrentID()].YoutubeID)
|
||||
{
|
||||
Song song = new Song(item.Snippet.Title, item.Snippet.ChannelTitle, item.Snippet.Thumbnails.High.Url, item.ContentDetails.VideoId, -1, -1, item.ContentDetails.VideoId, true, false);
|
||||
tracks.Add(song);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (ex is System.Net.Http.HttpRequestException)
|
||||
MainActivity.instance.Timout();
|
||||
else
|
||||
MainActivity.instance.Unknow();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Random r = new Random();
|
||||
tracks = tracks.OrderBy(x => r.Next()).ToList();
|
||||
|
||||
Intent intent = new Intent(MainActivity.instance, typeof(MusicPlayer));
|
||||
MainActivity.instance.StartService(intent);
|
||||
|
||||
while (MusicPlayer.instance == null)
|
||||
await Task.Delay(100);
|
||||
|
||||
MusicPlayer.instance.AddToQueue(tracks.ToArray());
|
||||
MainActivity.instance.ShowPlayer();
|
||||
Player.instance?.UpdateNext();
|
||||
Home.instance?.RefreshQueue();
|
||||
Queue.instance?.Refresh();
|
||||
parseProgress.Visibility = ViewStates.Gone;
|
||||
}
|
||||
|
||||
public static async void DownloadPlaylist(string playlist, string playlistID, bool showToast = true)
|
||||
{
|
||||
if (!await MainActivity.instance.WaitForYoutube())
|
||||
|
||||
241
MusicApp/Resources/Resource.Designer.cs
generated
241
MusicApp/Resources/Resource.Designer.cs
generated
@@ -7201,35 +7201,35 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c0072
|
||||
public const int abc_toolbar_collapse_description = 2131492978;
|
||||
|
||||
// aapt resource value: 0x7f0c00e1
|
||||
public const int add_playlist = 2131493089;
|
||||
// aapt resource value: 0x7f0c00e2
|
||||
public const int add_playlist = 2131493090;
|
||||
|
||||
// aapt resource value: 0x7f0c00d0
|
||||
public const int add_to_library = 2131493072;
|
||||
// aapt resource value: 0x7f0c00d1
|
||||
public const int add_to_library = 2131493073;
|
||||
|
||||
// aapt resource value: 0x7f0c00c2
|
||||
public const int add_to_playlist = 2131493058;
|
||||
// aapt resource value: 0x7f0c00c3
|
||||
public const int add_to_playlist = 2131493059;
|
||||
|
||||
// aapt resource value: 0x7f0c00ca
|
||||
public const int add_to_queue = 2131493066;
|
||||
// aapt resource value: 0x7f0c00cb
|
||||
public const int add_to_queue = 2131493067;
|
||||
|
||||
// aapt resource value: 0x7f0c00db
|
||||
public const int all = 2131493083;
|
||||
|
||||
// aapt resource value: 0x7f0c00ea
|
||||
public const int and = 2131493098;
|
||||
// aapt resource value: 0x7f0c00dc
|
||||
public const int all = 2131493084;
|
||||
|
||||
// aapt resource value: 0x7f0c00eb
|
||||
public const int and_more = 2131493099;
|
||||
public const int and = 2131493099;
|
||||
|
||||
// aapt resource value: 0x7f0c00ec
|
||||
public const int and_more = 2131493100;
|
||||
|
||||
// aapt resource value: 0x7f0c0080
|
||||
public const int appbar_scrolling_view_behavior = 2131492992;
|
||||
|
||||
// aapt resource value: 0x7f0c00f2
|
||||
public const int appearances = 2131493106;
|
||||
// aapt resource value: 0x7f0c00f3
|
||||
public const int appearances = 2131493107;
|
||||
|
||||
// aapt resource value: 0x7f0c00e5
|
||||
public const int apply = 2131493093;
|
||||
// aapt resource value: 0x7f0c00e6
|
||||
public const int apply = 2131493094;
|
||||
|
||||
// aapt resource value: 0x7f0c00bc
|
||||
public const int autoplay = 2131493052;
|
||||
@@ -7237,8 +7237,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00bd
|
||||
public const int autoplay_desc = 2131493053;
|
||||
|
||||
// aapt resource value: 0x7f0c00e7
|
||||
public const int behavior = 2131493095;
|
||||
// aapt resource value: 0x7f0c00e8
|
||||
public const int behavior = 2131493096;
|
||||
|
||||
// aapt resource value: 0x7f0c0081
|
||||
public const int bottom_sheet_behavior = 2131492993;
|
||||
@@ -7246,8 +7246,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00b1
|
||||
public const int browse = 2131493041;
|
||||
|
||||
// aapt resource value: 0x7f0c00e6
|
||||
public const int cancel = 2131493094;
|
||||
// aapt resource value: 0x7f0c00e7
|
||||
public const int cancel = 2131493095;
|
||||
|
||||
// aapt resource value: 0x7f0c00b6
|
||||
public const int cast = 2131493046;
|
||||
@@ -7378,8 +7378,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c0025
|
||||
public const int cast_unmute = 2131492901;
|
||||
|
||||
// aapt resource value: 0x7f0c00de
|
||||
public const int channels = 2131493086;
|
||||
// aapt resource value: 0x7f0c00df
|
||||
public const int channels = 2131493087;
|
||||
|
||||
// aapt resource value: 0x7f0c0082
|
||||
public const int character_counter_content_description = 2131492994;
|
||||
@@ -7387,8 +7387,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c0083
|
||||
public const int character_counter_pattern = 2131492995;
|
||||
|
||||
// aapt resource value: 0x7f0c00f8
|
||||
public const int check_updates = 2131493112;
|
||||
// aapt resource value: 0x7f0c00f9
|
||||
public const int check_updates = 2131493113;
|
||||
|
||||
// aapt resource value: 0x7f0c002b
|
||||
public const int common_google_play_services_enable_button = 2131492907;
|
||||
@@ -7447,20 +7447,23 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00be
|
||||
public const int create_mix = 2131493054;
|
||||
|
||||
// aapt resource value: 0x7f0c00f6
|
||||
public const int dark_theme = 2131493110;
|
||||
// aapt resource value: 0x7f0c00c2
|
||||
public const int create_mix_from_song = 2131493058;
|
||||
|
||||
// aapt resource value: 0x7f0c00cc
|
||||
public const int delete = 2131493068;
|
||||
// aapt resource value: 0x7f0c00f7
|
||||
public const int dark_theme = 2131493111;
|
||||
|
||||
// aapt resource value: 0x7f0c00cd
|
||||
public const int delete = 2131493069;
|
||||
|
||||
// aapt resource value: 0x7f0c00c5
|
||||
public const int download = 2131493061;
|
||||
|
||||
// aapt resource value: 0x7f0c00ef
|
||||
public const int download_directory = 2131493103;
|
||||
|
||||
// aapt resource value: 0x7f0c00c4
|
||||
public const int download = 2131493060;
|
||||
|
||||
// aapt resource value: 0x7f0c00ee
|
||||
public const int download_directory = 2131493102;
|
||||
|
||||
// aapt resource value: 0x7f0c00c3
|
||||
public const int edit_metadata = 2131493059;
|
||||
public const int edit_metadata = 2131493060;
|
||||
|
||||
// aapt resource value: 0x7f0c0090
|
||||
public const int exo_controls_fastforward_description = 2131493008;
|
||||
@@ -7567,17 +7570,17 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c0085
|
||||
public const int fab_transformation_sheet_behavior = 2131492997;
|
||||
|
||||
// aapt resource value: 0x7f0c00d6
|
||||
public const int featured = 2131493078;
|
||||
// aapt resource value: 0x7f0c00d7
|
||||
public const int featured = 2131493079;
|
||||
|
||||
// aapt resource value: 0x7f0c00b5
|
||||
public const int filter = 2131493045;
|
||||
|
||||
// aapt resource value: 0x7f0c00da
|
||||
public const int folders = 2131493082;
|
||||
// aapt resource value: 0x7f0c00db
|
||||
public const int folders = 2131493083;
|
||||
|
||||
// aapt resource value: 0x7f0c00e9
|
||||
public const int genre_nothing = 2131493097;
|
||||
// aapt resource value: 0x7f0c00ea
|
||||
public const int genre_nothing = 2131493098;
|
||||
|
||||
// aapt resource value: 0x7f0c0086
|
||||
public const int hide_bottom_view_on_scroll_behavior = 2131492998;
|
||||
@@ -7585,38 +7588,38 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00b0
|
||||
public const int home = 2131493040;
|
||||
|
||||
// aapt resource value: 0x7f0c00c7
|
||||
public const int list_songs = 2131493063;
|
||||
// aapt resource value: 0x7f0c00c8
|
||||
public const int list_songs = 2131493064;
|
||||
|
||||
// aapt resource value: 0x7f0c00dd
|
||||
public const int lives = 2131493085;
|
||||
// aapt resource value: 0x7f0c00de
|
||||
public const int lives = 2131493086;
|
||||
|
||||
// aapt resource value: 0x7f0c00ec
|
||||
public const int local_play = 2131493100;
|
||||
// aapt resource value: 0x7f0c00ed
|
||||
public const int local_play = 2131493101;
|
||||
|
||||
// aapt resource value: 0x7f0c00e3
|
||||
public const int local_playlist_empty = 2131493091;
|
||||
// aapt resource value: 0x7f0c00e4
|
||||
public const int local_playlist_empty = 2131493092;
|
||||
|
||||
// aapt resource value: 0x7f0c00df
|
||||
public const int local_playlists = 2131493087;
|
||||
|
||||
// aapt resource value: 0x7f0c00fc
|
||||
public const int log_in = 2131493116;
|
||||
// aapt resource value: 0x7f0c00e0
|
||||
public const int local_playlists = 2131493088;
|
||||
|
||||
// aapt resource value: 0x7f0c00fd
|
||||
public const int log_out = 2131493117;
|
||||
public const int log_in = 2131493117;
|
||||
|
||||
// aapt resource value: 0x7f0c00fb
|
||||
public const int logged_in = 2131493115;
|
||||
// aapt resource value: 0x7f0c00fe
|
||||
public const int log_out = 2131493118;
|
||||
|
||||
// aapt resource value: 0x7f0c00ef
|
||||
public const int max_download = 2131493103;
|
||||
// aapt resource value: 0x7f0c00fc
|
||||
public const int logged_in = 2131493116;
|
||||
|
||||
// aapt resource value: 0x7f0c00f0
|
||||
public const int max_download_dialog = 2131493104;
|
||||
public const int max_download = 2131493104;
|
||||
|
||||
// aapt resource value: 0x7f0c00d4
|
||||
public const int more = 2131493076;
|
||||
// aapt resource value: 0x7f0c00f1
|
||||
public const int max_download_dialog = 2131493105;
|
||||
|
||||
// aapt resource value: 0x7f0c00d5
|
||||
public const int more = 2131493077;
|
||||
|
||||
// aapt resource value: 0x7f0c0040
|
||||
public const int mr_button_content_description = 2131492928;
|
||||
@@ -7693,23 +7696,23 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c0087
|
||||
public const int mtrl_chip_close_icon_content_description = 2131492999;
|
||||
|
||||
// aapt resource value: 0x7f0c00e8
|
||||
public const int music_genre = 2131493096;
|
||||
// aapt resource value: 0x7f0c00e9
|
||||
public const int music_genre = 2131493097;
|
||||
|
||||
// aapt resource value: 0x7f0c00d7
|
||||
public const int music_genres = 2131493079;
|
||||
// aapt resource value: 0x7f0c00d8
|
||||
public const int music_genres = 2131493080;
|
||||
|
||||
// aapt resource value: 0x7f0c00bb
|
||||
public const int next_loading = 2131493051;
|
||||
|
||||
// aapt resource value: 0x7f0c00fa
|
||||
public const int not_log = 2131493114;
|
||||
// aapt resource value: 0x7f0c00fb
|
||||
public const int not_log = 2131493115;
|
||||
|
||||
// aapt resource value: 0x7f0c00ba
|
||||
public const int nothing = 2131493050;
|
||||
|
||||
// aapt resource value: 0x7f0c00f7
|
||||
public const int others = 2131493111;
|
||||
// aapt resource value: 0x7f0c00f8
|
||||
public const int others = 2131493112;
|
||||
|
||||
// aapt resource value: 0x7f0c0088
|
||||
public const int password_toggle_content_description = 2131493000;
|
||||
@@ -7729,8 +7732,8 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00bf
|
||||
public const int play = 2131493055;
|
||||
|
||||
// aapt resource value: 0x7f0c00c8
|
||||
public const int play_in_order = 2131493064;
|
||||
// aapt resource value: 0x7f0c00c9
|
||||
public const int play_in_order = 2131493065;
|
||||
|
||||
// aapt resource value: 0x7f0c00c1
|
||||
public const int play_last = 2131493057;
|
||||
@@ -7741,23 +7744,23 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00b2
|
||||
public const int playlists = 2131493042;
|
||||
|
||||
// aapt resource value: 0x7f0c00d5
|
||||
public const int queue = 2131493077;
|
||||
// aapt resource value: 0x7f0c00d6
|
||||
public const int queue = 2131493078;
|
||||
|
||||
// aapt resource value: 0x7f0c00c9
|
||||
public const int random_play = 2131493065;
|
||||
// aapt resource value: 0x7f0c00ca
|
||||
public const int random_play = 2131493066;
|
||||
|
||||
// aapt resource value: 0x7f0c00d8
|
||||
public const int recommendation_explanation = 2131493080;
|
||||
// aapt resource value: 0x7f0c00d9
|
||||
public const int recommendation_explanation = 2131493081;
|
||||
|
||||
// aapt resource value: 0x7f0c00c7
|
||||
public const int remove_from_playlist = 2131493063;
|
||||
|
||||
// aapt resource value: 0x7f0c00c6
|
||||
public const int remove_from_playlist = 2131493062;
|
||||
public const int remove_from_queue = 2131493062;
|
||||
|
||||
// aapt resource value: 0x7f0c00c5
|
||||
public const int remove_from_queue = 2131493061;
|
||||
|
||||
// aapt resource value: 0x7f0c00cb
|
||||
public const int rename = 2131493067;
|
||||
// aapt resource value: 0x7f0c00cc
|
||||
public const int rename = 2131493068;
|
||||
|
||||
// aapt resource value: 0x7f0c00b3
|
||||
public const int repeat = 2131493043;
|
||||
@@ -7771,44 +7774,44 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c00b8
|
||||
public const int show_queue = 2131493048;
|
||||
|
||||
// aapt resource value: 0x7f0c00d4
|
||||
public const int shuffle = 2131493076;
|
||||
|
||||
// aapt resource value: 0x7f0c00d3
|
||||
public const int shuffle = 2131493075;
|
||||
public const int shuffle_all = 2131493075;
|
||||
|
||||
// aapt resource value: 0x7f0c00d2
|
||||
public const int shuffle_all = 2131493074;
|
||||
|
||||
// aapt resource value: 0x7f0c00d9
|
||||
public const int songs = 2131493081;
|
||||
// aapt resource value: 0x7f0c00da
|
||||
public const int songs = 2131493082;
|
||||
|
||||
// aapt resource value: 0x7f0c008d
|
||||
public const int status_bar_notification_info_overflow = 2131493005;
|
||||
|
||||
// aapt resource value: 0x7f0c00cf
|
||||
public const int stop_sync = 2131493071;
|
||||
// aapt resource value: 0x7f0c00d0
|
||||
public const int stop_sync = 2131493072;
|
||||
|
||||
// aapt resource value: 0x7f0c003d
|
||||
public const int summary_collapsed_preference_list = 2131492925;
|
||||
|
||||
// aapt resource value: 0x7f0c00cd
|
||||
public const int sync = 2131493069;
|
||||
|
||||
// aapt resource value: 0x7f0c00ce
|
||||
public const int sync_now = 2131493070;
|
||||
public const int sync = 2131493070;
|
||||
|
||||
// aapt resource value: 0x7f0c00f1
|
||||
public const int sync_remove = 2131493105;
|
||||
// aapt resource value: 0x7f0c00cf
|
||||
public const int sync_now = 2131493071;
|
||||
|
||||
// aapt resource value: 0x7f0c00f3
|
||||
public const int theme = 2131493107;
|
||||
// aapt resource value: 0x7f0c00f2
|
||||
public const int sync_remove = 2131493106;
|
||||
|
||||
// aapt resource value: 0x7f0c00f4
|
||||
public const int theme_dialog = 2131493108;
|
||||
public const int theme = 2131493108;
|
||||
|
||||
// aapt resource value: 0x7f0c00dc
|
||||
public const int tracks = 2131493084;
|
||||
// aapt resource value: 0x7f0c00f5
|
||||
public const int theme_dialog = 2131493109;
|
||||
|
||||
// aapt resource value: 0x7f0c00d1
|
||||
public const int unfork = 2131493073;
|
||||
// aapt resource value: 0x7f0c00dd
|
||||
public const int tracks = 2131493085;
|
||||
|
||||
// aapt resource value: 0x7f0c00d2
|
||||
public const int unfork = 2131493074;
|
||||
|
||||
// aapt resource value: 0x7f0c00b9
|
||||
public const int up_next = 2131493049;
|
||||
@@ -7819,23 +7822,23 @@ namespace MusicApp
|
||||
// aapt resource value: 0x7f0c003f
|
||||
public const int v7_preference_on = 2131492927;
|
||||
|
||||
// aapt resource value: 0x7f0c00f9
|
||||
public const int version = 2131493113;
|
||||
// aapt resource value: 0x7f0c00fa
|
||||
public const int version = 2131493114;
|
||||
|
||||
// aapt resource value: 0x7f0c00ed
|
||||
public const int volume = 2131493101;
|
||||
// aapt resource value: 0x7f0c00ee
|
||||
public const int volume = 2131493102;
|
||||
|
||||
// aapt resource value: 0x7f0c00f5
|
||||
public const int white_theme = 2131493109;
|
||||
// aapt resource value: 0x7f0c00f6
|
||||
public const int white_theme = 2131493110;
|
||||
|
||||
// aapt resource value: 0x7f0c00e2
|
||||
public const int youtube_loading_error = 2131493090;
|
||||
// aapt resource value: 0x7f0c00e3
|
||||
public const int youtube_loading_error = 2131493091;
|
||||
|
||||
// aapt resource value: 0x7f0c00e4
|
||||
public const int youtube_playlist_empty = 2131493092;
|
||||
// aapt resource value: 0x7f0c00e5
|
||||
public const int youtube_playlist_empty = 2131493093;
|
||||
|
||||
// aapt resource value: 0x7f0c00e0
|
||||
public const int youtube_playlists = 2131493088;
|
||||
// aapt resource value: 0x7f0c00e1
|
||||
public const int youtube_playlists = 2131493089;
|
||||
|
||||
// aapt resource value: 0x7f0c00b4
|
||||
public const int youtube_search = 2131493044;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<string name="play">Play</string>
|
||||
<string name="play_next">Play next</string>
|
||||
<string name="play_last">Play last</string>
|
||||
<string name="create_mix_from_song">Create mix</string>
|
||||
<string name="add_to_playlist">Add to playlist</string>
|
||||
<string name="edit_metadata">Edit metadata</string>
|
||||
<string name="download">Download</string>
|
||||
|
||||
Reference in New Issue
Block a user