diff --git a/Opus/Opus.csproj b/Opus/Opus.csproj
index ef7cc64..c945a09 100644
--- a/Opus/Opus.csproj
+++ b/Opus/Opus.csproj
@@ -609,9 +609,6 @@
-
-
-
diff --git a/Opus/Resources/Portable Class/Home.cs b/Opus/Resources/Portable Class/Home.cs
index fc75a51..ba64a17 100644
--- a/Opus/Resources/Portable Class/Home.cs
+++ b/Opus/Resources/Portable Class/Home.cs
@@ -373,46 +373,6 @@ namespace Opus.Resources.Portable_Class
}
}
- public async Task AddHomeTopics()
- {
- List channelLits = new List();
-
- string nextPageToken = "";
- while (nextPageToken != null)
- {
- try
- {
- YouTubeService youtube = YoutubeEngine.youtubeService;
- SubscriptionsResource.ListRequest request = youtube.Subscriptions.List("snippet,contentDetails");
- request.ChannelId = "UCRPb0XKQwDoHbgvtawH-gGw";
- request.MaxResults = 50;
- request.PageToken = nextPageToken;
-
- SubscriptionListResponse response = await request.ExecuteAsync();
-
- foreach (var item in response.Items)
- {
- Song channel = new Song(item.Snippet.Title.Substring(0, item.Snippet.Title.IndexOf(" - Topic")), item.Snippet.Description, item.Snippet.Thumbnails.Default__.Url, item.Snippet.ResourceId.ChannelId, -1, -1, null, true);
- channelLits.Add(channel);
- }
-
- nextPageToken = response.NextPageToken;
- }
- catch(Exception ex)
- {
- Console.WriteLine("&ERROR FOUND (on home topics load) " + ex.Message);
- return;
- }
- }
-
- Random r = new Random();
- List channels = channelLits.OrderBy(x => r.Next()).ToList();
- channels.RemoveAll(x => selectedTopics.Contains(x.Title));
-
- HomeSection TopicSelector = new HomeSection(Resources.GetString(Resource.String.music_genres), SectionType.TopicSelector, channels);
- adapter.AddToList(new List { TopicSelector });
- }
-
public void AddQueue()
{
if (adapterItems[0].SectionTitle != "Queue")
diff --git a/Opus/Resources/Portable Class/HomeAdapter.cs b/Opus/Resources/Portable Class/HomeAdapter.cs
index bf70ffd..f28db87 100644
--- a/Opus/Resources/Portable Class/HomeAdapter.cs
+++ b/Opus/Resources/Portable Class/HomeAdapter.cs
@@ -63,11 +63,6 @@ namespace Opus.Resources.Portable_Class
// View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.HomePlaylists, parent, false);
// return new LineSongHolder(itemView, OnClick, OnLongClick);
//}
- else if(viewType == 3)
- {
- View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.HomeTopic, parent, false);
- return new LineSongHolder(itemView, OnClick, OnLongClick);
- }
else
{
View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.ShuffleButton, parent, false);
@@ -213,8 +208,6 @@ namespace Opus.Resources.Portable_Class
return 1;
else if (items[position].contentType == SectionType.PlaylistList)
return 2;
- else if (items[position].contentType == SectionType.TopicSelector)
- return 3;
else
return 4;
}
diff --git a/Opus/Resources/Portable Class/MusicPlayer.cs b/Opus/Resources/Portable Class/MusicPlayer.cs
index 538c97a..7c8cd64 100644
--- a/Opus/Resources/Portable Class/MusicPlayer.cs
+++ b/Opus/Resources/Portable Class/MusicPlayer.cs
@@ -53,8 +53,9 @@ namespace Opus.Resources.Portable_Class
public static List queue = new List();
public static List WaitForIndex = new List();
public static List autoPlay = new List();
- public MediaSessionCompat mediaSession;
- public AudioManager audioManager;
+ private MediaSessionCompat mediaSession;
+ private AudioManager audioManager;
+ private AudioFocusRequestClass audioFocusRequest;
public NotificationManager notificationManager;
private bool noisyRegistered;
public static bool isRunning = false;
@@ -110,14 +111,14 @@ namespace Opus.Resources.Portable_Class
case "Pause":
if(isRunning)
- Pause(true);
+ Pause();
else
Resume();
break;
case "ForcePause":
if (isRunning)
- Pause(true);
+ Pause();
break;
case "ForceResume":
@@ -296,13 +297,13 @@ namespace Opus.Resources.Portable_Class
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
{
- AudioFocusRequestClass focusRequest = new AudioFocusRequestClass.Builder(AudioFocus.Gain)
+ audioFocusRequest = new AudioFocusRequestClass.Builder(AudioFocus.Gain)
.SetAudioAttributes(attributes)
.SetAcceptsDelayedFocusGain(true)
.SetWillPauseWhenDucked(true)
.SetOnAudioFocusChangeListener(this)
.Build();
- AudioFocusRequest audioFocus = audioManager.RequestAudioFocus(focusRequest);
+ AudioFocusRequest audioFocus = audioManager.RequestAudioFocus(audioFocusRequest);
if (audioFocus != AudioFocusRequest.Granted)
{
@@ -400,13 +401,13 @@ namespace Opus.Resources.Portable_Class
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
{
- AudioFocusRequestClass focusRequest = new AudioFocusRequestClass.Builder(AudioFocus.Gain)
+ audioFocusRequest = new AudioFocusRequestClass.Builder(AudioFocus.Gain)
.SetAudioAttributes(attributes)
.SetAcceptsDelayedFocusGain(true)
.SetWillPauseWhenDucked(true)
.SetOnAudioFocusChangeListener(this)
.Build();
- AudioFocusRequest audioFocus = audioManager.RequestAudioFocus(focusRequest);
+ AudioFocusRequest audioFocus = audioManager.RequestAudioFocus(audioFocusRequest);
if (audioFocus != AudioFocusRequest.Granted)
{
@@ -430,15 +431,15 @@ namespace Opus.Resources.Portable_Class
#pragma warning restore CS0618
}
- if (progress != -1)
+ player.PlayWhenReady = true;
+ player.Prepare(mediaSource, true, true);
+ CreateNotification(song.Title, song.Artist, song.AlbumArt, song.Album);
+
+ if (progress != -1) //I'm seeking after the prepare because with some format, exoplayer's prepare reset the position
{
player.SeekTo(progress);
MainActivity.instance?.FindViewById(Resource.Id.playButton).SetImageResource(Resource.Drawable.Pause);
}
-
- player.PlayWhenReady = true;
- player.Prepare(mediaSource, true, true);
- CreateNotification(song.Title, song.Artist, song.AlbumArt, song.Album);
}
else
{
@@ -1018,7 +1019,7 @@ namespace Opus.Resources.Portable_Class
}
else
{
- Pause(true);
+ Pause();
return;
}
}
@@ -1034,12 +1035,6 @@ namespace Opus.Resources.Portable_Class
{
Song song = await GetItem(position);
- if (player == null)
- InitializeService();
-
- if (currentID == position && StartFromOldPosition)
- player.SeekTo(LastTimer);
-
currentID = position;
if(showPlayer)
MainActivity.instance.ShowPlayer();
@@ -1067,7 +1062,7 @@ namespace Opus.Resources.Portable_Class
}
}
else
- Play(song, -1, false);
+ Play(song, StartFromOldPosition ? LastTimer : -1, false);
Queue.instance?.RefreshAP();
}
@@ -1335,14 +1330,12 @@ namespace Opus.Resources.Portable_Class
StartForeground(notificationID, notification);
}
- public void Pause(bool userRequested)
+ public void Pause()
{
- if (userRequested)
- ShouldResumePlayback = false;
+ ShouldResumePlayback = false;
if (!UseCastPlayer && player != null && isRunning)
{
- SaveTimer(CurrentPosition);
isRunning = false;
Intent tmpPauseIntent = new Intent(Application.Context, typeof(MusicPlayer));
@@ -1579,6 +1572,7 @@ namespace Opus.Resources.Portable_Class
if (SaveQueue)
{
+ Console.WriteLine("&Saving the queue");
ISharedPreferences pref = PreferenceManager.GetDefaultSharedPreferences(Application.Context);
ISharedPreferencesEditor editor = pref.Edit();
editor.PutInt("currentID", currentID);
@@ -1606,6 +1600,12 @@ namespace Opus.Resources.Portable_Class
}
}
+ if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
+ audioManager.AbandonAudioFocusRequest(audioFocusRequest);
+ else
+#pragma warning disable CS0618 // Type or member is obsolete
+ audioManager.AbandonAudioFocus(this);
+#pragma warning restore CS0618 // Type or member is obsolete
MainActivity.instance.SkipStop = false;
noisyReceiver = null;
@@ -1628,6 +1628,8 @@ namespace Opus.Resources.Portable_Class
RemotePlayer.Stop();
StopSelf();
}
+
+ Player.instance?.Ready(); //Refresh play/pause state
}
private void SleepPause()
@@ -1656,12 +1658,11 @@ namespace Opus.Resources.Portable_Class
break;
case AudioFocus.Loss:
- Pause(false);
- ShouldResumePlayback = false;
+ Pause();
break;
case AudioFocus.LossTransient:
- Pause(false);
+ Pause();
ShouldResumePlayback = true;
break;
diff --git a/Opus/Resources/Portable Class/Player.cs b/Opus/Resources/Portable Class/Player.cs
index 53f6bb5..423ff69 100644
--- a/Opus/Resources/Portable Class/Player.cs
+++ b/Opus/Resources/Portable Class/Player.cs
@@ -440,6 +440,8 @@ namespace Opus
void Sleep(int time)
{
+ time = 1; //This is for test
+
Intent intent = new Intent(MainActivity.instance, typeof(Sleeper));
intent.PutExtra("time", time);
MainActivity.instance.StartService(intent);
diff --git a/Opus/Resources/Resource.Designer.cs b/Opus/Resources/Resource.Designer.cs
index cbaf184..2dc3ea1 100644
--- a/Opus/Resources/Resource.Designer.cs
+++ b/Opus/Resources/Resource.Designer.cs
@@ -6729,265 +6729,262 @@ namespace Opus
public const int HomePlaylists = 2130903113;
// aapt resource value: 0x7f03004a
- public const int HomeTopic = 2130903114;
+ public const int LineSong = 2130903114;
// aapt resource value: 0x7f03004b
- public const int LineSong = 2130903115;
+ public const int LineSongs = 2130903115;
// aapt resource value: 0x7f03004c
- public const int LineSongs = 2130903116;
+ public const int LogOutButton = 2130903116;
// aapt resource value: 0x7f03004d
- public const int LogOutButton = 2130903117;
+ public const int Main = 2130903117;
// aapt resource value: 0x7f03004e
- public const int Main = 2130903118;
+ public const int mr_cast_dialog = 2130903118;
// aapt resource value: 0x7f03004f
- public const int mr_cast_dialog = 2130903119;
+ public const int mr_cast_group_item = 2130903119;
// aapt resource value: 0x7f030050
- public const int mr_cast_group_item = 2130903120;
+ public const int mr_cast_group_volume_item = 2130903120;
// aapt resource value: 0x7f030051
- public const int mr_cast_group_volume_item = 2130903121;
+ public const int mr_cast_media_metadata = 2130903121;
// aapt resource value: 0x7f030052
- public const int mr_cast_media_metadata = 2130903122;
+ public const int mr_cast_route_item = 2130903122;
// aapt resource value: 0x7f030053
- public const int mr_cast_route_item = 2130903123;
+ public const int mr_chooser_dialog = 2130903123;
// aapt resource value: 0x7f030054
- public const int mr_chooser_dialog = 2130903124;
+ public const int mr_chooser_list_item = 2130903124;
// aapt resource value: 0x7f030055
- public const int mr_chooser_list_item = 2130903125;
+ public const int mr_controller_material_dialog_b = 2130903125;
// aapt resource value: 0x7f030056
- public const int mr_controller_material_dialog_b = 2130903126;
+ public const int mr_controller_volume_item = 2130903126;
// aapt resource value: 0x7f030057
- public const int mr_controller_volume_item = 2130903127;
+ public const int mr_dialog_header_item = 2130903127;
// aapt resource value: 0x7f030058
- public const int mr_dialog_header_item = 2130903128;
+ public const int mr_picker_dialog = 2130903128;
// aapt resource value: 0x7f030059
- public const int mr_picker_dialog = 2130903129;
+ public const int mr_picker_route_item = 2130903129;
// aapt resource value: 0x7f03005a
- public const int mr_picker_route_item = 2130903130;
+ public const int mr_playback_control = 2130903130;
// aapt resource value: 0x7f03005b
- public const int mr_playback_control = 2130903131;
+ public const int mr_volume_control = 2130903131;
// aapt resource value: 0x7f03005c
- public const int mr_volume_control = 2130903132;
+ public const int mtrl_layout_snackbar = 2130903132;
// aapt resource value: 0x7f03005d
- public const int mtrl_layout_snackbar = 2130903133;
+ public const int mtrl_layout_snackbar_include = 2130903133;
// aapt resource value: 0x7f03005e
- public const int mtrl_layout_snackbar_include = 2130903134;
+ public const int MusicLayout = 2130903134;
// aapt resource value: 0x7f03005f
- public const int MusicLayout = 2130903135;
+ public const int NoSong = 2130903135;
// aapt resource value: 0x7f030060
- public const int NoSong = 2130903136;
+ public const int notification_action = 2130903136;
// aapt resource value: 0x7f030061
- public const int notification_action = 2130903137;
+ public const int notification_action_tombstone = 2130903137;
// aapt resource value: 0x7f030062
- public const int notification_action_tombstone = 2130903138;
+ public const int notification_media_action = 2130903138;
// aapt resource value: 0x7f030063
- public const int notification_media_action = 2130903139;
+ public const int notification_media_cancel_action = 2130903139;
// aapt resource value: 0x7f030064
- public const int notification_media_cancel_action = 2130903140;
+ public const int notification_template_big_media = 2130903140;
// aapt resource value: 0x7f030065
- public const int notification_template_big_media = 2130903141;
+ public const int notification_template_big_media_custom = 2130903141;
// aapt resource value: 0x7f030066
- public const int notification_template_big_media_custom = 2130903142;
+ public const int notification_template_big_media_narrow = 2130903142;
// aapt resource value: 0x7f030067
- public const int notification_template_big_media_narrow = 2130903143;
+ public const int notification_template_big_media_narrow_custom = 2130903143;
// aapt resource value: 0x7f030068
- public const int notification_template_big_media_narrow_custom = 2130903144;
+ public const int notification_template_custom_big = 2130903144;
// aapt resource value: 0x7f030069
- public const int notification_template_custom_big = 2130903145;
+ public const int notification_template_icon_group = 2130903145;
// aapt resource value: 0x7f03006a
- public const int notification_template_icon_group = 2130903146;
+ public const int notification_template_lines_media = 2130903146;
// aapt resource value: 0x7f03006b
- public const int notification_template_lines_media = 2130903147;
+ public const int notification_template_media = 2130903147;
// aapt resource value: 0x7f03006c
- public const int notification_template_media = 2130903148;
+ public const int notification_template_media_custom = 2130903148;
// aapt resource value: 0x7f03006d
- public const int notification_template_media_custom = 2130903149;
+ public const int notification_template_part_chronometer = 2130903149;
// aapt resource value: 0x7f03006e
- public const int notification_template_part_chronometer = 2130903150;
+ public const int notification_template_part_time = 2130903150;
// aapt resource value: 0x7f03006f
- public const int notification_template_part_time = 2130903151;
+ public const int NoYtPlaylist = 2130903151;
// aapt resource value: 0x7f030070
- public const int NoYtPlaylist = 2130903152;
+ public const int NumberPicker = 2130903152;
// aapt resource value: 0x7f030071
- public const int NumberPicker = 2130903153;
+ public const int player = 2130903153;
// aapt resource value: 0x7f030072
- public const int player = 2130903154;
+ public const int playerInfo = 2130903154;
// aapt resource value: 0x7f030073
- public const int playerInfo = 2130903155;
+ public const int PlaylistHeader = 2130903155;
// aapt resource value: 0x7f030074
- public const int PlaylistHeader = 2130903156;
+ public const int PlaylistItem = 2130903156;
// aapt resource value: 0x7f030075
- public const int PlaylistItem = 2130903157;
+ public const int PlaylistList = 2130903157;
// aapt resource value: 0x7f030076
- public const int PlaylistList = 2130903158;
+ public const int PlaylistSmallHeader = 2130903158;
// aapt resource value: 0x7f030077
- public const int PlaylistSmallHeader = 2130903159;
+ public const int preference = 2130903159;
// aapt resource value: 0x7f030078
- public const int preference = 2130903160;
+ public const int preference_category = 2130903160;
// aapt resource value: 0x7f030079
- public const int preference_category = 2130903161;
+ public const int preference_category_material = 2130903161;
// aapt resource value: 0x7f03007a
- public const int preference_category_material = 2130903162;
+ public const int preference_dialog_edittext = 2130903162;
// aapt resource value: 0x7f03007b
- public const int preference_dialog_edittext = 2130903163;
+ public const int preference_dropdown = 2130903163;
// aapt resource value: 0x7f03007c
- public const int preference_dropdown = 2130903164;
+ public const int preference_dropdown_material = 2130903164;
// aapt resource value: 0x7f03007d
- public const int preference_dropdown_material = 2130903165;
+ public const int preference_information = 2130903165;
// aapt resource value: 0x7f03007e
- public const int preference_information = 2130903166;
+ public const int preference_information_material = 2130903166;
// aapt resource value: 0x7f03007f
- public const int preference_information_material = 2130903167;
+ public const int preference_list_fragment = 2130903167;
// aapt resource value: 0x7f030080
- public const int preference_list_fragment = 2130903168;
+ public const int preference_material = 2130903168;
// aapt resource value: 0x7f030081
- public const int preference_material = 2130903169;
+ public const int preference_recyclerview = 2130903169;
// aapt resource value: 0x7f030082
- public const int preference_recyclerview = 2130903170;
+ public const int preference_widget_checkbox = 2130903170;
// aapt resource value: 0x7f030083
- public const int preference_widget_checkbox = 2130903171;
+ public const int preference_widget_seekbar = 2130903171;
// aapt resource value: 0x7f030084
- public const int preference_widget_seekbar = 2130903172;
+ public const int preference_widget_seekbar_material = 2130903172;
// aapt resource value: 0x7f030085
- public const int preference_widget_seekbar_material = 2130903173;
+ public const int preference_widget_switch = 2130903173;
// aapt resource value: 0x7f030086
- public const int preference_widget_switch = 2130903174;
+ public const int preference_widget_switch_compat = 2130903174;
// aapt resource value: 0x7f030087
- public const int preference_widget_switch_compat = 2130903175;
+ public const int PreferenceCategory = 2130903175;
// aapt resource value: 0x7f030088
- public const int PreferenceCategory = 2130903176;
+ public const int PreferenceRoot = 2130903176;
// aapt resource value: 0x7f030089
- public const int PreferenceRoot = 2130903177;
+ public const int Preferences = 2130903177;
// aapt resource value: 0x7f03008a
- public const int Preferences = 2130903178;
+ public const int QueueCurrent = 2130903178;
// aapt resource value: 0x7f03008b
- public const int QueueCurrent = 2130903179;
+ public const int QueueFooter = 2130903179;
// aapt resource value: 0x7f03008c
- public const int QueueFooter = 2130903180;
+ public const int QueueHeader = 2130903180;
// aapt resource value: 0x7f03008d
- public const int QueueHeader = 2130903181;
+ public const int RecyclerFragment = 2130903181;
// aapt resource value: 0x7f03008e
- public const int RecyclerFragment = 2130903182;
+ public const int SaveAPlaylist = 2130903182;
// aapt resource value: 0x7f03008f
- public const int SaveAPlaylist = 2130903183;
+ public const int search_layout = 2130903183;
// aapt resource value: 0x7f030090
- public const int search_layout = 2130903184;
+ public const int SearchLayout = 2130903184;
// aapt resource value: 0x7f030091
- public const int SearchLayout = 2130903185;
+ public const int SeekbarPreference = 2130903185;
// aapt resource value: 0x7f030092
- public const int SeekbarPreference = 2130903186;
+ public const int select_dialog_item_material = 2130903186;
// aapt resource value: 0x7f030093
- public const int select_dialog_item_material = 2130903187;
+ public const int select_dialog_multichoice_material = 2130903187;
// aapt resource value: 0x7f030094
- public const int select_dialog_multichoice_material = 2130903188;
+ public const int select_dialog_singlechoice_material = 2130903188;
// aapt resource value: 0x7f030095
- public const int select_dialog_singlechoice_material = 2130903189;
+ public const int ShuffleButton = 2130903189;
// aapt resource value: 0x7f030096
- public const int ShuffleButton = 2130903190;
+ public const int SmallEmptyView = 2130903190;
// aapt resource value: 0x7f030097
- public const int SmallEmptyView = 2130903191;
+ public const int smallLoading = 2130903191;
// aapt resource value: 0x7f030098
- public const int smallLoading = 2130903192;
+ public const int SongList = 2130903192;
// aapt resource value: 0x7f030099
- public const int SongList = 2130903193;
+ public const int SuggestionLayout = 2130903193;
// aapt resource value: 0x7f03009a
- public const int SuggestionLayout = 2130903194;
+ public const int support_simple_spinner_dropdown_item = 2130903194;
// aapt resource value: 0x7f03009b
- public const int support_simple_spinner_dropdown_item = 2130903195;
+ public const int tabs = 2130903195;
// aapt resource value: 0x7f03009c
- public const int tabs = 2130903196;
+ public const int TimerLayout = 2130903196;
// aapt resource value: 0x7f03009d
- public const int TimerLayout = 2130903197;
+ public const int TwoLineLayout = 2130903197;
// aapt resource value: 0x7f03009e
- public const int TwoLineLayout = 2130903198;
+ public const int ViewPager = 2130903198;
// aapt resource value: 0x7f03009f
- public const int ViewPager = 2130903199;
-
- // aapt resource value: 0x7f0300a0
- public const int YtList = 2130903200;
+ public const int YtList = 2130903199;
static Layout()
{
@@ -7174,14 +7171,14 @@ namespace Opus
// aapt resource value: 0x7f0d0072
public const int abc_toolbar_collapse_description = 2131558514;
- // aapt resource value: 0x7f0d012c
- public const int add = 2131558700;
+ // aapt resource value: 0x7f0d012a
+ public const int add = 2131558698;
- // aapt resource value: 0x7f0d00fd
- public const int add_playlist = 2131558653;
+ // aapt resource value: 0x7f0d00fb
+ public const int add_playlist = 2131558651;
- // aapt resource value: 0x7f0d010d
- public const int add_playlist_msg = 2131558669;
+ // aapt resource value: 0x7f0d010b
+ public const int add_playlist_msg = 2131558667;
// aapt resource value: 0x7f0d00df
public const int add_to_library = 2131558623;
@@ -7192,23 +7189,23 @@ namespace Opus
// aapt resource value: 0x7f0d00d9
public const int add_to_queue = 2131558617;
- // aapt resource value: 0x7f0d0117
- public const int album = 2131558679;
+ // aapt resource value: 0x7f0d0115
+ public const int album = 2131558677;
- // aapt resource value: 0x7f0d00eb
- public const int all = 2131558635;
+ // aapt resource value: 0x7f0d00e9
+ public const int all = 2131558633;
// aapt resource value: 0x7f0d0080
public const int appbar_scrolling_view_behavior = 2131558528;
- // aapt resource value: 0x7f0d0136
- public const int appearances = 2131558710;
+ // aapt resource value: 0x7f0d0134
+ public const int appearances = 2131558708;
- // aapt resource value: 0x7f0d0129
- public const int apply = 2131558697;
+ // aapt resource value: 0x7f0d0127
+ public const int apply = 2131558695;
- // aapt resource value: 0x7f0d0116
- public const int artist = 2131558678;
+ // aapt resource value: 0x7f0d0114
+ public const int artist = 2131558676;
// aapt resource value: 0x7f0d00ca
public const int autoplay = 2131558602;
@@ -7216,11 +7213,11 @@ namespace Opus
// aapt resource value: 0x7f0d00cb
public const int autoplay_desc = 2131558603;
- // aapt resource value: 0x7f0d0130
- public const int behavior = 2131558704;
+ // aapt resource value: 0x7f0d012e
+ public const int behavior = 2131558702;
- // aapt resource value: 0x7f0d014e
- public const int beta_available = 2131558734;
+ // aapt resource value: 0x7f0d014c
+ public const int beta_available = 2131558732;
// aapt resource value: 0x7f0d0081
public const int bottom_sheet_behavior = 2131558529;
@@ -7228,17 +7225,17 @@ namespace Opus
// aapt resource value: 0x7f0d00b3
public const int browse = 2131558579;
- // aapt resource value: 0x7f0d012a
- public const int cancel = 2131558698;
+ // aapt resource value: 0x7f0d0128
+ public const int cancel = 2131558696;
- // aapt resource value: 0x7f0d0154
- public const int cancelling = 2131558740;
+ // aapt resource value: 0x7f0d0152
+ public const int cancelling = 2131558738;
- // aapt resource value: 0x7f0d00f3
- public const int cant_delete = 2131558643;
+ // aapt resource value: 0x7f0d00f1
+ public const int cant_delete = 2131558641;
- // aapt resource value: 0x7f0d0151
- public const int cant_play_non_youtube = 2131558737;
+ // aapt resource value: 0x7f0d014f
+ public const int cant_play_non_youtube = 2131558735;
// aapt resource value: 0x7f0d00b8
public const int cast = 2131558584;
@@ -7321,11 +7318,11 @@ namespace Opus
// aapt resource value: 0x7f0d0015
public const int cast_play = 2131558421;
- // aapt resource value: 0x7f0d0127
- public const int cast_queue_push = 2131558695;
+ // aapt resource value: 0x7f0d0125
+ public const int cast_queue_push = 2131558693;
- // aapt resource value: 0x7f0d0128
- public const int cast_queue_pushed = 2131558696;
+ // aapt resource value: 0x7f0d0126
+ public const int cast_queue_pushed = 2131558694;
// aapt resource value: 0x7f0d0016
public const int cast_rewind = 2131558422;
@@ -7375,14 +7372,14 @@ namespace Opus
// aapt resource value: 0x7f0d0025
public const int cast_unmute = 2131558437;
- // aapt resource value: 0x7f0d0119
- public const int change_albumart = 2131558681;
+ // aapt resource value: 0x7f0d0117
+ public const int change_albumart = 2131558679;
- // aapt resource value: 0x7f0d011e
- public const int changes_saved = 2131558686;
+ // aapt resource value: 0x7f0d011c
+ public const int changes_saved = 2131558684;
- // aapt resource value: 0x7f0d00ed
- public const int channels = 2131558637;
+ // aapt resource value: 0x7f0d00eb
+ public const int channels = 2131558635;
// aapt resource value: 0x7f0d0082
public const int character_counter_content_description = 2131558530;
@@ -7390,8 +7387,8 @@ namespace Opus
// aapt resource value: 0x7f0d0083
public const int character_counter_pattern = 2131558531;
- // aapt resource value: 0x7f0d013c
- public const int check_updates = 2131558716;
+ // aapt resource value: 0x7f0d013a
+ public const int check_updates = 2131558714;
// aapt resource value: 0x7f0d00b0
public const int clientID = 2131558576;
@@ -7453,14 +7450,14 @@ namespace Opus
// aapt resource value: 0x7f0d003b
public const int common_signin_button_text_long = 2131558459;
- // aapt resource value: 0x7f0d0126
- public const int completed = 2131558694;
+ // aapt resource value: 0x7f0d0124
+ public const int completed = 2131558692;
- // aapt resource value: 0x7f0d0148
- public const int country_blocked = 2131558728;
+ // aapt resource value: 0x7f0d0146
+ public const int country_blocked = 2131558726;
- // aapt resource value: 0x7f0d0112
- public const int create_local = 2131558674;
+ // aapt resource value: 0x7f0d0110
+ public const int create_local = 2131558672;
// aapt resource value: 0x7f0d00cc
public const int create_mix = 2131558604;
@@ -7468,68 +7465,68 @@ namespace Opus
// aapt resource value: 0x7f0d00d0
public const int create_mix_from_song = 2131558608;
- // aapt resource value: 0x7f0d010e
- public const int create_playlist = 2131558670;
+ // aapt resource value: 0x7f0d010c
+ public const int create_playlist = 2131558668;
- // aapt resource value: 0x7f0d0114
- public const int create_synced = 2131558676;
+ // aapt resource value: 0x7f0d0112
+ public const int create_synced = 2131558674;
- // aapt resource value: 0x7f0d0113
- public const int create_youtube = 2131558675;
+ // aapt resource value: 0x7f0d0111
+ public const int create_youtube = 2131558673;
- // aapt resource value: 0x7f0d013a
- public const int dark_theme = 2131558714;
+ // aapt resource value: 0x7f0d0138
+ public const int dark_theme = 2131558712;
// aapt resource value: 0x7f0d00db
public const int delete = 2131558619;
- // aapt resource value: 0x7f0d0109
- public const int delete_playlist = 2131558665;
+ // aapt resource value: 0x7f0d0107
+ public const int delete_playlist = 2131558663;
- // aapt resource value: 0x7f0d0121
- public const int deleted_file = 2131558689;
+ // aapt resource value: 0x7f0d011f
+ public const int deleted_file = 2131558687;
// aapt resource value: 0x7f0d00d3
public const int download = 2131558611;
- // aapt resource value: 0x7f0d011b
- public const int download_albumart = 2131558683;
+ // aapt resource value: 0x7f0d0119
+ public const int download_albumart = 2131558681;
- // aapt resource value: 0x7f0d0132
- public const int download_directory = 2131558706;
+ // aapt resource value: 0x7f0d0130
+ public const int download_directory = 2131558704;
- // aapt resource value: 0x7f0d011c
- public const int download_meta = 2131558684;
+ // aapt resource value: 0x7f0d011a
+ public const int download_meta = 2131558682;
+
+ // aapt resource value: 0x7f0d00ed
+ public const int download_path_error = 2131558637;
+
+ // aapt resource value: 0x7f0d00ec
+ public const int download_path_not_set = 2131558636;
+
+ // aapt resource value: 0x7f0d011e
+ public const int download_queue = 2131558686;
// aapt resource value: 0x7f0d00ef
- public const int download_path_error = 2131558639;
+ public const int downloading = 2131558639;
- // aapt resource value: 0x7f0d00ee
- public const int download_path_not_set = 2131558638;
+ // aapt resource value: 0x7f0d0150
+ public const int downloading_notification = 2131558736;
- // aapt resource value: 0x7f0d0120
- public const int download_queue = 2131558688;
+ // aapt resource value: 0x7f0d0122
+ public const int downloading_status = 2131558690;
- // aapt resource value: 0x7f0d00f1
- public const int downloading = 2131558641;
-
- // aapt resource value: 0x7f0d0152
- public const int downloading_notification = 2131558738;
-
- // aapt resource value: 0x7f0d0124
- public const int downloading_status = 2131558692;
-
- // aapt resource value: 0x7f0d014f
- public const int downloading_update = 2131558735;
+ // aapt resource value: 0x7f0d014d
+ public const int downloading_update = 2131558733;
// aapt resource value: 0x7f0d00d2
public const int edit_metadata = 2131558610;
- // aapt resource value: 0x7f0d0101
- public const int element = 2131558657;
+ // aapt resource value: 0x7f0d00ff
+ public const int element = 2131558655;
- // aapt resource value: 0x7f0d0102
- public const int elements = 2131558658;
+ // aapt resource value: 0x7f0d0100
+ public const int elements = 2131558656;
// aapt resource value: 0x7f0d0090
public const int exo_controls_fastforward_description = 2131558544;
@@ -7642,8 +7639,8 @@ namespace Opus
// aapt resource value: 0x7f0d00b7
public const int filter = 2131558583;
- // aapt resource value: 0x7f0d00e9
- public const int folders = 2131558633;
+ // aapt resource value: 0x7f0d00e7
+ public const int folders = 2131558631;
// aapt resource value: 0x7f0d0086
public const int hide_bottom_view_on_scroll_behavior = 2131558534;
@@ -7657,44 +7654,44 @@ namespace Opus
// aapt resource value: 0x7f0d00c3
public const int hours = 2131558595;
- // aapt resource value: 0x7f0d0122
- public const int initialization = 2131558690;
+ // aapt resource value: 0x7f0d0120
+ public const int initialization = 2131558688;
- // aapt resource value: 0x7f0d012d
- public const int later = 2131558701;
+ // aapt resource value: 0x7f0d012b
+ public const int later = 2131558699;
// aapt resource value: 0x7f0d00d6
public const int list_songs = 2131558614;
- // aapt resource value: 0x7f0d00ec
- public const int lives = 2131558636;
+ // aapt resource value: 0x7f0d00ea
+ public const int lives = 2131558634;
- // aapt resource value: 0x7f0d00ff
- public const int local_playlist_empty = 2131558655;
+ // aapt resource value: 0x7f0d00fd
+ public const int local_playlist_empty = 2131558653;
- // aapt resource value: 0x7f0d00fb
- public const int local_playlists = 2131558651;
+ // aapt resource value: 0x7f0d00f9
+ public const int local_playlists = 2131558649;
- // aapt resource value: 0x7f0d0140
- public const int log_in = 2131558720;
-
- // aapt resource value: 0x7f0d0141
- public const int log_out = 2131558721;
+ // aapt resource value: 0x7f0d013e
+ public const int log_in = 2131558718;
// aapt resource value: 0x7f0d013f
- public const int logged_in = 2131558719;
+ public const int log_out = 2131558719;
- // aapt resource value: 0x7f0d0133
- public const int max_download = 2131558707;
+ // aapt resource value: 0x7f0d013d
+ public const int logged_in = 2131558717;
- // aapt resource value: 0x7f0d0134
- public const int max_download_dialog = 2131558708;
+ // aapt resource value: 0x7f0d0131
+ public const int max_download = 2131558705;
- // aapt resource value: 0x7f0d0123
- public const int metadata = 2131558691;
+ // aapt resource value: 0x7f0d0132
+ public const int max_download_dialog = 2131558706;
- // aapt resource value: 0x7f0d011f
- public const int metdata_error_noid = 2131558687;
+ // aapt resource value: 0x7f0d0121
+ public const int metadata = 2131558689;
+
+ // aapt resource value: 0x7f0d011d
+ public const int metdata_error_noid = 2131558685;
// aapt resource value: 0x7f0d00c0
public const int minute = 2131558592;
@@ -7780,47 +7777,44 @@ namespace Opus
// aapt resource value: 0x7f0d0087
public const int mtrl_chip_close_icon_content_description = 2131558535;
- // aapt resource value: 0x7f0d00e6
- public const int music_genres = 2131558630;
-
- // aapt resource value: 0x7f0d0111
- public const int new_playlist = 2131558673;
+ // aapt resource value: 0x7f0d010f
+ public const int new_playlist = 2131558671;
// aapt resource value: 0x7f0d00bd
public const int next_loading = 2131558589;
- // aapt resource value: 0x7f0d012f
- public const int no = 2131558703;
-
- // aapt resource value: 0x7f0d00f8
- public const int no_channel = 2131558648;
-
- // aapt resource value: 0x7f0d00f7
- public const int no_lives = 2131558647;
-
- // aapt resource value: 0x7f0d0143
- public const int no_permission = 2131558723;
+ // aapt resource value: 0x7f0d012d
+ public const int no = 2131558701;
// aapt resource value: 0x7f0d00f6
- public const int no_playlist = 2131558646;
-
- // aapt resource value: 0x7f0d00f4
- public const int no_result = 2131558644;
-
- // aapt resource value: 0x7f0d00ea
- public const int no_song = 2131558634;
-
- // aapt resource value: 0x7f0d0144
- public const int no_song_mix = 2131558724;
+ public const int no_channel = 2131558646;
// aapt resource value: 0x7f0d00f5
- public const int no_track = 2131558645;
+ public const int no_lives = 2131558645;
- // aapt resource value: 0x7f0d013e
- public const int not_log = 2131558718;
+ // aapt resource value: 0x7f0d0141
+ public const int no_permission = 2131558721;
- // aapt resource value: 0x7f0d0149
- public const int not_streamable = 2131558729;
+ // aapt resource value: 0x7f0d00f4
+ public const int no_playlist = 2131558644;
+
+ // aapt resource value: 0x7f0d00f2
+ public const int no_result = 2131558642;
+
+ // aapt resource value: 0x7f0d00e8
+ public const int no_song = 2131558632;
+
+ // aapt resource value: 0x7f0d0142
+ public const int no_song_mix = 2131558722;
+
+ // aapt resource value: 0x7f0d00f3
+ public const int no_track = 2131558643;
+
+ // aapt resource value: 0x7f0d013c
+ public const int not_log = 2131558716;
+
+ // aapt resource value: 0x7f0d0147
+ public const int not_streamable = 2131558727;
// aapt resource value: 0x7f0d00bc
public const int nothing = 2131558588;
@@ -7828,14 +7822,14 @@ namespace Opus
// aapt resource value: 0x7f0d00bf
public const int off = 2131558591;
- // aapt resource value: 0x7f0d012b
- public const int ok = 2131558699;
+ // aapt resource value: 0x7f0d0129
+ public const int ok = 2131558697;
// aapt resource value: 0x7f0d00c5
public const int open_youtube = 2131558597;
- // aapt resource value: 0x7f0d013b
- public const int others = 2131558715;
+ // aapt resource value: 0x7f0d0139
+ public const int others = 2131558713;
// aapt resource value: 0x7f0d0088
public const int password_toggle_content_description = 2131558536;
@@ -7855,8 +7849,8 @@ namespace Opus
// aapt resource value: 0x7f0d00c7
public const int paused = 2131558599;
- // aapt resource value: 0x7f0d011a
- public const int pick_album_local = 2131558682;
+ // aapt resource value: 0x7f0d0118
+ public const int pick_album_local = 2131558680;
// aapt resource value: 0x7f0d00cd
public const int play = 2131558605;
@@ -7873,17 +7867,17 @@ namespace Opus
// aapt resource value: 0x7f0d00c6
public const int playing = 2131558598;
- // aapt resource value: 0x7f0d0108
- public const int playlist_add_song_not_found = 2131558664;
-
// aapt resource value: 0x7f0d0106
- public const int playlist_already_saved = 2131558662;
+ public const int playlist_add_song_not_found = 2131558662;
- // aapt resource value: 0x7f0d0103
- public const int playlist_empty = 2131558659;
+ // aapt resource value: 0x7f0d0104
+ public const int playlist_already_saved = 2131558660;
- // aapt resource value: 0x7f0d0107
- public const int playlist_not_found = 2131558663;
+ // aapt resource value: 0x7f0d0101
+ public const int playlist_empty = 2131558657;
+
+ // aapt resource value: 0x7f0d0105
+ public const int playlist_not_found = 2131558661;
// aapt resource value: 0x7f0d00b4
public const int playlists = 2131558580;
@@ -7894,26 +7888,23 @@ namespace Opus
// aapt resource value: 0x7f0d00d8
public const int random_play = 2131558616;
- // aapt resource value: 0x7f0d00e7
- public const int recommendation_explanation = 2131558631;
+ // aapt resource value: 0x7f0d00f8
+ public const int remove = 2131558648;
- // aapt resource value: 0x7f0d00fa
- public const int remove = 2131558650;
-
- // aapt resource value: 0x7f0d0104
- public const int remove_from_playlist = 2131558660;
+ // aapt resource value: 0x7f0d0102
+ public const int remove_from_playlist = 2131558658;
// aapt resource value: 0x7f0d00d4
public const int remove_from_queue = 2131558612;
- // aapt resource value: 0x7f0d00f9
- public const int remove_search = 2131558649;
+ // aapt resource value: 0x7f0d00f7
+ public const int remove_search = 2131558647;
// aapt resource value: 0x7f0d00d5
public const int remove_track_from_playlist = 2131558613;
- // aapt resource value: 0x7f0d0105
- public const int removed_from_playlist = 2131558661;
+ // aapt resource value: 0x7f0d0103
+ public const int removed_from_playlist = 2131558659;
// aapt resource value: 0x7f0d00c8
public const int removed_from_queue = 2131558600;
@@ -7921,8 +7912,8 @@ namespace Opus
// aapt resource value: 0x7f0d00da
public const int rename = 2131558618;
- // aapt resource value: 0x7f0d010a
- public const int rename_playlist = 2131558666;
+ // aapt resource value: 0x7f0d0108
+ public const int rename_playlist = 2131558664;
// aapt resource value: 0x7f0d00b5
public const int repeat = 2131558581;
@@ -7930,17 +7921,17 @@ namespace Opus
// aapt resource value: 0x7f0d00c9
public const int save_as_playlist = 2131558601;
- // aapt resource value: 0x7f0d0110
- public const int save_folder_playlist = 2131558672;
+ // aapt resource value: 0x7f0d010e
+ public const int save_folder_playlist = 2131558670;
- // aapt resource value: 0x7f0d010f
- public const int save_playlist = 2131558671;
+ // aapt resource value: 0x7f0d010d
+ public const int save_playlist = 2131558669;
// aapt resource value: 0x7f0d0073
public const int search_menu_title = 2131558515;
- // aapt resource value: 0x7f0d00f0
- public const int set_path = 2131558640;
+ // aapt resource value: 0x7f0d00ee
+ public const int set_path = 2131558638;
// aapt resource value: 0x7f0d00b9
public const int settings = 2131558585;
@@ -7957,8 +7948,8 @@ namespace Opus
// aapt resource value: 0x7f0d00be
public const int sleep_timer = 2131558590;
- // aapt resource value: 0x7f0d00e8
- public const int songs = 2131558632;
+ // aapt resource value: 0x7f0d00e6
+ public const int songs = 2131558630;
// aapt resource value: 0x7f0d008d
public const int status_bar_notification_info_overflow = 2131558541;
@@ -7966,8 +7957,8 @@ namespace Opus
// aapt resource value: 0x7f0d00de
public const int stop_sync = 2131558622;
- // aapt resource value: 0x7f0d010b
- public const int stop_syncing = 2131558667;
+ // aapt resource value: 0x7f0d0109
+ public const int stop_syncing = 2131558665;
// aapt resource value: 0x7f0d003d
public const int summary_collapsed_preference_list = 2131558461;
@@ -7978,65 +7969,65 @@ namespace Opus
// aapt resource value: 0x7f0d00dd
public const int sync_now = 2131558621;
+ // aapt resource value: 0x7f0d0133
+ public const int sync_remove = 2131558707;
+
+ // aapt resource value: 0x7f0d00f0
+ public const int syncing = 2131558640;
+
+ // aapt resource value: 0x7f0d0151
+ public const int tap_details = 2131558737;
+
// aapt resource value: 0x7f0d0135
- public const int sync_remove = 2131558709;
+ public const int theme = 2131558709;
- // aapt resource value: 0x7f0d00f2
- public const int syncing = 2131558642;
-
- // aapt resource value: 0x7f0d0153
- public const int tap_details = 2131558739;
-
- // aapt resource value: 0x7f0d0137
- public const int theme = 2131558711;
-
- // aapt resource value: 0x7f0d0138
- public const int theme_dialog = 2131558712;
+ // aapt resource value: 0x7f0d0136
+ public const int theme_dialog = 2131558710;
// aapt resource value: 0x7f0d00c4
public const int timer = 2131558596;
- // aapt resource value: 0x7f0d0146
- public const int timout = 2131558726;
+ // aapt resource value: 0x7f0d0144
+ public const int timout = 2131558724;
- // aapt resource value: 0x7f0d0115
- public const int title = 2131558677;
+ // aapt resource value: 0x7f0d0113
+ public const int title = 2131558675;
- // aapt resource value: 0x7f0d0142
- public const int undo = 2131558722;
+ // aapt resource value: 0x7f0d0140
+ public const int undo = 2131558720;
- // aapt resource value: 0x7f0d011d
- public const int undo_change = 2131558685;
+ // aapt resource value: 0x7f0d011b
+ public const int undo_change = 2131558683;
// aapt resource value: 0x7f0d00e0
public const int unfork = 2131558624;
- // aapt resource value: 0x7f0d010c
- public const int unfork_playlist = 2131558668;
+ // aapt resource value: 0x7f0d010a
+ public const int unfork_playlist = 2131558666;
- // aapt resource value: 0x7f0d0147
- public const int unknow = 2131558727;
+ // aapt resource value: 0x7f0d0145
+ public const int unknow = 2131558725;
// aapt resource value: 0x7f0d00bb
public const int up_next = 2131558587;
- // aapt resource value: 0x7f0d014d
- public const int up_to_date = 2131558733;
-
- // aapt resource value: 0x7f0d0125
- public const int up_to_date_status = 2131558693;
-
// aapt resource value: 0x7f0d014b
- public const int update = 2131558731;
+ public const int up_to_date = 2131558731;
- // aapt resource value: 0x7f0d014c
- public const int update_message = 2131558732;
+ // aapt resource value: 0x7f0d0123
+ public const int up_to_date_status = 2131558691;
+
+ // aapt resource value: 0x7f0d0149
+ public const int update = 2131558729;
// aapt resource value: 0x7f0d014a
- public const int update_no_internet = 2131558730;
+ public const int update_message = 2131558730;
- // aapt resource value: 0x7f0d0150
- public const int updating = 2131558736;
+ // aapt resource value: 0x7f0d0148
+ public const int update_no_internet = 2131558728;
+
+ // aapt resource value: 0x7f0d014e
+ public const int updating = 2131558734;
// aapt resource value: 0x7f0d003e
public const int v7_preference_off = 2131558462;
@@ -8044,35 +8035,35 @@ namespace Opus
// aapt resource value: 0x7f0d003f
public const int v7_preference_on = 2131558463;
- // aapt resource value: 0x7f0d013d
- public const int version = 2131558717;
+ // aapt resource value: 0x7f0d013b
+ public const int version = 2131558715;
- // aapt resource value: 0x7f0d0131
- public const int volume = 2131558705;
+ // aapt resource value: 0x7f0d012f
+ public const int volume = 2131558703;
- // aapt resource value: 0x7f0d0139
- public const int white_theme = 2131558713;
+ // aapt resource value: 0x7f0d0137
+ public const int white_theme = 2131558711;
- // aapt resource value: 0x7f0d012e
- public const int yes = 2131558702;
+ // aapt resource value: 0x7f0d012c
+ public const int yes = 2131558700;
- // aapt resource value: 0x7f0d0145
- public const int youtube_endpoint = 2131558725;
-
- // aapt resource value: 0x7f0d00fe
- public const int youtube_loading_error = 2131558654;
-
- // aapt resource value: 0x7f0d0100
- public const int youtube_playlist_empty = 2131558656;
+ // aapt resource value: 0x7f0d0143
+ public const int youtube_endpoint = 2131558723;
// aapt resource value: 0x7f0d00fc
- public const int youtube_playlists = 2131558652;
+ public const int youtube_loading_error = 2131558652;
+
+ // aapt resource value: 0x7f0d00fe
+ public const int youtube_playlist_empty = 2131558654;
+
+ // aapt resource value: 0x7f0d00fa
+ public const int youtube_playlists = 2131558650;
// aapt resource value: 0x7f0d00b6
public const int youtube_search = 2131558582;
- // aapt resource value: 0x7f0d0118
- public const int youtubeid = 2131558680;
+ // aapt resource value: 0x7f0d0116
+ public const int youtubeid = 2131558678;
static String()
{
diff --git a/Opus/Resources/layout/HomeTopic.xml b/Opus/Resources/layout/HomeTopic.xml
deleted file mode 100644
index 7f0d396..0000000
--- a/Opus/Resources/layout/HomeTopic.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Opus/Resources/values-fr/strings.xml b/Opus/Resources/values-fr/strings.xml
index e79c1bb..a7ef2e1 100644
--- a/Opus/Resources/values-fr/strings.xml
+++ b/Opus/Resources/values-fr/strings.xml
@@ -184,7 +184,7 @@
L\'algorithme youtube a changé, l\'application ne peut plus lire cette vidéo. Attendez la prochaine mise a jour.
Timout, vérifier votre connection internet.
Une erreur inconnue est survenue.
- Cette musique n'est pas disponible dans votre pays.
+ Cette musique n\'est pas disponible dans votre pays.
ne peut pas être lu, l\'audio n\'est pas disponible.
Vous n\'êtes pas connecté a internet, impossible de verifier si des mises à jour existent.
La version %1$s est disponible