<div dir="ltr"><div>This patch fix one of the problems mentioned in #12828, the theme won't be applied on preference activity.</div><div><br></div><div><br></div><div>From 884b95580de9e7080a336b507c2ba3bca978b97b Mon Sep 17 00:00:00 2001</div><div>From: Tse Kit Yam <<a href="mailto:me@kytse.com">me@kytse.com</a>></div><div>Date: Thu, 5 Mar 2015 10:31:48 +0800</div><div>Subject: [PATCH] apply theme to preferences activity (#12828)</div><div><br></div><div>---</div><div> .../org/videolan/vlc/gui/PreferencesActivity.java    | 20 ++++++++++++++++++++</div><div> 1 file changed, 20 insertions(+)</div><div><br></div><div>diff --git a/vlc-android/src/org/videolan/vlc/gui/PreferencesActivity.java b/vlc-android/src/org/videolan/vlc/gui/PreferencesActivity.java</div><div>index 91d078b..ae713f2 100644</div><div>--- a/vlc-android/src/org/videolan/vlc/gui/PreferencesActivity.java</div><div>+++ b/vlc-android/src/org/videolan/vlc/gui/PreferencesActivity.java</div><div>@@ -34,6 +34,7 @@ import org.videolan.vlc.util.Logcat;</div><div> import org.videolan.vlc.util.Util;</div><div> import org.videolan.vlc.util.VLCInstance;</div><div> </div><div>+import android.annotation.TargetApi;</div><div> import android.app.AlertDialog;</div><div> import android.app.Dialog;</div><div> import android.content.Context;</div><div>@@ -81,6 +82,9 @@ public class PreferencesActivity extends PreferenceActivity implements OnSharedP</div><div> </div><div>     @Override</div><div>     protected void onCreate(Bundle savedInstanceState) {</div><div>+        /* Theme must be applied before super.onCreate */</div><div>+        applyTheme();</div><div>+</div><div>         super.onCreate(savedInstanceState);</div><div>         addPreferencesFromResource(R.xml.preferences);</div><div> </div><div>@@ -146,6 +150,9 @@ public class PreferencesActivity extends PreferenceActivity implements OnSharedP</div><div>                     @Override</div><div>                     public boolean onPreferenceClick(Preference preference) {</div><div>                         setResult(RESULT_RESTART);</div><div>+                        Intent intent = getIntent();</div><div>+                        finish();</div><div>+                        startActivity(intent);</div><div>                         return true;</div><div>                     }</div><div>                 });</div><div>@@ -276,6 +283,19 @@ public class PreferencesActivity extends PreferenceActivity implements OnSharedP</div><div>         sharedPrefs.registerOnSharedPreferenceChangeListener(this);</div><div>     }</div><div> </div><div>+    @TargetApi(Build.VERSION_CODES.LOLLIPOP)</div><div>+    private void applyTheme() {</div><div>+        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);</div><div>+        boolean enableBlackTheme = pref.getBoolean("enable_black_theme", false);</div><div>+        if (enableBlackTheme) {</div><div>+            setTheme(R.style.Theme_VLC_Black);</div><div>+            //We need to manually change statusbar color, otherwise, it remains orange.</div><div>+            if (LibVlcUtil.isLolliPopOrLater()) {</div><div>+                getWindow().setStatusBarColor(Color.DKGRAY);</div><div>+            }</div><div>+        }</div><div>+    }</div><div>+</div><div>     @Override</div><div>     protected void onPostCreate(Bundle savedInstanceState) {</div><div>         super.onPostCreate(savedInstanceState);</div><div>-- </div><div>2.3.1</div><div><br></div><div><br></div>-- <br><div class="gmail_signature">Tse Kit Yam<br><a href="mailto:me@kytse.com" target="_blank">me@kytse.com</a><br><br></div>
</div>