Simplify the storage APIs use

* use Java I/O (classic way) on older android versions
* use Storage Access Framework on newer android versions (Android Lollipop or later)
* both changes have the external SD Card write permission
* add option to ask the save path on each download
* warn the user if the save paths are not defined, this only happens on the first NewPipe run (Android Lollipop or later)
This commit is contained in:
kapodamy 2019-04-19 16:18:19 -03:00
parent d1573a0a6e
commit 34b2b96158
9 changed files with 119 additions and 182 deletions

View file

@ -459,19 +459,15 @@ abrir en modo popup</string>
<string name="error_progress_lost">Se perdió el progreso porque el archivo fue eliminado</string>
<string name="error_timeout">Tiempo de espera excedido</string>
<string name="downloads_storage">API de almacenamiento</string>
<string name="downloads_storage_desc">Seleccione que API utilizar para almacenar las descargas</string>
<string name="storage_access_framework_description">Framework de acceso a almacenamiento</string>
<string name="java_io_description">Java I/O</string>
<string name="save_as">Guardar como…</string>
<string name="download_to_sdcard_error_message">No es posible descargar a una tarjeta SD externa. \¿Restablecer la ubicación de la carpeta de descarga\?</string>
<string name="download_pick_path">Seleccione los directorios de descarga</string>
<string name="missions_header_pending">Pendiente</string>
<string name="downloads_storage_ask_title">Preguntar dónde descargar</string>
<string name="downloads_storage_ask_summary">Se preguntará dónde guardar cada descarga</string>
<string name="downloads_storage_ask_summary_kitkat">Se preguntará dónde guardar cada descarga.\nHabilita esta opción si quieres descargar en la tarjeta SD externa</string>
<string name="unsubscribe">Desuscribirse</string>
<string name="tab_new">Nueva pestaña</string>
<string name="tab_choose">Elige la pestaña</string>

View file

@ -160,20 +160,7 @@
<string name="clear_views_history_key" translatable="false">clear_play_history</string>
<string name="clear_search_history_key" translatable="false">clear_search_history</string>
<string name="downloads_storage_api" translatable="false">downloads_storage_api</string>
<!-- WARNING: changing the default value will require update the code too -->
<string name="downloads_storage_api_default" translatable="false">javaIO</string>
<string-array name="downloads_storage_api_values" translatable="false">
<item translatable="false">SAF</item>
<item translatable="false">javaIO</item>
</string-array>
<string-array name="downloads_storage_api_description" translatable="true">
<item translatable="true">@string/storage_access_framework_description</item>
<item translatable="true">@string/java_io_description</item>
</string-array>
<string name="downloads_storage_ask" translatable="false">downloads_storage_ask</string>
<!-- FileName Downloads -->
<string name="settings_file_charset_key" translatable="false">file_rename_charset</string>

View file

@ -550,14 +550,10 @@
<string name="start_downloads">Start downloads</string>
<string name="pause_downloads">Pause downloads</string>
<string name="downloads_storage">Storage API</string>
<string name="downloads_storage_desc">Select which API use to store the downloads</string>
<string name="storage_access_framework_description">Storage Access Framework</string>
<string name="java_io_description">Java I/O</string>
<string name="save_as">Save as…</string>
<string name="download_pick_path">Select the downloads save path</string>
<string name="downloads_storage_ask_title">Ask where to download</string>
<string name="downloads_storage_ask_summary">You will be asked where to save each download</string>
<string name="downloads_storage_ask_summary_kitkat">You will be asked where to save each download.\nEnable this option if you want download to the external SD Card</string>
</resources>

View file

@ -5,14 +5,12 @@
android:title="@string/settings_category_downloads_title">
<ListPreference
<CheckBoxPreference
app:iconSpaceReserved="false"
android:defaultValue="@string/downloads_storage_api_default"
android:entries="@array/downloads_storage_api_description"
android:entryValues="@array/downloads_storage_api_values"
android:key="@string/downloads_storage_api"
android:summary="@string/downloads_storage_desc"
android:title="@string/downloads_storage" />
android:defaultValue="false"
android:key="@string/downloads_storage_ask"
android:summary="@string/downloads_storage_ask_summary_kitkat"
android:title="@string/downloads_storage_ask_title" />
<Preference
app:iconSpaceReserved="false"