Merge pull request #288 from michaelschattgen/set-locale

Fix setting locale on 7.0
This commit is contained in:
Alexander Bakker 2020-01-20 21:35:04 +01:00 committed by GitHub
commit c52e60b410
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 6 deletions

View file

@ -110,7 +110,7 @@ public abstract class AegisActivity extends AppCompatActivity implements AegisAp
Configuration config = new Configuration(); Configuration config = new Configuration();
config.locale = locale; config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); this.getResources().updateConfiguration(config, this.getResources().getDisplayMetrics());
} }
/** /**

View file

@ -5,6 +5,7 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
@ -124,11 +125,16 @@ public class PreferencesFragment extends PreferenceFragmentCompat {
}); });
Preference langPreference = findPreference("pref_lang"); Preference langPreference = findPreference("pref_lang");
langPreference.setOnPreferenceChangeListener((preference, newValue) -> { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
_result.putExtra("needsRecreate", true); langPreference.setOnPreferenceChangeListener((preference, newValue) -> {
getActivity().recreate(); _result.putExtra("needsRecreate", true);
return true; getActivity().recreate();
}); return true;
});
} else {
// Setting locale doesn't work on Marshmallow or below
langPreference.setVisible(false);
}
int currentViewMode = app.getPreferences().getCurrentViewMode().ordinal(); int currentViewMode = app.getPreferences().getCurrentViewMode().ordinal();
Preference viewModePreference = findPreference("pref_view_mode"); Preference viewModePreference = findPreference("pref_view_mode");