The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
The old way is marked as deprecated.
> Properties should be assigned using the 'propName = value' syntax. Setting a
> property via the Gradle-generated 'propName value' or 'propName(value)'
> syntax in Groovy DSL has been deprecated.
When playing a podcast in the background, receiving a notification will
trigger a pause of the playback, for the notification to pass, then will
resume playback and seek backwards so the user doesn't miss any audio.
In the delayedPodcastRunnable of VLCAudioFocusHelper, resumePlayback()
and service.seek(position, fromUser = true) are called in sequence.
Both trigger a showNotification, resumePlayback through the libvlc event
Playing, seek right in it's function.
Problem is, seek will trigger the showNotification before the event
Playing happens. showNotificationInternal of PlaybackService will call
stopForeground when called while playback is stopped. Then
showNotification called from playback resuming will try to
startForeground to ensure the service isn't killed by the system, which
is not allowed as startForeground can only be called with the app in the
foreground or through user inputs like the notification buttons,
see https://developer.android.com/develop/background-work/services/fgs/
restrictions-bg-start.
To avoid calling stopForeground, seek should not be called from
VLCAudioFocusHelper with the fromUser parameter true, though we do need
to updateState should still be called to update the auto ui.
Fixes#3218
GRADLE_ABI is never set when building the APK from the build script or in AndroidStudio.
outputAbi is always null for me, but maybe it works in other systems.
Flags are not applied to the media in mediaList but to the media from
medialibrary, once out of playIndex, it doesn't have any flags anymore.
When changing media, it triggers a doUpdate in the audio player that
triggers a switchToVideo, if the media can switch to video and doesn't
have the MEDIA_FORCE_AUDIO flag, it switches back to video
This applies time from medialibrary to media from mediaList.
This fixes a regression introduced with
ea39df7bb7
and follow up 50402c904b