Fix issue with settings forcing an app restart
This commit is contained in:
parent
e6aa9adabf
commit
b4c08a3225
|
@ -80,6 +80,7 @@ public class SettingsFragment extends Fragment {
|
||||||
private static final int ACTIVITY_CHOOSE_FILE = 411;
|
private static final int ACTIVITY_CHOOSE_FILE = 411;
|
||||||
private TextView set_folder;
|
private TextView set_folder;
|
||||||
private EditText your_api_key;
|
private EditText your_api_key;
|
||||||
|
private int count1, count2, count3, count4;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -103,7 +104,10 @@ public class SettingsFragment extends Fragment {
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
count1 = 0;
|
||||||
|
count2 = 0;
|
||||||
|
count3 = 0;
|
||||||
|
count4 = 0;
|
||||||
|
|
||||||
boolean display_card = sharedpreferences.getBoolean(Helper.SET_DISPLAY_CARD, false);
|
boolean display_card = sharedpreferences.getBoolean(Helper.SET_DISPLAY_CARD, false);
|
||||||
|
|
||||||
|
@ -579,26 +583,30 @@ public class SettingsFragment extends Fragment {
|
||||||
set_night_mode.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
set_night_mode.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
if( count1 > 0 ) {
|
||||||
switch (position){
|
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||||
case 0:
|
|
||||||
editor.putInt(Helper.SET_THEME, Helper.THEME_DARK);
|
switch (position) {
|
||||||
editor.apply();
|
case 0:
|
||||||
break;
|
editor.putInt(Helper.SET_THEME, Helper.THEME_DARK);
|
||||||
case 1:
|
editor.apply();
|
||||||
editor.putInt(Helper.SET_THEME, Helper.THEME_LIGHT);
|
break;
|
||||||
editor.apply();
|
case 1:
|
||||||
break;
|
editor.putInt(Helper.SET_THEME, Helper.THEME_LIGHT);
|
||||||
case 2:
|
editor.apply();
|
||||||
editor.putInt(Helper.SET_THEME, Helper.THEME_BLACK);
|
break;
|
||||||
editor.apply();
|
case 2:
|
||||||
break;
|
editor.putInt(Helper.SET_THEME, Helper.THEME_BLACK);
|
||||||
|
editor.apply();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (getActivity() != null)
|
||||||
|
getActivity().recreate();
|
||||||
|
Intent intent = new Intent(context, MainActivity.class);
|
||||||
|
intent.putExtra(INTENT_ACTION, CHANGE_THEME_INTENT);
|
||||||
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
if( getActivity() != null)
|
count1++;
|
||||||
getActivity().recreate();
|
|
||||||
Intent intent = new Intent(context, MainActivity.class);
|
|
||||||
intent.putExtra(INTENT_ACTION, CHANGE_THEME_INTENT);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onNothingSelected(AdapterView<?> parent) {
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
@ -618,88 +626,92 @@ public class SettingsFragment extends Fragment {
|
||||||
set_change_locale.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
set_change_locale.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
if( count2 > 0 ) {
|
||||||
switch (position){
|
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||||
case 0:
|
switch (position) {
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.getDefault()));
|
case 0:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.getDefault()));
|
||||||
break;
|
editor.commit();
|
||||||
case 1:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.ENGLISH));
|
case 1:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.ENGLISH));
|
||||||
break;
|
editor.commit();
|
||||||
case 2:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.FRANCE));
|
case 2:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.FRANCE));
|
||||||
break;
|
editor.commit();
|
||||||
case 3:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.GERMAN));
|
case 3:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.GERMAN));
|
||||||
break;
|
editor.commit();
|
||||||
case 4:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.ITALIAN));
|
case 4:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.ITALIAN));
|
||||||
break;
|
editor.commit();
|
||||||
case 5:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.JAPAN));
|
case 5:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.JAPAN));
|
||||||
break;
|
editor.commit();
|
||||||
case 6:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.SIMPLIFIED_CHINESE));
|
case 6:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.SIMPLIFIED_CHINESE));
|
||||||
break;
|
editor.commit();
|
||||||
case 7:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.TRADITIONAL_CHINESE));
|
case 7:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(Locale.TRADITIONAL_CHINESE));
|
||||||
break;
|
editor.commit();
|
||||||
case 8:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("eu")));
|
case 8:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("eu")));
|
||||||
break;
|
editor.commit();
|
||||||
case 9:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("ar")));
|
case 9:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("ar")));
|
||||||
break;
|
editor.commit();
|
||||||
case 10:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("nl")));
|
case 10:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("nl")));
|
||||||
break;
|
editor.commit();
|
||||||
case 11:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("gl")));
|
case 11:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("gl")));
|
||||||
break;
|
editor.commit();
|
||||||
case 12:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("el")));
|
case 12:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("el")));
|
||||||
break;
|
editor.commit();
|
||||||
case 13:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("pt")));
|
case 13:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("pt")));
|
||||||
break;
|
editor.commit();
|
||||||
case 14:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("es")));
|
case 14:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("es")));
|
||||||
break;
|
editor.commit();
|
||||||
case 15:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("pl")));
|
case 15:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("pl")));
|
||||||
break;
|
editor.commit();
|
||||||
case 16:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("sr")));
|
case 16:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("sr")));
|
||||||
break;
|
editor.commit();
|
||||||
case 17:
|
break;
|
||||||
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("uk")));
|
case 17:
|
||||||
editor.commit();
|
editor.putString(Helper.SET_DEFAULT_LOCALE, Helper.localeToStringStorage(new Locale("uk")));
|
||||||
break;
|
editor.commit();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
PackageManager packageManager = context.getPackageManager();
|
||||||
|
Intent intent = packageManager.getLaunchIntentForPackage(context.getPackageName());
|
||||||
|
assert intent != null;
|
||||||
|
ComponentName componentName = intent.getComponent();
|
||||||
|
Intent mainIntent = Intent.makeRestartActivityTask(componentName);
|
||||||
|
context.startActivity(mainIntent);
|
||||||
|
Runtime.getRuntime().exit(0);
|
||||||
}
|
}
|
||||||
PackageManager packageManager = context.getPackageManager();
|
count2++;
|
||||||
Intent intent = packageManager.getLaunchIntentForPackage(context.getPackageName());
|
|
||||||
assert intent != null;
|
|
||||||
ComponentName componentName = intent.getComponent();
|
|
||||||
Intent mainIntent = Intent.makeRestartActivityTask(componentName);
|
|
||||||
context.startActivity(mainIntent);
|
|
||||||
Runtime.getRuntime().exit(0);
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onNothingSelected(AdapterView<?> parent) {
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
@ -889,35 +901,38 @@ public class SettingsFragment extends Fragment {
|
||||||
translation_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
translation_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
if( count3 > 0 ) {
|
||||||
switch (position){
|
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||||
case 0:
|
switch (position) {
|
||||||
your_api_key.setVisibility(View.VISIBLE);
|
case 0:
|
||||||
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_YANDEX);
|
your_api_key.setVisibility(View.VISIBLE);
|
||||||
editor.apply();
|
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_YANDEX);
|
||||||
if( sharedpreferences.getString(Helper.SET_DEEPL_API_KEY, null) != null)
|
editor.apply();
|
||||||
your_api_key.setText(sharedpreferences.getString(Helper.SET_DEEPL_API_KEY, ""));
|
if (sharedpreferences.getString(Helper.SET_DEEPL_API_KEY, null) != null)
|
||||||
break;
|
your_api_key.setText(sharedpreferences.getString(Helper.SET_DEEPL_API_KEY, ""));
|
||||||
case 1:
|
break;
|
||||||
your_api_key.setVisibility(View.VISIBLE);
|
case 1:
|
||||||
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_DEEPL);
|
your_api_key.setVisibility(View.VISIBLE);
|
||||||
editor.apply();
|
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_DEEPL);
|
||||||
if( sharedpreferences.getString(SET_YANDEX_API_KEY, null) != null)
|
editor.apply();
|
||||||
your_api_key.setText(sharedpreferences.getString(SET_YANDEX_API_KEY, null));
|
if (sharedpreferences.getString(SET_YANDEX_API_KEY, null) != null)
|
||||||
break;
|
your_api_key.setText(sharedpreferences.getString(SET_YANDEX_API_KEY, null));
|
||||||
case 2:
|
break;
|
||||||
your_api_key.setVisibility(View.GONE);
|
case 2:
|
||||||
set_trans_forced.isChecked();
|
your_api_key.setVisibility(View.GONE);
|
||||||
editor.putBoolean(Helper.SET_TRANS_FORCED, false);
|
set_trans_forced.isChecked();
|
||||||
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_NONE);
|
editor.putBoolean(Helper.SET_TRANS_FORCED, false);
|
||||||
editor.apply();
|
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_NONE);
|
||||||
break;
|
editor.apply();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if( getActivity() != null)
|
||||||
|
getActivity().recreate();
|
||||||
|
Intent intent = new Intent(context, MainActivity.class);
|
||||||
|
intent.putExtra(INTENT_ACTION, CHANGE_THEME_INTENT);
|
||||||
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
if( getActivity() != null)
|
count3++;
|
||||||
getActivity().recreate();
|
|
||||||
Intent intent = new Intent(context, MainActivity.class);
|
|
||||||
intent.putExtra(INTENT_ACTION, CHANGE_THEME_INTENT);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onNothingSelected(AdapterView<?> parent) {
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
@ -935,9 +950,12 @@ public class SettingsFragment extends Fragment {
|
||||||
resize_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
resize_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
if( count4 > 0) {
|
||||||
editor.putInt(Helper.SET_PICTURE_RESIZE, position);
|
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||||
editor.apply();
|
editor.putInt(Helper.SET_PICTURE_RESIZE, position);
|
||||||
|
editor.apply();
|
||||||
|
}
|
||||||
|
count4++;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onNothingSelected(AdapterView<?> parent) {
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
|
Loading…
Reference in New Issue