We don't need to call ``updateRelativeTimeViews`` when the activity is paused, because the user likely won't notice it.
Despite that onResume already calls ``updateRelativeTimeViews`` so there is no need to do that twice.
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (671 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 99.8% (671 of 672 strings)
Translated using Weblate (Bavarian)
Currently translated at 8.7% (59 of 672 strings)
Translated using Weblate (Bavarian)
Currently translated at 1.8% (1 of 53 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (672 of 672 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Bert <robert@it-aicher.de>
Co-authored-by: Evo <weblate@verahawk.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bar/
Translation: NewPipe/Metadata
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Somali)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Bavarian)
Currently translated at 6.6% (45 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Added translation using Weblate (Bavarian)
Translated using Weblate (Somali)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (German)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (French)
Currently translated at 67.9% (36 of 53 strings)
Translated using Weblate (Polish)
Currently translated at 49.0% (26 of 53 strings)
Translated using Weblate (Ukrainian)
Currently translated at 52.8% (28 of 53 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 18.8% (10 of 53 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Bert <robert@it-aicher.de>
Co-authored-by: Evo <weblate@verahawk.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: translator <yasinoc375@advew.com>
Co-authored-by: webweblate <webweblate@riseup.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
See https://github.com/TeamNewPipe/NewPipe/issues/6577#issuecomment-876095378
java.lang.ClassCastException: android.widget.ImageButton cannot be cast to androidx.appcompat.widget.AppCompatImageButton
at org.schabi.newpipe.player.Player.onRepeatModeChanged(Player.java:2263)
at com.google.android.exoplayer2.ExoPlayerImpl.lambda$setRepeatMode$2(ExoPlayerImpl.java:564)
at com.google.android.exoplayer2.-$$Lambda$ExoPlayerImpl$rgrcbaqP9Y8LgzdByBnAfUO4ydU.invokeListener(lambda)
at com.google.android.exoplayer2.BasePlayer$ListenerHolder.invoke(BasePlayer.java:279)
at com.google.android.exoplayer2.ExoPlayerImpl.invokeAll(ExoPlayerImpl.java:1498)
at com.google.android.exoplayer2.ExoPlayerImpl.lambda$notifyListeners$6(ExoPlayerImpl.java:1318)
at com.google.android.exoplayer2.-$$Lambda$ExoPlayerImpl$b59raXxaB-trjwE5bgpZInm1QnU.run(lambda)
at com.google.android.exoplayer2.ExoPlayerImpl.notifyListeners(ExoPlayerImpl.java:1328)
at com.google.android.exoplayer2.ExoPlayerImpl.notifyListeners(ExoPlayerImpl.java:1318)
at com.google.android.exoplayer2.ExoPlayerImpl.setRepeatMode(ExoPlayerImpl.java:564)
at com.google.android.exoplayer2.SimpleExoPlayer.setRepeatMode(SimpleExoPlayer.java:1636)
at org.schabi.newpipe.player.Player.setRepeatMode(Player.java:2253)
at org.schabi.newpipe.player.Player.onRepeatClicked(Player.java:2232)
at org.schabi.newpipe.player.Player.onBroadcastReceived(Player.java:1123)
at org.schabi.newpipe.player.Player.access$200(Player.java:190)
at org.schabi.newpipe.player.Player$3.onReceive(Player.java:1060)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1185)
... 7 more
Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often)
can trigger this error message. Especially if rotation for whatever reason takes long or
playing a high resolution (1080p) video.
The underlying logcat error messages:
05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810
05-12 16:38:38.251 24920 26037 W ACodec : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window
The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant
(VideoDetailFragment) SurfaceView.
Solution:
Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface.
How?: In case we are no longer able to write to the Surface eg. through rotation/putting in
background we can set a DummySurface. Although it only works on API >= 23.
Result: we get a little video interruption (audio is still fine) but we won't get the
'Unrecoverable player error occurred' error message.
This implementation is based on and more background information:
'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703'
-> exoplayer fix suggestion link
https://github.com/google/ExoPlayer/issues/2703#issuecomment-300599981
- bugfix: have ServiceConnection created only once!
- select the context within the PlayerHolder to start, stop, bind or unbind the service
-> we have to make sure the Service is started AND stopped within the same context
-> so let PlayerHolder be the one to select the context
- remove removeListener() and replace the call with setListener(null)
- Compatibility: use ContextCompat.startForegroundService instead of startService()
Currently translated at 22.6% (12 of 53 strings)
Translated using Weblate (Bengali)
Currently translated at 92.4% (621 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 99.2% (667 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 99.2% (667 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 99.1% (666 of 672 strings)
Translated using Weblate (Hungarian)
Currently translated at 85.8% (577 of 672 strings)
Translated using Weblate (Serbian)
Currently translated at 20.7% (11 of 53 strings)
Translated using Weblate (Ukrainian)
Currently translated at 7.5% (4 of 53 strings)
Translated using Weblate (Galician)
Currently translated at 90.6% (609 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Esperanto)
Currently translated at 82.7% (556 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 98.3% (661 of 672 strings)
Translated using Weblate (Basque)
Currently translated at 98.3% (661 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Polish)
Currently translated at 49.0% (26 of 53 strings)
Translated using Weblate (Lithuanian)
Currently translated at 5.6% (3 of 53 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 99.8% (671 of 672 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Slovak)
Currently translated at 99.4% (668 of 672 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Japanese)
Currently translated at 99.7% (670 of 672 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (French)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (German)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (English)
Currently translated at 99.8% (671 of 672 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: GM <muziejusinfo@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Josu <bi000@protonmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Web0nst <web0nst@tuta.io>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: tdayris-perso <tdayris@tutanota.de>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
Currently translated at 48.0% (25 of 52 strings)
Translated using Weblate (Interlingua)
Currently translated at 40.9% (275 of 672 strings)
Translated using Weblate (Telugu)
Currently translated at 20.9% (141 of 672 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Serbian)
Currently translated at 19.2% (10 of 52 strings)
Translated using Weblate (Portuguese)
Currently translated at 51.9% (27 of 52 strings)
Translated using Weblate (Estonian)
Currently translated at 96.1% (646 of 672 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 99.8% (671 of 672 strings)
Translated using Weblate (Esperanto)
Currently translated at 82.2% (553 of 672 strings)
Translated using Weblate (Portuguese)
Currently translated at 97.0% (652 of 672 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (French)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Ukrainian)
Currently translated at 98.8% (664 of 672 strings)
Translated using Weblate (Hebrew)
Currently translated at 48.0% (25 of 52 strings)
Translated using Weblate (Bengali)
Currently translated at 21.1% (11 of 52 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Portuguese)
Currently translated at 95.3% (641 of 672 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (German)
Currently translated at 57.6% (30 of 52 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Greek)
Currently translated at 99.8% (671 of 672 strings)
Translated using Weblate (Japanese)
Currently translated at 99.7% (670 of 672 strings)
Translated using Weblate (French)
Currently translated at 99.5% (669 of 672 strings)
Translated using Weblate (German)
Currently translated at 100.0% (672 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (52 of 52 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.4% (668 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.4% (668 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 98.9% (665 of 672 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 98.9% (665 of 672 strings)
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Babul Hossain <babulssf@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Michal L <michalrmsmi@wp.pl>
Co-authored-by: Rama Devi <nramadevini@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Volk VDolgu <volkvdolg@gmail.com>
Co-authored-by: WaldiS <sto@tutanota.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tdayris-perso <tdayris@tutanota.de>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: zmni <zamani.karmana@gmail.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
instead use service.stopService() which inturn calls stopSelf() and
triggers hopefully onDestroy() to be called. Eventually we have to make
sure that all ServiceConnections are closed to successfully stop the service
now!
Cleanup within stopService() and not only onDestroy()
So we make sure that all listeners can react to onServiceStopped()
and close their ServiceConnections. Afterwards the android framework
is ready to stop the Service.
This patch changes click handlers for feed (Whats new) so that they do
nothing while the feed is refreshing and the items being clicked are not
visible.
It seems due to #6394 updating the FragmentX library there was a
change to the order of lifecycle calls, as such onResume() was no longer
before onCreateOptionsMenu() creating a null pointer exception when
using service in onCreateOptionsMenu() as it is only set in onResume().
By moving the initialization of service to onStart() which still happens
before onCreateOptionsMenu() this crash can be avoided. This commit also
adds a check for a null service to prevent future crashes for similar
issues.