Commit Graph

9153 Commits

Author SHA1 Message Date
XiangRongLin 9c636f5ee2 Specify emulator-build version in CI job
This is a workaround for the emulator bug https://github.com/ReactiveCircus/android-emulator-runner/issues/160
2021-07-06 16:26:01 +02:00
evermind f78d2a5ed8 Prevent error msg: 'Unrecoverable player error occurred' while playing video during rotation (#6502)
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
2021-07-06 12:49:56 +02:00
evermind 48c2c156cb convert PlayerHolder to Singleton, handle context within, bugfix ServiceConnection leak
- 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()
2021-07-06 12:31:26 +02:00
evermind 435813355f use viewBinding correctly 2021-07-06 07:56:05 +02:00
evermind e30a552b6c remove duplicated code for toggle Fullscreen 2021-07-06 07:56:00 +02:00
evermind 22a4a4b2df move null checks for player and playerService to helper methods
- code is easier to read
- duplication of code reduced
2021-07-06 07:55:52 +02:00
opusforlife2 5ac418aa61
Merge pull request #6593 from mhmdanas/add-question-template
Add question template
2021-07-06 04:45:39 +00:00
Mohammed Anas d8a0a74d47
Allow asking multiple questions at once 2021-07-05 13:12:54 +00:00
Tobi 3931c0d200
Merge pull request #6545 from chr56/fix_zh
[Localization]Fix Simplified Chinese Plural
2021-07-04 20:30:36 +02:00
Hosted Weblate e26607fbd1
Translated using Weblate (Bengali)
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
2021-07-04 17:53:05 +02:00
TobiGr a63683e6b8 Update extractor version 2021-07-04 17:46:07 +02:00
Tobi 83b198f6fe
Merge pull request #6570 from Redirion/fixnpe
Fix NPE when connecting via BT
2021-07-03 11:18:02 +02:00
mhmdanas 23f6e1084b Add question template 2021-07-02 00:31:20 +03:00
TobiGr 99335bab7a Add changelog for 0.21.6 (972) 2021-06-26 17:34:09 +02:00
Hosted Weblate 33fbc889fb
Translated using Weblate (Polish)
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
2021-06-26 15:57:58 +02:00
Robin 201e5ee09d Fix NPE when connecting via BT 2021-06-25 09:14:15 +02:00
bopol c398308872
Merge pull request #6539 from TeamNewPipe/screenshots_for_UI_changes
Ask for screenshots/video of UI changes in PR template
2021-06-24 17:25:15 +02:00
opusforlife2 090c063644
Address Bopol's review
Changed the location, added option to delete, and also fixed a tiny grammar thingy.
2021-06-24 15:15:12 +00:00
opusforlife2 ec40c8ed1e
Merge pull request #6482 from Stypox/build-instructions
Update Build instructions to make it easier for contributors to start contributing.
2021-06-24 15:02:59 +00:00
TiA4f8R 78a99526a9
Merge pull request #6557 from B0pol/invidious-instances
Update Invidious instances and support Piped links
2021-06-24 12:24:11 +02:00
Stypox 25914b0263
Third round of review 2021-06-24 10:46:53 +02:00
evermind aaa3e20c5a service.onDestroy() should only be called from the system and not manually
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.
2021-06-24 10:15:07 +02:00
bopol 0da8e28651
Merge pull request #6558 from Douile/fix/searchfragment-null-service
Fix null pointer exception when displaying SearchFragment
2021-06-24 09:16:00 +02:00
bopol d7dcfa5729 Update Extractor version 2021-06-24 09:00:15 +02:00
bopol 65824ff64d Update Invidious instances 2021-06-24 08:59:02 +02:00
bopol 63cad7ebb0
Merge pull request #6562 from TeamNewPipe/disable_instrumented_ci
Comment out test-android CI job
2021-06-24 08:55:12 +02:00
XiangRongLin b996fa7eef Add comments explaining decisions in test-android ci job 2021-06-23 20:16:23 +02:00
XiangRongLin 5ebf3726ed Comment out test-android CI job 2021-06-23 20:14:27 +02:00
TiA4f8R 484c852efd
Merge pull request #6556 from B0pol/kotlin-style
Refactoring by Android Studio
2021-06-23 18:39:53 +02:00
bopol 25cf8dc20a Refactoring by Android Studio 2021-06-23 14:30:01 +02:00
Douile cb1a138140
#6081: Disable feed click handlers during refresh
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.
2021-06-22 19:42:20 +01:00
Douile 384ca66205
#6522: Fix null pointer exception when displaying SearchFragment
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.
2021-06-22 16:52:02 +01:00
chr_56 46bfec66cb Localization: Fix Simplified Chinese Plural
one -> other
2021-06-22 18:52:28 +08:00
TacoTheDank afe06b379f Update some libraries 2021-06-20 17:26:59 -04:00
opusforlife2 a9e85abd7f
Ask for screenshots/video of UI changes
If the PR author has changed the UI of the app, they should include screenshots or a video so that developers and users alike can pinpoint exactly what changed.
2021-06-20 21:15:25 +00:00
TacoTheDank 08d4651ef0 Add mavenCentral, de-prioritize jcenter 2021-06-20 15:44:17 -04:00
Mohammed Anas 62b4f333bb
Don't enable SAF on Fire TV (#6516) 2021-06-20 19:01:06 +00:00
TacoTheDank 02b0909829 Fix onActivityResult deprecation in MissionsFragment 2021-06-20 14:14:54 -04:00
TacoTheDank ae39b31c68 Fix onActivityResult deprecation in DownloadDialog 2021-06-20 14:14:44 -04:00
TacoTheDank e5a1438673 Fix onActivityResult deprecation in DownloadSettingsFragment 2021-06-20 14:11:00 -04:00
TacoTheDank 72d305b283 Update AndroidX Fragment to 1.3.5 2021-06-20 13:47:12 -04:00
XiangRongLin 785c0376f8 Remove variable ContentSettingsFragment.lastImportExportDataUri
Instead pass the value through the methods as parameter
2021-06-20 09:30:59 +02:00
XiangRongLin 0bdf8de38e Resolve sonar issues in ContentSettingsFragment
https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS2885&rule_key=java%3AS2885

https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS112&rule_key=java%3AS112
2021-06-20 09:30:59 +02:00
bopol 6c575511be
Merge pull request #6528 from TacoTheDank/annotate-methods
Annotate some overridden methods and parameters as NonNull
2021-06-20 09:26:05 +02:00
XiangRongLin 9767e98e50 Remove option to immediately commit pref changes on import
System is now not restarted with `System.exit(0)`.
Instead it is done properly by finishing the activity and restarting the activity. This allows preference changes which are queued up asynchronously through `apply` to be applied.
2021-06-20 09:17:55 +02:00
TacoTheDank 79deff3261 Annotate some overridden methods and parameters as NonNull 2021-06-19 18:37:02 -04:00
Saurav Rao 0782410a14
Update colors.xml 2021-06-19 04:05:35 +05:30
Robin f5d015e8f9 Use ExoPlayer default values for buffers 2021-06-18 20:18:24 +02:00
Stypox 74ad488f4a
Merge pull request #6394 from TacoTheDank/androidx-fragment-134
Update AndroidX Fragment to 1.3.4
2021-06-18 13:14:30 +02:00
Stypox 0db3406ad8
Fix SonarLint references and explanation 2021-06-18 12:26:50 +02:00