From 99aa616188f4e59dc9cd6a027d7f28f28c59df0d Mon Sep 17 00:00:00 2001 From: Ansa89 Date: Mon, 24 Nov 2014 11:47:02 +0100 Subject: [PATCH] Add language chooser Implement limelight-stream/limelight-android#32. --- app/src/main/java/com/limelight/AppView.java | 9 +++++++++ app/src/main/java/com/limelight/Game.java | 8 ++++++++ app/src/main/java/com/limelight/PcView.java | 8 ++++++++ .../limelight/preferences/AddComputerManually.java | 8 ++++++++ .../com/limelight/preferences/StreamSettings.java | 8 ++++++++ app/src/main/res/values-it/strings.xml | 2 ++ app/src/main/res/values/arrays.xml | 11 +++++++++++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/preferences.xml | 9 ++++++++- 9 files changed, 64 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/limelight/AppView.java b/app/src/main/java/com/limelight/AppView.java index f73436e0..2d3241c5 100644 --- a/app/src/main/java/com/limelight/AppView.java +++ b/app/src/main/java/com/limelight/AppView.java @@ -51,6 +51,15 @@ public class AppView extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String locale = prefs.getString("list_languages", "default"); + if (!locale.equals("default")) { + Configuration config = new Configuration(getResources().getConfiguration()); + config.locale = new Locale(locale); + getResources().updateConfiguration(config, getResources().getDisplayMetrics()); + } + setContentView(R.layout.activity_app_view); UiHelper.notifyNewRootView(this); diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index 0fd0c028..a3300a52 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -87,6 +87,14 @@ public class Game extends Activity implements SurfaceHolder.Callback, protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String locale = prefs.getString("list_languages", "default"); + if (!locale.equals("default")) { + Configuration config = new Configuration(getResources().getConfiguration()); + config.locale = new Locale(locale); + getResources().updateConfiguration(config, getResources().getDisplayMetrics()); + } + // We don't want a title bar requestWindowFeature(Window.FEATURE_NO_TITLE); diff --git a/app/src/main/java/com/limelight/PcView.java b/app/src/main/java/com/limelight/PcView.java index 2b12f9f2..d2417850 100644 --- a/app/src/main/java/com/limelight/PcView.java +++ b/app/src/main/java/com/limelight/PcView.java @@ -151,6 +151,14 @@ public class PcView extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String locale = prefs.getString("list_languages", "default"); + if (!locale.equals("default")) { + Configuration config = new Configuration(getResources().getConfiguration()); + config.locale = new Locale(locale); + getResources().updateConfiguration(config, getResources().getDisplayMetrics()); + } + // Bind to the computer manager service bindService(new Intent(PcView.this, ComputerManagerService.class), serviceConnection, Service.BIND_AUTO_CREATE); diff --git a/app/src/main/java/com/limelight/preferences/AddComputerManually.java b/app/src/main/java/com/limelight/preferences/AddComputerManually.java index 9e8b1584..0ce8a42b 100644 --- a/app/src/main/java/com/limelight/preferences/AddComputerManually.java +++ b/app/src/main/java/com/limelight/preferences/AddComputerManually.java @@ -132,6 +132,14 @@ public class AddComputerManually extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String locale = prefs.getString("list_languages", "default"); + if (!locale.equals("default")) { + Configuration config = new Configuration(getResources().getConfiguration()); + config.locale = new Locale(locale); + getResources().updateConfiguration(config, getResources().getDisplayMetrics()); + } + setContentView(R.layout.activity_add_computer_manually); UiHelper.notifyNewRootView(this); diff --git a/app/src/main/java/com/limelight/preferences/StreamSettings.java b/app/src/main/java/com/limelight/preferences/StreamSettings.java index bf7243f2..b6e2a0e2 100644 --- a/app/src/main/java/com/limelight/preferences/StreamSettings.java +++ b/app/src/main/java/com/limelight/preferences/StreamSettings.java @@ -14,6 +14,14 @@ public class StreamSettings extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + String locale = prefs.getString("list_languages", "default"); + if (!locale.equals("default")) { + Configuration config = new Configuration(getResources().getConfiguration()); + config.locale = new Locale(locale); + getResources().updateConfiguration(config, getResources().getDisplayMetrics()); + } setContentView(R.layout.activity_stream_settings); getFragmentManager().beginTransaction().replace( diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 75a12f40..70cea328 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -89,6 +89,8 @@ Forza video in full-screen Disabilita i messaggi di warning Disabilita i messaggi di warning sullo schermo durante lo streaming + Lingua + Lingua da usare in Limelight Impostazioni Gamepad Aggiusta deadzone degli stick analogici diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 73df0415..44a32405 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -13,6 +13,17 @@ 1080p60 + + Default + English + Italiano + + + default + en + it + + Auto-select Decoder Force Software Decoding diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ccd9898e..9ad82bd1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -89,6 +89,8 @@ Stretch video to full-screen Disable warning messages Disable on-screen connection warning messages while streaming + Language + Language to use for Limelight Gamepad Settings Adjust analog stick deadzone diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index ce2c037a..80d348aa 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -25,6 +25,13 @@ android:title="@string/title_checkbox_disable_warnings" android:summary="@string/summary_checkbox_disable_warnings" android:defaultValue="false" /> +