Remove flash support

This commit is contained in:
tzugen 2021-06-11 10:42:40 +02:00
parent 6ea4ac5829
commit db31fefe83
No known key found for this signature in database
GPG Key ID: 61E9C34BC10EC930
26 changed files with 50 additions and 264 deletions

View File

@ -5,7 +5,6 @@
<ID>ComplexCondition:DownloadHandler.kt$DownloadHandler.&lt;no name provided&gt;$!append &amp;&amp; !playNext &amp;&amp; !unpin &amp;&amp; !background</ID>
<ID>ComplexCondition:FilePickerAdapter.kt$FilePickerAdapter$currentDirectory.absolutePath == "/" || currentDirectory.absolutePath == "/storage" || currentDirectory.absolutePath == "/storage/emulated" || currentDirectory.absolutePath == "/mnt"</ID>
<ID>ComplexCondition:LocalMediaPlayer.kt$LocalMediaPlayer$Util.getGaplessPlaybackPreference() &amp;&amp; Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.JELLY_BEAN &amp;&amp; ( playerState === PlayerState.STARTED || playerState === PlayerState.PAUSED )</ID>
<ID>ComplexCondition:SongView.kt$SongView$TextUtils.isEmpty(transcodedSuffix) || transcodedSuffix == suffix || song.isVideo &amp;&amp; Util.getVideoPlayerType() !== VideoPlayerType.FLASH</ID>
<ID>ComplexMethod:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()</ID>
<ID>ComplexMethod:FilePickerAdapter.kt$FilePickerAdapter$private fun fileLister(currentDirectory: File)</ID>
<ID>ComplexMethod:SongView.kt$SongView$fun setSong(song: MusicDirectory.Entry, checkable: Boolean, draggable: Boolean)</ID>

View File

@ -55,7 +55,6 @@ public class SettingsFragment extends PreferenceFragmentCompat
private Preference addServerPreference;
private ListPreference theme;
private ListPreference videoPlayer;
private ListPreference maxBitrateWifi;
private ListPreference maxBitrateMobile;
private ListPreference cacheSize;
@ -110,7 +109,6 @@ public class SettingsFragment extends PreferenceFragmentCompat
addServerPreference = findPreference(Constants.PREFERENCES_KEY_SERVERS_EDIT);
theme = findPreference(Constants.PREFERENCES_KEY_THEME);
videoPlayer = findPreference(Constants.PREFERENCES_KEY_VIDEO_PLAYER);
maxBitrateWifi = findPreference(Constants.PREFERENCES_KEY_MAX_BITRATE_WIFI);
maxBitrateMobile = findPreference(Constants.PREFERENCES_KEY_MAX_BITRATE_MOBILE);
cacheSize = findPreference(Constants.PREFERENCES_KEY_CACHE_SIZE);
@ -411,7 +409,6 @@ public class SettingsFragment extends PreferenceFragmentCompat
private void update() {
theme.setSummary(theme.getEntry());
videoPlayer.setSummary(videoPlayer.getEntry());
maxBitrateWifi.setSummary(maxBitrateWifi.getEntry());
maxBitrateMobile.setSummary(maxBitrateMobile.getEntry());
cacheSize.setSummary(cacheSize.getEntry());

View File

@ -117,7 +117,6 @@ public final class Constants
public static final String PREFERENCES_KEY_CLEAR_PLAYLIST = "clearPlaylist";
public static final String PREFERENCES_KEY_CLEAR_BOOKMARK = "clearBookmark";
public static final String PREFERENCES_KEY_DISC_SORT = "discAndTrackSort";
public static final String PREFERENCES_KEY_VIDEO_PLAYER = "videoPlayer";
public static final String PREFERENCES_KEY_SEND_BLUETOOTH_NOTIFICATIONS = "sendBluetoothNotifications";
public static final String PREFERENCES_KEY_SEND_BLUETOOTH_ALBUM_ART = "sendBluetoothAlbumArt";
public static final String PREFERENCES_KEY_VIEW_REFRESH = "viewRefresh";

View File

@ -21,8 +21,9 @@ package org.moire.ultrasonic.util;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.*;
import android.content.pm.ApplicationInfo;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.content.res.TypedArray;
@ -39,7 +40,6 @@ import android.os.Build;
import android.os.Environment;
import android.os.Parcelable;
import android.util.DisplayMetrics;
import timber.log.Timber;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
@ -51,19 +51,32 @@ import androidx.preference.PreferenceManager;
import org.moire.ultrasonic.R;
import org.moire.ultrasonic.app.UApp;
import org.moire.ultrasonic.data.ActiveServerProvider;
import org.moire.ultrasonic.domain.*;
import org.moire.ultrasonic.domain.Bookmark;
import org.moire.ultrasonic.domain.MusicDirectory;
import org.moire.ultrasonic.domain.MusicDirectory.Entry;
import org.moire.ultrasonic.domain.PlayerState;
import org.moire.ultrasonic.domain.RepeatMode;
import org.moire.ultrasonic.domain.SearchResult;
import org.moire.ultrasonic.service.DownloadFile;
import org.moire.ultrasonic.service.MediaPlayerService;
import java.io.*;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
import timber.log.Timber;
/**
* @author Sindre Mehus
* @version $Id$
@ -1148,36 +1161,6 @@ public class Util
else return minutes > 0 ? String.format(Locale.getDefault(), "%d:%02d", minutes, seconds) : String.format(Locale.getDefault(), "0:%02d", seconds);
}
public static VideoPlayerType getVideoPlayerType()
{
SharedPreferences preferences = getPreferences();
return VideoPlayerType.forKey(preferences.getString(Constants.PREFERENCES_KEY_VIDEO_PLAYER, VideoPlayerType.MX.getKey()));
}
public static boolean isPackageInstalled(Context context, String packageName)
{
PackageManager pm = context.getPackageManager();
List<ApplicationInfo> packages = null;
if (pm != null)
{
packages = pm.getInstalledApplications(0);
}
if (packages != null)
{
for (ApplicationInfo packageInfo : packages)
{
if (packageInfo.packageName.equals(packageName))
{
return true;
}
}
}
return false;
}
public static String getVersionName(Context context)
{
String versionName = null;

View File

@ -1,139 +0,0 @@
/*
This file is part of Subsonic.
Subsonic 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 3 of the License, or
(at your option) any later version.
Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>.
Copyright 2013 (C) Sindre Mehus
*/
package org.moire.ultrasonic.util;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import org.moire.ultrasonic.R;
import org.moire.ultrasonic.domain.MusicDirectory;
import org.moire.ultrasonic.service.MusicServiceFactory;
/**
* @author Sindre Mehus
* @version $Id: VideoPlayerType.java 3473 2013-05-23 16:42:49Z sindre_mehus $
*/
public enum VideoPlayerType
{
MX("mx")
{
@Override
public void playVideo(final Context context, MusicDirectory.Entry entry) throws Exception
{
// Check if MX Player is installed.
boolean installedAd = Util.isPackageInstalled(context, PACKAGE_NAME_MX_AD);
boolean installedPro = Util.isPackageInstalled(context, PACKAGE_NAME_MX_PRO);
if (!installedAd && !installedPro)
{
new AlertDialog.Builder(context).setMessage(R.string.video_get_mx_player_text).setPositiveButton(R.string.video_get_mx_player_button, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int i)
{
try
{
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("market://details?id=%s", PACKAGE_NAME_MX_AD))));
}
catch (android.content.ActivityNotFoundException x)
{
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("http://play.google.com/store/apps/details?id=%s", PACKAGE_NAME_MX_AD))));
}
dialog.dismiss();
}
}).setNegativeButton(R.string.common_cancel, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int i)
{
dialog.dismiss();
}
}).show();
}
else
{
// See documentation on https://sites.google.com/site/mxvpen/api
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setPackage(installedPro ? PACKAGE_NAME_MX_PRO : PACKAGE_NAME_MX_AD);
intent.putExtra("title", entry.getTitle());
intent.setDataAndType(Uri.parse(MusicServiceFactory.getMusicService().getVideoUrl(entry.getId(), false)), "video/*");
context.startActivity(intent);
}
}
},
FLASH("flash")
{
@Override
public void playVideo(Context context, MusicDirectory.Entry entry) throws Exception
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(MusicServiceFactory.getMusicService().getVideoUrl(entry.getId(), true)));
context.startActivity(intent);
}
},
DEFAULT("default")
{
@Override
public void playVideo(Context context, MusicDirectory.Entry entry) throws Exception
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(MusicServiceFactory.getMusicService().getVideoUrl(entry.getId(), false)), "video/*");
context.startActivity(intent);
}
};
private final String key;
VideoPlayerType(String key)
{
this.key = key;
}
public String getKey()
{
return key;
}
public static VideoPlayerType forKey(String key)
{
for (VideoPlayerType type : VideoPlayerType.values())
{
if (type.key.equals(key))
{
return type;
}
}
return null;
}
public abstract void playVideo(Context context, MusicDirectory.Entry entry) throws Exception;
private static final String PACKAGE_NAME_MX_AD = "com.mxtech.videoplayer.ad";
private static final String PACKAGE_NAME_MX_PRO = "com.mxtech.videoplayer.pro";
}

View File

@ -264,8 +264,8 @@ class CachedMusicService(private val musicService: MusicService) : MusicService,
}
@Throws(Exception::class)
override fun getVideoUrl(id: String, useFlash: Boolean): String? {
return musicService.getVideoUrl(id, useFlash)
override fun getVideoUrl(id: String): String? {
return musicService.getVideoUrl(id)
}
@Throws(Exception::class)

View File

@ -123,7 +123,7 @@ interface MusicService {
// TODO: Refactor and remove this call (see RestMusicService implementation)
@Throws(Exception::class)
fun getVideoUrl(id: String, useFlash: Boolean): String?
fun getVideoUrl(id: String): String?
@Throws(Exception::class)
fun updateJukeboxPlaylist(ids: List<String>?): JukeboxStatus

View File

@ -396,7 +396,7 @@ class OfflineMusicService : MusicService, KoinComponent {
}
@Throws(OfflineException::class)
override fun getVideoUrl(id: String, useFlash: Boolean): String? {
override fun getVideoUrl(id: String): String? {
throw OfflineException("getVideoUrl isn't available in offline mode")
}

View File

@ -481,8 +481,7 @@ open class RESTMusicService(
@Throws(Exception::class)
override fun getVideoUrl(
id: String,
useFlash: Boolean
id: String
): String {
// TODO This method should not exists as video should be loaded using stream method
// Previous method implementation uses assumption that video will be available

View File

@ -1,22 +1,30 @@
package org.moire.ultrasonic.subsonic
import android.content.Context
import android.content.Intent
import android.net.Uri
import org.moire.ultrasonic.R
import org.moire.ultrasonic.domain.MusicDirectory
import org.moire.ultrasonic.service.MusicServiceFactory
import org.moire.ultrasonic.util.Util
/**
* This utility class helps starting video playback
*/
class VideoPlayer() {
class VideoPlayer {
fun playVideo(context: Context, entry: MusicDirectory.Entry?) {
if (!Util.isNetworkConnected()) {
if (!Util.isNetworkConnected() || entry == null) {
Util.toast(context, R.string.select_album_no_network)
return
}
val player = Util.getVideoPlayerType()
try {
player.playVideo(context, entry)
val intent = Intent(Intent.ACTION_VIEW)
val url = MusicServiceFactory.getMusicService().getVideoUrl(entry.id)
intent.setDataAndType(
Uri.parse(url),
"video/*"
)
context.startActivity(intent)
} catch (e: Exception) {
Util.toast(context, e.toString(), false)
}

View File

@ -36,7 +36,6 @@ import org.moire.ultrasonic.service.DownloadFile
import org.moire.ultrasonic.service.MediaPlayerController
import org.moire.ultrasonic.service.MusicServiceFactory.getMusicService
import org.moire.ultrasonic.util.Util
import org.moire.ultrasonic.util.VideoPlayerType
import org.moire.ultrasonic.view.EntryAdapter.SongViewHolder
import timber.log.Timber
@ -111,8 +110,7 @@ class SongView(context: Context) : UpdateView(context), Checkable, KoinComponent
val transcodedSuffix = song.transcodedSuffix
fileFormat = if (
TextUtils.isEmpty(transcodedSuffix) || transcodedSuffix == suffix ||
song.isVideo && Util.getVideoPlayerType() !== VideoPlayerType.FLASH
TextUtils.isEmpty(transcodedSuffix) || transcodedSuffix == suffix || song.isVideo
) suffix else String.format("%s > %s", suffix, transcodedSuffix)
val artistName = song.artist

View File

@ -311,7 +311,7 @@
<string name="settings.use_folder_for_album_artist_summary">Očekává jména hlavních adresářů obsahující jména umělců</string>
<string name="settings.use_id3">Procházet za použití ID3 tagů</string>
<string name="settings.use_id3_summary">Používat metodu ID3 tagů místo jmen na základě adresářové struktury</string>
<string name="settings.video_title">Video</string>
<string name="main.video">Video</string>
<string name="settings.video_player">Videopřehrávač</string>
<string name="settings.view_refresh">Obnovení náhledu</string>
<string name="settings.view_refresh_500">.5 sekundy</string>
@ -371,9 +371,6 @@
<string name="settings.share_greeting_default">Výchozí pozdrav sdílení</string>
<string name="share_default_greeting">Mrkni na hudbu sdílenou z %s</string>
<string name="share_via">Sdílet skladby přes</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Výchozí</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Sdílení</string>
<string name="select_album_all_songs">Všechny skladby od %s</string>
<string name="settings.show_all_songs_by_artist">Zobrazit všechny skladby umělce</string>

View File

@ -308,7 +308,7 @@
<string name="settings.use_folder_for_album_artist_summary">Annehmen, dass der Ordner der obersten Ebene der Name des Albumkünstlers ist</string>
<string name="settings.use_id3">Durchsuchen von ID3-Tags</string>
<string name="settings.use_id3_summary">Nutze ID3 Tag Methode anstatt Dateisystem-Methode</string>
<string name="settings.video_title">Film</string>
<string name="main.video">Film</string>
<string name="settings.video_player">Filmwiedergabe</string>
<string name="settings.view_refresh">Aktualisierungsinterval</string>
<string name="settings.view_refresh_500">.5 Sekunden</string>
@ -368,9 +368,6 @@
<string name="settings.share_greeting_default">Standard Begrüßung beim Teilen</string>
<string name="share_default_greeting">Hör dir mal die Musik an, die ich mit dir über %s geteilt habe.</string>
<string name="share_via">Titel teilen über</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Standard</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Freigabe</string>
<string name="select_album_all_songs">Alle Titel von %s</string>
<string name="settings.show_all_songs_by_artist">Alle Titel nach Künstler sortieren</string>

View File

@ -325,7 +325,7 @@
<string name="settings.use_id3_summary">Usar el método de etiquetas ID3 en lugar del método basado en el sistema de ficheros</string>
<string name="settings.show_artist_picture">Mostrar la imagen del artista en la lista de artistas</string>
<string name="settings.show_artist_picture_summary">Muestra la imagen del artista en la lista de artistas si está disponible</string>
<string name="settings.video_title">Vídeo</string>
<string name="main.video">Vídeo</string>
<string name="settings.video_player">Reproductor de vídeo</string>
<string name="settings.view_refresh">Refresco de la vista</string>
<string name="settings.view_refresh_500">.5 segundos</string>
@ -385,9 +385,6 @@
<string name="settings.share_greeting_default">Saludo predeterminado para los compartidos</string>
<string name="share_default_greeting">Echa un vistazo a esta música que te comparto desde %s</string>
<string name="share_via">Compartir canciones vía</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Por defecto</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Compartir</string>
<string name="select_album_all_songs">Todas las canciones por %s</string>
<string name="settings.show_all_songs_by_artist">Mostrar todas las canciones por artista</string>

View File

@ -313,7 +313,7 @@
<string name="settings.use_id3_summary">Utiliser ID3 Tags à la place du système de fichier basique</string>
<string name="settings.show_artist_picture">Afficher limage de lartiste dans la liste</string>
<string name="settings.show_artist_picture_summary">Affiche limage de lartiste dans la liste des artistes si celle-ci est disponible</string>
<string name="settings.video_title">Vidéo</string>
<string name="main.video">Vidéo</string>
<string name="settings.video_player">Lecteur vidéo</string>
<string name="settings.view_refresh">Actualisation de la vue</string>
<string name="settings.view_refresh_500">0,5 secondes</string>
@ -373,9 +373,6 @@
<string name="settings.share_greeting_default">Texte par défaut lors d\'un partage</string>
<string name="share_default_greeting">Regardez cette musique que j\'ai partagée depuis %s</string>
<string name="share_via">Partager des titres via</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Défaut</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Partager</string>
<string name="select_album_all_songs">Tous les titres de %s</string>
<string name="settings.show_all_songs_by_artist">Voir tous les titres par artiste</string>

View File

@ -325,7 +325,7 @@
<string name="settings.use_id3_summary">ID3 Tag módszer használata a fájlredszer alapú mód helyett.</string>
<string name="settings.show_artist_picture">Előadó képének megjelenítése</string>
<string name="settings.show_artist_picture_summary">Az előadó listában megjeleníti a képeket, amennyiben elérhetőek</string>
<string name="settings.video_title">Videó</string>
<string name="main.video">Videó</string>
<string name="settings.video_player">Videólejátszó</string>
<string name="settings.view_refresh">Nézet frissítési gyakorisága</string>
<string name="settings.view_refresh_500">.5 másodperc</string>
@ -385,9 +385,6 @@
<string name="settings.share_greeting_default">Alapértelmezett megosztási üzenet</string>
<string name="share_default_greeting">Hallgasd meg ezt a zenét, megosztottam innen: %s</string>
<string name="share_via">Dalok megosztása ezzel</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Alapértelmezett</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Megosztás</string>
<string name="select_album_all_songs">%s minden dala</string>
<string name="settings.show_all_songs_by_artist">Az előadó összes dalának megjelenítése</string>

View File

@ -299,7 +299,7 @@
<string name="settings.use_folder_for_album_artist_summary">Presumi che la cartella superiore sia il nome dell\'artista dell\'album</string>
<string name="settings.use_id3">Sfoglia Utilizzando Tag ID3</string>
<string name="settings.use_id3_summary">Usa metodi tag ID3 invece dei metodi basati sul filesystem</string>
<string name="settings.video_title">Video</string>
<string name="main.video">Video</string>
<string name="settings.video_player">Riproduttore video</string>
<string name="settings.view_refresh_500">.5 secondo</string>
<string name="settings.view_refresh_1000">1 secondo</string>
@ -336,8 +336,6 @@
<string name="share_comment">Commenta</string>
<string name="download_song_removed">\"%s\" è stato rimosso dalla playlist</string>
<string name="share_via">Condividi canzoni via</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Predefinito</string>
<plurals name="select_album_n_songs">
<item quantity="one">1 canzone</item>
<item quantity="other">%d canzoni</item>

View File

@ -325,7 +325,7 @@
<string name="settings.use_id3_summary">ID3-labels gebruiken in plaats van systeemlabels</string>
<string name="settings.show_artist_picture">Artiestfoto tonen op artiestenlijst</string>
<string name="settings.show_artist_picture_summary">Toont de artiestfoto op de artiestenlijst (indien beschikbaar)</string>
<string name="settings.video_title">Video</string>
<string name="main.video">Video</string>
<string name="settings.video_player">Videospeler</string>
<string name="settings.view_refresh">Verversen</string>
<string name="settings.view_refresh_500">0,5 seconden</string>
@ -385,9 +385,6 @@
<string name="settings.share_greeting_default">Standaard deelbericht</string>
<string name="share_default_greeting">Hé, luister eens naar de muziek die ik heb gedeeld via %s</string>
<string name="share_via">Nummers delen via</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Standaard</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Delen</string>
<string name="select_album_all_songs">Alle nummers van %s</string>
<string name="settings.show_all_songs_by_artist">Alle nummers van artiest tonen</string>

View File

@ -308,7 +308,7 @@ ponieważ api Subsonic nie wspiera nowego sposobu autoryzacji dla użytkowników
<string name="settings.use_folder_for_album_artist_summary">Zakłada, że folder najwyższego poziomu jest nazwą artysty albumu</string>
<string name="settings.use_id3">Przeglądaj używając tagów ID3</string>
<string name="settings.use_id3_summary">Używa metod z tagów ID3 zamiast metod opartych na systemie plików</string>
<string name="settings.video_title">Wideo</string>
<string name="main.video">Wideo</string>
<string name="settings.video_player">Odtwarzacz wideo</string>
<string name="settings.view_refresh">Odświeżanie widoku</string>
<string name="settings.view_refresh_500">co pół sekundy</string>
@ -368,9 +368,6 @@ ponieważ api Subsonic nie wspiera nowego sposobu autoryzacji dla użytkowników
<string name="settings.share_greeting_default">Domyślny tekst podczas udostępniania</string>
<string name="share_default_greeting">Sprawdź muzykę, którą udostępniam na %s</string>
<string name="share_via">Udostępnij utwory za pomocą</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Domyślny</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Udostępnianie</string>
<string name="select_album_all_songs">Wszystkie utwory %s</string>
<string name="settings.show_all_songs_by_artist">Wyświetlaj wszystkie utwory artysty</string>

View File

@ -313,7 +313,7 @@
<string name="settings.use_id3_summary">Usar as etiquetas ID3 ao invés do sistema de arquivos</string>
<string name="settings.show_artist_picture">Mostrar Foto do Artista na Lista</string>
<string name="settings.show_artist_picture_summary">Mostrar a imagem do artista na lista de artistas, se disponível</string>
<string name="settings.video_title">Vídeo</string>
<string name="main.video">Vídeo</string>
<string name="settings.video_player">Player de Vídeo</string>
<string name="settings.view_refresh">Atualização da Tela</string>
<string name="settings.view_refresh_500">.5 segundos</string>
@ -373,9 +373,6 @@
<string name="settings.share_greeting_default">Saudação Padrão do Compartilhamento</string>
<string name="share_default_greeting">Confira esta música que compartilhei do %s</string>
<string name="share_via">Compartilhar músicas via</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Padrão</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Compartilhar</string>
<string name="select_album_all_songs">Todas as Músicas de %s</string>
<string name="settings.show_all_songs_by_artist">Mostrar Todas as Músicas por Artista</string>

View File

@ -308,7 +308,7 @@
<string name="settings.use_folder_for_album_artist_summary">Assumir que a pasta mais acima é o nome do artista</string>
<string name="settings.use_id3">Navegar Usando Etiquetas ID3</string>
<string name="settings.use_id3_summary">Usa as etiquetas ID3 ao invés do sistema de ficheiros</string>
<string name="settings.video_title">Vídeo</string>
<string name="main.video">Vídeo</string>
<string name="settings.video_player">Player de Vídeo</string>
<string name="settings.view_refresh">Atualização do Ecrã</string>
<string name="settings.view_refresh_500">.5 segundos</string>
@ -368,9 +368,6 @@
<string name="settings.share_greeting_default">Saudação Padrão</string>
<string name="share_default_greeting">Confira esta música que compartilhei do %s</string>
<string name="share_via">Compartilhar músicas via</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Padrão</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Compartilhar</string>
<string name="select_album_all_songs">Todas as Músicas de %s</string>
<string name="settings.show_all_songs_by_artist">Todas as Músicas do Artista</string>

View File

@ -300,7 +300,7 @@
<string name="settings.use_folder_for_album_artist_summary">Предположим, папка верхнего уровня - это имя исполнителя альбома</string>
<string name="settings.use_id3">Обзор с использованием тегов ID3</string>
<string name="settings.use_id3_summary">Используйте методы тегов ID3 ​​вместо методов на основе файловой системы</string>
<string name="settings.video_title">Видео</string>
<string name="main.video">Видео</string>
<string name="settings.video_player">Видеоплеер</string>
<string name="settings.view_refresh">Посмотреть Обновить</string>
<string name="settings.view_refresh_500">.5 секунд</string>
@ -360,9 +360,6 @@
<string name="settings.share_greeting_default">Поделиться приветствием по умолчанию</string>
<string name="share_default_greeting">Проверьте эту музыку, с которой я поделился %s</string>
<string name="share_via">Поделиться треками через</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">По умолчанию</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Поделиться</string>
<string name="select_album_all_songs">Все треки %s</string>
<string name="settings.show_all_songs_by_artist">Показать все треки исполнителя</string>

View File

@ -224,7 +224,7 @@
<string name="settings.testing_unlicensed">连接正常, 服务器未授权。</string>
<string name="settings.theme_title">主题</string>
<string name="settings.title.allow_self_signed_certificate">允许自签名 HTTPS 证书</string>
<string name="settings.video_title">视频</string>
<string name="main.video">视频</string>
<string name="settings.video_player">视频播放器</string>
<string name="settings.view_refresh">刷新视图</string>
<string name="settings.view_refresh_500">.5 秒</string>
@ -261,8 +261,6 @@
<string name="share_comment">评论</string>
<string name="download_song_removed">%s已从播放列表中移除</string>
<string name="download.share_playlist">分享播放列表</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">默认</string>
<string name="menu.share">分享</string>
<string name="settings.playback.bluetooth_disabled">已禁用</string>
<string name="settings.debug.log_delete">删除文件</string>

View File

@ -224,16 +224,6 @@
<item>@string/settings.search_250</item>
<item>@string/settings.search_500</item>
</string-array>
<string-array name="videoPlayerValues" translatable="false">
<item>mx</item>
<item>default</item>
<item>flash</item>
</string-array>
<string-array name="videoPlayerNames" translatable="false">
<item>@string/settings.video_mx_player</item>
<item>@string/settings.video_default</item>
<item>@string/settings.video_flash</item>
</string-array>
<string-array name="viewRefreshNames" translatable="false">
<item>@string/settings.view_refresh_500</item>
<item>@string/settings.view_refresh_1000</item>

View File

@ -327,7 +327,7 @@
<string name="settings.use_id3_summary">Use ID3 tag methods instead of file system based methods</string>
<string name="settings.show_artist_picture">Show artist picture in artist list</string>
<string name="settings.show_artist_picture_summary">Displays the artist picture in the artist list if available</string>
<string name="settings.video_title">Video</string>
<string name="main.video">Video</string>
<string name="settings.video_player">Video player</string>
<string name="settings.view_refresh">View Refresh</string>
<string name="settings.view_refresh_500">.5 seconds</string>
@ -387,9 +387,6 @@
<string name="settings.share_greeting_default">Default Share Greeting</string>
<string name="share_default_greeting">Check out this music I shared from %s</string>
<string name="share_via">Share songs via</string>
<string name="settings.video_mx_player">MX Player</string>
<string name="settings.video_default">Default</string>
<string name="settings.video_flash">Flash</string>
<string name="menu.share">Share</string>
<string name="select_album_all_songs">All Songs by %s</string>
<string name="settings.show_all_songs_by_artist">Show All Songs By Artist</string>

View File

@ -180,17 +180,6 @@
a:title="@string/settings.send_bluetooth_album_art"
app:iconSpaceReserved="false"/>
</PreferenceCategory>
<PreferenceCategory
a:title="@string/settings.video_title"
app:iconSpaceReserved="false">
<ListPreference
a:defaultValue="default"
a:entries="@array/videoPlayerNames"
a:entryValues="@array/videoPlayerValues"
a:key="videoPlayer"
a:title="@string/settings.video_player"
app:iconSpaceReserved="false"/>
</PreferenceCategory>
<PreferenceCategory
a:title="@string/settings.sharing_title"
app:iconSpaceReserved="false">