diff --git a/vlc-android/res/values/strings.xml b/vlc-android/res/values/strings.xml index 9460855236a66919bfe627a2fd6d190d385df0ed..3f42271f35c8cbaf7e7d247b75e72df62c46b309 100644 --- a/vlc-android/res/values/strings.xml +++ b/vlc-android/res/values/strings.xml @@ -296,6 +296,20 @@ Right Marquee + Subtitles + Subtitles Size + Small + Normal + Big + Huge + Subtitles Color + White + Pink + Blue + Yellow + Green + Subtitles Background + Performance Force video chroma RGB 32-bit: default chroma\nRGB 16-bit: better performance but lower quality\nYUV: best performance but does not work on all devices. Android 2.3 and later only. @@ -396,18 +410,6 @@ First letter only Short number of letters (6) Long number of letters (9) - Subtitles Size - Small - Normal - Big - Huge - Subtitles Color - White - Pink - Blue - Yellow - Green - Subtitles Background More Actions diff --git a/vlc-android/res/xml/preferences.xml b/vlc-android/res/xml/preferences.xml index d3a8d84b89dd38ccb1f1bdce9966e61d0e71319b..1dea40ac4cbbe5d4bd6b0eff3bcfcaf2412eb605 100644 --- a/vlc-android/res/xml/preferences.xml +++ b/vlc-android/res/xml/preferences.xml @@ -21,14 +21,6 @@ android:summary="@string/play_as_audio_background_summary" android:title="@string/play_as_audio_background" /> - - + diff --git a/vlc-android/res/xml/preferences_subtitles.xml b/vlc-android/res/xml/preferences_subtitles.xml new file mode 100644 index 0000000000000000000000000000000000000000..716ca892265240c7d3e549f8358783400c55c8e0 --- /dev/null +++ b/vlc-android/res/xml/preferences_subtitles.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + diff --git a/vlc-android/res/xml/preferences_ui.xml b/vlc-android/res/xml/preferences_ui.xml index b711f65ae29125bb48d1ae9ff9cb0b8c4f362500..6466ac7cc4067087171155ae5a0b4a7f08747a66 100644 --- a/vlc-android/res/xml/preferences_ui.xml +++ b/vlc-android/res/xml/preferences_ui.xml @@ -85,34 +85,6 @@ android:title="@string/enable_steal_remote_control" /> - - - - - - - diff --git a/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesFragment.java b/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesFragment.java index 6ef44e3980258abf51c70dd47968cdda595a5cd4..578b1f71c2f5a085fbca8084132aef40f274719d 100644 --- a/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesFragment.java +++ b/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesFragment.java @@ -75,8 +75,7 @@ public class PreferencesFragment extends BasePreferenceFragment implements Share @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if(key.equalsIgnoreCase("hardware_acceleration") - || key.equalsIgnoreCase("subtitle_text_encoding")) { + if(key.equalsIgnoreCase("hardware_acceleration")) { VLCInstance.restart(); if (getActivity() != null ) ((PreferencesActivity)getActivity()).restartMediaPlayer(); @@ -95,6 +94,9 @@ public class PreferencesFragment extends BasePreferenceFragment implements Share case "ui_category": loadFragment(new PreferencesUi()); break; + case "subtitles_category": + loadFragment(new PreferencesSubtitles()); + break; case "perf_category": loadFragment(new PreferencesPerformances()); break; diff --git a/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.java b/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.java new file mode 100644 index 0000000000000000000000000000000000000000..4fcc2e0bf1587ef618ecb7f335168c4c978f156b --- /dev/null +++ b/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.java @@ -0,0 +1,69 @@ +/* + * ************************************************************************* + * PreferencesSubtitles.java + * ************************************************************************** + * Copyright © 2016 VLC authors and VideoLAN + * + * 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. + * *************************************************************************** + */ + +package org.videolan.vlc.gui.preferences; + +import android.content.SharedPreferences; +import android.os.Bundle; + +import org.videolan.libvlc.util.AndroidUtil; +import org.videolan.vlc.R; +import org.videolan.vlc.util.VLCInstance; + +public class PreferencesSubtitles extends BasePreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { + + @Override + protected int getXml() { + return R.xml.preferences_subtitles; + } + + @Override + protected int getTitleId() { + return R.string.subtitles_prefs_category; + } + + @Override + public void onStart() { + super.onStart(); + getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + findPreference("languages_download_list").setVisible(AndroidUtil.isHoneycombOrLater()); + } + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + switch (key){ + case "subtitles_size": + case "subtitles_color": + case "subtitles_background": + case "subtitle_text_encoding": + VLCInstance.restart(); + if (getActivity() != null ) + ((PreferencesActivity)getActivity()).restartMediaPlayer(); + } + } + +} diff --git a/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.java b/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.java index 69d0ba9ae48a651aeed33ccf4f14b33c51e306ab..42c0f253b3bcd4e5abfedda6bcdf93e2b8288531 100644 --- a/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.java +++ b/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.java @@ -33,7 +33,7 @@ import org.videolan.vlc.PlaybackService; import org.videolan.vlc.R; import org.videolan.vlc.util.VLCInstance; -public class PreferencesUi extends BasePreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { +public class PreferencesUi extends BasePreferenceFragment { @Override protected int getXml() { @@ -48,7 +48,6 @@ public class PreferencesUi extends BasePreferenceFragment implements SharedPrefe @Override public void onStart() { super.onStart(); - getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); } @Override @@ -56,22 +55,9 @@ public class PreferencesUi extends BasePreferenceFragment implements SharedPrefe super.onCreate(savedInstanceState); findPreference("tv_ui").setVisible(AndroidUtil.isJellyBeanMR1OrLater()); - findPreference("languages_download_list").setVisible(AndroidUtil.isHoneycombOrLater()); findPreference("enable_play_on_headset_insertion").setVisible(((TwoStatePreference) findPreference("enable_headset_detection")).isChecked()); } - @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - switch (key){ - case "subtitles_size": - case "subtitles_color": - case "subtitles_background": - VLCInstance.restart(); - if (getActivity() != null ) - ((PreferencesActivity)getActivity()).restartMediaPlayer(); - } - } - @Override public boolean onPreferenceTreeClick(Preference preference) { if (preference.getKey() == null)