[Android] [PATCH] Add 'Insert next'
Jens Jawer
jade at skygreen.de
Sat Apr 1 23:02:02 CEST 2017
Strange, looks like my mailer inserted additional line breaks...
Rebased on current master and now sent using git's mailer.
On 2017-03-30 16:00, Geoffrey Métais wrote:
> I don't manage to apply your patch :/
>
> Le ven. 24 mars 2017 à 21:05, Jens Jawer <jade at skygreen.de> a écrit
> :
>
>> Adds menu entry to insert files after the currently playing (#241).
>>
>> ---
>> vlc-android/res/menu/audio_list_browser.xml | 5 +++-
>> vlc-android/res/values-de/strings.xml | 1 +
>> vlc-android/res/values/strings.xml | 1 +
>> .../src/org/videolan/vlc/PlaybackService.java | 33
>> ++++++++++++++++++++++
>> .../src/org/videolan/vlc/gui/PlaylistActivity.java | 3 ++
>> .../vlc/gui/audio/AudioAlbumsSongsFragment.java | 3 ++
>> .../vlc/gui/audio/AudioBrowserFragment.java | 3 ++
>> 7 files changed, 48 insertions(+), 1 deletion(-)
>>
>> diff --git a/vlc-android/res/menu/audio_list_browser.xml
>> b/vlc-android/res/menu/audio_list_browser.xml
>> index f17432c..c4dcdad 100644
>> --- a/vlc-android/res/menu/audio_list_browser.xml
>> +++ b/vlc-android/res/menu/audio_list_browser.xml
>> @@ -7,6 +7,9 @@
>> <item
>> android:id="@+id/audio_list_browser_append"
>> android:title="@string/append" />
>> + <item
>> + android:id="@+id/audio_list_browser_insert_next"
>> + android:title="@string/insert_next" />
>> <group android:id="@+id/songs_view_only">
>> <item
>> android:id="@+id/audio_list_browser_play_all"
>> @@ -27,4 +30,4 @@
>> android:title="@string/set_song"/>
>> </group>
>>
>> -</menu>
>> \ No newline at end of file
>> +</menu>
>> diff --git a/vlc-android/res/values-de/strings.xml
>> b/vlc-android/res/values-de/strings.xml
>> index 8ea9482..e4463b6 100644
>> --- a/vlc-android/res/values-de/strings.xml
>> +++ b/vlc-android/res/values-de/strings.xml
>> @@ -24,6 +24,7 @@
>> <string name="play_as_audio_background">Videos im Hintergrund
>> abspielen</string>
>> <string
>> name="play_as_audio_background_summary">Video-Wiedergabe im
>> Hintergund fortsetzen, wenn der Gerätebildschirm ausgeschaltet oder
>> der
>> HOME-Button gedrückt wurde.</string>
>> <string name="append">Anhängen</string>
>> + <string name="insert_next">Einfügen als Nächstes</string>
>> <string name="play_all">Alle wiedergeben</string>
>> <string name="append_all">Alle anhängen</string>
>> <string name="last_playlist">Letzte Wiedergabeliste</string>
>> diff --git a/vlc-android/res/values/strings.xml
>> b/vlc-android/res/values/strings.xml
>> index cea6a3f..5a50c75 100644
>> --- a/vlc-android/res/values/strings.xml
>> +++ b/vlc-android/res/values/strings.xml
>> @@ -28,6 +28,7 @@
>> <string name="play_as_audio_background">Play videos in
>> background</string>
>> <string name="play_as_audio_background_summary">Continue video
>> playback in background when turning device screen off or clicking
>> HOME
>> button.</string>
>> <string name="append">Append</string>
>> + <string name="insert_next">Insert next</string>
>> <string name="play_all">Play all</string>
>> <string name="append_all">Append all</string>
>> <string name="last_playlist">Last playlist</string>
>> diff --git a/vlc-android/src/org/videolan/vlc/PlaybackService.java
>> b/vlc-android/src/org/videolan/vlc/PlaybackService.java
>> index 9ad1e17..48f244c 100644
>> --- a/vlc-android/src/org/videolan/vlc/PlaybackService.java
>> +++ b/vlc-android/src/org/videolan/vlc/PlaybackService.java
>> @@ -2051,6 +2051,39 @@ public class PlaybackService extends
>> MediaBrowserServiceCompat implements IVLCVo
>> }
>>
>> /**
>> + * Insert into the current existing playlist
>> + */
>> +
>> + @MainThread
>> + public void insertNext(MediaWrapper[] mediaList) {
>> + insertNext(Arrays.asList(mediaList));
>> + }
>> +
>> + @MainThread
>> + public void insertNext(List<MediaWrapper> mediaList) {
>> + if (!hasCurrentMedia()) {
>> + load(mediaList, 0);
>> + return;
>> + }
>> +
>> + int startIndex = mCurrentIndex + 1;
>> +
>> + for (int i = 0; i < mediaList.size(); i++) {
>> + MediaWrapper mediaWrapper = mediaList.get(i);
>> + mMediaList.insert(startIndex + i, mediaWrapper);
>> + }
>> + onMediaListChanged();
>> + updateMediaQueue();
>> + }
>> +
>> + @MainThread
>> + public void insertNext(MediaWrapper media) {
>> + ArrayList<MediaWrapper> arrayList = new ArrayList<>();
>> + arrayList.add(media);
>> + insertNext(arrayList);
>> + }
>> +
>> + /**
>> * Move an item inside the playlist.
>> */
>> @MainThread
>> diff --git
>> a/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.java
>> b/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.java
>> index 0fdd39e..29745ab 100644
>> --- a/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.java
>> +++ b/vlc-android/src/org/videolan/vlc/gui/PlaylistActivity.java
>> @@ -315,6 +315,9 @@ public class PlaylistActivity extends
>> AudioPlayerContainerActivity implements IE
>> } else if (id == R.id.audio_list_browser_append) {
>> mService.append(media);
>> return true;
>> + } else if (id == R.id.audio_list_browser_insert_next) {
>> + mService.insertNext(media);
>> + return true;
>> } else if (id == R.id.audio_list_browser_delete) {
>> mAdapter.remove(media);
>> UiTools.snackerWithCancel(getWindow().getDecorView(),
>> getString(R.string.file_deleted), new Runnable() {
>> diff --git
>>
> a/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.java
>>
> b/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.java
>> index e15e955..b79e774 100644
>> ---
>>
> a/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.java
>> +++
>>
> b/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.java
>> @@ -200,6 +200,7 @@ public class AudioAlbumsSongsFragment extends
>> BaseAudioBrowser implements SwipeR
>>
>> boolean useAllItems = id ==
>> R.id.audio_list_browser_play_all;
>> boolean append = id == R.id.audio_list_browser_append;
>> + boolean insert_next = id ==
>> R.id.audio_list_browser_insert_next;
>>
>> if (id == R.id.audio_list_browser_delete) {
>>
>> @@ -254,6 +255,8 @@ public class AudioAlbumsSongsFragment extends
>> BaseAudioBrowser implements SwipeR
>> if (mService != null) {
>> if (append)
>> mService.append(medias);
>> + else if (insert_next)
>> + mService.insertNext(medias);
>> else
>> mService.load(medias, startPosition);
>> return true;
>> diff --git
>>
> a/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.java
>>
> b/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.java
>> index 4ae3704..967412f 100644
>> ---
>>
> a/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.java
>> +++
>>
> b/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.java
>> @@ -350,6 +350,7 @@ public class AudioBrowserFragment extends
>> BaseAudioBrowser implements DevicesDis
>>
>> boolean useAllItems = id ==
>> R.id.audio_list_browser_play_all;
>> boolean append = id == R.id.audio_list_browser_append;
>> + boolean insert_next = id ==
>> R.id.audio_list_browser_insert_next;
>>
>> // Play/Append
>> if (useAllItems) {
>> @@ -368,6 +369,8 @@ public class AudioBrowserFragment extends
>> BaseAudioBrowser implements DevicesDis
>> if (mService != null) {
>> if (append)
>> mService.append(medias);
>> + else if (insert_next)
>> + mService.insertNext(medias);
>> else
>> mService.load(medias, startPosition);
>> return true;
>> --
>> 2.7.4
>>
>> _______________________________________________
>> Android mailing list
>> Android at videolan.org
>> https://mailman.videolan.org/listinfo/android
> _______________________________________________
> Android mailing list
> Android at videolan.org
> https://mailman.videolan.org/listinfo/android
More information about the Android
mailing list