Fixes issue with translation

This commit is contained in:
stom79 2017-11-03 15:00:53 +01:00
parent fe29b83e2e
commit a65e48f4dc
2 changed files with 53 additions and 29 deletions

View File

@ -42,6 +42,7 @@ import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.MenuItem;
@ -432,9 +433,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_toot_date.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12*textSizePercent/100);
holder.status_spoiler.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100);
holder.status_content_translated.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14*textSizePercent/100);
switch (translator)
{
switch (translator) {
case Helper.TRANS_NONE:
holder.yandex_translate.setVisibility(View.GONE);
break;
@ -442,8 +441,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.yandex_translate.setVisibility(View.VISIBLE);
break;
default:
holder.yandex_translate.setVisibility(View.GONE);
break;
holder.yandex_translate.setVisibility(View.VISIBLE);
}
//Manages theme for icon colors

View File

@ -437,30 +437,6 @@ public class SettingsFragment extends Fragment {
});
final Spinner translation_layout_spinner = rootView.findViewById(R.id.translation_layout_spinner);
ArrayAdapter<CharSequence> adapterTrans = ArrayAdapter.createFromResource(getActivity(),
R.array.settings_translation, android.R.layout.simple_spinner_item);
translation_layout_spinner.setAdapter(adapterTrans);
int positionSpinnerTrans = (sharedpreferences.getInt(Helper.SET_TRANSLATOR, Helper.TRANS_YANDEX));
translation_layout_spinner.setSelection(positionSpinnerTrans);
translation_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if( count2 > 0){
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putInt(Helper.SET_TRANSLATOR, position );
editor.apply();
}else {
count2++;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
boolean trans_forced = sharedpreferences.getBoolean(Helper.SET_TRANS_FORCED, false);
final CheckBox set_trans_forced = rootView.findViewById(R.id.set_trans_forced);
set_trans_forced.setChecked(trans_forced);
@ -473,6 +449,56 @@ public class SettingsFragment extends Fragment {
}
});
final Spinner translation_layout_spinner = rootView.findViewById(R.id.translation_layout_spinner);
ArrayAdapter<CharSequence> adapterTrans = ArrayAdapter.createFromResource(getActivity(),
R.array.settings_translation, android.R.layout.simple_spinner_item);
translation_layout_spinner.setAdapter(adapterTrans);
int positionSpinnerTrans;
switch (sharedpreferences.getInt(Helper.SET_TRANSLATOR, Helper.TRANS_YANDEX)){
case Helper.TRANS_YANDEX:
positionSpinnerTrans = 0;
break;
case Helper.TRANS_NONE:
positionSpinnerTrans = 1;
break;
default:
positionSpinnerTrans = 0;
}
translation_layout_spinner.setSelection(positionSpinnerTrans);
translation_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if( count2 > 0){
SharedPreferences.Editor editor = sharedpreferences.edit();
switch (position){
case 0:
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_YANDEX);
editor.apply();
break;
case 1:
set_trans_forced.isChecked();
editor.putBoolean(Helper.SET_TRANS_FORCED, false);
editor.putInt(Helper.SET_TRANSLATOR, Helper.TRANS_NONE);
editor.apply();
break;
}
getActivity().recreate();
Intent intent = new Intent(context, MainActivity.class);
intent.putExtra(INTENT_ACTION, CHANGE_THEME_INTENT);
startActivity(intent);
}else {
count2++;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
return rootView;
}