Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc-android
  • thresh/vlc-android
  • Dekans/vlc-android
  • robUx4/vlc-android
  • tguillem/vlc-android
  • Corbax/vlc-android
  • judeosby/vlc-android
  • chouquette/vlc-android
  • washingtonmurphy93/vlc-android
  • wipawanbeadklang540/vlc-android
  • xcorail/vlc-android
  • Aza/vlc-android
  • Skantes/vlc-android
  • filipjares/vlc-android
  • kazemihabib/vlc-android
  • amq10x/vlc-android
  • qadrian370/vlc-android
  • shivanshs9/vlc-android
  • vitaliyg2/vlc-android
  • orgads/vlc-android
  • rom1v/vlc-android
  • evidence/vlc-android
  • lk888/vlc-android
  • Klaus81/vlc-android
  • EwoutH/vlc-android
  • XilasZ/vlc-android
  • pawelpablo1975/vlc-android
  • uae2ae/vlc-android
  • Garf/vlc-android
  • abetatsunori7/vlc-android
  • ePirat/vlc-android
  • magsoft/vlc-android
  • quink/vlc-android
  • Ektos974/vlc-android
  • CymGen30/vlc-android
  • b1ue/vlc-android
  • alessiavalenti8/vlc-android
  • bars27101982/vlc-android
  • billybanda18/vlc-android
  • dklvip/vlc-android
  • sherylynn/vlc-android
  • ramcoach5/vlc-android
  • takise/vlc-android
  • peibolovedie/vlc-android
  • AMHeijboer/vlc-android
  • dahburj/vlc-android
  • gobennyb/vlc-android
  • masripmasrip824/vlc-android
  • bubu/vlc-android
  • tmk907/vlc-android
  • gorbahaaa/vlc-android
  • govind3321/vlc-android
  • jamieboyer42818/vlc-android
  • mrtakilapop/vlc-android
  • kazikarter90/vlc-android
  • chunyie771/vlc-android
  • nop404/vlc-android
  • hcalzazperz/vlc-android
  • zagwojtek69/vlc-android
  • nikonnick24/vlc-android
  • gmohiuddin215/vlc-android
  • stheinthan31/vlc-android
  • rogelioloreto29/vlc-android
  • philippestcyr5/vlc-android
  • Happyheather20/vlc-android
  • jimbobmcgee/vlc-android
  • mohwie/vlc-android
  • HeartBeat1608/vlc-android
  • jahan/vlc-android
  • Kevo1987/vlc-android
  • rrangel3584/vlc-android
  • xfridrich/vlc-android
  • devswami23/vlc-android
  • Isira-Seneviratne/vlc-android
  • PartyPhone22/vlc-android
  • kmajeshkrishnan/vlc-android
  • ramirotorresjr/vlc-android
  • aaronsalas469/vlc-android
  • arnan.np31/vlc-android
  • hkosacki/vlc-android
  • mg0691872/vlc-android
  • louregni/vlc-android
  • ritmapp/vlc-android
  • diegofn/vlc-android
  • s-ayush2903/vlc-android
  • chrisbohn1984/vlc-android
  • alexandre-janniaux/vlc-android
  • optimumpr/vlc-android
  • chirag-jn/vlc-android
  • e9ab98e991ab/vlc-android
  • suvDev/vlc-android
  • killthelord/vlc-android
  • Phoenix/vlc-android
  • soriyallc/vlc-android
  • tda1009/vlc-android
  • rhstone/vlc-android
  • ltnokiago/vlc-android
  • elbrujo1987/vlc-android
  • m1s4k1/vlc-android
  • mdc/vlc-android
  • arnaudj/vlc-android
  • abhinavmarwaha/vlc-android
  • dali546/vlc-android
  • Jeffset/vlc-android
  • megan30/vlc-android
  • lizhengdao/vlc-android
  • YajTPG/vlc-android
  • halcyon/vlc-android
  • ilya.yanok/vlc-android
  • jeramydhallmon/vlc-android
  • tijoemecano77/vlc-android
  • cjcj125125/vlc-android
  • dejan2609/vlc-android
  • JATIN2111999/vlc-android
  • imrohitkumar/vlc-android
  • sagudev/vlc-android
  • ILoveLin/vlc-android
  • tfighiera/vlc-android
  • snehil101/vlc-android
  • MKornelsen/vlc-android
  • m/vlc-android
  • core1024/vlc-android
  • vadimdolgachev/vlc-android
  • Kk77539/vlc-android
  • linzj/vlc-android
  • dantalian-pv/vlc-android
  • admkhalid/vlc-android
  • yaron/vlc-android
  • kn21091974/vlc-android
  • mylove1302/vlc-android
  • roblav96/vlc-android
  • alabiaga/vlc-android
  • kmnaveen101/vlc-android
  • nikiforoff1407/vlc-android
  • Android-Jester/vlc-android
  • frieda.rtwski/vlc-android
  • glaciers7506/vlc-android
  • rahul-gill/vlc-android
  • gaoxugang/vlc-android
  • Rishavgupta12345/vlc-android
  • dinho991556460/vlc-android
  • lighterowl/vlc-android
  • mary-kate/vlc-android
  • adnank20216/vlc-android
  • anthonylgutierrez79/vlc-android
  • Heliottw/vlc-android
  • mu1zix.ft3/vlc-android
  • yvesmaltais1212/vlc-android
  • ereme/vlc-android
  • jhonypalomino829/vlc-android
  • mx1up/vlc-android
  • sjwaddy/vlc-android
  • MohitMandalia/vlc-android
  • temaershov/vlc-android
  • js6pak/vlc-android
  • mishikallu/vlc-android
  • irfanmumtaz008/vlc-android
  • smurfohrachie/vlc-android
  • Goooler/vlc-android
  • eldo203050/vlc-android
  • dejesuszeus99/vlc-android
  • mfkl/vlc-android
  • Samfun75/vlc-android
  • markg85/vlc-android-ipfs
  • doktamelek911/vlc-android
  • wikwity/vlc-android
  • aangelmaker/vlc-android
  • krawczykradek119/vlc-android
  • ylz18180813163/vlc-android
  • galaxy9sx3/vlc-android
  • huajie2020/vlc-android
  • XuanTung95/vlc-android
  • kl/vlc-android
  • melihyolcu83/vlc-android
  • rt1shnik/vlc-android
  • jerryboy307/vlc-android
  • ikeuzochukwu6/vlc-android
  • patrikgolis/vlc-android
  • Ismavv/vlc-android
  • clementosumo/vlc-android
  • joshlamp66/vlc-android
  • nkmoyonyathiericyounge/vlc-android
  • DanTm99/vlc-android
  • Jeffrow41/vlc-android
  • fromphfr/vlc-android
  • 16project/vlc-android
  • Tomas8874/vlc-android
  • fixxxer87/vlc-android
  • sanjay/vlc-android
  • franciscojrp/vlc-android
  • cashellauswaus23/vlc-android
  • hengwu0/vlc-android
  • naythu2020rain/vlc-android
  • TongtengInhole/vlc-android
  • pupdoggy666/vlc-android
  • jcj921013/vlc-android
  • Gc6026/vlc-android
  • crijojc/vlc-android
  • mdrewight/vlc-android
  • davidhaywood0782/vlc-android
  • jbschtt/vlc-android
  • macfarlandcamel/vlc-android
  • syazairi/vlc-android
  • Commander01/vlc-android
  • baileyterry014/vlc-android
  • rodrickfranklin38/vlc-android
  • diego1245hernb/vlc-android
  • anton.canada/vlc-android
  • egazaekb/vlc-android
  • Marissa111113/vlc-android
  • jeinerbruno2/vlc-android
  • wehnie13/vlc-android
  • ozill87/vlc-android
  • legionfso/vlc-android
  • anazahirajoel/vlc-android
  • naomirojas1227/vlc-android
  • xbao/vlc-android
  • antoni.kozubek/vlc-android
  • pajela8482/vlc-android
  • karlfandango55/vlc-android
  • ruanbester07/vlc-android
  • chigita73/vlc-android
  • giu.pat6/vlc-android
  • Aura/vlc-android
  • marcwabo/vlc-android
  • contact.adgrafix/vlc-android
  • exlaverdad/vlc-android
  • simon.marquis88/vlc-android
  • youngkinsamantha421/vlc-android
  • edgard1161/vlc-android
  • agzx77/vlc-android
  • ha7204993/vlc-android
  • alghazwani.jar.6090/vlc-android
  • zrowton1206/vlc-android
  • darek1979513/vlc-android
  • matthiaskett18198/vlc-android
  • kubadyr77/vlc-android
  • romanstudeny1982/vlc-android
  • kumar107375/vlc-android
  • schong0525/vlc-android
  • Kt/vlc-android
  • jovelyn.esconde125/vlc-android
  • corriemacbarnard/vlc-android
  • apisbg91/vlc-android
  • yyusea/vlc-android
  • protechq88/vlc-android
  • rmangaraman/vlc-android
  • soutomikel/vlc-android
  • goregladaleksej5/vlc-android
  • tao/vlc-android
  • aruiz595/vlc-android
  • horvathpeter1202/vlc-android
  • litteh82/vlc-android
  • kerriochoa96/vlc-android
  • skshemul2022/vlc-android
  • popy/vlc-android
  • mizadpanahdev/vlc-android
  • pinarim2035/vlc-android
  • davidgooch1127/vlc-android
  • NyanCatTW1/vlc-android
  • Pendynurcahyo/vlc-android
  • fcartegnie/vlc-android
  • xiaoxiao921/vlc-android
  • rjtoell/vlc-android
  • devanshu6445/vlc-android
  • DopeDo69/vlc-android
  • quimsical/vlc-android
  • nickita.koltsoff/vlc-android
  • zeestander8617/vlc-android
  • alexsonarin06/vlc-android
  • minh189999h/vlc-android
  • JonnycatMeow/vlc-android
  • pup.ragnarok.1984/vlc-android2
  • jlcalderon13/vlc-android
  • franciszekk51214/vlc-android
  • yinsheng996/vlc-android
  • KenN3RD/vlc-android
  • leogps/vlc-android
  • alicuteo0407/vlc-android
  • MessirVoland/vlc-android
  • brett2uk/vlc-android
  • thomas.hermes/vlc-android
  • dgyudin/vlc-android
  • anuoshemohammad/vlc-android
  • r7truong/vlc-android
  • aaa1115910/vlc-android
  • arunkennedy78/vlc-android
  • nicholaszarra0069/vlc-android
  • georgipetrovdochev/vlc-android
  • Nikhil-z/vlc-android
  • misb1033/vlc-android
  • ktcoooot1/vlc-android
  • manmuc5/vlc-android
  • ahwhatisinttaken/vlc-android
  • m.nozka90/vlc-android
  • kabeermuhammad124319/vlc-android
  • ANGELONCE/vlc-android
  • manstabuk/vlc-android
  • yajcoca/vlc-android
  • dreamscell83/vlc-android
  • oldsssteveo/vlc-android
  • c0ff330k/vlc-android
  • ZhangXinmin528/vlc-android
  • lacsimarnald09/vlc-android
  • boykaisaac758/vlc-android
  • ooseidesmond/vlc-android
  • andresbott/vlc-android
  • yolandawanttoplay/vlc-android
  • lapaz17/vlc-android
  • sillyearl0138/vlc-android
  • NF-Repo/vlc-android
  • aaasg4001/vlc-android
  • mongia.puneet/vlc-android
  • slablaykon/vlc-android
  • Shabgardtanha1111/vlc-android
  • Benjamin_Loison/vlc-android
  • ashishami2002/vlc-android
  • Niram7777/vlc-android
  • Yashraj254/vlc-android
  • Choucroute_melba/vlc-android
  • Soete/vlc-android
  • MangalK/vlc-android
  • mohak2003/vlc-android
  • advait-0/vlc-android
  • McLP/vlc-android
  • fhuber/vlc-android
  • sami-sweng/vlc-android
  • josiahcarlson/vlc-android
  • mzych/vlc-android
  • amarradi/vlc-android
330 results
Show changes
Commits on Source (39)
Showing
with 312 additions and 479 deletions
Changes between 3.4.3 Beta 6 and 3.4.3:
------------------
* Fix some rare crashes on the Sony Bravia devices
* Other crash fixes
Changes between 3.4.3 Beta 5 and 3.4.3 Beta 6:
------------------
* Fix the grid/list button state
* Crash fixes
Changes between 3.4.3 Beta 4 and 3.4.3 Beta 5:
------------------
* Fix the subtitles not working on some Android 12 devices
* Fix some graphical issues
* Crash fixes
Changes between 3.4.3 Beta 3 and 3.4.3 Beta 4:
------------------
* Remove donations
Changes between 3.4.3 Beta 2 and 3.4.3 Beta 3:
------------------
* Use the new file permission
* Crash fixes
Changes between 3.4.3 Beta 1 and 3.4.3 Beta 2: Changes between 3.4.3 Beta 1 and 3.4.3 Beta 2:
------------------ ------------------
* Translation update * Translation update
......
...@@ -57,11 +57,11 @@ class LegendView : ConstraintLayout, PlotViewDataChangeListener { ...@@ -57,11 +57,11 @@ class LegendView : ConstraintLayout, PlotViewDataChangeListener {
private fun initAttributes(attrs: AttributeSet, defStyle: Int) { private fun initAttributes(attrs: AttributeSet, defStyle: Int) {
attrs.let { attrs.let {
val a = context.theme.obtainStyledAttributes(attrs, R.styleable.LPGPlotView, 0, defStyle) val a = context.theme.obtainStyledAttributes(attrs, R.styleable.LPGLegendView, 0, defStyle)
try { try {
plotViewId = a.getResourceId(a.getIndex(R.styleable.LPGLegendView_lpg_plot_view), -1) plotViewId = a.getResourceId(R.styleable.LPGLegendView_lpg_plot_view, -1)
} catch (e: Exception) { } catch (e: Exception) {
Log.w("", e.message, e) Log.w("LegendView", e.message, e)
} finally { } finally {
a.recycle() a.recycle()
} }
...@@ -72,11 +72,12 @@ class LegendView : ConstraintLayout, PlotViewDataChangeListener { ...@@ -72,11 +72,12 @@ class LegendView : ConstraintLayout, PlotViewDataChangeListener {
super.onAttachedToWindow() super.onAttachedToWindow()
//workaround for editor //workaround for editor
if (!isInEditMode) { if (!isInEditMode) {
context?.let { (context as? Activity)?.let { activity ->
plotView = (it as Activity).findViewById(plotViewId) activity.findViewById<PlotView>(plotViewId)?.let {
if (!::plotView.isInitialized) throw IllegalStateException("A valid plot view has to be provided") plotView = it
plotView.addListener(this) plotView.addListener(this)
} }
} ?: Log.w("LegendView", "Cannot find the plot view with id $plotViewId")
} }
layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT
} }
......
...@@ -2,6 +2,8 @@ package org.videolan.resources.util ...@@ -2,6 +2,8 @@ package org.videolan.resources.util
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Handler
import android.os.Looper
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import kotlinx.coroutines.* import kotlinx.coroutines.*
import org.videolan.medialibrary.interfaces.Medialibrary import org.videolan.medialibrary.interfaces.Medialibrary
...@@ -76,7 +78,7 @@ fun Context.startMedialibrary(firstRun: Boolean = false, upgrade: Boolean = fals ...@@ -76,7 +78,7 @@ fun Context.startMedialibrary(firstRun: Boolean = false, upgrade: Boolean = fals
if (dbExists(coroutineContextProvider)) prefs.putSingle(KEY_MEDIALIBRARY_SCAN, ML_SCAN_ON) if (dbExists(coroutineContextProvider)) prefs.putSingle(KEY_MEDIALIBRARY_SCAN, ML_SCAN_ON)
} }
val intent = Intent(ACTION_INIT).setClassName(applicationContext, MEDIAPARSING_SERVICE) val intent = Intent(ACTION_INIT).setClassName(applicationContext, MEDIAPARSING_SERVICE)
launchForeground(this@startMedialibrary, intent launchForeground(intent
.putExtra(EXTRA_FIRST_RUN, firstRun) .putExtra(EXTRA_FIRST_RUN, firstRun)
.putExtra(EXTRA_UPGRADE, upgrade) .putExtra(EXTRA_UPGRADE, upgrade)
.putExtra(EXTRA_REMOVE_DEVICE, removeDevices) .putExtra(EXTRA_REMOVE_DEVICE, removeDevices)
...@@ -87,11 +89,15 @@ suspend fun Context.dbExists(coroutineContextProvider: CoroutineContextProvider ...@@ -87,11 +89,15 @@ suspend fun Context.dbExists(coroutineContextProvider: CoroutineContextProvider
File(getDir("db", Context.MODE_PRIVATE).toString() + Medialibrary.VLC_MEDIA_DB_NAME).exists() File(getDir("db", Context.MODE_PRIVATE).toString() + Medialibrary.VLC_MEDIA_DB_NAME).exists()
} }
fun Context.launchForeground(context: Context, intent: Intent) { fun Context.launchForeground(intent: Intent) {
try { try {
context.startService(intent) startService(intent)
} catch (e: IllegalStateException) { } catch (e: IllegalStateException) {
intent.putExtra("foreground", true) //wait for the UI thread to be ready
ContextCompat.startForegroundService(context, intent) val ctx = this
AppScope.launch(Dispatchers.Main) {
intent.putExtra("foreground", true)
ContextCompat.startForegroundService(ctx, intent)
}
} }
} }
\ No newline at end of file
...@@ -4,6 +4,8 @@ import android.Manifest ...@@ -4,6 +4,8 @@ import android.Manifest
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.os.Build
import android.os.Environment
import android.view.View import android.view.View
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import org.videolan.libvlc.util.AndroidUtil import org.videolan.libvlc.util.AndroidUtil
...@@ -65,9 +67,14 @@ fun MediaLibraryItem.getTracksCount() = when (itemType) { ...@@ -65,9 +67,14 @@ fun MediaLibraryItem.getTracksCount() = when (itemType) {
fun canReadStorage(context: Context): Boolean { fun canReadStorage(context: Context): Boolean {
return !AndroidUtil.isMarshMallowOrLater || ContextCompat.checkSelfPermission(context, return !AndroidUtil.isMarshMallowOrLater || ContextCompat.checkSelfPermission(context,
Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED || isExternalStorageManager()
} }
/**
* Check if the app has the [Manifest.permission.MANAGE_EXTERNAL_STORAGE] granted
*/
fun isExternalStorageManager(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && Environment.isExternalStorageManager()
@JvmOverloads @JvmOverloads
fun canWriteStorage(context: Context = AppContextProvider.appContext): Boolean { fun canWriteStorage(context: Context = AppContextProvider.appContext): Boolean {
return ContextCompat.checkSelfPermission(context, return ContextCompat.checkSelfPermission(context,
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
<string name="cancel">Atšaukti</string> <string name="cancel">Atšaukti</string>
<string name="other">Kita</string> <string name="other">Kita</string>
<string name="sortby">Rikiuoti pagal…</string> <string name="sortby">Rikiuoti pagal…</string>
<string name="sortby_name">Pavadinimas</string> <string name="sortby_name">kūrinio pavadinimą</string>
<string name="sortby_filename">Vardas</string> <string name="sortby_filename">rinkmenos vardą</string>
<string name="sortby_artist_name">Atlikėjas</string> <string name="sortby_artist_name">atlikėją</string>
<string name="sortby_album_name">Albumas</string> <string name="sortby_album_name">albumą</string>
<string name="sortby_length">Trukmė</string> <string name="sortby_length">trukmę</string>
<string name="sortby_date">Data</string> <string name="sortby_date">datą</string>
<string name="sortby_last_modified_date">Naujai pridėti</string> <string name="sortby_last_modified_date">pridėjimo laiką</string>
<string name="sortby_media_number">Medijos numeris</string> <string name="sortby_media_number">kūrinio numerį</string>
<string name="sortby_number">Takelių skaičius</string> <string name="sortby_number">takelių skaičių</string>
<string name="searchable_hint">Ieškoti…</string> <string name="searchable_hint">Ieškoti…</string>
<string name="history">Istorija</string> <string name="history">Istorija</string>
...@@ -34,9 +34,9 @@ ...@@ -34,9 +34,9 @@
<string name="play_from_start">Groti nuo pradžių</string> <string name="play_from_start">Groti nuo pradžių</string>
<string name="play_as_audio">Groti kaip garso kūrinį</string> <string name="play_as_audio">Groti kaip garso kūrinį</string>
<string name="play_as_video">Groti kaip vaizdo įr.</string> <string name="play_as_video">Groti kaip vaizdo įr.</string>
<string name="video_app_switch_title">Foninė / PiP veiksena</string> <string name="video_app_switch_title">Foninė / „vaizdo vaizde“ veiksena</string>
<string name="video_app_switch_summary">Pasirinkite VLC elgseną, kai grojant vaizdo įrašą persijungiate į kitą programą</string> <string name="video_app_switch_summary">Pasirinkite VLC elgseną, kai grojant vaizdo įrašą persijungiate į kitą programą</string>
<string name="play_pip_title">Rodyti mažame langelyje virš kitos programos (PiP veiksena)</string> <string name="play_pip_title">Vaizdo įr. rodyti mažame iškylančiame langelyje virš kitos programos – „vaizdo vaizde“ veiksenoje</string>
<string name="play_as_audio_background">Vaizdo įr. groti fone</string> <string name="play_as_audio_background">Vaizdo įr. groti fone</string>
<string name="append">Pridėti</string> <string name="append">Pridėti</string>
<string name="insert_next">Įterpti kitą</string> <string name="insert_next">Įterpti kitą</string>
...@@ -44,21 +44,21 @@ ...@@ -44,21 +44,21 @@
<string name="append_all">Pridėti visus</string> <string name="append_all">Pridėti visus</string>
<string name="resume_playback_short_title">Tęsti grojimą</string> <string name="resume_playback_short_title">Tęsti grojimą</string>
<string name="resume_playback_long_title">Tęsti paskutinio grojaraščio grojimą</string> <string name="resume_playback_long_title">Tęsti paskutinio grojaraščio grojimą</string>
<string name="resume_playback_error">Nėra ką tęsti</string> <string name="resume_playback_error">Nėra ką pratęsti</string>
<string name="delete">Šalinti</string> <string name="delete">Pašalinti</string>
<string name="remove">Pašalinti</string> <string name="remove">Pašalinti</string>
<string name="set_song">Naudoti kaip skambučio toną</string> <string name="set_song">Naudoti kaip skambučio toną</string>
<string name="set_song_question">Norite, kad „%1$s“ būtų skambėjimo tonu?</string> <string name="set_song_question">Norite, kad „%1$s“ būtų skambėjimo tonu?</string>
<string name="info">Informacija</string> <string name="info">Išsami informacija</string>
<string name="confirm_delete">Pašalinti rinkmeną „%1$s“?</string> <string name="confirm_delete">Pašalinti rinkmeną „%1$s“?</string>
<string name="confirm_delete_message">Šis veiksmas yra negrįžtamas ir jo negalima bus anuliuoti.</string> <string name="confirm_delete_message">Šis veiksmas yra negrįžtamas ir jo negalima bus anuliuoti.</string>
<string name="confirm_delete_album">Ištrinti albumą „%1$s“?</string> <string name="confirm_delete_album">Pašalinti albumą „%1$s“?</string>
<string name="confirm_delete_several_media">Pašalinti šias rinkmenas: %1$d?</string> <string name="confirm_delete_several_media">Pašalinti šias rinkmenas: %1$d?</string>
<string name="confirm_delete_folder">Pašalinti aplanką „%1$s“ ir jo turinį?</string> <string name="confirm_delete_folder">Pašalinti aplanką „%1$s“ ir jo turinį?</string>
<string name="confirm_delete_folders">Ištrinti šiuos %1$s aplankus ir visą jų turinį?</string> <string name="confirm_delete_folders">Pašalinti šiuos %1$s aplankus ir visą jų turinį?</string>
<string name="confirm_delete_files">Ištrinti šias %1$s rinkmenas?</string> <string name="confirm_delete_files">Pašalinti šias %1$s rinkmenas?</string>
<string name="confirm_delete_folders_and_files">Ištrinti šiuos %1$s aplankus ir %2$s rinkmenas?</string> <string name="confirm_delete_folders_and_files">Pašalinti šiuos %1$s aplankus ir %2$s rinkmenas?</string>
<string name="confirm_delete_playlist">Ištrinti grojaraštį „%1$s“?</string> <string name="confirm_delete_playlist">Pašalinti grojaraštį „%1$s“?</string>
<string name="confirm_remove_from_playlist">Pašalinti „%1$s“ iš grojaraščio?</string> <string name="confirm_remove_from_playlist">Pašalinti „%1$s“ iš grojaraščio?</string>
<string name="ringtone_set">„%1$s“ nustatytas kaip skambučio tonas.</string> <string name="ringtone_set">„%1$s“ nustatytas kaip skambučio tonas.</string>
<string name="ringtone_error">Nepavyko nustatyti skambučio tono.</string> <string name="ringtone_error">Nepavyko nustatyti skambučio tono.</string>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<string name="unknown_artist">Nežinomas atlikėjas</string> <string name="unknown_artist">Nežinomas atlikėjas</string>
<string name="unknown_album">Nežinomas albumas</string> <string name="unknown_album">Nežinomas albumas</string>
<string name="unknown_genre">Nežinomas stilius</string> <string name="unknown_genre">Nežinomas stilius</string>
<string name="songs">Garso įrašai</string> <string name="songs">Dainos</string>
<string name="track_info_copied_to_clipboard">Takelio informacija nukopijuota į iškarpinę</string> <string name="track_info_copied_to_clipboard">Takelio informacija nukopijuota į iškarpinę</string>
<string name="artists">Atlikėjai</string> <string name="artists">Atlikėjai</string>
...@@ -86,16 +86,16 @@ ...@@ -86,16 +86,16 @@
<item quantity="other">%d poaplankių</item> <item quantity="other">%d poaplankių</item>
</plurals> </plurals>
<plurals name="media_quantity"> <plurals name="media_quantity">
<item quantity="one">1 medijos rinkmena</item> <item quantity="one">1 kūrinio rinkmena</item>
<item quantity="few">%d medijos rinkmenos</item> <item quantity="few">%d kūrinių rinkmenos</item>
<item quantity="many">%d medijos rinkmenų</item> <item quantity="many">%d kūrinių rinkmenų</item>
<item quantity="other">%d medijos rinkmenų</item> <item quantity="other">%d kūrinių rinkmenų</item>
</plurals> </plurals>
<plurals name="mediafiles_quantity"> <plurals name="mediafiles_quantity">
<item quantity="one">1 medijos rinkmena</item> <item quantity="one">1 kūrinio rinkmena</item>
<item quantity="few">%d medijos rinkmenos</item> <item quantity="few">%d kūrinių rinkmenos</item>
<item quantity="many">%d medijos rinkmenų</item> <item quantity="many">%d kūrinių rinkmenų</item>
<item quantity="other">%d medijos rinkmenų</item> <item quantity="other">%d kūrinių rinkmenų</item>
</plurals> </plurals>
<plurals name="videos_quantity"> <plurals name="videos_quantity">
<item quantity="one">1 vaizdo įrašas</item> <item quantity="one">1 vaizdo įrašas</item>
...@@ -123,8 +123,8 @@ ...@@ -123,8 +123,8 @@
</plurals> </plurals>
<string name="internal_memory">Vidinė atmintis</string> <string name="internal_memory">Vidinė atmintis</string>
<string name="audio">Garso įrašai</string> <string name="audio">Muzika</string>
<string name="video">Vaizdo įrašai</string> <string name="video">Vaizdo įr.</string>
<string name="bookmarks">Žymelės</string> <string name="bookmarks">Žymelės</string>
<string name="equalizer">Glodintuvas</string> <string name="equalizer">Glodintuvas</string>
<string name="all_albums">Visi albumai</string> <string name="all_albums">Visi albumai</string>
...@@ -193,14 +193,14 @@ ...@@ -193,14 +193,14 @@
<string name="jump_to_time">Šokti į laiką</string> <string name="jump_to_time">Šokti į laiką</string>
<string name="subtitle_select">Pasirinkti subtitrų rinkmeną</string> <string name="subtitle_select">Pasirinkti subtitrų rinkmeną</string>
<string name="server_add_title">Pažymėti naują serverį kaip mėgstamiausią</string> <string name="server_add_title">Pridėti naują mėgst. serverį</string>
<string name="server_domain_hint">Serverio adresas (domeno vardas ar IP)</string> <string name="server_domain_hint">Serverio adresas (domeno vardas ar IP)</string>
<string name="server_share_hint">Bendrinamo tinklo vardas (arba IP adresas)</string> <string name="server_share_hint">Bendrinamo tinklo vardas (arba IP adresas)</string>
<string name="server_folder_hint">Aplanko kelias (nebūtinas)</string> <string name="server_folder_hint">Aplanko kelias (nebūtinas)</string>
<string name="server_username_hint">Naudotojo vardas</string> <string name="server_username_hint">Naudotojo vardas</string>
<string name="server_servername_hint">Serverio vardas, patogumui</string> <string name="server_servername_hint">Serverio vardas (patogumui)</string>
<string name="server_port">Prievadas:</string> <string name="server_port">Prievadas:</string>
<string name="login">Prisijungti</string> <string name="login">Naudotojo vardas</string>
<string name="password">Slaptažodis</string> <string name="password">Slaptažodis</string>
<string name="search_no_result">Kūrinių nerasta</string> <string name="search_no_result">Kūrinių nerasta</string>
...@@ -214,7 +214,7 @@ ...@@ -214,7 +214,7 @@
<string name="open_mrl_dialog_msg">Įveskite tinklo adresą, pvz.: http://, mms:// ar rtsp://</string> <string name="open_mrl_dialog_msg">Įveskite tinklo adresą, pvz.: http://, mms:// ar rtsp://</string>
<string name="encountered_error_title">Grojimo klaida</string> <string name="encountered_error_title">Grojimo klaida</string>
<string name="encountered_error_message">Grodama šį kūrinį VLC programa sutriko.\nPabandykite atnaujinti savo fonoteką.</string> <string name="encountered_error_message">Grodama šį kūrinį VLC programa sutriko.\nPabandykite atnaujinti savo fonoteką.</string>
<string name="invalid_location">Negalime pagroti %1$s.</string> <string name="invalid_location">Nepavyko atkurti %1$s</string>
<string name="search">Ieškoti</string> <string name="search">Ieškoti</string>
...@@ -236,12 +236,12 @@ ...@@ -236,12 +236,12 @@
<string name="tips_play_description">Bakstelėkite, kad paleistumėte vaizdo įrašą</string> <string name="tips_play_description">Bakstelėkite, kad paleistumėte vaizdo įrašą</string>
<string name="lock">Užrakinimas</string> <string name="lock">Užrakinimas</string>
<string name="tap">Bakstelėkite, kad peržiūrėtumėte</string> <string name="tap">Bakstelėkite, kad peržiūrėtumėte</string>
<string name="lock_orientation">Orientacija</string> <string name="lock_orientation">Padėties užrakinimas</string>
<string name="lock_orientation_description">Bakstelėkite norėdami užrakinti / atrakinti ekrano pasukimą</string> <string name="lock_orientation_description">Bakstelėkite norėdami užrakinti / atrakinti ekrano pasukimą</string>
<string name="aspect_ratio">Vaizdo santykis</string> <string name="aspect_ratio">Vaizdo santykis</string>
<string name="aspect_ratio_description">Bakstelėkite, kad pakeistumėte kraštinių santykį</string> <string name="aspect_ratio_description">Bakstelėkite, kad pakeistumėte kraštinių santykį</string>
<string name="advanced_options">Sudėtingesnės parinktys</string> <string name="advanced_options">Sudėtingesnės parinktys</string>
<string name="advanced_options_description">Grojimo greitis, kartojimo režimas ir kt.</string> <string name="advanced_options_description">Grojimo greitis, kartojimo veiksena ir kt.</string>
<string name="tips_swipe">Braukite aukštyn arba žemyn</string> <string name="tips_swipe">Braukite aukštyn arba žemyn</string>
<string name="tips_swipe_horizontal">Braukite kairėn arba dešinėn</string> <string name="tips_swipe_horizontal">Braukite kairėn arba dešinėn</string>
<string name="tips_playlist">Grojaraštis</string> <string name="tips_playlist">Grojaraštis</string>
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
<string name="audio_player_tips">Garso leistuvės paaiškinimai</string> <string name="audio_player_tips">Garso leistuvės paaiškinimai</string>
<string name="previous_next_song">Ankstesnė / tolesnė kompozicija</string> <string name="previous_next_song">Ankstesnė / tolesnė kompozicija</string>
<string name="show_playlist">Rodyti grojaraštį</string> <string name="show_playlist">Rodyti grojaraštį</string>
<string name="hold_to_stop">Norėdami sustabdyti, laikykite nuspaudę</string> <string name="hold_to_stop">Norėdami sustabdyti, palaikykite nuspaudę</string>
<!-- About --> <!-- About -->
<string name="app_name_full">VLC, skirta Android sistemai</string> <string name="app_name_full">VLC, skirta Android sistemai</string>
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
<string name="directories_summary">Pasirinkite katalogus, kuriuos norite įtraukti į fonoteką</string> <string name="directories_summary">Pasirinkite katalogus, kuriuos norite įtraukti į fonoteką</string>
<string name="add_custom_path">Pridėti savitą kelią</string> <string name="add_custom_path">Pridėti savitą kelią</string>
<string name="add_custom_path_description">Įtraukti papildomą žvalgytiną katalogą:</string> <string name="add_custom_path_description">Įtraukti papildomą žvalgytiną katalogą:</string>
<string name="remove_custom_path">Šalinti papildomą kelią</string> <string name="remove_custom_path">Pašalinti papildomą kelią</string>
<string name="hardware_acceleration">Aparatinis spartinimas</string> <string name="hardware_acceleration">Aparatinis spartinimas</string>
<string name="hardware_acceleration_summary">Išjungtas: geresnis stabilumas\nIškodavimo: gali pagerinti našumą\nVisiškas: gali dar labiau pagerinti našumą</string> <string name="hardware_acceleration_summary">Išjungtas: geresnis stabilumas\nIškodavimo: gali pagerinti našumą\nVisiškas: gali dar labiau pagerinti našumą</string>
<string name="hardware_acceleration_disabled">Išjungtas</string> <string name="hardware_acceleration_disabled">Išjungtas</string>
...@@ -287,27 +287,27 @@ ...@@ -287,27 +287,27 @@
<string name="hardware_acceleration_full">Visiškas spartinimas</string> <string name="hardware_acceleration_full">Visiškas spartinimas</string>
<string name="dev_hardware_decoder">Papildomas aparatinis iškodavimas</string> <string name="dev_hardware_decoder">Papildomas aparatinis iškodavimas</string>
<string name="dev_hardware_decoder_summary">Priverstinai naudoti aparatinį iškodavimą (tik patyrusiems naudotojams)</string> <string name="dev_hardware_decoder_summary">Priverstinai naudoti aparatinį iškodavimą (tik patyrusiems naudotojams)</string>
<string name="automatic">Automatinis</string> <string name="automatic">Automatiškai</string>
<string name="screen_orientation">Vaizdo padėtis</string> <string name="screen_orientation">Vaizdo padėtis</string>
<string name="screen_orientation_sensor">Automatinis (jutiklis)</string> <string name="screen_orientation_sensor">Automatinė (jutiklis)</string>
<string name="screen_orientation_portrait">Stačias</string> <string name="screen_orientation_portrait">Stačia</string>
<string name="screen_orientation_landscape">Gulsčias</string> <string name="screen_orientation_landscape">Gulsčia</string>
<string name="screen_orientation_landscape_reverse">Gulsčias (atvirkštinis)</string> <string name="screen_orientation_landscape_reverse">Gulsčia (atvirkštinė)</string>
<string name="screen_orientation_last_locked">Paskiausia užrakinta ekrano padėtis</string> <string name="screen_orientation_last_locked">Paskiausia užrakinta ekrano padėtis</string>
<string name="enable_black_theme">Tamsus apipavidalinimas</string> <string name="enable_black_theme">Tamsus apipavidalinimas</string>
<string name="subtitle_text_encoding">Subtitrų koduotė</string> <string name="subtitle_text_encoding">Subtitrų koduotė</string>
<string name="daynight_title">Dienos / nakties režimas</string> <string name="daynight_title">Dienos / nakties veiksena</string>
<string name="daynight_follow_system_title">Priklausomai nuo sistemos nustatymų</string> <string name="daynight_follow_system_title">Priklausomai nuo sistemos nuostatų</string>
<string name="extra_prefs_category">Papildomos nuostatos</string> <string name="extra_prefs_category">Papildomos nuostatos</string>
<string name="interface_prefs_screen">Sąsaja</string> <string name="interface_prefs_screen">Sąsaja</string>
<string name="interface_secondary_display_category_title">Papildomas ekranas</string> <string name="interface_secondary_display_category_title">Papildomas ekranas</string>
<string name="interface_secondary_display_category_summary">Antrinių ekranų (HDMI/„Chromecast“) nustatymai</string> <string name="interface_secondary_display_category_summary">Antrinių ekranų (HDMI / „Chromecast“) nuostatos</string>
<string name="enable_clone_mode">Pageidautinas klonavimas</string> <string name="enable_clone_mode">Pageidautinas klonavimas</string>
<string name="enable_clone_mode_summary">Klonuoti įrenginio ekraną nenaudojant nuotolinio valdymo</string> <string name="enable_clone_mode_summary">Klonuoti įrenginio ekraną be nuotolinio valdymo</string>
<string name="video_prefs_category">Vaizdo įrašai</string> <string name="video_prefs_category">Vaizdas</string>
<string name="video_min_group_length_title">Vaizdo įrašų grupavimas</string> <string name="video_min_group_length_title">Vaizdo įrašų grupavimas</string>
<string name="video_min_group_length_disable">Negrupuoti vaizdo įrašų</string> <string name="video_min_group_length_disable">Negrupuoti vaizdo įrašų</string>
<string name="video_min_group_length_folder">Grupuoti pagal aplanką</string> <string name="video_min_group_length_folder">Grupuoti pagal aplanką</string>
...@@ -330,8 +330,8 @@ ...@@ -330,8 +330,8 @@
<string name="enable_seek_buttons_summary">Rodyti vaizdo įrašų prasukimo „atgal“ ir „pirmyn“ mygtukus</string> <string name="enable_seek_buttons_summary">Rodyti vaizdo įrašų prasukimo „atgal“ ir „pirmyn“ mygtukus</string>
<string name="enable_double_tap_seek_title">Vaizdo įrašo prasukimas bakstelėjus du kartus</string> <string name="enable_double_tap_seek_title">Vaizdo įrašo prasukimas bakstelėjus du kartus</string>
<string name="enable_double_tap_seek_summary">Leidžia prasukti vaizdo įrašą 10 sekundžių, du kartus bakstelėjus ekrano kraštą</string> <string name="enable_double_tap_seek_summary">Leidžia prasukti vaizdo įrašą 10 sekundžių, du kartus bakstelėjus ekrano kraštą</string>
<string name="popup_keepscreen_title">Laikyti ekraną įjungtą, kai rodomas iššokantis langas</string> <string name="popup_keepscreen_title">Laikyti ekraną įjungtą, kai rodomas iškylantis langas</string>
<string name="popup_keepscreen_summary">Visada laikyti ekraną įjungtą, kol rodomas iššokantis langas, net jei vaizdo įrašas pristabdytas</string> <string name="popup_keepscreen_summary">Visada laikyti ekraną įjungtą tol, kol rodomas iškylantis langas, net jei vaizdo įrašas pristabdytas</string>
<string name="browser_show_hidden_files_title">Rodyti slepiamąsias rinkmenas</string> <string name="browser_show_hidden_files_title">Rodyti slepiamąsias rinkmenas</string>
<string name="subtitles_prefs_category">Subtitrai</string> <string name="subtitles_prefs_category">Subtitrai</string>
...@@ -384,7 +384,7 @@ ...@@ -384,7 +384,7 @@
<string name="casting_connected_renderer">Prisijungta prie „%1$s“</string> <string name="casting_connected_renderer">Prisijungta prie „%1$s“</string>
<string name="artists_show_all_title">Rodyti visus atlikėjus</string> <string name="artists_show_all_title">Rodyti visus atlikėjus</string>
<string name="show_headers">Rodyti antraštes</string> <string name="show_headers">Rodyti antraštes</string>
<string name="show_headers_summary">Padalinti sąrašus pagal antraštes priklausomai nuo rikiavimo tipo</string> <string name="show_headers_summary">Išrikiavus sąrašą, jį sugrupuoti atsižvelgiant į rikiavimo tipą ir rodyti atitinkamų grupių antraštes</string>
<string name="extensions_prefs_category">Plėtiniai</string> <string name="extensions_prefs_category">Plėtiniai</string>
<string name="extensions_empty">Nerasta plėtinių</string> <string name="extensions_empty">Nerasta plėtinių</string>
...@@ -399,13 +399,13 @@ ...@@ -399,13 +399,13 @@
<string name="chroma_format">Priverstinai naudoti konkretų spalvingumą</string> <string name="chroma_format">Priverstinai naudoti konkretų spalvingumą</string>
<string name="chroma_format_summary">RGB 32 bitų: numatytoji chroma\nRGB 16 bitų: geresnis našumas, bet prastesnė kokybė\nYUV: geriausias našumas, bet veikia ne visuose įrenginiuose (tik „Android 2.3“ ir naujesnėse versijose)</string> <string name="chroma_format_summary">RGB 32 bitų: numatytoji chroma\nRGB 16 bitų: geresnis našumas, bet prastesnė kokybė\nYUV: geriausias našumas, bet veikia ne visuose įrenginiuose (tik „Android 2.3“ ir naujesnėse versijose)</string>
<string name="deblocking">Išblokavimo filtro nuostatos</string> <string name="deblocking">Išblokavimo filtro nuostatos</string>
<string name="deblocking_summary">Pakeitus blokavimo filtro nustatymus, vaizdo įrašų kokybė gali pagerėti (tik pažengusiems vartotojams)</string> <string name="deblocking_summary">Pakeitus blokavimo filtro nuostatas, vaizdo įrašų kokybė gali pagerėti (tik pažengusiems vartotojams)</string>
<string name="deblocking_always">Visiškas išblokavimas (lėčiausias)</string> <string name="deblocking_always">Visiškas išblokavimas (lėčiausias)</string>
<string name="deblocking_nonref">Vidutinis išblokavimas</string> <string name="deblocking_nonref">Vidutinis išblokavimas</string>
<string name="deblocking_nonkey">Truputį išblokuoti</string> <string name="deblocking_nonkey">Menkas išblokavimas</string>
<string name="deblocking_all">Neišblokuoti (greičiausias)</string> <string name="deblocking_all">Neišblokuoti (greičiausias)</string>
<string name="enable_frame_skip">Kadrų praleidimas</string> <string name="enable_frame_skip">Kadrų praleidimas</string>
<string name="enable_frame_skip_summary">Pagreitinti dekodavimą (tai gali sumažinti vaizdo kokybę)</string> <string name="enable_frame_skip_summary">Pagreitinti dekodavimą, tačiau tai gali sumažinti vaizdo kokybę</string>
<string name="enable_time_stretching_audio">Tembro keitimas išlaikant garso aukštį</string> <string name="enable_time_stretching_audio">Tembro keitimas išlaikant garso aukštį</string>
<string name="enable_time_stretching_audio_summary">Pagreitinti ir sulėtinti garsą nekeičiant tembro (reikia greito įrenginio)</string> <string name="enable_time_stretching_audio_summary">Pagreitinti ir sulėtinti garsą nekeičiant tembro (reikia greito įrenginio)</string>
...@@ -415,15 +415,15 @@ ...@@ -415,15 +415,15 @@
<string name="dump_media_db">Sukurti duomenų bazę</string> <string name="dump_media_db">Sukurti duomenų bazę</string>
<string name="dump_media_db_summary">Nukopijuoti duomenų bazę į vidinę atmintį</string> <string name="dump_media_db_summary">Nukopijuoti duomenų bazę į vidinę atmintį</string>
<string name="clear_media_db">Išvalyti kūrinių duombazę</string> <string name="clear_media_db">Išvalyti kūrinių duombazę</string>
<string name="clear_media_database_summary">Išvalo kūrinių duombazę</string> <string name="clear_media_database_summary">Išvalyti kūrinių duombazę jos sukūrimui iš naujo</string>
<string name="clear_app_data">Išvalyti programos duomenis</string> <string name="clear_app_data">Išvalyti programos duomenis</string>
<string name="clear_app_data_summary">Išvalo VLC duomenis „Android“ sistemoje</string> <string name="clear_app_data_summary">Išvalyti VLC duomenis „Android“ sistemoje</string>
<string name="clear_history">Išvalyti žurnalą</string> <string name="clear_history">Išvalyti žurnalą</string>
<string name="set_locale">Nustatyti kalbą</string> <string name="set_locale">Nustatyti kalbą</string>
<string name="network_caching">Tinklo podėlio reikšmė</string> <string name="network_caching">Tinklo podėlio reikšmė</string>
<string name="network_caching_summary">Tinklo srauto buferio laikas (ms), naudojant programinės įrangos dekodavimą\nPalikite tuščią, kad nustatytumėte iš naujo</string> <string name="network_caching_summary">Tinklo srauto buferio laikas (ms), naudojant programinės įrangos dekodavimą\nPalikite tuščią, kad nustatytumėte iš naujo</string>
<string name="resume_playback_title">Baigus pokalbį – groti toliau</string> <string name="resume_playback_title">Baigus pokalbį – groti toliau</string>
<string name="resume_playback_summary">Kitais atvejais – pristabdyti</string> <string name="resume_playback_summary">Kitu atveju – pristabdyti</string>
<string name="blurred_cover_background_title">Neryškus viršelio fonas</string> <string name="blurred_cover_background_title">Neryškus viršelio fonas</string>
<string name="blurred_cover_background_summary">Neryškus viršelis garso grotuvo fone</string> <string name="blurred_cover_background_summary">Neryškus viršelis garso grotuvo fone</string>
<string name="network_caching_popup">Reikšmė turi būti tarp 0 ir 6000 ms</string> <string name="network_caching_popup">Reikšmė turi būti tarp 0 ir 6000 ms</string>
...@@ -433,7 +433,7 @@ ...@@ -433,7 +433,7 @@
<string name="restart_message_Later">Vėliau</string> <string name="restart_message_Later">Vėliau</string>
<string name="browser_show_all_title">Rodyti visas rinkmenas</string> <string name="browser_show_all_title">Rodyti visas rinkmenas</string>
<string name="developer_prefs_category">Programuotojas</string> <string name="developer_prefs_category">Programuotojams</string>
<string name="enable_verbose_mode">Detalizavimas</string> <string name="enable_verbose_mode">Detalizavimas</string>
<string name="enable_verbose_mode_summary">Didinti pranešimų detalumą (logcat)</string> <string name="enable_verbose_mode_summary">Didinti pranešimų detalumą (logcat)</string>
<string name="debug_logs">Derinimo žurnalai</string> <string name="debug_logs">Derinimo žurnalai</string>
...@@ -471,12 +471,12 @@ ...@@ -471,12 +471,12 @@
<string name="audio_delay">Garso vėlinimas</string> <string name="audio_delay">Garso vėlinimas</string>
<string name="spu_delay">Subtitrų vėlinimas</string> <string name="spu_delay">Subtitrų vėlinimas</string>
<string name="network_shares_discovery">Ieškoma pasidalinto tinklo</string> <string name="network_shares_discovery">Ieškoma tinklo išteklių</string>
<string name="network_empty">Katalogas tuščias</string> <string name="network_empty">Katalogas tuščias</string>
<string name="network_connection_needed">Nėra ryšio su vietiniu tinklu.</string> <string name="network_connection_needed">Nėra ryšio su vietiniu tinklu.</string>
<string name="search_hint">Ieškoti kūrinio</string> <string name="search_hint">Ieškoti kūrinio</string>
<string name="search_in_list_hint">Ieškoti dabartiniame sąraše</string> <string name="search_in_list_hint">Ieškoti dabartiniame sąraše</string>
<string name="search_global">Ieškoti rinkmenos visoje fonotekoje</string> <string name="search_global">Ieškoti visoje fonotekoje</string>
<string name="playlist_save">Įrašyti grojaraštį</string> <string name="playlist_save">Įrašyti grojaraštį</string>
<string name="playlist_name_hint">Grojaraščio pavadinimas</string> <string name="playlist_name_hint">Grojaraščio pavadinimas</string>
<string name="go_to_chapter">Eiti į skyrių...</string> <string name="go_to_chapter">Eiti į skyrių...</string>
...@@ -485,7 +485,7 @@ ...@@ -485,7 +485,7 @@
<string name="confirm_resume">Tęsti nuo paskutinės padėties?</string> <string name="confirm_resume">Tęsti nuo paskutinės padėties?</string>
<string name="confirm_resume_title">Tęsti vaizdo įrašų peržiūrą</string> <string name="confirm_resume_title">Tęsti vaizdo įrašų peržiūrą</string>
<string name="tv_ui_title">Android TV sąsaja</string> <string name="tv_ui_title">Android TV sąsaja</string>
<string name="tv_ui_summary">Pakeisti vartotojo sąsają į TV pritaikytą te</string> <string name="tv_ui_summary">Pakeisti naudotojo sąsają į TV skirtąjį apipavidalini</string>
<string name="medialibrary">Fonoteka</string> <string name="medialibrary">Fonoteka</string>
<string name="medialibrary_directories">Fonotekos aplankai</string> <string name="medialibrary_directories">Fonotekos aplankai</string>
...@@ -506,27 +506,27 @@ ...@@ -506,27 +506,27 @@
<string name="allow_settings_access_brightness_title">Leisti keisti ryškumą</string> <string name="allow_settings_access_brightness_title">Leisti keisti ryškumą</string>
<string name="allow_settings_access_brightness_description">VLC reikia Jūsų leidimo keisti ryškumą.</string> <string name="allow_settings_access_brightness_description">VLC reikia Jūsų leidimo keisti ryškumą.</string>
<string name="allow_draw_overlays_title">Leisti VLC programai iškilti virš kitų programų</string> <string name="allow_draw_overlays_title">Leisti VLC programai iškilti virš kitų programų</string>
<string name="allow_sdraw_overlays_description">VLC reikia Jūsų leidimo rodyti vaizdo įrašą iššokančiame lange virš kitų programų.</string> <string name="allow_sdraw_overlays_description">VLC reikia Jūsų leidimo rodyti vaizdo įrašą iškylančiame lange virš kitų programų.</string>
<string name="permission_ask_again">Leisti</string> <string name="permission_ask_again">Leisti</string>
<string name="permission_not_granted">Leidimas nesuteiktas</string> <string name="permission_not_granted">Leidimas nesuteiktas</string>
<string name="permission_expanation_no_allow">Negalėsite automatiškai žvalgyti įrenginyje esančius įvairialypės terpės kūrinius ar naudotis išoriniais subtitrais</string> <string name="permission_expanation_no_allow">Negalėsite automatiškai žvalgyti įrenginyje esančius įvairialypės terpės kūrinius ar naudotis išoriniais subtitrais</string>
<string name="permission_expanation_allow">Galėsite leisti tik srautus ir tinklo kūrinius</string> <string name="permission_expanation_allow">Galėsite leisti tik srautus ir kūrinius per tinklą</string>
<string name="permission_expanation_subtitles">Naudoti išorinius subtitrus</string> <string name="permission_expanation_subtitles">Naudoti išorinius subtitrus</string>
<string name="permission_expanation_allow_explanation">Leidžia groti internetinius srautus ir kūrinius per tinklą</string> <string name="permission_expanation_allow_explanation">Leidžia groti internetinius srautus ir kūrinius per tinklą</string>
<string name="exit_app">Uždaryti VLC</string> <string name="exit_app">Uždaryti VLC</string>
<string name="exit_app_msg">Ar tikrai norite uždaryti VLC?</string> <string name="exit_app_msg">Ar tikrai norite uždaryti VLC?</string>
<!-- fast scroller --> <!-- fast scroller -->
<string name="fastscroller_track">Greita slinktis</string> <string name="fastscroller_track">Greitoji slinktis</string>
<string name="fastscroller_handle">Greita slinktis</string> <string name="fastscroller_handle">Greitoji slinktis</string>
<!-- Plugins --> <!-- Plugins -->
<string name="plugins">Papildiniai</string> <string name="plugins">Papildiniai</string>
<string name="download_on_device">Parsisiųsti</string> <string name="download_on_device">Parsisiųsti</string>
<string name="extension_empty">Plėtinių sąrašas tuščias. Pereikite į plėtinių nustatymus, kad jie būtų parodyti.</string> <string name="extension_empty">Plėtinių sąrašas tuščias. Pereikite į plėtinių nuostatas, kad jie būtų parodyti.</string>
<string name="opengl_title">OpenGL ES2 naudojimas</string> <string name="opengl_title">OpenGL ES2 naudojimas</string>
<string name="opengl_summary">Pagal numatytuosius nustatymus „OpenGL ES2“ prireikus naudojamas programinės ir aparatinės įrangos dekodavimui (360° vaizdo įrašams)</string> <string name="opengl_summary">Pagal numatytąsias nuostatas „OpenGL ES2“ prireikus naudojamas programinės ir aparatinės įrangos dekodavimui (360° vaizdo įrašams)</string>
<string name="opengl_automatic">Automatiškai</string> <string name="opengl_automatic">Automatiškai</string>
<string name="opengl_on">Visada įjungta</string> <string name="opengl_on">Visada įjungta</string>
<string name="opengl_off">Visada išjungta</string> <string name="opengl_off">Visada išjungta</string>
...@@ -535,26 +535,26 @@ ...@@ -535,26 +535,26 @@
<string name="encryption_warning">Įspėjimas, šiai „Android“ versijai šifravimas negalimas, slaptažodis bus saugomas neužšifruotas</string> <string name="encryption_warning">Įspėjimas, šiai „Android“ versijai šifravimas negalimas, slaptažodis bus saugomas neužšifruotas</string>
<string name="store_password">Įsiminti slaptažodį</string> <string name="store_password">Įsiminti slaptažodį</string>
<string name="add_to_playlist">Įtraukti į grojaraštį</string> <string name="add_to_playlist">Įtraukti į grojaraštį</string>
<string name="popup_playback_title">Groti vaizdo įrašą iššokančiame lange</string> <string name="popup_playback_title">Groti vaizdo įrašą iškylančiame lange</string>
<string name="popup_playback">Grojama iššokančiame lange</string> <string name="popup_playback">Grojama iškylančiame lange</string>
<string name="popup_expand">Išplėsti vaizdą</string> <string name="popup_expand">Išplėsti vaizdą</string>
<string name="download_subtitles">Parsisiųsti subtitrus</string> <string name="download_subtitles">Parsisiųsti subtitrus</string>
<string name="browse_folder">Atverti aplanką</string> <string name="browse_folder">Atverti aplanką</string>
<string name="listen">Perklausyti</string> <string name="listen">Perklausyti</string>
<string name="apply_to_bt">Pritaikyti „Bluetooth“ įrenginiui</string> <string name="apply_to_bt">Pritaikyti „Bluetooth“ įrenginiui</string>
<string name="episodes">serijos</string> <string name="episodes">epizodai</string>
<string name="movies">filmai</string> <string name="movies">filmai</string>
<string name="videos">vaizdo įrašai</string> <string name="videos">vaizdo įrašai</string>
<string name="videos_all">Visi vaizdo įrašai</string> <string name="videos_all">Visi vaizdo įrašai</string>
<string name="clear_playback_history">Išvalyti grojimo žurnalą</string> <string name="clear_playback_history">Išvalyti grojimo žurnalą</string>
<string name="ml_scanning">Žvalgomasi kūrinių</string> <string name="ml_scanning">Žvalgomasi kūrinių</string>
<string name="ml_parse_media">Žvalgomi kūriniai</string> <string name="ml_parse_media">Žvalgomi kūriniai</string>
<string name="ml_discovering">Aptikimas</string> <string name="ml_discovering">Žvalgomas</string>
<string name="resume">Tęsti</string> <string name="resume">Tęsti</string>
<string name="length">Trukmė</string> <string name="length">Trukmė</string>
<string name="tv_settings_hint">Laikykite nuspaudę mygtuką „Gerai“, kad pažymėtumėte / atžymėtumėte katalogus</string> <string name="tv_settings_hint">Laikykite nuspaudę mygtuką „Gerai“, kad pažymėtumėte / atžymėtumėte katalogus</string>
<string name="ml_external_storage_title">Aptikta nauja laikmena</string> <string name="ml_external_storage_title">Aptikta nauja laikmena</string>
<string name="ml_external_storage_msg">Ar norite, kad laikmena %1$s būtų pridėta prie fonotekos?</string> <string name="ml_external_storage_msg">Ar norite, kad %1$s būtų pridėta(s) prie fonotekos?</string>
<string name="ml_external_storage_accept">Taip</string> <string name="ml_external_storage_accept">Taip</string>
<string name="ml_external_storage_decline">Ne</string> <string name="ml_external_storage_decline">Ne</string>
<string name="auto_last_added_media">Paskutinis pridėtas</string> <string name="auto_last_added_media">Paskutinis pridėtas</string>
...@@ -574,17 +574,17 @@ ...@@ -574,17 +574,17 @@
<string name="custom_set_wrong_input">Netinkamas pavadinimas.</string> <string name="custom_set_wrong_input">Netinkamas pavadinimas.</string>
<string name="custom_set_already_exist">Toks glodintuvas jau yra</string> <string name="custom_set_already_exist">Toks glodintuvas jau yra</string>
<string name="custom_set_restored">Pasirinktinis glodintuvas atstatytas.</string> <string name="custom_set_restored">Pasirinktinis glodintuvas atstatytas.</string>
<string name="unsaved_set_deleted_message">Neišsaugotas glodintuvo rinkinys ištrintas.</string> <string name="unsaved_set_deleted_message">Neišsaugotas glodintuvo rinkinys pašalintas.</string>
<string name="equalizer_new_preset_name">Naujas</string> <string name="equalizer_new_preset_name">Naujas</string>
<string name="settings_ml_block_scan">Šiuo metu žvalgomasi kūrinių ir sudarinėjama fonoteka</string> <string name="settings_ml_block_scan">Šiuo metu žvalgomasi kūrinių ir sudarinėjama fonoteka</string>
<string name="recommendations">Pasiūlymai</string> <string name="recommendations">Pasiūlymai</string>
<string name="recommendations_desc">Paleisties rekomendacinės kortelės</string> <string name="recommendations_desc">Paleisties rekomendacinės kortelės</string>
<string name="browser_quick_access">Greitoji prieiga</string> <string name="browser_quick_access">Greitoji prieiga</string>
<string name="browser_storages">Laikmenos</string> <string name="browser_storages">Laikmenos</string>
<string name="msg_delete_failed">Nepavyko ištrinti rinkmenos %1$s</string> <string name="msg_delete_failed">Nepavyko pašalinti rinkmenos %1$s</string>
<string name="renderer_list_title">Ekranai</string> <string name="renderer_list_title">Ekranai</string>
<string name="sdcard_permission_dialog_title">Jūs turite suteikti VLC programai leidimą rašyti į SD kortelę</string> <string name="sdcard_permission_dialog_title">Jūs turite suteikti VLC programai leidimą rašyti į SD kortelę</string>
<string name="sdcard_permission_dialog_message">VLC negali ištrinti šios rinkmenos neturėdama leidimo rašyti į saugyklą.\nEikite į savo SD kortelę ir paspauskite „Pasirinkti“.\nPrieš tai gali tekti viršuje dešinėje esančiame meniu paspausti „Rodyti SD kortelę“</string> <string name="sdcard_permission_dialog_message">VLC negali pašalinti šios rinkmenos neturėdama leidimo rašyti į saugyklą.\nEikite į savo SD kortelę ir paspauskite „Pasirinkti“.\nPrieš tai gali tekti viršuje dešinėje esančiame meniu paspausti „Rodyti SD kortelę“</string>
<string name="dialog_sd_wizard">Parodyti</string> <string name="dialog_sd_wizard">Parodyti</string>
<string name="renderers_disconnect">Atjungti</string> <string name="renderers_disconnect">Atjungti</string>
<string name="audio_digital_failed">Nepavyko pakeisti skaitmeninės garso išvesties būsenos</string> <string name="audio_digital_failed">Nepavyko pakeisti skaitmeninės garso išvesties būsenos</string>
...@@ -600,20 +600,20 @@ ...@@ -600,20 +600,20 @@
<string name="ml_wizard_scan_checkbox">Žvalgyti įrenginį ieškant kūrinių</string> <string name="ml_wizard_scan_checkbox">Žvalgyti įrenginį ieškant kūrinių</string>
<string name="ml_wizard_description">Pasirinkite, ar norite, kad VLC žvalgytų Jūsų įrenginį sudarydama kūrinių sąrašą, ar tiesiog norite ją naudoti kaip paprastą leistuvę su integruota naršykle.</string> <string name="ml_wizard_description">Pasirinkite, ar norite, kad VLC žvalgytų Jūsų įrenginį sudarydama kūrinių sąrašą, ar tiesiog norite ją naudoti kaip paprastą leistuvę su integruota naršykle.</string>
<string name="tv_my_new_videos">Nauji vaizdo įrašai</string> <string name="tv_my_new_videos">Nauji vaizdo įrašai</string>
<string name="cast_option_title">Transliuoti medijas kitame ekrane</string> <string name="cast_option_title">Transliuoti kūrinius kitame ekrane</string>
<string name="otg_device_title">OTG laikmena</string> <string name="otg_device_title">OTG laikmena</string>
<string name="browser">Naršyklė</string> <string name="browser">Naršyklė</string>
<string name="ab_repeat">A-B kartojimas</string> <string name="ab_repeat">A-B kartojimas</string>
<string name="ab_repeat_reset">A-B kartojimas</string> <string name="ab_repeat_reset">Nustatyti A-B kartojimą iš naujo</string>
<string name="ab_repeat_stop">Nutraukti A-B kartojimą</string> <string name="ab_repeat_stop">Nutraukti A-B kartojimą</string>
<string name="stop_after_this">Stabdyti po šio takelio</string> <string name="stop_after_this">Stabdyti po šio takelio</string>
<string name="time_category_new">Naujas kūrinys</string> <string name="time_category_new">Nauji</string>
<string name="time_category_current_month">Šį mėnesį</string> <string name="time_category_current_month">Šį mėnesį</string>
<string name="time_category_current_year">Šiemet</string> <string name="time_category_current_year">Šiemet</string>
<string name="time_category_last_year">Pernai</string> <string name="time_category_last_year">Pernai</string>
<string name="time_category_older">Senesni kūriniai</string> <string name="time_category_older">Seni</string>
<string name="rename">Pervardyti</string> <string name="rename">Pervardyti</string>
<string name="rename_media">Pervardyti %1$s</string> <string name="rename_media">Pervardyti %1$s</string>
<string name="manual_search">Rankinė paieška</string> <string name="manual_search">Rankinė paieška</string>
<string name="subtitle_search_name_hint">Pavadinimas</string> <string name="subtitle_search_name_hint">Pavadinimas</string>
<string name="subtitle_search_episode_hint">Epizodas</string> <string name="subtitle_search_episode_hint">Epizodas</string>
...@@ -621,18 +621,18 @@ ...@@ -621,18 +621,18 @@
<string name="language_to_download">Kalba</string> <string name="language_to_download">Kalba</string>
<string name="delete_the_selected">Pašalinti pasirinktus</string> <string name="delete_the_selected">Pašalinti pasirinktus</string>
<string name="download_the_selected">Atsisiųsti pasirinktus</string> <string name="download_the_selected">Atsisiųsti pasirinktus</string>
<string name="next">Tolesnis</string> <string name="next">Toliau</string>
<string name="download">Parsisiunčiama</string> <string name="download">Parsisiunčiama</string>
<string name="ctx_player_video_track">Vaizdo įr. takelis</string> <string name="ctx_player_video_track">Vaizdo įr. takelis</string>
<string name="ctx_player_audio_track">Garso takelis</string> <string name="ctx_player_audio_track">Garso takelis</string>
<string name="ctx_player_subs_track">Subtitrų takelis</string> <string name="ctx_player_subs_track">Subtitrų takelis</string>
<string name="ctx_pip_title">Iššok. lang. rež.</string> <string name="ctx_pip_title">Groti iškyl. lange</string>
<string name="device_dialog_title">Prijungta išorinė laikmena</string> <string name="device_dialog_title">Prijungta išorinė laikmena</string>
<string name="device_dialog_message">Ką tik prijungėte naują atminties laikmeną prie savo televizoriaus įrenginio. Ar norite ją atidaryti naudodami VLC?</string> <string name="device_dialog_message">Ką tik prijungėte naują atminties laikmeną prie savo televizoriaus įrenginio. Ar norite ją atidaryti naudodami VLC?</string>
<string name="videos_folders_title">Vaizdo įrašai pagal aplankus</string> <string name="videos_folders_title">Vaizdo įrašai pagal aplankus</string>
<string name="videos_groups_title">Vaizdo įrašų grupės</string> <string name="videos_groups_title">Vaizdo įrašų grupės</string>
<string name="video_save_clone_mode">Automatiškai įjungti klonavimo režimą?</string> <string name="video_save_clone_mode">Ar klonavimo veikseną įjungti automatiškai?</string>
<string name="video_remote_enable">Persijungti į nuotolinio valdymo režimą</string> <string name="video_remote_enable">Persijungti į nuotolinio valdymo veikseną</string>
<string name="video_remote_disable">Dubliuoti ekraną</string> <string name="video_remote_disable">Dubliuoti ekraną</string>
<string name="removed_from_playlist_anonymous">Pašalinta iš grojaraščio</string> <string name="removed_from_playlist_anonymous">Pašalinta iš grojaraščio</string>
<string name="welcome_title">Sveiki, Jus sveikina VLC!</string> <string name="welcome_title">Sveiki, Jus sveikina VLC!</string>
...@@ -643,19 +643,19 @@ ...@@ -643,19 +643,19 @@
<string name="done">Atlikta</string> <string name="done">Atlikta</string>
<string name="onboarding_scan_title">Automatinis kūrinių aptikimas</string> <string name="onboarding_scan_title">Automatinis kūrinių aptikimas</string>
<string name="onboarding_all_set">VLC yra paruoštas darbui!</string> <string name="onboarding_all_set">VLC yra paruoštas darbui!</string>
<string name="onboarding_permission_given">Dabar galite naudotis automatiniu kūrinių aptikimu, išorinių subtitrų prijungimu, taip pat groti srautus bei kūrinių per tinklą</string> <string name="onboarding_permission_given">Dabar galite naudotis automatiniu kūrinių aptikimu, išorinių subtitrų prijungimu, taip pat groti srautus bei kūrinius per tinklą</string>
<string name="daynight_system_explanation">Priklausomai nuo sistemos nustatymų VLC automatiškai persijungs į naktinį režimą</string> <string name="daynight_system_explanation">VLC automatiškai persijungs į naktinę veikseną priklausomai nuo sistemos nuostatų</string>
<string name="daynight_legacy_explanation">VLC automatiškai persijungs į naktinį režimą</string> <string name="daynight_legacy_explanation">VLC automatiškai persijungs į naktinę veikseną</string>
<string name="onboarding_scanning_enable">Leisti VLC nuskaityti mano įrenginį</string> <string name="onboarding_scanning_enable">Leisti VLC nuskaityti mano įrenginį</string>
<string name="onboarding_scan_customize">Leisti man nurodyti, kuriuos aplankus VLC gali žvalgyti</string> <string name="onboarding_scan_customize">Leisti man nurodyti, kuriuos aplankus VLC gali žvalgyti</string>
<string name="button_medialibrary_preferences">Eiti į fonotekos parinktis</string> <string name="button_medialibrary_preferences">Eiti į fonotekos parinktis</string>
<string name="light_theme">Šviesus apipavidalinimas</string> <string name="light_theme">Šviesus apipavidalinimas</string>
<string name="add">Pridėti</string> <string name="add">Pridėti</string>
<string name="add_to_new_playlist">Įtraukti į naują grojaraštį</string> <string name="add_to_new_playlist">Įtraukti į naują grojaraštį</string>
<string name="resume_card_message">Tęsti %1$s grojimą?</string> <string name="resume_card_message">Tęsti %1$s grojimą?</string>
<string name="misc">Įvairūs</string> <string name="misc">Įvairūs</string>
<string name="popup_force_legacy_title">Naudoti pasirinktinį iššokantį „vaizdo-vaizde“ langą</string> <string name="popup_force_legacy_title">Naudoti savitą iškylantį „vaizdo-vaizde“ langą</string>
<string name="popup_force_legacy_summary">Naudoti pasirinktinį (keičiamą) iššokantį „vaizdo-vaizde“ langą</string> <string name="popup_force_legacy_summary">Naudoti savitą keičiamo dydžio iškylantį „vaizdo-vaizde“ langą</string>
<string name="device_default">Įrenginio numatytoji</string> <string name="device_default">Įrenginio numatytoji</string>
<string name="track_number">%d takeliai</string> <string name="track_number">%d takeliai</string>
<string name="jump_to">Šokti į</string> <string name="jump_to">Šokti į</string>
...@@ -686,7 +686,7 @@ ...@@ -686,7 +686,7 @@
<string name="dump_db_succes">Duomenų bazė iškelta į vidinę atmintį</string> <string name="dump_db_succes">Duomenų bazė iškelta į vidinę atmintį</string>
<string name="dump_db_failure">Nepavyko įkelti duomenų bazės</string> <string name="dump_db_failure">Nepavyko įkelti duomenų bazės</string>
<string name="send_crash_title">Pranešti apie VLC lūžimą</string> <string name="send_crash_title">Pranešti apie VLC lūžimą</string>
<string name="send_crash_description">Nusiųsdami pranešimą apie lūžimą, padėsite mums pagerinti VLC stabilumą.</string> <string name="send_crash_description">Nusiųsdami pranešimą apie lūžimą, padėsite pagerinti VLC stabilumą.</string>
<string name="send_crash_warning">Prieš išsiųsdami pašalinkite visą jautrią ar asmeninę informaciją, kurios nenorėtumėte siųsti.</string> <string name="send_crash_warning">Prieš išsiųsdami pašalinkite visą jautrią ar asmeninę informaciją, kurios nenorėtumėte siųsti.</string>
<string name="include_medialib">Įtraukti Jūsų duombazę</string> <string name="include_medialib">Įtraukti Jūsų duombazę</string>
<string name="vlc_reporter">VLC pranešiklis</string> <string name="vlc_reporter">VLC pranešiklis</string>
...@@ -705,11 +705,11 @@ ...@@ -705,11 +705,11 @@
<string name="ask_confirmation">Klausti</string> <string name="ask_confirmation">Klausti</string>
<string name="add_to_scanned">Žvalgyti šį katalogą</string> <string name="add_to_scanned">Žvalgyti šį katalogą</string>
<string name="directory_not_scanned">Šis katalogas dar neišžvalgytas</string> <string name="directory_not_scanned">Šis katalogas dar neišžvalgytas</string>
<string name="scanned_directory_added">%s pridėtas prie išžvalgytų katalogų</string> <string name="scanned_directory_added">Katalogas „%s“ išžvalgytas</string>
<string name="video_group_size_summary">Grupuoti pagal pirmas %s raides</string> <string name="video_group_size_summary">Grupuoti pagal pirmas %s raides</string>
<string name="url_copied_to_clipboard">Nuoroda nukopijuota į iškarpinę</string> <string name="url_copied_to_clipboard">Nuoroda nukopijuota į iškarpinę</string>
<string name="share">Dalintis</string> <string name="share">Dalintis</string>
<string name="invalid_file">Neteisinga rinkmena. Negalima bendrinti.</string> <string name="invalid_file">Neteisinga rinkmena. Ja negalima pasidalinti.</string>
<string name="share_file">Dalintis %s</string> <string name="share_file">Dalintis %s</string>
<string name="share_message">Čia yra %s</string> <string name="share_message">Čia yra %s</string>
<string name="find_metadata">Rasti „meta“ žymenis</string> <string name="find_metadata">Rasti „meta“ žymenis</string>
...@@ -728,12 +728,12 @@ ...@@ -728,12 +728,12 @@
<string name="resume_episode">Tęsti (%s)</string> <string name="resume_episode">Tęsti (%s)</string>
<string name="start_over">Pradėti iš naujo</string> <string name="start_over">Pradėti iš naujo</string>
<string name="next_episode">Kitas epizodas</string> <string name="next_episode">Kitas epizodas</string>
<string name="open_network_settings">Atidaryti tinklo nustatymus?</string> <string name="open_network_settings">Atverti tinklo nuostatas?</string>
<string name="recently_played">Neseniai grota</string> <string name="recently_played">Neseniai grota</string>
<string name="recently_added">Neseniai pridėta</string> <string name="recently_added">Neseniai pridėta</string>
<string name="playback_multiple_errors">Kai kurių medijos rinkmenų negalima atkurti</string> <string name="playback_multiple_errors">Kai kurių rinkmenų nepavyko atkurti</string>
<string name="clear_media_db_message">Prarasite peržiūrėtų kūrinių istoriją, žymeles ir sukurtus grojaraščius, tačiau išlaikysite savo VLC nuostatas.</string> <string name="clear_media_db_message">Prarasite peržiūrėtų kūrinių istoriją, žymeles ir sukurtus grojaraščius, tačiau išlaikysite savo VLC nuostatas.</string>
<string name="clear_app_data_message">Prarasite peržiūrėtų kūrinių istoriją, žymeles, sukurtus grojaraščius ir VLC nuostatas</string> <string name="clear_app_data_message">Prarasite peržiūrėtų kūrinių istoriją, žymeles, sukurtus grojaraščius ir VLC nuostatas.</string>
<string name="clear">Išvalyti</string> <string name="clear">Išvalyti</string>
<string name="abrepeat_add_first_marker">Nustatyti pradžios tašką</string> <string name="abrepeat_add_first_marker">Nustatyti pradžios tašką</string>
<string name="abrepeat_add_second_marker">Nustatyti pabaigos tašką</string> <string name="abrepeat_add_second_marker">Nustatyti pabaigos tašką</string>
...@@ -761,11 +761,11 @@ ...@@ -761,11 +761,11 @@
<string name="track_index">Takelis: %s</string> <string name="track_index">Takelis: %s</string>
<string name="audio_queue_progress">Eiga: %s</string> <string name="audio_queue_progress">Eiga: %s</string>
<string name="audio_queue_progress_remaining">Likęs laikas: %s</string> <string name="audio_queue_progress_remaining">Likęs laikas: %s</string>
<string name="audio_queue_progress_finished">Baigiasi: %s</string> <string name="audio_queue_progress_finished">Baigsis: %s</string>
<string name="sortby_track">Takelis</string> <string name="sortby_track">takelį</string>
<string name="this_folder">Pridėti šį aplanką</string> <string name="this_folder">Pridėti šį aplanką</string>
<string name="all_subfolders">Pridėti šį aplanką su poaplankiais</string> <string name="all_subfolders">Pridėti šį aplanką su poaplankiais</string>
<string name="playlist_existing">Grojaraštis su pavadinimu %s jau yra</string> <string name="playlist_existing">Grojaraštis pavadinimu %s jau yra</string>
<string name="new_title">Naujas pavadinimas</string> <string name="new_title">Naujas pavadinimas</string>
<string name="browse">Naršyti</string> <string name="browse">Naršyti</string>
<string name="more">Daugiau</string> <string name="more">Daugiau</string>
...@@ -781,7 +781,7 @@ ...@@ -781,7 +781,7 @@
<string name="no_track">Nėra</string> <string name="no_track">Nėra</string>
<string name="swipe_unlock">Perbraukite, kad atrakintumėte</string> <string name="swipe_unlock">Perbraukite, kad atrakintumėte</string>
<string name="swipe_unlock_no_touch">Ilgai paspauskite, kad atrakintumėte</string> <string name="swipe_unlock_no_touch">Laikykite nuspaudę, kad atrakintumėte</string>
<string name="sub_result_by_name">Rezultatai %s</string> <string name="sub_result_by_name">Rezultatai %s</string>
<string name="sub_result_by_name_season">Sezonas %s</string> <string name="sub_result_by_name_season">Sezonas %s</string>
<string name="sub_result_by_name_episode">Epizodas %s</string> <string name="sub_result_by_name_episode">Epizodas %s</string>
...@@ -803,7 +803,7 @@ ...@@ -803,7 +803,7 @@
<string name="mark_as_played">Pažymėti kaip peržiūrėtą</string> <string name="mark_as_played">Pažymėti kaip peržiūrėtą</string>
<string name="mark_as_not_played">Pažymėti kaip neperžiūrėtą</string> <string name="mark_as_not_played">Pažymėti kaip neperžiūrėtą</string>
<string name="mark_all_as_played">Pažymėti viską kaip peržiūrėta“</string> <string name="mark_all_as_played">Pažymėti viską kaip peržiūrėtą</string>
<string name="new_group">Nauja grupė</string> <string name="new_group">Nauja grupė</string>
<string name="new_group_desc">Sukurti naują grupę</string> <string name="new_group_desc">Sukurti naują grupę</string>
...@@ -817,13 +817,10 @@ ...@@ -817,13 +817,10 @@
<string name="allow_otg">Leisti OTG prieigą</string> <string name="allow_otg">Leisti OTG prieigą</string>
<string name="allow_otg_description">Pasirinkite žvalgytiną OTG diską.</string> <string name="allow_otg_description">Pasirinkite žvalgytiną OTG diską.</string>
<string name="timeout_infinite">Nepranykstantis</string> <string name="timeout_infinite">Nepranykstantis</string>
<string name="timeout_short">Trumpas</string> <string name="video_hud_timeout">Vaizdo grotuvo valdiklių slėpimo laikas</string>
<string name="timeout_normal">Normalus</string>
<string name="timeout_long">Ilgas</string>
<string name="video_hud_timeout">Vaizdo grotuvo nustatymų slėpimo laikas</string>
<string name="remove_from_history">Pašalinti iš istorijos</string> <string name="remove_from_history">Pašalinti iš istorijos</string>
<string name="prefersmbv1">Pirmenybė SMB 1</string> <string name="prefersmbv1">Pirmenybė SMB 1</string>
<string name="prefersmbv1_summary">Panaikinkite šio nustatymo pasirinkimą, jei kyla sunkumų naršant SMB serverį</string> <string name="prefersmbv1_summary">Panaikinkite šios nuostatos pasirinkimą, jei kyla sunkumų naršant SMB serverį</string>
<string name="apply_to_all">Pritaikyti visiems vaizdo įr.</string> <string name="apply_to_all">Pritaikyti visiems vaizdo įr.</string>
<string name="audio_delay_global">Pritaikyti vėlinimą %s ms visiems įrašams</string> <string name="audio_delay_global">Pritaikyti vėlinimą %s ms visiems įrašams</string>
<string name="audio_delay_bt">Pritaikyti %s ms garso vėlinimą „Bluetooth“ įrenginiui</string> <string name="audio_delay_bt">Pritaikyti %s ms garso vėlinimą „Bluetooth“ įrenginiui</string>
...@@ -842,7 +839,7 @@ ...@@ -842,7 +839,7 @@
<string name="pref_resolution_best_available">Pati geriausia</string> <string name="pref_resolution_best_available">Pati geriausia</string>
<string name="pref_resolution_very_low">Pati prasčiausia (240p)</string> <string name="pref_resolution_very_low">Pati prasčiausia (240p)</string>
<string name="stop_unpaubale">Šio kūrinio negalima pristabdyti. Nutraukti jo grojimą?</string> <string name="stop_unpaubale">Šio kūrinio negalima pristabdyti. Nutraukti jo grojimą?</string>
<string name="delete_forever">Ištrinti visam laikui</string> <string name="delete_forever">Pašalinti visam laikui</string>
<string name="add_to_existing_playlist">Įtraukti į esamą grojaraštį</string> <string name="add_to_existing_playlist">Įtraukti į esamą grojaraštį</string>
<string name="bookmarks_title">Žymelės</string> <string name="bookmarks_title">Žymelės</string>
<string name="no_bookmark">Žymelių nėra</string> <string name="no_bookmark">Žymelių nėra</string>
...@@ -855,12 +852,12 @@ ...@@ -855,12 +852,12 @@
<!-- Duplication Warning Dialog --> <!-- Duplication Warning Dialog -->
<string name="message_primary_default">Pridėti pasikartojančius?</string> <string name="message_primary_default">Pridėti pasikartojančius?</string>
<string name="add_button">Pridėti</string> <string name="add_button">Pridėti</string>
<string name="add_all_button">Pridėti visus</string> <string name="add_all_button">Pridėti vis</string>
<string name="add_new_only_button">Pridėti tik naujus</string> <string name="add_new_only_button">Pridėti tik naujus</string>
<string name="discovery_failed">Nepavyko nuskaityti: %s</string> <string name="discovery_failed">Nepavyko nuskaityti: %s</string>
<string name="lock_use_sensor_title">Užrakinti su jutikliu</string> <string name="lock_use_sensor_title">Užrakinti su jutikliu</string>
<string name="lock_use_sensor_summary">Kai ekrano pasukimas užrakintas, naudoti jutiklį atvirkščios padėties įgalinimui</string> <string name="lock_use_sensor_summary">Kai ekrano pasukimas užrakintas, naudoti jutiklį atvirkščios padėties įgalinimui</string>
<string name="start">Pradėti</string> <string name="start">Pradėti!</string>
<string name="permission">Leidimas</string> <string name="permission">Leidimas</string>
<string name="customize">Derinti</string> <string name="customize">Derinti</string>
<plurals name="duplication_two_options_secondary"> <plurals name="duplication_two_options_secondary">
......
...@@ -202,6 +202,7 @@ ...@@ -202,6 +202,7 @@
<string name="encountered_error_title">Playback error</string> <string name="encountered_error_title">Playback error</string>
<string name="encountered_error_message">VLC encountered an error with this media.\nPlease try refreshing the media library.</string> <string name="encountered_error_message">VLC encountered an error with this media.\nPlease try refreshing the media library.</string>
<string name="invalid_location">The location %1$s cannot be played.</string> <string name="invalid_location">The location %1$s cannot be played.</string>
<string name="missing_location">This media is from a unavailable storage and cannot be played.</string>
<string name="search">Search</string> <string name="search">Search</string>
...@@ -499,6 +500,12 @@ ...@@ -499,6 +500,12 @@
<string name="widget_default_text" translatable="false">VLC mini player</string> <string name="widget_default_text" translatable="false">VLC mini player</string>
<string name="allow_storage_access_title">Allow VLC to access video and audio files</string> <string name="allow_storage_access_title">Allow VLC to access video and audio files</string>
<string name="allow_storage_access_description">VLC needs you to grant this permission to access the media files on this device.</string> <string name="allow_storage_access_description">VLC needs you to grant this permission to access the media files on this device.</string>
<string name="allow_storage_manager_title">Allow VLC all file access</string>
<string name="allow_storage_manager_description">%s\n\nGrant permission?</string>
<string name="allow_storage_manager_explanation">To get all the capabilities of VLC and the support of all types of media files, we strongly suggest you to grant this permission.</string>
<string name="partial_content">VLC cannot access all of your files</string>
<string name="partial_content_description">Starting with Android 11, applications need a special permission to access all device\'s files.\n\n%s</string>
<string name="never_ask_again">Never ask again</string>
<string name="allow_settings_access_ringtone_title">Allow VLC to set the ringtone</string> <string name="allow_settings_access_ringtone_title">Allow VLC to set the ringtone</string>
<string name="allow_settings_access_ringtone_description">VLC needs you to grant this permission to set up this song as your ringtone.</string> <string name="allow_settings_access_ringtone_description">VLC needs you to grant this permission to set up this song as your ringtone.</string>
<string name="allow_settings_access_brightness_title">Allow VLC to change brightness mode</string> <string name="allow_settings_access_brightness_title">Allow VLC to change brightness mode</string>
......
...@@ -36,7 +36,7 @@ import org.videolan.television.ui.browser.BaseTvActivity ...@@ -36,7 +36,7 @@ import org.videolan.television.ui.browser.BaseTvActivity
import org.videolan.tools.* import org.videolan.tools.*
import org.videolan.vlc.ScanProgress import org.videolan.vlc.ScanProgress
import org.videolan.vlc.StartActivity import org.videolan.vlc.StartActivity
import org.videolan.vlc.donations.VLCBilling //import org.videolan.vlc.donations.VLCBilling
import org.videolan.vlc.reloadLibrary import org.videolan.vlc.reloadLibrary
import org.videolan.vlc.util.Util import org.videolan.vlc.util.Util
...@@ -76,7 +76,7 @@ class MainTvActivity : BaseTvActivity() { ...@@ -76,7 +76,7 @@ class MainTvActivity : BaseTvActivity() {
val fragmentManager = supportFragmentManager val fragmentManager = supportFragmentManager
browseFragment = fragmentManager.findFragmentById(R.id.browse_fragment) as MainTvFragment browseFragment = fragmentManager.findFragmentById(R.id.browse_fragment) as MainTvFragment
progressBar = findViewById(R.id.tv_main_progress) progressBar = findViewById(R.id.tv_main_progress)
VLCBilling.getInstance(application).retrieveSkus() // VLCBilling.getInstance(application).retrieveSkus()
if (!Settings.getInstance(this).getBoolean(KEY_TV_ONBOARDING_DONE, false)) { if (!Settings.getInstance(this).getBoolean(KEY_TV_ONBOARDING_DONE, false)) {
// This is the first time running the app, let's go to onboarding // This is the first time running the app, let's go to onboarding
...@@ -86,7 +86,7 @@ class MainTvActivity : BaseTvActivity() { ...@@ -86,7 +86,7 @@ class MainTvActivity : BaseTvActivity() {
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
if (VLCBilling.getInstance(this.application).iabHelper.handleActivityResult(requestCode, resultCode, data)) return // if (VLCBilling.getInstance(this.application).iabHelper.handleActivityResult(requestCode, resultCode, data)) return
if (requestCode == ACTIVITY_RESULT_PREFERENCES) { if (requestCode == ACTIVITY_RESULT_PREFERENCES) {
when (resultCode) { when (resultCode) {
RESULT_RESCAN -> this.reloadLibrary() RESULT_RESCAN -> this.reloadLibrary()
......
...@@ -49,8 +49,8 @@ import org.videolan.television.viewmodel.MainTvModel.Companion.getMainTvModel ...@@ -49,8 +49,8 @@ import org.videolan.television.viewmodel.MainTvModel.Companion.getMainTvModel
import org.videolan.vlc.BuildConfig import org.videolan.vlc.BuildConfig
import org.videolan.vlc.R import org.videolan.vlc.R
import org.videolan.vlc.RecommendationsService import org.videolan.vlc.RecommendationsService
import org.videolan.vlc.donations.BillingStatus //import org.videolan.vlc.donations.BillingStatus
import org.videolan.vlc.donations.VLCBilling //import org.videolan.vlc.donations.VLCBilling
import org.videolan.vlc.gui.helpers.UiTools.showDonations import org.videolan.vlc.gui.helpers.UiTools.showDonations
import org.videolan.vlc.gui.video.VideoPlayerActivity import org.videolan.vlc.gui.video.VideoPlayerActivity
import org.videolan.vlc.reloadLibrary import org.videolan.vlc.reloadLibrary
...@@ -168,9 +168,9 @@ class MainTvFragment : BrowseSupportFragment(), OnItemViewSelectedListener, OnIt ...@@ -168,9 +168,9 @@ class MainTvFragment : BrowseSupportFragment(), OnItemViewSelectedListener, OnIt
otherAdapter.add(GenericCardItem(ID_ABOUT_TV, getString(R.string.about), "${getString(R.string.app_name_full)} ${BuildConfig.VLC_VERSION_NAME}", R.drawable.ic_menu_info_big, R.color.tv_card_content_dark)) otherAdapter.add(GenericCardItem(ID_ABOUT_TV, getString(R.string.about), "${getString(R.string.app_name_full)} ${BuildConfig.VLC_VERSION_NAME}", R.drawable.ic_menu_info_big, R.color.tv_card_content_dark))
otherAdapter.add(GenericCardItem(ID_LICENCE, getString(R.string.licence), "", R.drawable.ic_menu_open_source, R.color.tv_card_content_dark)) otherAdapter.add(GenericCardItem(ID_LICENCE, getString(R.string.licence), "", R.drawable.ic_menu_open_source, R.color.tv_card_content_dark))
val donateCard = GenericCardItem(ID_SPONSOR, getString(R.string.tip_jar), "", R.drawable.ic_donate_big, R.color.tv_card_content_dark) val donateCard = GenericCardItem(ID_SPONSOR, getString(R.string.tip_jar), "", R.drawable.ic_donate_big, R.color.tv_card_content_dark)
VLCBilling.getInstance(requireActivity().application).addStatusListener { // VLCBilling.getInstance(requireActivity().application).addStatusListener {
manageDonationVisibility(donateCard) // manageDonationVisibility(donateCard)
} // }
manageDonationVisibility(donateCard) manageDonationVisibility(donateCard)
miscRow = ListRow(miscHeader, otherAdapter) miscRow = ListRow(miscHeader, otherAdapter)
rowsAdapter.add(miscRow) rowsAdapter.add(miscRow)
...@@ -189,7 +189,7 @@ class MainTvFragment : BrowseSupportFragment(), OnItemViewSelectedListener, OnIt ...@@ -189,7 +189,7 @@ class MainTvFragment : BrowseSupportFragment(), OnItemViewSelectedListener, OnIt
private fun manageDonationVisibility(donateCard: GenericCardItem) { private fun manageDonationVisibility(donateCard: GenericCardItem) {
if (activity == null) return if (activity == null) return
otherAdapter.remove(donateCard) otherAdapter.remove(donateCard)
if (VLCBilling.getInstance(requireActivity().application).status != BillingStatus.FAILURE && VLCBilling.getInstance(requireActivity().application).skuDetails.isNotEmpty()) otherAdapter.add(1, donateCard) // if (VLCBilling.getInstance(requireActivity().application).status != BillingStatus.FAILURE && VLCBilling.getInstance(requireActivity().application).skuDetails.isNotEmpty()) otherAdapter.add(1, donateCard)
} }
private fun registerDatasets() { private fun registerDatasets() {
......
package org.videolan.tools package org.videolan.tools
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity
import android.app.ActivityManager import android.app.ActivityManager
import android.app.ActivityManager.RunningAppProcessInfo import android.app.ActivityManager.RunningAppProcessInfo
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
import android.content.Context import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.content.pm.ResolveInfo
import android.content.res.Resources import android.content.res.Resources
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.Uri import android.net.Uri
...@@ -151,3 +155,15 @@ fun Uri?.removeQuery(): Uri? { ...@@ -151,3 +155,15 @@ fun Uri?.removeQuery(): Uri? {
} }
return null return null
} }
/**
* Checks if the intent is callable
*
* @param context: the context to use to test the intent
* @return true if the intent is callable
*/
fun Intent.isCallable(context: Context): Boolean {
val list: List<ResolveInfo> = context.packageManager.queryIntentActivities(this,
PackageManager.MATCH_DEFAULT_ONLY)
return list.isNotEmpty()
}
\ No newline at end of file
...@@ -128,6 +128,7 @@ const val AUDIO_STOP_AFTER = "audio_stop_after" ...@@ -128,6 +128,7 @@ const val AUDIO_STOP_AFTER = "audio_stop_after"
const val LAST_LOCK_ORIENTATION = "last_lock_orientation" const val LAST_LOCK_ORIENTATION = "last_lock_orientation"
const val INITIAL_PERMISSION_ASKED = "initial_permission_asked" const val INITIAL_PERMISSION_ASKED = "initial_permission_asked"
const val PERMISSION_NEVER_ASK = "permission_never_ask"
class DeviceInfo(context: Context) { class DeviceInfo(context: Context) {
val pm = context.packageManager val pm = context.packageManager
......
...@@ -152,7 +152,6 @@ dependencies { ...@@ -152,7 +152,6 @@ dependencies {
api project(':application:resources') api project(':application:resources')
api project(':application:mediadb') api project(':application:mediadb')
api project(':application:live-plot-graph') api project(':application:live-plot-graph')
api project(':application:donations')
// AppCompat // AppCompat
......
...@@ -41,16 +41,6 @@ ...@@ -41,16 +41,6 @@
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/bottom_gradient"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="?attr/audio_player_gradient_bottom"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline8" />
<View <View
android:id="@+id/top_gradient" android:id="@+id/top_gradient"
android:layout_width="0dp" android:layout_width="0dp"
...@@ -346,6 +336,16 @@ ...@@ -346,6 +336,16 @@
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/header" /> app:layout_constraintTop_toBottomOf="@+id/header" />
<View
android:id="@+id/bottom_gradient"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="?attr/audio_player_gradient_bottom"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline8" />
<TextView <TextView
android:id="@+id/audio_play_progress" android:id="@+id/audio_play_progress"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?>
<!--
~ *************************************************************************
~ dialog_all_access.xml
~ **************************************************************************
~ Copyright © 2021 VLC authors and VideoLAN
~ Author: Nicolas POMEPUY
~ This program is free software; you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation; either version 2 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program; if not, write to the Free Software
~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
~ ***************************************************************************
~
~
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
style="@style/Theme.VLC.BottomSheetTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/partial_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:textColor="?attr/font_default"
android:lineSpacingMultiplier="1.3"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title" />
<CheckBox
android:id="@+id/never_ask_again"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/never_ask_again"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description" />
<Button
android:id="@+id/grant_all_access_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp"
android:text="@string/permission_ask_again"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/never_ask_again" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
</data>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<nl.dionsegijn.konfetti.KonfettiView
android:id="@+id/konfetti"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/donate_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/icon" />
<TextView
android:id="@+id/donations_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/tip_jar"
android:textAppearance="@style/TextAppearance.AppCompat.Display1"
android:textColor="?attr/font_default"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/donate_logo" />
<TextView
android:id="@+id/donations_description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:gravity="center_horizontal"
android:text="@string/donation_description"
android:textColor="?attr/font_default"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/donations_title" />
<TextView
android:id="@+id/alreadySubscribed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:text="@string/subscription_purchased"
android:textColor="?attr/colorPrimary"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/donations_description" />
<TextView
android:id="@+id/cancelSubscription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/donate_text_background"
android:gravity="center_horizontal"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:text="@string/subscription_cancel"
android:textColor="?attr/colorPrimary"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/alreadySubscribed" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tv_unsubscribe"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/rectangle_grey_700"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cancelSubscription"
tools:visibility="visible">
<TextView
android:id="@+id/tv_unsubscribe_description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp"
android:text="@string/donate_unsubscribe_tv"
android:textColor="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/qr_unsubscribe"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_unsubscribe_description" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/donation_emoji_tier_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/donation_emoji_tier_3"
app:layout_constraintEnd_toEndOf="@+id/donation_tier_1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="@+id/donation_tier_1"
app:layout_constraintTop_toTopOf="@+id/donation_emoji_tier_3"
app:srcCompat="@drawable/ic_emoji_thumb_up" />
<ImageView
android:id="@+id/donation_emoji_tier_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/donation_emoji_tier_3"
app:layout_constraintEnd_toEndOf="@+id/donation_tier_4"
app:layout_constraintStart_toEndOf="@+id/donation_emoji_tier_3"
app:layout_constraintStart_toStartOf="@+id/donation_tier_4"
app:layout_constraintTop_toTopOf="@+id/donation_emoji_tier_3"
app:srcCompat="@drawable/ic_emoji_eyes_heart" />
<ImageView
android:id="@+id/donation_emoji_tier_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/donation_emoji_tier_3"
app:layout_constraintEnd_toEndOf="@+id/donation_tier_5"
app:layout_constraintStart_toStartOf="@+id/donation_tier_5"
app:layout_constraintTop_toTopOf="@+id/donation_emoji_tier_3"
app:srcCompat="@drawable/ic_emoji_party" />
<ImageView
android:id="@+id/donation_emoji_tier_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toEndOf="@+id/donation_tier_3"
app:layout_constraintStart_toEndOf="@+id/donation_emoji_tier_2"
app:layout_constraintStart_toStartOf="@+id/donation_tier_3"
app:layout_constraintTop_toBottomOf="@+id/tv_unsubscribe"
app:layout_goneMarginTop="24dp"
app:srcCompat="@drawable/ic_emoji_eyes_star" />
<ImageView
android:id="@+id/donation_emoji_tier_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/donation_emoji_tier_3"
app:layout_constraintEnd_toEndOf="@+id/donation_tier_2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/donation_emoji_tier_1"
app:layout_constraintStart_toStartOf="@+id/donation_tier_2"
app:layout_constraintTop_toTopOf="@+id/donation_emoji_tier_3"
app:srcCompat="@drawable/ic_emoji_clap_hands" />
<org.videolan.vlc.gui.view.DonationSkuView
android:id="@+id/donation_tier_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="1dp"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintEnd_toStartOf="@+id/donation_tier_2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/donation_tier_3"
tools:text="0.59€" />
<org.videolan.vlc.gui.view.DonationSkuView
android:id="@+id/donation_tier_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginEnd="1dp"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintEnd_toStartOf="@+id/donation_tier_3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/donation_tier_1"
app:layout_constraintTop_toTopOf="@+id/donation_tier_3"
tools:text="1.19€" />
<org.videolan.vlc.gui.view.DonationSkuView
android:id="@+id/donation_tier_3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="1dp"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintEnd_toStartOf="@+id/donation_tier_4"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/donation_tier_2"
app:layout_constraintTop_toBottomOf="@+id/donation_emoji_tier_3"
tools:text="2.29€" />
<org.videolan.vlc.gui.view.DonationSkuView
android:id="@+id/donation_tier_4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginEnd="1dp"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintEnd_toStartOf="@+id/donation_tier_5"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/donation_tier_3"
app:layout_constraintTop_toTopOf="@+id/donation_tier_3"
tools:text="5.59€" />
<org.videolan.vlc.gui.view.DonationSkuView
android:id="@+id/donation_tier_5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/donation_tier_4"
app:layout_constraintTop_toTopOf="@+id/donation_tier_3"
tools:text="10.99€" />
<CheckBox
android:id="@+id/subscriptionCheckbox"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/donate_subscribtion"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/donation_tier_3" />
<TextView
android:id="@+id/sendDonation"
style="@style/DonateButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:enabled="false"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:text="@string/donate_send"
app:cornerRadius="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/subscriptionCheckbox" />
<TextView
android:id="@+id/anotherDonation"
style="@style/DonateButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:text="@string/donate_again"
android:visibility="gone"
app:cornerRadius="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/subscriptionCheckbox" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</layout>
\ No newline at end of file
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
...@@ -76,11 +77,13 @@ ...@@ -76,11 +77,13 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:visibility="gone"
app:cardBackgroundColor="?attr/donate_card" app:cardBackgroundColor="?attr/donate_card"
app:cardCornerRadius="4dp" app:cardCornerRadius="4dp"
app:layout_constraintEnd_toEndOf="@+id/aboutButton" app:layout_constraintEnd_toEndOf="@+id/aboutButton"
app:layout_constraintStart_toStartOf="@+id/settingsButton" app:layout_constraintStart_toStartOf="@+id/settingsButton"
app:layout_constraintTop_toBottomOf="@+id/settingsButton"> app:layout_constraintTop_toBottomOf="@+id/settingsButton"
tools:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -49,8 +49,7 @@ ...@@ -49,8 +49,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:barrierDirection="bottom" app:barrierDirection="bottom"
app:constraint_referenced_ids="emptyTextView" app:constraint_referenced_ids="emptyTextView"/>
tools:layout_editor_absoluteY="199dp" />
<TextView <TextView
android:id="@+id/emptyTextView" android:id="@+id/emptyTextView"
......
...@@ -145,7 +145,7 @@ class DebugLogService : Service(), Logcat.Callback, Runnable { ...@@ -145,7 +145,7 @@ class DebugLogService : Service(), Logcat.Callback, Runnable {
logcat = Logcat() logcat = Logcat()
logcat!!.start(this) logcat!!.start(this)
launchForeground(this, Intent(this, DebugLogService::class.java)) launchForeground(Intent(this, DebugLogService::class.java))
sendMessage(MSG_STARTED, null) sendMessage(MSG_STARTED, null)
} }
......
...@@ -145,7 +145,7 @@ object ExternalMonitor : BroadcastReceiver(), LifecycleObserver, CoroutineScope ...@@ -145,7 +145,7 @@ object ExternalMonitor : BroadcastReceiver(), LifecycleObserver, CoroutineScope
val scanOpt = if (Settings.showTvUi) ML_SCAN_ON val scanOpt = if (Settings.showTvUi) ML_SCAN_ON
else Settings.getInstance(ctx).getInt(KEY_MEDIALIBRARY_SCAN, -1) else Settings.getInstance(ctx).getInt(KEY_MEDIALIBRARY_SCAN, -1)
if (scanOpt == ML_SCAN_ON) if (scanOpt == ML_SCAN_ON)
AppScope.launch { ctx.launchForeground(ctx,Intent(ACTION_CHECK_STORAGES, null, ctx, MediaParsingService::class.java)) } AppScope.launch { ctx.launchForeground(Intent(ACTION_CHECK_STORAGES, null, ctx, MediaParsingService::class.java)) }
} }
val usbManager = ctx.getSystemService<UsbManager>() ?: return val usbManager = ctx.getSystemService<UsbManager>() ?: return
devices.add(ArrayList(usbManager.deviceList.values)) devices.add(ArrayList(usbManager.deviceList.values))
......
...@@ -531,11 +531,11 @@ data class ScanProgress(val parsing: Float, val progressText: String, val inDisc ...@@ -531,11 +531,11 @@ data class ScanProgress(val parsing: Float, val progressText: String, val inDisc
data class DiscoveryError(val entryPoint: String) data class DiscoveryError(val entryPoint: String)
fun Context.reloadLibrary() { fun Context.reloadLibrary() {
launchForeground(this, Intent(ACTION_RELOAD, null, this, MediaParsingService::class.java)) launchForeground(Intent(ACTION_RELOAD, null, this, MediaParsingService::class.java))
} }
fun Context.rescan() { fun Context.rescan() {
launchForeground(this, Intent(ACTION_FORCE_RELOAD, null, this, MediaParsingService::class.java)) launchForeground(Intent(ACTION_FORCE_RELOAD, null, this, MediaParsingService::class.java))
} }
private sealed class MLAction private sealed class MLAction
......
...@@ -1266,33 +1266,28 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner { ...@@ -1266,33 +1266,28 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner {
val queue = withContext(Dispatchers.Default) { val queue = withContext(Dispatchers.Default) {
ArrayList<MediaSessionCompat.QueueItem>(toIndex - fromIndex).also { ArrayList<MediaSessionCompat.QueueItem>(toIndex - fromIndex).also {
for ((position, media) in mediaList.subList(fromIndex, toIndex).withIndex()) { for ((position, media) in mediaList.subList(fromIndex, toIndex).withIndex()) {
try { val title: String = media.nowPlaying ?: media.title
val title: String = media.nowPlaying ?: media.title val mediaId = MediaSessionBrowser.generateMediaId(media)
val mediaId = MediaSessionBrowser.generateMediaId(media) val iconUri = when {
val iconUri = when { isSchemeHttpOrHttps(media.artworkMrl) -> {
isSchemeHttpOrHttps(media.artworkMrl) -> { //ArtworkProvider will cache remote images
//ArtworkProvider will cache remote images ArtworkProvider.buildUri(Uri.Builder()
ArtworkProvider.buildUri(Uri.Builder() .appendPath(ArtworkProvider.REMOTE)
.appendPath(ArtworkProvider.REMOTE) .appendQueryParameter(ArtworkProvider.PATH, media.artworkMrl)
.appendQueryParameter(ArtworkProvider.PATH, media.artworkMrl) .build())
.build())
}
ThumbnailsProvider.isMediaVideo(media) -> ArtworkProvider.buildMediaUri(media)
else -> artworkMap[mediaId] ?: MediaSessionBrowser.DEFAULT_TRACK_ICON
} }
val mediaDesc = MediaDescriptionCompat.Builder() ThumbnailsProvider.isMediaVideo(media) -> ArtworkProvider.buildMediaUri(media)
.setTitle(title) else -> artworkMap[mediaId] ?: MediaSessionBrowser.DEFAULT_TRACK_ICON
.setSubtitle(MediaUtils.getMediaArtist(ctx, media))
.setDescription(MediaUtils.getMediaAlbum(ctx, media))
.setIconUri(iconUri)
.setMediaUri(media.uri)
.setMediaId(mediaId)
.build()
it.add(MediaSessionCompat.QueueItem(mediaDesc, (fromIndex + position).toLong()))
} catch (e: NullPointerException) {
Log.e("PlaybackService", e.message, e)
VLCCrashHandler.saveLog(e, "NullPointerException in PlaybackService buildQueue")
} }
val mediaDesc = MediaDescriptionCompat.Builder()
.setTitle(title)
.setSubtitle(MediaUtils.getMediaArtist(ctx, media))
.setDescription(MediaUtils.getMediaAlbum(ctx, media))
.setIconUri(iconUri)
.setMediaUri(media.uri)
.setMediaId(mediaId)
.build()
it.add(MediaSessionCompat.QueueItem(mediaDesc, (fromIndex + position).toLong()))
} }
} }
} }
...@@ -1593,12 +1588,12 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner { ...@@ -1593,12 +1588,12 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner {
fun start(context: Context) { fun start(context: Context) {
if (instance != null) return if (instance != null) return
val serviceIntent = Intent(context, PlaybackService::class.java) val serviceIntent = Intent(context, PlaybackService::class.java)
context.launchForeground(context, serviceIntent) context.launchForeground(serviceIntent)
} }
fun loadLastAudio(context: Context) { fun loadLastAudio(context: Context) {
val i = Intent(ACTION_REMOTE_LAST_PLAYLIST, null, context, PlaybackService::class.java) val i = Intent(ACTION_REMOTE_LAST_PLAYLIST, null, context, PlaybackService::class.java)
context.launchForeground(context, i) context.launchForeground(i)
} }
fun hasRenderer() = renderer.value != null fun hasRenderer() = renderer.value != null
......