mirror of
https://github.com/zoriya/Opus.git
synced 2025-12-06 06:26:15 +00:00
Adding soft read permission demand on the playlist screen.
This commit is contained in:
@@ -594,12 +594,12 @@ namespace Opus.Api
|
||||
if (askForPermission)
|
||||
{
|
||||
if (!await MainActivity.instance.GetReadPermission())
|
||||
return (null, Application.Context.GetString(Resource.String.no_permission));
|
||||
return (null, Application.Context.GetString(Resource.String.localpl_noperm));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!MainActivity.instance.HasReadPermission())
|
||||
return (null, Application.Context.GetString(Resource.String.no_permission));
|
||||
return (null, Application.Context.GetString(Resource.String.localpl_noperm));
|
||||
}
|
||||
|
||||
List<PlaylistItem> playlists = new List<PlaylistItem>();
|
||||
@@ -634,7 +634,7 @@ namespace Opus.Api
|
||||
});
|
||||
|
||||
if (playlists.Count == 0)
|
||||
return (null, Application.Context.GetString(Resource.String.local_playlist_empty));
|
||||
return (null, "EMPTY");
|
||||
else
|
||||
return (playlists, null);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using Android.Content.Res;
|
||||
using Android.Graphics;
|
||||
using Android.Support.V7.Widget;
|
||||
using Android.Text;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Opus.Api.Services;
|
||||
@@ -33,6 +34,7 @@ namespace Opus.Adapter
|
||||
|
||||
public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
|
||||
{
|
||||
//Headers
|
||||
if (position == 0)
|
||||
{
|
||||
HeaderHolder holder = (HeaderHolder)viewHolder;
|
||||
@@ -43,6 +45,8 @@ namespace Opus.Adapter
|
||||
HeaderHolder holder = (HeaderHolder)viewHolder;
|
||||
holder.headerText.Text = MainActivity.instance.Resources.GetString(Resource.String.youtube_playlists);
|
||||
}
|
||||
|
||||
//Empty views
|
||||
else if (position == 1 && LocalPlaylists[1].Name == "EMPTY")
|
||||
{
|
||||
EmptyHolder holder = (EmptyHolder)viewHolder;
|
||||
@@ -53,6 +57,8 @@ namespace Opus.Adapter
|
||||
EmptyHolder holder = (EmptyHolder)viewHolder;
|
||||
holder.text.Text = YoutubePlaylists[1].Owner;
|
||||
}
|
||||
|
||||
//End button
|
||||
else if (position == LocalPlaylists.Count + YoutubePlaylists.Count)
|
||||
{
|
||||
UslessHolder holder = (UslessHolder)viewHolder;
|
||||
@@ -70,13 +76,32 @@ namespace Opus.Adapter
|
||||
else
|
||||
holder.ItemView.SetPadding((int)(8 * scale + 0.5f), (int)(8 * scale + 0.5f), (int)(8 * scale + 0.5f), (int)(8 * scale + 0.5f));
|
||||
}
|
||||
|
||||
//Loading
|
||||
else if(position >= LocalPlaylists.Count && YoutubePlaylists[position - LocalPlaylists.Count].Name == "Loading" && YoutubePlaylists[position - LocalPlaylists.Count].YoutubeID == null) { }
|
||||
|
||||
//Error views
|
||||
else if (position < LocalPlaylists.Count && LocalPlaylists[position].Name == "Error" && LocalPlaylists[position].LocalID == -1)
|
||||
{
|
||||
EmptyHolder holder = (EmptyHolder)viewHolder;
|
||||
holder.text.TextFormatted = Html.FromHtml(LocalPlaylists[position].Owner, FromHtmlOptions.OptionUseCssColors);
|
||||
|
||||
if (!holder.text.HasOnClickListeners)
|
||||
{
|
||||
holder.text.Click += (s, e) =>
|
||||
{
|
||||
Playlist.instance.RefreshLocalPlaylists();
|
||||
};
|
||||
}
|
||||
}
|
||||
else if(position >= LocalPlaylists.Count && YoutubePlaylists[position - LocalPlaylists.Count].Name == "Error" && YoutubePlaylists[position - LocalPlaylists.Count].YoutubeID == null)
|
||||
{
|
||||
EmptyHolder holder = (EmptyHolder)viewHolder;
|
||||
holder.text.Text = MainActivity.instance.Resources.GetString(Resource.String.youtube_loading_error);
|
||||
holder.text.SetTextColor(Color.Red);
|
||||
}
|
||||
|
||||
//Playlists binding
|
||||
else if (LocalPlaylists.Count >= position)
|
||||
{
|
||||
TwoLineHolder holder = (TwoLineHolder) viewHolder;
|
||||
@@ -228,6 +253,8 @@ namespace Opus.Adapter
|
||||
{
|
||||
if (position == 0 || position - LocalPlaylists.Count == 0)
|
||||
return 0;
|
||||
else if (position < LocalPlaylists.Count && LocalPlaylists[position].Name == "Error" && LocalPlaylists[position].LocalID == -1)
|
||||
return 5;
|
||||
else if (LocalPlaylists.Count >= position && (LocalPlaylists.Count > 2 || LocalPlaylists[1].Name != "EMPTY"))
|
||||
return 1;
|
||||
else if (position == LocalPlaylists.Count + YoutubePlaylists.Count)
|
||||
|
||||
@@ -75,23 +75,27 @@ namespace Opus.Fragments
|
||||
PlaylistItem Loading = new PlaylistItem("Loading", null);
|
||||
|
||||
//Get all local playlist and display an error message if we have an error.
|
||||
(List<PlaylistItem> locPlaylists, string error) = await PlaylistManager.GetLocalPlaylists();
|
||||
(List<PlaylistItem> locPlaylists, string error) = await PlaylistManager.GetLocalPlaylists(false);
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
if (locPlaylists == null) //an error has occured
|
||||
LocalPlaylists.Add(new PlaylistItem("EMPTY", -1) { Owner = error });
|
||||
if (error != null) //an error has occured
|
||||
LocalPlaylists.Add(new PlaylistItem("Error", -1) { Owner = error });
|
||||
|
||||
//Handle synced playlist from the local playlist array we had before.
|
||||
(List<PlaylistItem> loc, List<PlaylistItem> SyncedPlaylists) = await PlaylistManager.ProcessSyncedPlaylists(locPlaylists);
|
||||
|
||||
if (loc.Count == 0) //Every local playlist is a synced one
|
||||
LocalPlaylists.Add(new PlaylistItem("EMPTY", -1) { Owner = GetString(Resource.String.local_playlist_empty) });
|
||||
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
if(error == null)
|
||||
{
|
||||
if (loc == null || loc.Count == 0) //Every local playlist is a synced one
|
||||
LocalPlaylists.Add(new PlaylistItem("EMPTY", -1) { Owner = GetString(Resource.String.local_playlist_empty) });
|
||||
else
|
||||
LocalPlaylists.AddRange(loc);
|
||||
}
|
||||
|
||||
YoutubePlaylists.AddRange(SyncedPlaylists);
|
||||
|
||||
//Display this for now, we'll load non synced youtube playlist in the background.
|
||||
@@ -254,6 +258,38 @@ namespace Opus.Fragments
|
||||
await PopulateView();
|
||||
}
|
||||
|
||||
public async void RefreshLocalPlaylists()
|
||||
{
|
||||
int count = LocalPlaylists.Count;
|
||||
LocalPlaylists.Clear();
|
||||
LocalPlaylists.Add(new PlaylistItem("Header", -1));
|
||||
|
||||
(List<PlaylistItem> locPlaylists, string error) = await PlaylistManager.GetLocalPlaylists(true);
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
if (error != null) //an error has occured
|
||||
LocalPlaylists.Add(new PlaylistItem("Error", -1) { Owner = error });
|
||||
|
||||
//Handle synced playlist from the local playlist array we had before.
|
||||
(List<PlaylistItem> loc, List<PlaylistItem> SyncedPlaylists) = await PlaylistManager.ProcessSyncedPlaylists(locPlaylists);
|
||||
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
if (error == null)
|
||||
{
|
||||
if (loc == null || loc.Count == 0) //Every local playlist is a synced one
|
||||
LocalPlaylists.Add(new PlaylistItem("EMPTY", -1) { Owner = GetString(Resource.String.local_playlist_empty) });
|
||||
else
|
||||
LocalPlaylists.AddRange(loc);
|
||||
}
|
||||
|
||||
adapter.NotifyItemRangeChanged(1, count - 1);
|
||||
if(LocalPlaylists.Count > count)
|
||||
adapter.NotifyItemRangeInserted(count, LocalPlaylists.Count - count);
|
||||
}
|
||||
|
||||
private void ListView_ItemClick(object sender, int Position)
|
||||
{
|
||||
if(Position == LocalPlaylists.Count + YoutubePlaylists.Count)
|
||||
|
||||
369
Opus/Resources/Resource.Designer.cs
generated
369
Opus/Resources/Resource.Designer.cs
generated
@@ -7186,14 +7186,14 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d0072
|
||||
public const int abc_toolbar_collapse_description = 2131558514;
|
||||
|
||||
// aapt resource value: 0x7f0d0131
|
||||
public const int add = 2131558705;
|
||||
// aapt resource value: 0x7f0d0132
|
||||
public const int add = 2131558706;
|
||||
|
||||
// aapt resource value: 0x7f0d00fc
|
||||
public const int add_playlist = 2131558652;
|
||||
|
||||
// aapt resource value: 0x7f0d010e
|
||||
public const int add_playlist_msg = 2131558670;
|
||||
// aapt resource value: 0x7f0d010f
|
||||
public const int add_playlist_msg = 2131558671;
|
||||
|
||||
// aapt resource value: 0x7f0d00e0
|
||||
public const int add_to_library = 2131558624;
|
||||
@@ -7204,8 +7204,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00da
|
||||
public const int add_to_queue = 2131558618;
|
||||
|
||||
// aapt resource value: 0x7f0d011a
|
||||
public const int album = 2131558682;
|
||||
// aapt resource value: 0x7f0d011b
|
||||
public const int album = 2131558683;
|
||||
|
||||
// aapt resource value: 0x7f0d00ea
|
||||
public const int all = 2131558634;
|
||||
@@ -7213,14 +7213,14 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d0080
|
||||
public const int appbar_scrolling_view_behavior = 2131558528;
|
||||
|
||||
// aapt resource value: 0x7f0d013b
|
||||
public const int appearances = 2131558715;
|
||||
// aapt resource value: 0x7f0d013c
|
||||
public const int appearances = 2131558716;
|
||||
|
||||
// aapt resource value: 0x7f0d012e
|
||||
public const int apply = 2131558702;
|
||||
// aapt resource value: 0x7f0d012f
|
||||
public const int apply = 2131558703;
|
||||
|
||||
// aapt resource value: 0x7f0d0119
|
||||
public const int artist = 2131558681;
|
||||
// aapt resource value: 0x7f0d011a
|
||||
public const int artist = 2131558682;
|
||||
|
||||
// aapt resource value: 0x7f0d00cb
|
||||
public const int autoplay = 2131558603;
|
||||
@@ -7228,14 +7228,14 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00cc
|
||||
public const int autoplay_desc = 2131558604;
|
||||
|
||||
// aapt resource value: 0x7f0d0110
|
||||
public const int badplaylisturl = 2131558672;
|
||||
// aapt resource value: 0x7f0d0111
|
||||
public const int badplaylisturl = 2131558673;
|
||||
|
||||
// aapt resource value: 0x7f0d0135
|
||||
public const int behavior = 2131558709;
|
||||
// aapt resource value: 0x7f0d0136
|
||||
public const int behavior = 2131558710;
|
||||
|
||||
// aapt resource value: 0x7f0d0153
|
||||
public const int beta_available = 2131558739;
|
||||
// aapt resource value: 0x7f0d0154
|
||||
public const int beta_available = 2131558740;
|
||||
|
||||
// aapt resource value: 0x7f0d0081
|
||||
public const int bottom_sheet_behavior = 2131558529;
|
||||
@@ -7243,17 +7243,17 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00b4
|
||||
public const int browse = 2131558580;
|
||||
|
||||
// aapt resource value: 0x7f0d012f
|
||||
public const int cancel = 2131558703;
|
||||
// aapt resource value: 0x7f0d0130
|
||||
public const int cancel = 2131558704;
|
||||
|
||||
// aapt resource value: 0x7f0d0159
|
||||
public const int cancelling = 2131558745;
|
||||
// aapt resource value: 0x7f0d015a
|
||||
public const int cancelling = 2131558746;
|
||||
|
||||
// aapt resource value: 0x7f0d00f2
|
||||
public const int cant_delete = 2131558642;
|
||||
|
||||
// aapt resource value: 0x7f0d0156
|
||||
public const int cant_play_non_youtube = 2131558742;
|
||||
// aapt resource value: 0x7f0d0157
|
||||
public const int cant_play_non_youtube = 2131558743;
|
||||
|
||||
// aapt resource value: 0x7f0d00b9
|
||||
public const int cast = 2131558585;
|
||||
@@ -7336,11 +7336,11 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d0015
|
||||
public const int cast_play = 2131558421;
|
||||
|
||||
// aapt resource value: 0x7f0d012c
|
||||
public const int cast_queue_push = 2131558700;
|
||||
|
||||
// aapt resource value: 0x7f0d012d
|
||||
public const int cast_queue_pushed = 2131558701;
|
||||
public const int cast_queue_push = 2131558701;
|
||||
|
||||
// aapt resource value: 0x7f0d012e
|
||||
public const int cast_queue_pushed = 2131558702;
|
||||
|
||||
// aapt resource value: 0x7f0d0016
|
||||
public const int cast_rewind = 2131558422;
|
||||
@@ -7390,11 +7390,11 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d0025
|
||||
public const int cast_unmute = 2131558437;
|
||||
|
||||
// aapt resource value: 0x7f0d011c
|
||||
public const int change_albumart = 2131558684;
|
||||
// aapt resource value: 0x7f0d011d
|
||||
public const int change_albumart = 2131558685;
|
||||
|
||||
// aapt resource value: 0x7f0d0121
|
||||
public const int changes_saved = 2131558689;
|
||||
// aapt resource value: 0x7f0d0122
|
||||
public const int changes_saved = 2131558690;
|
||||
|
||||
// aapt resource value: 0x7f0d00ec
|
||||
public const int channels = 2131558636;
|
||||
@@ -7405,8 +7405,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d0083
|
||||
public const int character_counter_pattern = 2131558531;
|
||||
|
||||
// aapt resource value: 0x7f0d0141
|
||||
public const int check_updates = 2131558721;
|
||||
// aapt resource value: 0x7f0d0142
|
||||
public const int check_updates = 2131558722;
|
||||
|
||||
// aapt resource value: 0x7f0d00b0
|
||||
public const int clientID = 2131558576;
|
||||
@@ -7468,14 +7468,14 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d003b
|
||||
public const int common_signin_button_text_long = 2131558459;
|
||||
|
||||
// aapt resource value: 0x7f0d012b
|
||||
public const int completed = 2131558699;
|
||||
// aapt resource value: 0x7f0d012c
|
||||
public const int completed = 2131558700;
|
||||
|
||||
// aapt resource value: 0x7f0d014d
|
||||
public const int country_blocked = 2131558733;
|
||||
// aapt resource value: 0x7f0d014e
|
||||
public const int country_blocked = 2131558734;
|
||||
|
||||
// aapt resource value: 0x7f0d0115
|
||||
public const int create_local = 2131558677;
|
||||
// aapt resource value: 0x7f0d0116
|
||||
public const int create_local = 2131558678;
|
||||
|
||||
// aapt resource value: 0x7f0d00cd
|
||||
public const int create_mix = 2131558605;
|
||||
@@ -7483,38 +7483,38 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00d1
|
||||
public const int create_mix_from_song = 2131558609;
|
||||
|
||||
// aapt resource value: 0x7f0d0111
|
||||
public const int create_playlist = 2131558673;
|
||||
// aapt resource value: 0x7f0d0112
|
||||
public const int create_playlist = 2131558674;
|
||||
|
||||
// aapt resource value: 0x7f0d0118
|
||||
public const int create_synced = 2131558680;
|
||||
|
||||
// aapt resource value: 0x7f0d0117
|
||||
public const int create_synced = 2131558679;
|
||||
public const int create_youtube = 2131558679;
|
||||
|
||||
// aapt resource value: 0x7f0d0116
|
||||
public const int create_youtube = 2131558678;
|
||||
|
||||
// aapt resource value: 0x7f0d013f
|
||||
public const int dark_theme = 2131558719;
|
||||
// aapt resource value: 0x7f0d0140
|
||||
public const int dark_theme = 2131558720;
|
||||
|
||||
// aapt resource value: 0x7f0d00dc
|
||||
public const int delete = 2131558620;
|
||||
|
||||
// aapt resource value: 0x7f0d010a
|
||||
public const int delete_playlist = 2131558666;
|
||||
// aapt resource value: 0x7f0d010b
|
||||
public const int delete_playlist = 2131558667;
|
||||
|
||||
// aapt resource value: 0x7f0d0126
|
||||
public const int deleted_file = 2131558694;
|
||||
// aapt resource value: 0x7f0d0127
|
||||
public const int deleted_file = 2131558695;
|
||||
|
||||
// aapt resource value: 0x7f0d00d4
|
||||
public const int download = 2131558612;
|
||||
|
||||
// aapt resource value: 0x7f0d011e
|
||||
public const int download_albumart = 2131558686;
|
||||
|
||||
// aapt resource value: 0x7f0d0137
|
||||
public const int download_directory = 2131558711;
|
||||
|
||||
// aapt resource value: 0x7f0d011f
|
||||
public const int download_meta = 2131558687;
|
||||
public const int download_albumart = 2131558687;
|
||||
|
||||
// aapt resource value: 0x7f0d0138
|
||||
public const int download_directory = 2131558712;
|
||||
|
||||
// aapt resource value: 0x7f0d0120
|
||||
public const int download_meta = 2131558688;
|
||||
|
||||
// aapt resource value: 0x7f0d00ee
|
||||
public const int download_path_error = 2131558638;
|
||||
@@ -7522,29 +7522,29 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00ed
|
||||
public const int download_path_not_set = 2131558637;
|
||||
|
||||
// aapt resource value: 0x7f0d0125
|
||||
public const int download_queue = 2131558693;
|
||||
// aapt resource value: 0x7f0d0126
|
||||
public const int download_queue = 2131558694;
|
||||
|
||||
// aapt resource value: 0x7f0d00f0
|
||||
public const int downloading = 2131558640;
|
||||
|
||||
// aapt resource value: 0x7f0d0157
|
||||
public const int downloading_notification = 2131558743;
|
||||
// aapt resource value: 0x7f0d0158
|
||||
public const int downloading_notification = 2131558744;
|
||||
|
||||
// aapt resource value: 0x7f0d0129
|
||||
public const int downloading_status = 2131558697;
|
||||
// aapt resource value: 0x7f0d012a
|
||||
public const int downloading_status = 2131558698;
|
||||
|
||||
// aapt resource value: 0x7f0d0154
|
||||
public const int downloading_update = 2131558740;
|
||||
// aapt resource value: 0x7f0d0155
|
||||
public const int downloading_update = 2131558741;
|
||||
|
||||
// aapt resource value: 0x7f0d00d3
|
||||
public const int edit_metadata = 2131558611;
|
||||
|
||||
// aapt resource value: 0x7f0d0100
|
||||
public const int element = 2131558656;
|
||||
|
||||
// aapt resource value: 0x7f0d0101
|
||||
public const int elements = 2131558657;
|
||||
public const int element = 2131558657;
|
||||
|
||||
// aapt resource value: 0x7f0d0102
|
||||
public const int elements = 2131558658;
|
||||
|
||||
// aapt resource value: 0x7f0d0090
|
||||
public const int exo_controls_fastforward_description = 2131558544;
|
||||
@@ -7672,11 +7672,11 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00c4
|
||||
public const int hours = 2131558596;
|
||||
|
||||
// aapt resource value: 0x7f0d0127
|
||||
public const int initialization = 2131558695;
|
||||
// aapt resource value: 0x7f0d0128
|
||||
public const int initialization = 2131558696;
|
||||
|
||||
// aapt resource value: 0x7f0d0132
|
||||
public const int later = 2131558706;
|
||||
// aapt resource value: 0x7f0d0133
|
||||
public const int later = 2131558707;
|
||||
|
||||
// aapt resource value: 0x7f0d00d7
|
||||
public const int list_songs = 2131558615;
|
||||
@@ -7690,26 +7690,29 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00fa
|
||||
public const int local_playlists = 2131558650;
|
||||
|
||||
// aapt resource value: 0x7f0d0145
|
||||
public const int log_in = 2131558725;
|
||||
// aapt resource value: 0x7f0d0100
|
||||
public const int localpl_noperm = 2131558656;
|
||||
|
||||
// aapt resource value: 0x7f0d0146
|
||||
public const int log_out = 2131558726;
|
||||
public const int log_in = 2131558726;
|
||||
|
||||
// aapt resource value: 0x7f0d0144
|
||||
public const int logged_in = 2131558724;
|
||||
// aapt resource value: 0x7f0d0147
|
||||
public const int log_out = 2131558727;
|
||||
|
||||
// aapt resource value: 0x7f0d0138
|
||||
public const int max_download = 2131558712;
|
||||
// aapt resource value: 0x7f0d0145
|
||||
public const int logged_in = 2131558725;
|
||||
|
||||
// aapt resource value: 0x7f0d0139
|
||||
public const int max_download_dialog = 2131558713;
|
||||
public const int max_download = 2131558713;
|
||||
|
||||
// aapt resource value: 0x7f0d0128
|
||||
public const int metadata = 2131558696;
|
||||
// aapt resource value: 0x7f0d013a
|
||||
public const int max_download_dialog = 2131558714;
|
||||
|
||||
// aapt resource value: 0x7f0d0122
|
||||
public const int metdata_error_noid = 2131558690;
|
||||
// aapt resource value: 0x7f0d0129
|
||||
public const int metadata = 2131558697;
|
||||
|
||||
// aapt resource value: 0x7f0d0123
|
||||
public const int metdata_error_noid = 2131558691;
|
||||
|
||||
// aapt resource value: 0x7f0d00c1
|
||||
public const int minute = 2131558593;
|
||||
@@ -7720,11 +7723,11 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00e4
|
||||
public const int more = 2131558628;
|
||||
|
||||
// aapt resource value: 0x7f0d0123
|
||||
public const int mount_error = 2131558691;
|
||||
|
||||
// aapt resource value: 0x7f0d0124
|
||||
public const int mount_error_action = 2131558692;
|
||||
public const int mount_error = 2131558692;
|
||||
|
||||
// aapt resource value: 0x7f0d0125
|
||||
public const int mount_error_action = 2131558693;
|
||||
|
||||
// aapt resource value: 0x7f0d0040
|
||||
public const int mr_button_content_description = 2131558464;
|
||||
@@ -7801,14 +7804,14 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d0087
|
||||
public const int mtrl_chip_close_icon_content_description = 2131558535;
|
||||
|
||||
// aapt resource value: 0x7f0d0114
|
||||
public const int new_playlist = 2131558676;
|
||||
// aapt resource value: 0x7f0d0115
|
||||
public const int new_playlist = 2131558677;
|
||||
|
||||
// aapt resource value: 0x7f0d00be
|
||||
public const int next_loading = 2131558590;
|
||||
|
||||
// aapt resource value: 0x7f0d0134
|
||||
public const int no = 2131558708;
|
||||
// aapt resource value: 0x7f0d0135
|
||||
public const int no = 2131558709;
|
||||
|
||||
// aapt resource value: 0x7f0d00f7
|
||||
public const int no_channel = 2131558647;
|
||||
@@ -7816,8 +7819,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00f6
|
||||
public const int no_lives = 2131558646;
|
||||
|
||||
// aapt resource value: 0x7f0d0148
|
||||
public const int no_permission = 2131558728;
|
||||
// aapt resource value: 0x7f0d0149
|
||||
public const int no_permission = 2131558729;
|
||||
|
||||
// aapt resource value: 0x7f0d00f5
|
||||
public const int no_playlist = 2131558645;
|
||||
@@ -7828,17 +7831,17 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00e9
|
||||
public const int no_song = 2131558633;
|
||||
|
||||
// aapt resource value: 0x7f0d0149
|
||||
public const int no_song_mix = 2131558729;
|
||||
// aapt resource value: 0x7f0d014a
|
||||
public const int no_song_mix = 2131558730;
|
||||
|
||||
// aapt resource value: 0x7f0d00f4
|
||||
public const int no_track = 2131558644;
|
||||
|
||||
// aapt resource value: 0x7f0d0143
|
||||
public const int not_log = 2131558723;
|
||||
// aapt resource value: 0x7f0d0144
|
||||
public const int not_log = 2131558724;
|
||||
|
||||
// aapt resource value: 0x7f0d014e
|
||||
public const int not_streamable = 2131558734;
|
||||
// aapt resource value: 0x7f0d014f
|
||||
public const int not_streamable = 2131558735;
|
||||
|
||||
// aapt resource value: 0x7f0d00bd
|
||||
public const int nothing = 2131558589;
|
||||
@@ -7846,14 +7849,14 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00c0
|
||||
public const int off = 2131558592;
|
||||
|
||||
// aapt resource value: 0x7f0d0130
|
||||
public const int ok = 2131558704;
|
||||
// aapt resource value: 0x7f0d0131
|
||||
public const int ok = 2131558705;
|
||||
|
||||
// aapt resource value: 0x7f0d00c6
|
||||
public const int open_youtube = 2131558598;
|
||||
|
||||
// aapt resource value: 0x7f0d0140
|
||||
public const int others = 2131558720;
|
||||
// aapt resource value: 0x7f0d0141
|
||||
public const int others = 2131558721;
|
||||
|
||||
// aapt resource value: 0x7f0d0088
|
||||
public const int password_toggle_content_description = 2131558536;
|
||||
@@ -7873,8 +7876,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00c8
|
||||
public const int paused = 2131558600;
|
||||
|
||||
// aapt resource value: 0x7f0d011d
|
||||
public const int pick_album_local = 2131558685;
|
||||
// aapt resource value: 0x7f0d011e
|
||||
public const int pick_album_local = 2131558686;
|
||||
|
||||
// aapt resource value: 0x7f0d00ce
|
||||
public const int play = 2131558606;
|
||||
@@ -7891,26 +7894,26 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00c7
|
||||
public const int playing = 2131558599;
|
||||
|
||||
// aapt resource value: 0x7f0d0109
|
||||
public const int playlist_add_song_not_found = 2131558665;
|
||||
|
||||
// aapt resource value: 0x7f0d0106
|
||||
public const int playlist_already_saved = 2131558662;
|
||||
|
||||
// aapt resource value: 0x7f0d0102
|
||||
public const int playlist_empty = 2131558658;
|
||||
|
||||
// aapt resource value: 0x7f0d010f
|
||||
public const int playlist_fork = 2131558671;
|
||||
|
||||
// aapt resource value: 0x7f0d0108
|
||||
public const int playlist_not_found = 2131558664;
|
||||
|
||||
// aapt resource value: 0x7f0d0105
|
||||
public const int playlist_saved = 2131558661;
|
||||
// aapt resource value: 0x7f0d010a
|
||||
public const int playlist_add_song_not_found = 2131558666;
|
||||
|
||||
// aapt resource value: 0x7f0d0107
|
||||
public const int playlist_unsaved = 2131558663;
|
||||
public const int playlist_already_saved = 2131558663;
|
||||
|
||||
// aapt resource value: 0x7f0d0103
|
||||
public const int playlist_empty = 2131558659;
|
||||
|
||||
// aapt resource value: 0x7f0d0110
|
||||
public const int playlist_fork = 2131558672;
|
||||
|
||||
// aapt resource value: 0x7f0d0109
|
||||
public const int playlist_not_found = 2131558665;
|
||||
|
||||
// aapt resource value: 0x7f0d0106
|
||||
public const int playlist_saved = 2131558662;
|
||||
|
||||
// aapt resource value: 0x7f0d0108
|
||||
public const int playlist_unsaved = 2131558664;
|
||||
|
||||
// aapt resource value: 0x7f0d00b5
|
||||
public const int playlists = 2131558581;
|
||||
@@ -7924,8 +7927,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00f9
|
||||
public const int remove = 2131558649;
|
||||
|
||||
// aapt resource value: 0x7f0d0103
|
||||
public const int remove_from_playlist = 2131558659;
|
||||
// aapt resource value: 0x7f0d0104
|
||||
public const int remove_from_playlist = 2131558660;
|
||||
|
||||
// aapt resource value: 0x7f0d00d5
|
||||
public const int remove_from_queue = 2131558613;
|
||||
@@ -7936,8 +7939,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00d6
|
||||
public const int remove_track_from_playlist = 2131558614;
|
||||
|
||||
// aapt resource value: 0x7f0d0104
|
||||
public const int removed_from_playlist = 2131558660;
|
||||
// aapt resource value: 0x7f0d0105
|
||||
public const int removed_from_playlist = 2131558661;
|
||||
|
||||
// aapt resource value: 0x7f0d00c9
|
||||
public const int removed_from_queue = 2131558601;
|
||||
@@ -7945,8 +7948,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00db
|
||||
public const int rename = 2131558619;
|
||||
|
||||
// aapt resource value: 0x7f0d010b
|
||||
public const int rename_playlist = 2131558667;
|
||||
// aapt resource value: 0x7f0d010c
|
||||
public const int rename_playlist = 2131558668;
|
||||
|
||||
// aapt resource value: 0x7f0d00b6
|
||||
public const int repeat = 2131558582;
|
||||
@@ -7954,11 +7957,11 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00ca
|
||||
public const int save_as_playlist = 2131558602;
|
||||
|
||||
// aapt resource value: 0x7f0d0113
|
||||
public const int save_folder_playlist = 2131558675;
|
||||
// aapt resource value: 0x7f0d0114
|
||||
public const int save_folder_playlist = 2131558676;
|
||||
|
||||
// aapt resource value: 0x7f0d0112
|
||||
public const int save_playlist = 2131558674;
|
||||
// aapt resource value: 0x7f0d0113
|
||||
public const int save_playlist = 2131558675;
|
||||
|
||||
// aapt resource value: 0x7f0d0073
|
||||
public const int search_menu_title = 2131558515;
|
||||
@@ -7990,8 +7993,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00df
|
||||
public const int stop_sync = 2131558623;
|
||||
|
||||
// aapt resource value: 0x7f0d010c
|
||||
public const int stop_syncing = 2131558668;
|
||||
// aapt resource value: 0x7f0d010d
|
||||
public const int stop_syncing = 2131558669;
|
||||
|
||||
// aapt resource value: 0x7f0d003d
|
||||
public const int summary_collapsed_preference_list = 2131558461;
|
||||
@@ -8002,65 +8005,65 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00de
|
||||
public const int sync_now = 2131558622;
|
||||
|
||||
// aapt resource value: 0x7f0d013a
|
||||
public const int sync_remove = 2131558714;
|
||||
// aapt resource value: 0x7f0d013b
|
||||
public const int sync_remove = 2131558715;
|
||||
|
||||
// aapt resource value: 0x7f0d00f1
|
||||
public const int syncing = 2131558641;
|
||||
|
||||
// aapt resource value: 0x7f0d0158
|
||||
public const int tap_details = 2131558744;
|
||||
|
||||
// aapt resource value: 0x7f0d013c
|
||||
public const int theme = 2131558716;
|
||||
// aapt resource value: 0x7f0d0159
|
||||
public const int tap_details = 2131558745;
|
||||
|
||||
// aapt resource value: 0x7f0d013d
|
||||
public const int theme_dialog = 2131558717;
|
||||
public const int theme = 2131558717;
|
||||
|
||||
// aapt resource value: 0x7f0d013e
|
||||
public const int theme_dialog = 2131558718;
|
||||
|
||||
// aapt resource value: 0x7f0d00c5
|
||||
public const int timer = 2131558597;
|
||||
|
||||
// aapt resource value: 0x7f0d014b
|
||||
public const int timout = 2131558731;
|
||||
// aapt resource value: 0x7f0d014c
|
||||
public const int timout = 2131558732;
|
||||
|
||||
// aapt resource value: 0x7f0d0118
|
||||
public const int title = 2131558680;
|
||||
// aapt resource value: 0x7f0d0119
|
||||
public const int title = 2131558681;
|
||||
|
||||
// aapt resource value: 0x7f0d0147
|
||||
public const int undo = 2131558727;
|
||||
// aapt resource value: 0x7f0d0148
|
||||
public const int undo = 2131558728;
|
||||
|
||||
// aapt resource value: 0x7f0d0120
|
||||
public const int undo_change = 2131558688;
|
||||
// aapt resource value: 0x7f0d0121
|
||||
public const int undo_change = 2131558689;
|
||||
|
||||
// aapt resource value: 0x7f0d00e1
|
||||
public const int unfork = 2131558625;
|
||||
|
||||
// aapt resource value: 0x7f0d010d
|
||||
public const int unfork_playlist = 2131558669;
|
||||
// aapt resource value: 0x7f0d010e
|
||||
public const int unfork_playlist = 2131558670;
|
||||
|
||||
// aapt resource value: 0x7f0d014c
|
||||
public const int unknow = 2131558732;
|
||||
// aapt resource value: 0x7f0d014d
|
||||
public const int unknow = 2131558733;
|
||||
|
||||
// aapt resource value: 0x7f0d00bc
|
||||
public const int up_next = 2131558588;
|
||||
|
||||
// aapt resource value: 0x7f0d0152
|
||||
public const int up_to_date = 2131558738;
|
||||
// aapt resource value: 0x7f0d0153
|
||||
public const int up_to_date = 2131558739;
|
||||
|
||||
// aapt resource value: 0x7f0d012a
|
||||
public const int up_to_date_status = 2131558698;
|
||||
|
||||
// aapt resource value: 0x7f0d0150
|
||||
public const int update = 2131558736;
|
||||
// aapt resource value: 0x7f0d012b
|
||||
public const int up_to_date_status = 2131558699;
|
||||
|
||||
// aapt resource value: 0x7f0d0151
|
||||
public const int update_message = 2131558737;
|
||||
public const int update = 2131558737;
|
||||
|
||||
// aapt resource value: 0x7f0d014f
|
||||
public const int update_no_internet = 2131558735;
|
||||
// aapt resource value: 0x7f0d0152
|
||||
public const int update_message = 2131558738;
|
||||
|
||||
// aapt resource value: 0x7f0d0155
|
||||
public const int updating = 2131558741;
|
||||
// aapt resource value: 0x7f0d0150
|
||||
public const int update_no_internet = 2131558736;
|
||||
|
||||
// aapt resource value: 0x7f0d0156
|
||||
public const int updating = 2131558742;
|
||||
|
||||
// aapt resource value: 0x7f0d003e
|
||||
public const int v7_preference_off = 2131558462;
|
||||
@@ -8068,20 +8071,20 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d003f
|
||||
public const int v7_preference_on = 2131558463;
|
||||
|
||||
// aapt resource value: 0x7f0d0142
|
||||
public const int version = 2131558722;
|
||||
// aapt resource value: 0x7f0d0143
|
||||
public const int version = 2131558723;
|
||||
|
||||
// aapt resource value: 0x7f0d0136
|
||||
public const int volume = 2131558710;
|
||||
// aapt resource value: 0x7f0d0137
|
||||
public const int volume = 2131558711;
|
||||
|
||||
// aapt resource value: 0x7f0d013e
|
||||
public const int white_theme = 2131558718;
|
||||
// aapt resource value: 0x7f0d013f
|
||||
public const int white_theme = 2131558719;
|
||||
|
||||
// aapt resource value: 0x7f0d0133
|
||||
public const int yes = 2131558707;
|
||||
// aapt resource value: 0x7f0d0134
|
||||
public const int yes = 2131558708;
|
||||
|
||||
// aapt resource value: 0x7f0d014a
|
||||
public const int youtube_endpoint = 2131558730;
|
||||
// aapt resource value: 0x7f0d014b
|
||||
public const int youtube_endpoint = 2131558731;
|
||||
|
||||
// aapt resource value: 0x7f0d00fd
|
||||
public const int youtube_loading_error = 2131558653;
|
||||
@@ -8095,8 +8098,8 @@ namespace Opus
|
||||
// aapt resource value: 0x7f0d00b7
|
||||
public const int youtube_search = 2131558583;
|
||||
|
||||
// aapt resource value: 0x7f0d011b
|
||||
public const int youtubeid = 2131558683;
|
||||
// aapt resource value: 0x7f0d011c
|
||||
public const int youtubeid = 2131558684;
|
||||
|
||||
// aapt resource value: 0x7f0d00b2
|
||||
public const int yt_api_key = 2131558578;
|
||||
|
||||
@@ -98,6 +98,7 @@
|
||||
<string name="youtube_loading_error">Erreur de chargement. \nVérifiez avoir séléctionné un compte et votre connection internet.</string>
|
||||
<string name="local_playlist_empty">Vous n\'avez aucune playlist sur cet appareil.</string>
|
||||
<string name="youtube_playlist_empty">Vous n\'avez aucune playlist sur ce compte youtube \nAttention : seulement les playlists présentes sur votre compte google sont affichées.</string>
|
||||
<string name="localpl_noperm"><font color=red>Impossible de lister les playlists locales.</font><br><u>Clicez ici</u> pour donner les droits de lectures a l'application.</string>
|
||||
<string name="element">titre</string>
|
||||
<string name="elements">titres</string>
|
||||
<string name="playlist_empty">Cette playlist est vide.</string>
|
||||
|
||||
@@ -98,6 +98,7 @@
|
||||
<string name="youtube_loading_error">Error while loading.\nCheck your internet connection and check if your logged in.</string>
|
||||
<string name="local_playlist_empty">You don\'t have any playlist on your device.</string>
|
||||
<string name="youtube_playlist_empty">You don\'t have any youtube playlist on your account. \nWarning: Only playlist from your google account are displayed.</string>
|
||||
<string name="localpl_noperm"><font color=red>Can\'t list your local playlists.</font><br><u>Click here</u> to give read permissions</string>
|
||||
<string name="element">element</string>
|
||||
<string name="elements">elements</string>
|
||||
<string name="playlist_empty">This playlist is empty.</string>
|
||||
|
||||
Reference in New Issue
Block a user