Add language chooser

Implement limelight-stream/limelight-android#32.
This commit is contained in:
Ansa89
2014-11-24 11:47:02 +01:00
parent 444c4602c1
commit 99aa616188
9 changed files with 64 additions and 1 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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(

View File

@@ -89,6 +89,8 @@
<string name="title_checkbox_stretch_video">Forza video in full-screen</string>
<string name="title_checkbox_disable_warnings">Disabilita i messaggi di warning</string>
<string name="summary_checkbox_disable_warnings">Disabilita i messaggi di warning sullo schermo durante lo streaming</string>
<string name="title_language_list">Lingua</string>
<string name="summary_language_list">Lingua da usare in Limelight</string>
<string name="category_gamepad_settings">Impostazioni Gamepad</string>
<string name="title_seekbar_deadzone">Aggiusta deadzone degli stick analogici</string>

View File

@@ -13,6 +13,17 @@
<item>1080p60</item>
</string-array>
<string-array name="language_names" translatable="false">
<item>Default</item>
<item>English</item>
<item>Italiano</item>
</string-array>
<string-array name="language_values" translatable="false">
<item>default</item>
<item>en</item>
<item>it</item>
</string-array>
<string-array name="decoder_names">
<item>Auto-select Decoder</item>
<item>Force Software Decoding</item>

View File

@@ -89,6 +89,8 @@
<string name="title_checkbox_stretch_video">Stretch video to full-screen</string>
<string name="title_checkbox_disable_warnings">Disable warning messages</string>
<string name="summary_checkbox_disable_warnings">Disable on-screen connection warning messages while streaming</string>
<string name="title_language_list">Language</string>
<string name="summary_language_list">Language to use for Limelight</string>
<string name="category_gamepad_settings">Gamepad Settings</string>
<string name="title_seekbar_deadzone">Adjust analog stick deadzone</string>

View File

@@ -25,6 +25,13 @@
android:title="@string/title_checkbox_disable_warnings"
android:summary="@string/summary_checkbox_disable_warnings"
android:defaultValue="false" />
<ListPreference
android:key="list_languages"
android:title="@string/title_language_list"
android:entries="@array/language_names"
android:entryvalues="@array/language_values"
android:summary="@string/summary_language_list"
android:defaultvalue="default" />
</PreferenceCategory>
<!--PreferenceCategory android:title="@string/category_gamepad_settings">
<com.limelight.preferences.SeekBarPreference
@@ -56,4 +63,4 @@
android:defaultValue="auto" />
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>