Browse Source

Create a resources module

merge-requests/382/head
Geoffrey Métais 7 years ago
committed by Geoffrey Métais
parent
commit
20e7005014
  1. 1
      api/build.gradle
  2. 1
      resources/.gitignore
  3. 21
      resources/build.gradle
  4. 21
      resources/proguard-rules.pro
  5. 24
      resources/src/androidTest/java/org/videolan/resources/ExampleInstrumentedTest.kt
  6. 4
      resources/src/main/AndroidManifest.xml
  7. 0
      resources/src/main/res/arrays.xml
  8. 0
      resources/src/main/res/values-ar/strings.xml
  9. 0
      resources/src/main/res/values-be/strings.xml
  10. 0
      resources/src/main/res/values-br/strings.xml
  11. 0
      resources/src/main/res/values-bs/strings.xml
  12. 0
      resources/src/main/res/values-ca/strings.xml
  13. 0
      resources/src/main/res/values-co/strings.xml
  14. 0
      resources/src/main/res/values-cs/strings.xml
  15. 0
      resources/src/main/res/values-cy/strings.xml
  16. 0
      resources/src/main/res/values-da/strings.xml
  17. 0
      resources/src/main/res/values-de/strings.xml
  18. 0
      resources/src/main/res/values-el/strings.xml
  19. 0
      resources/src/main/res/values-en-rGB/strings.xml
  20. 0
      resources/src/main/res/values-es-rMX/strings.xml
  21. 0
      resources/src/main/res/values-es/strings.xml
  22. 0
      resources/src/main/res/values-eu/strings.xml
  23. 0
      resources/src/main/res/values-fa/strings.xml
  24. 0
      resources/src/main/res/values-fi/strings.xml
  25. 0
      resources/src/main/res/values-fo/strings.xml
  26. 0
      resources/src/main/res/values-fr/strings.xml
  27. 0
      resources/src/main/res/values-ga/strings.xml
  28. 0
      resources/src/main/res/values-gl/strings.xml
  29. 0
      resources/src/main/res/values-he/strings.xml
  30. 0
      resources/src/main/res/values-hr/strings.xml
  31. 0
      resources/src/main/res/values-hu/strings.xml
  32. 0
      resources/src/main/res/values-id/strings.xml
  33. 0
      resources/src/main/res/values-is/strings.xml
  34. 0
      resources/src/main/res/values-it/strings.xml
  35. 0
      resources/src/main/res/values-iw
  36. 0
      resources/src/main/res/values-ja/strings.xml
  37. 0
      resources/src/main/res/values-km/strings.xml
  38. 0
      resources/src/main/res/values-ko/strings.xml
  39. 0
      resources/src/main/res/values-lt/strings.xml
  40. 0
      resources/src/main/res/values-lv/strings.xml
  41. 0
      resources/src/main/res/values-ml/strings.xml
  42. 0
      resources/src/main/res/values-mr/strings.xml
  43. 0
      resources/src/main/res/values-ms/strings.xml
  44. 0
      resources/src/main/res/values-nb/strings.xml
  45. 0
      resources/src/main/res/values-ne-rNP/strings.xml
  46. 0
      resources/src/main/res/values-nl/strings.xml
  47. 0
      resources/src/main/res/values-pl/strings.xml
  48. 0
      resources/src/main/res/values-pt-rBR/strings.xml
  49. 0
      resources/src/main/res/values-pt/strings.xml
  50. 0
      resources/src/main/res/values-ro/strings.xml
  51. 0
      resources/src/main/res/values-ru/strings.xml
  52. 0
      resources/src/main/res/values-sc/strings.xml
  53. 0
      resources/src/main/res/values-sk/strings.xml
  54. 0
      resources/src/main/res/values-sl/strings.xml
  55. 0
      resources/src/main/res/values-sq/strings.xml
  56. 0
      resources/src/main/res/values-sr/strings.xml
  57. 0
      resources/src/main/res/values-sv/strings.xml
  58. 0
      resources/src/main/res/values-ta/strings.xml
  59. 0
      resources/src/main/res/values-th/strings.xml
  60. 0
      resources/src/main/res/values-tr/strings.xml
  61. 0
      resources/src/main/res/values-tt/strings.xml
  62. 0
      resources/src/main/res/values-uk/strings.xml
  63. 0
      resources/src/main/res/values-uz/strings.xml
  64. 0
      resources/src/main/res/values-zh-rCN/strings.xml
  65. 0
      resources/src/main/res/values-zh-rTW/strings.xml
  66. 426
      resources/src/main/res/values/arrays.xml
  67. 0
      resources/src/main/res/values/strings.xml
  68. 17
      resources/src/test/java/org/videolan/resources/ExampleUnitTest.kt
  69. 4
      settings.gradle
  70. 358
      vlc-android/AndroidManifest.xml
  71. 1
      vlc-android/build.gradle

1
api/build.gradle

@ -51,7 +51,6 @@ android {
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api "androidx.appcompat:appcompat:$rootProject.ext.androidxAppcompatVersion"
testImplementation "junit:junit:$rootProject.ext.junitVersion"
}

1
resources/.gitignore

@ -0,0 +1 @@
/build

21
resources/build.gradle

@ -0,0 +1,21 @@
apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
rootProject.ext.minSdkVersion
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}

21
resources/proguard-rules.pro

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

24
resources/src/androidTest/java/org/videolan/resources/ExampleInstrumentedTest.kt

@ -0,0 +1,24 @@
package org.videolan.resources
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("org.videolan.resources", appContext.packageName)
}
}

4
resources/src/main/AndroidManifest.xml

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
package="org.videolan.resources" >
</manifest>

0
vlc-android/res/values/arrays.xml → resources/src/main/res/arrays.xml

0
vlc-android/res/values-ar/strings.xml → resources/src/main/res/values-ar/strings.xml

0
vlc-android/res/values-be/strings.xml → resources/src/main/res/values-be/strings.xml

0
vlc-android/res/values-br/strings.xml → resources/src/main/res/values-br/strings.xml

0
vlc-android/res/values-bs/strings.xml → resources/src/main/res/values-bs/strings.xml

0
vlc-android/res/values-ca/strings.xml → resources/src/main/res/values-ca/strings.xml

0
vlc-android/res/values-co/strings.xml → resources/src/main/res/values-co/strings.xml

0
vlc-android/res/values-cs/strings.xml → resources/src/main/res/values-cs/strings.xml

0
vlc-android/res/values-cy/strings.xml → resources/src/main/res/values-cy/strings.xml

0
vlc-android/res/values-da/strings.xml → resources/src/main/res/values-da/strings.xml

0
vlc-android/res/values-de/strings.xml → resources/src/main/res/values-de/strings.xml

0
vlc-android/res/values-el/strings.xml → resources/src/main/res/values-el/strings.xml

0
vlc-android/res/values-en-rGB/strings.xml → resources/src/main/res/values-en-rGB/strings.xml

0
vlc-android/res/values-es-rMX/strings.xml → resources/src/main/res/values-es-rMX/strings.xml

0
vlc-android/res/values-es/strings.xml → resources/src/main/res/values-es/strings.xml

0
vlc-android/res/values-eu/strings.xml → resources/src/main/res/values-eu/strings.xml

0
vlc-android/res/values-fa/strings.xml → resources/src/main/res/values-fa/strings.xml

0
vlc-android/res/values-fi/strings.xml → resources/src/main/res/values-fi/strings.xml

0
vlc-android/res/values-fo/strings.xml → resources/src/main/res/values-fo/strings.xml

0
vlc-android/res/values-fr/strings.xml → resources/src/main/res/values-fr/strings.xml

0
vlc-android/res/values-ga/strings.xml → resources/src/main/res/values-ga/strings.xml

0
vlc-android/res/values-gl/strings.xml → resources/src/main/res/values-gl/strings.xml

0
vlc-android/res/values-he/strings.xml → resources/src/main/res/values-he/strings.xml

0
vlc-android/res/values-hr/strings.xml → resources/src/main/res/values-hr/strings.xml

0
vlc-android/res/values-hu/strings.xml → resources/src/main/res/values-hu/strings.xml

0
vlc-android/res/values-id/strings.xml → resources/src/main/res/values-id/strings.xml

0
vlc-android/res/values-is/strings.xml → resources/src/main/res/values-is/strings.xml

0
vlc-android/res/values-it/strings.xml → resources/src/main/res/values-it/strings.xml

0
vlc-android/res/values-iw → resources/src/main/res/values-iw

0
vlc-android/res/values-ja/strings.xml → resources/src/main/res/values-ja/strings.xml

0
vlc-android/res/values-km/strings.xml → resources/src/main/res/values-km/strings.xml

0
vlc-android/res/values-ko/strings.xml → resources/src/main/res/values-ko/strings.xml

0
vlc-android/res/values-lt/strings.xml → resources/src/main/res/values-lt/strings.xml

0
vlc-android/res/values-lv/strings.xml → resources/src/main/res/values-lv/strings.xml

0
vlc-android/res/values-ml/strings.xml → resources/src/main/res/values-ml/strings.xml

0
vlc-android/res/values-mr/strings.xml → resources/src/main/res/values-mr/strings.xml

0
vlc-android/res/values-ms/strings.xml → resources/src/main/res/values-ms/strings.xml

0
vlc-android/res/values-nb/strings.xml → resources/src/main/res/values-nb/strings.xml

0
vlc-android/res/values-ne-rNP/strings.xml → resources/src/main/res/values-ne-rNP/strings.xml

0
vlc-android/res/values-nl/strings.xml → resources/src/main/res/values-nl/strings.xml

0
vlc-android/res/values-pl/strings.xml → resources/src/main/res/values-pl/strings.xml

0
vlc-android/res/values-pt-rBR/strings.xml → resources/src/main/res/values-pt-rBR/strings.xml

0
vlc-android/res/values-pt/strings.xml → resources/src/main/res/values-pt/strings.xml

0
vlc-android/res/values-ro/strings.xml → resources/src/main/res/values-ro/strings.xml

0
vlc-android/res/values-ru/strings.xml → resources/src/main/res/values-ru/strings.xml

0
vlc-android/res/values-sc/strings.xml → resources/src/main/res/values-sc/strings.xml

0
vlc-android/res/values-sk/strings.xml → resources/src/main/res/values-sk/strings.xml

0
vlc-android/res/values-sl/strings.xml → resources/src/main/res/values-sl/strings.xml

0
vlc-android/res/values-sq/strings.xml → resources/src/main/res/values-sq/strings.xml

0
vlc-android/res/values-sr/strings.xml → resources/src/main/res/values-sr/strings.xml

0
vlc-android/res/values-sv/strings.xml → resources/src/main/res/values-sv/strings.xml

0
vlc-android/res/values-ta/strings.xml → resources/src/main/res/values-ta/strings.xml

0
vlc-android/res/values-th/strings.xml → resources/src/main/res/values-th/strings.xml

0
vlc-android/res/values-tr/strings.xml → resources/src/main/res/values-tr/strings.xml

0
vlc-android/res/values-tt/strings.xml → resources/src/main/res/values-tt/strings.xml

0
vlc-android/res/values-uk/strings.xml → resources/src/main/res/values-uk/strings.xml

0
vlc-android/res/values-uz/strings.xml → resources/src/main/res/values-uz/strings.xml

0
vlc-android/res/values-zh-rCN/strings.xml → resources/src/main/res/values-zh-rCN/strings.xml

0
vlc-android/res/values-zh-rTW/strings.xml → resources/src/main/res/values-zh-rTW/strings.xml

426
resources/src/main/res/values/arrays.xml

@ -0,0 +1,426 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string-array name="server_protocols">
<item>FTP</item>
<item>FTPS</item>
<item>SFTP</item>
<!--<item>HTTP</item>-->
<!--<item>HTTPS</item>-->
<item>SMB</item>
<item>NFS</item>
</string-array>
<string-array name="language_entries">
<item>Albanian</item>
<item>Arabic</item>
<item>Armenian</item>
<item>Basque</item>
<item>Bengali</item>
<item>Bosnian</item>
<item>Breton</item>
<item>Bulgarian</item>
<item>Burmese</item>
<item>Catalan</item>
<item>Chinese</item>
<item>Croatian</item>
<item>Czech</item>
<item>Danish</item>
<item>Dutch</item>
<item>English</item>
<item>Esperanto</item>
<item>Estonian</item>
<item>Finnish</item>
<item>French</item>
<item>Galician</item>
<item>Georgian</item>
<item>German</item>
<item>Greek</item>
<item>Hebrew</item>
<item>Hindi</item>
<item>Hungarian</item>
<item>Icelandic</item>
<item>Indonesian</item>
<item>Italian</item>
<item>Japanese</item>
<item>Kazakh</item>
<item>Khmer</item>
<item>Korean</item>
<item>Latvian</item>
<item>Lithuanian</item>
<item>Luxembourgish</item>
<item>Macedonian</item>
<item>Malay</item>
<item>Malayalam</item>
<item>Mongolian</item>
<item>Norwegian</item>
<item>Occitan</item>
<item>Persian</item>
<item>Polish</item>
<item>Portuguese</item>
<item>Brazilian Portuguese</item>
<item>Romanian</item>
<item>Russian</item>
<item>Serbian</item>
<item>Sinhalese</item>
<item>Slovak</item>
<item>Slovenian</item>
<item>Spanish</item>
<item>Swahili</item>
<item>Swedish</item>
<item>Syriac</item>
<item>Tagalog</item>
<item>Tamil</item>
<item>Telugu</item>
<item>Thai</item>
<item>Turkish</item>
<item>Ukrainian</item>
<item>Urdu</item>
<item>Vietnamese</item>
</string-array>
<string-array name="language_values">
<item>alb</item>
<item>ara</item>
<item>arm</item>
<item>baq</item>
<item>ben</item>
<item>bos</item>
<item>bre</item>
<item>bul</item>
<item>bur</item>
<item>cat</item>
<item>chi</item>
<item>hrv</item>
<item>cze</item>
<item>dan</item>
<item>dut</item>
<item>eng</item>
<item>epo</item>
<item>est</item>
<item>fin</item>
<item>fre</item>
<item>glg</item>
<item>geo</item>
<item>ger</item>
<item>ell</item>
<item>heb</item>
<item>hin</item>
<item>hun</item>
<item>ice</item>
<item>ind</item>
<item>ita</item>
<item>jpn</item>
<item>kaz</item>
<item>khm</item>
<item>kor</item>
<item>lav</item>
<item>lit</item>
<item>ltz</item>
<item>mac</item>
<item>may</item>
<item>mal</item>
<item>mon</item>
<item>nor</item>
<item>oci</item>
<item>per</item>
<item>pol</item>
<item>por</item>
<item>pob</item>
<item>rum</item>
<item>rus</item>
<item>scc</item>
<item>sin</item>
<item>slo</item>
<item>slv</item>
<item>spa</item>
<item>swa</item>
<item>swe</item>
<item>syr</item>
<item>tgl</item>
<item>tam</item>
<item>tel</item>
<item>tha</item>
<item>tur</item>
<item>ukr</item>
<item>urd</item>
<item>vie</item>
</string-array>
<string-array name="subtitles_size_entries">
<item>@string/subtitles_size_small</item>
<item>@string/subtitles_size_normal</item>
<item>@string/subtitles_size_big</item>
<item>@string/subtitles_size_huge</item>
</string-array>
<string-array name="subtitles_size_values">
<item>19</item>
<item>16</item>
<item>13</item>
<item>10</item>
</string-array>
<string-array name="subtitles_color_entries">
<item>@string/subtitles_color_white</item>
<item>@string/subtitles_color_gray</item>
<item>@string/subtitles_color_pink</item>
<item>@string/subtitles_color_blue</item>
<item>@string/subtitles_color_yellow</item>
<item>@string/subtitles_color_green</item>
</string-array>
<string-array name="subtitles_color_values">
<item>16777215</item>
<item>12632256</item>
<item>16711935</item>
<item>65535</item>
<item>16776960</item>
<item>65280</item>
</string-array>
<string-array name="video_app_switch_action_titles" translatable="false">
<item>@string/stop</item>
<item>@string/play_as_audio_background</item>
<item>@string/play_pip_title</item>
</string-array>
<string-array name="video_app_switch_action_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="hardware_acceleration_list">
<item>@string/automatic</item>
<item>@string/hardware_acceleration_disabled</item>
<item>@string/hardware_acceleration_decoding</item>
<item>@string/hardware_acceleration_full</item>
</string-array>
<string-array name="hardware_acceleration_values" translatable="false">
<item>-1</item>
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="dev_hardware_decoder_list">
<item>@string/automatic</item>
<item>@string/dev_hardware_decoder_omx</item>
<item>@string/dev_hardware_decoder_omx_dr</item>
<item>@string/dev_hardware_decoder_mediacodec</item>
<item>@string/dev_hardware_decoder_mediacodec_dr</item>
</string-array>
<string-array name="dev_hardware_decoder_values" translatable="false">
<item>-1</item>
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string-array name="deblocking_list">
<item>@string/automatic</item>
<item>@string/deblocking_always</item>
<item>@string/deblocking_nonref</item>
<item>@string/deblocking_nonkey</item>
<item>@string/deblocking_all</item>
</string-array>
<string-array name="deblocking_values" translatable="false">
<item>-1</item>
<item>0</item>
<item>1</item>
<item>3</item>
<item>4</item>
</string-array>
<string-array name="screen_orientation_list">
<item>@string/screen_orientation_sensor</item>
<item>@string/screen_orientation_start_lock</item>
<item>@string/screen_orientation_landscape</item>
<item>@string/screen_orientation_portrait</item>
</string-array>
<string-array name="screen_orientation_values" translatable="false">
<item>99</item>
<item>100</item>
<item>101</item>
<item>102</item>
</string-array>
<string-array name="list_title_ellipsize_list">
<item>@string/list_title_ellipsize_default</item>
<item>@string/list_title_ellipsize_left</item>
<item>@string/list_title_ellipsize_right</item>
<item>@string/list_title_ellipsize_middle</item>
<item>@string/list_title_ellipsize_marquee</item>
</string-array>
<string-array name="list_title_ellipsize_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
<string-array name="subtitles_encoding_list" tools:ignore="TypographyDashes">
<item>Default (Windows-1252)</item>
<item>Universal (UTF-8)</item>
<item>Universal (UTF-16)</item>
<item>Universal (big endian UTF-16)</item>
<item>Universal (little endian UTF-16)</item>
<item>Universal, Chinese (GB18030)</item>
<item>Western European (Latin-9)</item>
<item>Western European (Windows-1252)</item>
<item>Western European (IBM 00850)</item>
<item>Eastern European (Latin-2)</item>
<item>Eastern European (Windows-1250)</item>
<item>Esperanto (Latin-3)</item>
<item>Nordic (Latin-6)</item>
<item>Cyrillic (Windows-1251)</item>
<item>Russian (KOI8-R)</item>
<item>Ukrainian (KOI8-U)</item>
<item>Arabic (ISO 8859-6)</item>
<item>Arabic (Windows-1256)</item>
<item>Greek (ISO 8859-7)</item>
<item>Greek (Windows-1253)</item>
<item>Hebrew (ISO 8859-8)</item>
<item>Hebrew (Windows-1255)</item>
<item>Turkish (ISO 8859-9)</item>
<item>Turkish (Windows-1254)</item>
<item>Thai (TIS 620-2533/ISO 8859-11)</item>
<item>Thai (Windows-874)</item>
<item>Baltic (Latin-7)</item>
<item>Baltic (Windows-1257)</item>
<item>Celtic (Latin-8)</item>
<item>South-Eastern European (Latin-10)</item>
<item>Simplified Chinese (ISO-2022-CN-EXT)</item>
<item>Simplified Chinese Unix (EUC-CN)</item>
<item>Japanese (7-bits JIS/ISO-2022-JP-2)</item>
<item>Japanese Unix (EUC-JP)</item>
<item>Japanese (Shift JIS)</item>
<item>Korean (EUC-KR/CP949)</item>
<item>Korean (ISO-2022-KR)</item>
<item>Traditional Chinese (Big5)</item>
<item>Traditional Chinese Unix (EUC-TW)</item>
<item>Hong-Kong Supplementary (HKSCS)</item>
<item>Vietnamese (VISCII)</item>
<item>Vietnamese (Windows-1258)</item>
</string-array>
<string-array name="subtitles_encoding_values" translatable="false" tools:ignore="TypographyDashes">
<item></item>
<item>UTF-8</item>
<item>UTF-16</item>
<item>UTF-16BE</item>
<item>UTF-16LE</item>
<item>GB18030</item>
<item>ISO-8859-15</item>
<item>Windows-1252</item>
<item>IBM850</item>
<item>ISO-8859-2</item>
<item>Windows-1250</item>
<item>ISO-8859-3</item>
<item>ISO-8859-10</item>
<item>Windows-1251</item>
<item>KOI8-R</item>
<item>KOI8-U</item>
<item>ISO-8859-6</item>
<item>Windows-1256</item>
<item>ISO-8859-7</item>
<item>Windows-1253</item>
<item>ISO-8859-8</item>
<item>Windows-1255</item>
<item>ISO-8859-9</item>
<item>Windows-1254</item>
<item>ISO-8859-11</item>
<item>Windows-874</item>
<item>ISO-8859-13</item>
<item>Windows-1257</item>
<item>ISO-8859-14</item>
<item>ISO-8859-16</item>
<item>ISO-2022-CN-EXT</item>
<item>EUC-CN</item>
<item>ISO-2022-JP-2</item>
<item>EUC-JP</item>
<item>Shift_JIS</item>
<item>CP949</item>
<item>ISO-2022-KR</item>
<item>Big5</item>
<item>ISO-2022-TW</item>
<item>Big5-HKSCS</item>
<item>VISCII</item>
<item>Windows-1258</item>
</string-array>
<string-array name="aouts">
<item>@string/aout_audiotrack</item>
<item>@string/aout_opensles</item>
</string-array>
<string-array name="aouts_values" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
<string-array name="casting_quality">
<item>@string/casting_quality_high</item>
<item>@string/casting_quality_medium</item>
<item>@string/casting_quality_low</item>
<item>@string/casting_quality_lowcpu</item>
</string-array>
<string-array name="casting_quality_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string-array name="opengl_list">
<item>@string/opengl_automatic</item>
<item>@string/opengl_on</item>
<item>@string/opengl_off</item>
</string-array>
<string-array name="opengl_values" translatable="false">
<item>-1</item>
<item>1</item>
<item>0</item>
</string-array>
<string-array name="chroma_formats_values" translatable="false">
<item>RV32</item>
<item>RV16</item>
<item>YV12</item>
</string-array>
<string-array name="chroma_formats" translatable="false">
<item>RGB 32-bit</item>
<item>RGB 16-bit</item>
<item>YUV</item>
</string-array>
<string-array name="daynight_mode_entries">
<item>@string/daynight_follow_system_title</item>
<!--item>@string/daynight_battery_title</item-->
<item>@string/daynight_title</item>
<item>@string/light_theme</item>
<item>@string/enable_black_theme</item>
</string-array>
<string-array name="daynight_mode_values">
<item>-1</item>
<!--item>3</item-->
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="ask_confirmation_entries">
<item>@string/always</item>
<item>@string/never</item>
<item>@string/ask_confirmation</item>
</string-array>
<string-array name="ask_confirmation_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
</resources>

0
vlc-android/res/values/strings.xml → resources/src/main/res/values/strings.xml

17
resources/src/test/java/org/videolan/resources/ExampleUnitTest.kt

@ -0,0 +1,17 @@
package org.videolan.resources
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}

4
settings.gradle

@ -1,2 +1,2 @@
include ':libvlc', ':api', ':medialibrary', ':tools'
include ':vlc-android'
include ':libvlc', ':api', ':medialibrary', ':tools', ':resources'
include ':vlc-android'

358
vlc-android/AndroidManifest.xml

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.videolan.vlc"
android:installLocation="auto">
xmlns:tools="http://schemas.android.com/tools"
package="org.videolan.vlc"
android:installLocation="auto">
<uses-sdk tools:overrideLibrary="android.support.media.tv, androidx.tvprovider"/>
<uses-permission
android:name="android.permission.READ_LOGS"
android:maxSdkVersion="18"/> <!-- android:maxSdkVersion="15" -->
android:name="android.permission.READ_LOGS"
android:maxSdkVersion="18"/> <!-- android:maxSdkVersion="15" -->
<!-- vibration on audioplayer buttons long press -->
<uses-permission android:name="android.permission.VIBRATE"/> <!-- used for setting ringtone -->
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> <!-- STORAGE -->
@ -28,24 +28,24 @@
<!-- Custom permissions for our content provider -->
<permission
android:name="${applicationId}.MEDIA"
android:protectionLevel="signature" />
android:name="${applicationId}.MEDIA"
android:protectionLevel="signature" />
<!-- Declare permissions used by our app -->
<uses-permission android:name="${applicationId}.MEDIA" />
<uses-feature
android:name="android.software.leanback"
android:required="false"/>
android:name="android.software.leanback"
android:required="false"/>
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false"/>
android:name="android.hardware.touchscreen"
android:required="false"/>
<uses-feature
android:name="android.hardware.microphone"
android:required="false"/>
android:name="android.hardware.microphone"
android:required="false"/>
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false"/>
android:name="android.hardware.bluetooth"
android:required="false"/>
<application
android:name=".VLCApplication"
@ -67,29 +67,29 @@
<!-- Enable VLC in Samsung multiwindow mode -->
<meta-data
android:name="com.samsung.android.sdk.multiwindow.enable"
android:value="true"/>
android:name="com.samsung.android.sdk.multiwindow.enable"
android:value="true"/>
<!-- Enable VLC in LG split window mode -->
<meta-data
android:name="com.lge.support.SPLIT_WINDOW"
android:value="true"/>
android:name="com.lge.support.SPLIT_WINDOW"
android:value="true"/>
<!-- Android auto -->
<meta-data
android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc"/>
android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc"/>
<meta-data
android:name="com.google.android.gms.car.notification.SmallIcon"
android:resource="@drawable/icon"/>
android:name="com.google.android.gms.car.notification.SmallIcon"
android:resource="@drawable/icon"/>
<meta-data
android:name="android.max_aspect"
android:value="3"/>
android:name="android.max_aspect"
android:value="3"/>
<meta-data
android:name="android.allow_multiple_resumed_activities"
android:value="true" />
<activity
android:name=".StartActivity"
android:theme="@style/Theme.VLC.Transparent.NoUI">
android:name=".StartActivity"
android:theme="@style/Theme.VLC.Transparent.NoUI">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@ -98,8 +98,8 @@
</intent-filter>
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts"/>
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts"/>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
@ -108,8 +108,8 @@
<category android:name="android.intent.category.DEFAULT"/>
<data
android:host="${applicationId}"
android:scheme="vlclauncher"/>
android:host="${applicationId}"
android:scheme="vlclauncher"/>
</intent-filter>
<!-- This filter captures protocols without type info -->
@ -458,8 +458,8 @@
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
<intent-filter>
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/>
@ -468,43 +468,43 @@
</intent-filter>
</activity>
<activity
android:name=".gui.MainActivity"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@style/Theme.VLC"
android:windowSoftInputMode="adjustPan">
android:name=".gui.MainActivity"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@style/Theme.VLC"
android:windowSoftInputMode="adjustPan">
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<activity
android:name=".gui.onboarding.OnboardingActivity"
android:theme="@style/Theme.VLC.Onboarding"/>
android:name=".gui.onboarding.OnboardingActivity"
android:theme="@style/Theme.VLC.Onboarding"/>
<activity
android:name=".gui.SecondaryActivity"
android:theme="@style/Theme.VLC"
android:windowSoftInputMode="adjustPan"/>
android:name=".gui.SecondaryActivity"
android:theme="@style/Theme.VLC"
android:windowSoftInputMode="adjustPan"/>
<activity
android:name=".gui.PlaylistActivity"
android:theme="@style/Theme.VLC"/>
android:name=".gui.PlaylistActivity"
android:theme="@style/Theme.VLC"/>
<activity
android:name=".gui.InfoActivity"
android:theme="@style/Theme.VLC.Info"/>
android:name=".gui.InfoActivity"
android:theme="@style/Theme.VLC.Info"/>
<activity
android:name=".gui.SearchActivity"
android:theme="@style/Theme.VLC"/>
android:name=".gui.SearchActivity"
android:theme="@style/Theme.VLC"/>
<activity
android:name=".gui.MoviepediaActivity"
android:theme="@style/Theme.VLC" />
android:name=".gui.MoviepediaActivity"
android:theme="@style/Theme.VLC" />
<activity
android:name=".gui.SendCrashActivity"
android:label="@string/vlc_reporter"
android:theme="@style/Theme.VLC.SendCrashDialog"
android:icon="@mipmap/ic_launcher_reporter"
android:launchMode="singleTask"
android:excludeFromRecents="true"
android:enabled="false">
android:name=".gui.SendCrashActivity"
android:label="@string/vlc_reporter"
android:theme="@style/Theme.VLC.SendCrashDialog"
android:icon="@mipmap/ic_launcher_reporter"
android:launchMode="singleTask"
android:excludeFromRecents="true"
android:enabled="false">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@ -512,29 +512,29 @@
</intent-filter>
</activity>
<activity
android:name=".gui.BetaWelcomeActivity"
android:theme="@style/Theme.VLC.SendCrashDialog"/>
android:name=".gui.BetaWelcomeActivity"
android:theme="@style/Theme.VLC.SendCrashDialog"/>
<activity
android:name=".gui.browser.FilePickerActivity"
android:theme="@style/Theme.VLC.PickerDialog"/>
android:name=".gui.browser.FilePickerActivity"
android:theme="@style/Theme.VLC.PickerDialog"/>
<activity android:name=".gui.CompatErrorActivity"/>
<activity
android:name=".gui.preferences.PreferencesActivity"
android:theme="@style/Theme.VLC"/>
android:name=".gui.preferences.PreferencesActivity"
android:theme="@style/Theme.VLC"/>
<activity
android:name=".gui.video.VideoPlayerActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode|keyboard|keyboardHidden|navigation"
android:exported="true"
android:finishOnTaskLaunch="true"
android:launchMode="singleTask"
android:resizeableActivity="true"
android:supportsPictureInPicture="true"
android:theme="@style/Theme.VLC.Player"/>
android:name=".gui.video.VideoPlayerActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode|keyboard|keyboardHidden|navigation"
android:exported="true"
android:finishOnTaskLaunch="true"
android:launchMode="singleTask"
android:resizeableActivity="true"
android:supportsPictureInPicture="true"
android:theme="@style/Theme.VLC.Player"/>
<activity
android:name=".gui.DialogActivity"
android:configChanges="orientation|screenSize"
android:theme="@style/VLCTransparentTheme"
android:label="" />
android:name=".gui.DialogActivity"
android:configChanges="orientation|screenSize"
android:theme="@style/VLCTransparentTheme"
android:label="" />
<service android:name=".extensions.ExtensionManagerService"/>
<service android:name=".PlaybackService">
@ -545,9 +545,9 @@
<service android:name=".MediaParsingService"/>
<receiver
android:name=".widget.VLCAppWidgetProviderWhite"
android:exported="false"
android:label="@string/widget_name_w">
android:name=".widget.VLCAppWidgetProviderWhite"
android:exported="false"
android:label="@string/widget_name_w">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
<action android:name="${applicationId}.widget.INIT"/>
@ -557,13 +557,13 @@
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_provider_w"/>
android:name="android.appwidget.provider"
android:resource="@xml/widget_provider_w"/>
</receiver>
<receiver
android:name=".widget.VLCAppWidgetProviderBlack"
android:exported="false"
android:label="@string/widget_name_b">
android:name=".widget.VLCAppWidgetProviderBlack"
android:exported="false"
android:label="@string/widget_name_b">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
<action android:name="${applicationId}.widget.INIT"/>
@ -573,8 +573,8 @@
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_provider_b"/>
android:name="android.appwidget.provider"
android:resource="@xml/widget_provider_b"/>
</receiver>
<receiver android:name="androidx.media.session.MediaButtonReceiver">
<intent-filter>
@ -583,85 +583,99 @@
</receiver>
<activity
android:name=".gui.video.benchmark.BenchActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
android:exported="true"
android:launchMode="singleInstance"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.Player"/> <!-- TV components -->
android:name=".gui.video.benchmark.BenchActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
android:exported="true"
android:launchMode="singleInstance"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.Player"
tools:ignore="LockedOrientationActivity" /> <!-- TV components -->
<activity
android:name=".gui.tv.MainTvActivity"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.MainTvActivity"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity"/>
<activity
android:name=".gui.tv.dialogs.ConfirmationTvActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.dialogs.ConfirmationTvActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity"/>
<activity
android:name=".gui.tv.DetailsActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.Leanback.Details"/>
android:name=".gui.tv.DetailsActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.Leanback.Details"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.MoviepediaTvshowDetailsActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.Leanback.Details" />
android:name=".gui.tv.MoviepediaTvshowDetailsActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.Leanback.Details"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.browser.VerticalGridActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.browser.VerticalGridActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.details.MediaListActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.details.MediaListActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.browser.TVActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.Black"/>
android:name=".gui.tv.browser.TVActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.Black"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.MoviepediaTvActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV" />
android:name=".gui.tv.MoviepediaTvActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.SearchActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.SearchActivity"
android:exported="true"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity"/>
<activity
android:name=".gui.tv.audioplayer.AudioPlayerActivity"
android:allowTaskReparenting="true"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.audioplayer.AudioPlayerActivity"
android:allowTaskReparenting="true"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.preferences.PreferencesActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.Leanback.Preferences"/>
android:name=".gui.tv.preferences.PreferencesActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.Leanback.Preferences"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.AboutActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.AboutActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".gui.tv.LicenceActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"/>
android:name=".gui.tv.LicenceActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.VLC.TV"
tools:ignore="LockedOrientationActivity" />
<service
android:name=".RecommendationsService"
android:exported="false"/>
android:name=".RecommendationsService"
android:exported="false"/>
<receiver
android:name=".TvReceiver"
android:enabled="true"
android:exported="true">
android:name=".TvReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT"/>
@ -673,9 +687,9 @@
</intent-filter>
</receiver>
<receiver
android:name=".StoragesMonitor"
android:enabled="false"
android:exported="true">
android:name=".StoragesMonitor"
android:enabled="false"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<action android:name="android.intent.action.MEDIA_REMOVED"/>
@ -687,38 +701,38 @@
</receiver>
<provider
android:name=".FileProvider"
android:authorities="${applicationId}.thumbprovider"
android:exported="true"/>
android:name=".FileProvider"
android:authorities="${applicationId}.thumbprovider"
android:exported="true"/>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<!-- Provides search suggestions for keywords against video meta data. -->
<provider
android:name=".TVSearchProvider"
android:authorities="@string/tv_provider_authority"
android:exported="true">
android:name=".TVSearchProvider"
android:authorities="@string/tv_provider_authority"
android:exported="true">
<path-permission
android:pathPrefix="/search"
android:readPermission="android.permission.GLOBAL_SEARCH" />
android:pathPrefix="/search"
android:readPermission="android.permission.GLOBAL_SEARCH" />
</provider>
<service
android:name=".PreviewVideoInputService"
android:permission="android.permission.BIND_TV_INPUT">
android:name=".PreviewVideoInputService"
android:permission="android.permission.BIND_TV_INPUT">
<intent-filter>
<action android:name="android.media.tv.TvInputService"/>
</intent-filter>
<meta-data
android:name="android.media.tv.input"
android:resource="@xml/previewinputservice"/>
android:name="android.media.tv.input"
android:resource="@xml/previewinputservice"/>
</service>
</application>

1
vlc-android/build.gradle

@ -252,6 +252,7 @@ dependencies {
signedReleaseImplementation "org.videolan.android:medialibrary-all:$rootProject.ext.medialibraryVersion"
implementation project(':api')
implementation project(':tools')
implementation project(':resources')
// AppCompat
implementation "androidx.activity:activity-ktx:$rootProject.ext.androidxActivityVersion"

Loading…
Cancel
Save