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)