fix crash from language change
This commit is contained in:
parent
0e9ae233de
commit
ad5b4327d1
@ -2,16 +2,13 @@ package com.safemobile.safedispatch;
|
|||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
/** fix import */
|
|
||||||
import com.safemobile.adapters.LanguageSpinnerAdapter;
|
import com.safemobile.adapters.LanguageSpinnerAdapter;
|
||||||
import com.safemobile.lib.AppParams;
|
import com.safemobile.lib.AppParams;
|
||||||
import com.safemobile.lib.SM;
|
import com.safemobile.lib.SM;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -73,52 +70,49 @@ public class SetupActivity extends Activity {
|
|||||||
setContentView(R.layout.tabsetup);
|
setContentView(R.layout.tabsetup);
|
||||||
|
|
||||||
|
|
||||||
layoutSpinnerLanguage = (LinearLayout) findViewById(R.id.layoutSpinnerLanguage);
|
layoutSpinnerLanguage = findViewById(R.id.layoutSpinnerLanguage);
|
||||||
layoutSpinnerLanguage.setOnClickListener(LanguageListener);
|
layoutSpinnerLanguage.setOnClickListener(LanguageListener);
|
||||||
imageLanguage = (ImageView) findViewById(R.id.imageLanguage);
|
imageLanguage = findViewById(R.id.imageLanguage);
|
||||||
textViewSpinnerLanguage = (TextView) findViewById(R.id.textViewSpinnerLanguage);
|
textViewSpinnerLanguage = findViewById(R.id.textViewSpinnerLanguage);
|
||||||
|
|
||||||
// change spinner icon and selected language according to tmpLanguage
|
// change spinner icon and selected language according to tmpLanguage
|
||||||
if (AppParams.LANGUAGETMP.equals("en")){
|
switch (AppParams.LANGUAGETMP) {
|
||||||
|
case "en":
|
||||||
imageLanguage.setImageResource(R.drawable.en);
|
imageLanguage.setImageResource(R.drawable.en);
|
||||||
textViewSpinnerLanguage.setText(getString(R.string.en));
|
textViewSpinnerLanguage.setText(getString(R.string.en));
|
||||||
}
|
break;
|
||||||
else if (AppParams.LANGUAGETMP.equals("de")){
|
case "de":
|
||||||
imageLanguage.setImageResource(R.drawable.de);
|
imageLanguage.setImageResource(R.drawable.de);
|
||||||
textViewSpinnerLanguage.setText(getString(R.string.de));
|
textViewSpinnerLanguage.setText(getString(R.string.de));
|
||||||
}
|
break;
|
||||||
else if (AppParams.LANGUAGETMP.equals("tr")){
|
case "tr":
|
||||||
imageLanguage.setImageResource(R.drawable.tr);
|
imageLanguage.setImageResource(R.drawable.tr);
|
||||||
textViewSpinnerLanguage.setText(getString(R.string.tr));
|
textViewSpinnerLanguage.setText(getString(R.string.tr));
|
||||||
}
|
break;
|
||||||
else if (AppParams.LANGUAGETMP.equals("ro")){
|
case "ro":
|
||||||
imageLanguage.setImageResource(R.drawable.ro);
|
imageLanguage.setImageResource(R.drawable.ro);
|
||||||
textViewSpinnerLanguage.setText(getString(R.string.ro));
|
textViewSpinnerLanguage.setText(getString(R.string.ro));
|
||||||
}
|
break;
|
||||||
else if(AppParams.LANGUAGETMP.equals("es")){
|
case "es":
|
||||||
imageLanguage.setImageResource(R.drawable.es);
|
imageLanguage.setImageResource(R.drawable.es);
|
||||||
textViewSpinnerLanguage.setText(getString(R.string.es));
|
textViewSpinnerLanguage.setText(getString(R.string.es));
|
||||||
}
|
break;
|
||||||
else if(AppParams.LANGUAGETMP.equals("ru")){
|
case "ru":
|
||||||
imageLanguage.setImageResource(R.drawable.ru);
|
imageLanguage.setImageResource(R.drawable.ru);
|
||||||
textViewSpinnerLanguage.setText(getString(R.string.ru));
|
textViewSpinnerLanguage.setText(getString(R.string.ru));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get visual elements
|
// get visual elements
|
||||||
appServerIP = (EditText) findViewById(R.id.appServerIP);
|
appServerIP = findViewById(R.id.appServerIP);
|
||||||
appServerPort = (EditText) findViewById(R.id.appServerPort);
|
appServerPort = findViewById(R.id.appServerPort);
|
||||||
|
|
||||||
// hide path layout used only on Pad/Pod
|
// hide path layout used only on Pad/Pod
|
||||||
layoutPath = (LinearLayout) findViewById(R.id.layoutPath);
|
layoutPath = findViewById(R.id.layoutPath);
|
||||||
layoutPath.setVisibility(View.GONE);
|
layoutPath.setVisibility(View.GONE);
|
||||||
btn_save = (Button) findViewById(R.id.btn_save);
|
btn_save = findViewById(R.id.btn_save);
|
||||||
|
|
||||||
btn_save.setOnClickListener(new OnClickListener() {
|
btn_save.setOnClickListener(v -> saveSettings());
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
saveSettings();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// set values
|
// set values
|
||||||
if(!AppParams.IP.equals("n/a"))
|
if(!AppParams.IP.equals("n/a"))
|
||||||
@ -134,36 +128,22 @@ public class SetupActivity extends Activity {
|
|||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setMessage(getString(R.string.exit))
|
builder.setMessage(getString(R.string.exit))
|
||||||
.setCancelable(false)
|
.setCancelable(false)
|
||||||
.setNeutralButton(getString(R.string.logout), new DialogInterface.OnClickListener() {
|
.setNeutralButton(getString(R.string.logout), (dialog, id) -> parentTab.whenBackPressed(AppParams.ActivityResult.logout))
|
||||||
public void onClick(DialogInterface dialog, int id) {
|
.setPositiveButton(getString(R.string.ext), (dialog, id) -> parentTab.whenBackPressed(AppParams.ActivityResult.exit))
|
||||||
parentTab.whenBackPressed(AppParams.ActivityResult.logout);
|
.setNegativeButton(getString(R.string.cancel), (dialog, id) -> dialog.cancel());
|
||||||
}
|
|
||||||
})
|
|
||||||
.setPositiveButton(getString(R.string.ext), new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialog, int id) {
|
|
||||||
parentTab.whenBackPressed(AppParams.ActivityResult.exit);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialog, int id) {
|
|
||||||
dialog.cancel();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
AlertDialog alert = builder.create();
|
AlertDialog alert = builder.create();
|
||||||
alert.show();
|
alert.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
// listener when select language pressed
|
// listener when select language pressed
|
||||||
private OnClickListener LanguageListener = new OnClickListener() {
|
private final OnClickListener LanguageListener = new OnClickListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
final LanguageSpinnerAdapter adapter = new LanguageSpinnerAdapter(context, android.R.layout.simple_spinner_item, Languages, getLayoutInflater());
|
final LanguageSpinnerAdapter adapter = new LanguageSpinnerAdapter(context, android.R.layout.simple_spinner_item, Languages, getLayoutInflater());
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||||
builder.setTitle(getString(R.string.selLanguage));
|
builder.setTitle(getString(R.string.selLanguage));
|
||||||
builder.setAdapter(adapter , new DialogInterface.OnClickListener() {
|
builder.setAdapter(adapter , (dialog, which) -> {
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
textViewSpinnerLanguage.setText(adapter.getItem(which));
|
textViewSpinnerLanguage.setText(adapter.getItem(which));
|
||||||
switch(which)
|
switch(which)
|
||||||
{
|
{
|
||||||
@ -174,7 +154,6 @@ public class SetupActivity extends Activity {
|
|||||||
case 4: imageLanguage.setImageResource(R.drawable.ru); AppParams.LANGUAGETMP = "ru"; onCreate(savedInstanceState); parentTab.changeLanguage(); break;
|
case 4: imageLanguage.setImageResource(R.drawable.ru); AppParams.LANGUAGETMP = "ru"; onCreate(savedInstanceState); parentTab.changeLanguage(); break;
|
||||||
case 5: imageLanguage.setImageResource(R.drawable.es); AppParams.LANGUAGETMP = "es"; onCreate(savedInstanceState); parentTab.changeLanguage(); break;
|
case 5: imageLanguage.setImageResource(R.drawable.es); AppParams.LANGUAGETMP = "es"; onCreate(savedInstanceState); parentTab.changeLanguage(); break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
AlertDialog alert = builder.create();
|
AlertDialog alert = builder.create();
|
||||||
@ -218,9 +197,9 @@ public class SetupActivity extends Activity {
|
|||||||
editor.putString("ip", appServerIP.getText().toString());
|
editor.putString("ip", appServerIP.getText().toString());
|
||||||
editor.putString("port", appServerPort.getText().toString());
|
editor.putString("port", appServerPort.getText().toString());
|
||||||
editor.putString("language", AppParams.LANGUAGETMP);
|
editor.putString("language", AppParams.LANGUAGETMP);
|
||||||
Boolean result = editor.commit();
|
boolean result = editor.commit();
|
||||||
// saved completed
|
// saved completed
|
||||||
if(result)
|
if (result)
|
||||||
Toast.makeText(context, "Settings saved successfully.", Toast.LENGTH_LONG).show();
|
Toast.makeText(context, "Settings saved successfully.", Toast.LENGTH_LONG).show();
|
||||||
else
|
else
|
||||||
Toast.makeText(context, "Settings failed to complete!", Toast.LENGTH_LONG).show();
|
Toast.makeText(context, "Settings failed to complete!", Toast.LENGTH_LONG).show();
|
||||||
@ -265,31 +244,4 @@ public class SetupActivity extends Activity {
|
|||||||
//showDialog(result);
|
//showDialog(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showDialog(Boolean result)
|
|
||||||
{
|
|
||||||
Dialog dialog = new Dialog(context);
|
|
||||||
if(result)
|
|
||||||
dialog.setTitle("Save Completed");
|
|
||||||
else
|
|
||||||
dialog.setTitle("Save Failed");
|
|
||||||
dialog.setContentView(R.layout.dialog);
|
|
||||||
dialog.setCancelable(true);
|
|
||||||
dialog.setCanceledOnTouchOutside(true);
|
|
||||||
|
|
||||||
TextView text = (TextView) dialog.findViewById(R.id.text);
|
|
||||||
ImageView image = (ImageView) dialog.findViewById(R.id.image);
|
|
||||||
if(result)
|
|
||||||
{
|
|
||||||
image.setImageResource(R.drawable.error);
|
|
||||||
text.setText("Settings saved successfully.");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
image.setImageResource(R.drawable.error);
|
|
||||||
text.setText("Settings failed to complete!");
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -737,8 +737,6 @@ public class TabLayoutActivity extends AbstractSDParentActivity {
|
|||||||
getBaseContext().getResources().updateConfiguration(configuration,
|
getBaseContext().getResources().updateConfiguration(configuration,
|
||||||
getBaseContext().getResources().getDisplayMetrics());
|
getBaseContext().getResources().getDisplayMetrics());
|
||||||
|
|
||||||
if (getHistoryActivity() != null)
|
|
||||||
getHistoryActivity().onCreate(getHistoryActivity().savedInstanceState);
|
|
||||||
// change UI for RadioActivity and MessageActivity
|
// change UI for RadioActivity and MessageActivity
|
||||||
if (getRadioActivity() != null)
|
if (getRadioActivity() != null)
|
||||||
getRadioActivity().onCreate(getRadioActivity().savedInstanceState);
|
getRadioActivity().onCreate(getRadioActivity().savedInstanceState);
|
||||||
|
Loading…
Reference in New Issue
Block a user