mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-17 21:48:29 +00:00
Improve locale settings
This commit is contained in:
parent
5716218f41
commit
53477f0f59
@ -44,7 +44,7 @@ public class MagiskManager extends Application {
|
|||||||
|
|
||||||
// Events
|
// Events
|
||||||
public final CallbackEvent magiskHideDone = new CallbackEvent();
|
public final CallbackEvent magiskHideDone = new CallbackEvent();
|
||||||
public final CallbackEvent reloadMainActivity = new CallbackEvent();
|
public final CallbackEvent reloadActivity = new CallbackEvent();
|
||||||
public final CallbackEvent moduleLoadDone = new CallbackEvent();
|
public final CallbackEvent moduleLoadDone = new CallbackEvent();
|
||||||
public final CallbackEvent repoLoadDone = new CallbackEvent();
|
public final CallbackEvent repoLoadDone = new CallbackEvent();
|
||||||
public final CallbackEvent updateCheckDone = new CallbackEvent();
|
public final CallbackEvent updateCheckDone = new CallbackEvent();
|
||||||
|
@ -116,7 +116,7 @@ public class MainActivity extends Activity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CallbackEvent[] getRegisterEvents() {
|
public CallbackEvent[] getRegisterEvents() {
|
||||||
return new CallbackEvent[] { getApplicationContext().reloadMainActivity };
|
return new CallbackEvent[] { getApplicationContext().reloadActivity };
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkHideSection() {
|
public void checkHideSection() {
|
||||||
|
@ -25,7 +25,7 @@ import java.util.Locale;
|
|||||||
import butterknife.BindView;
|
import butterknife.BindView;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
|
|
||||||
public class SettingsActivity extends Activity {
|
public class SettingsActivity extends Activity implements CallbackEvent.Listener {
|
||||||
|
|
||||||
@BindView(R.id.toolbar) Toolbar toolbar;
|
@BindView(R.id.toolbar) Toolbar toolbar;
|
||||||
|
|
||||||
@ -57,6 +57,16 @@ public class SettingsActivity extends Activity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTrigger(CallbackEvent event) {
|
||||||
|
recreate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CallbackEvent[] getRegisterEvents() {
|
||||||
|
return new CallbackEvent[] { getApplicationContext().reloadActivity };
|
||||||
|
}
|
||||||
|
|
||||||
public static class SettingsFragment extends PreferenceFragment
|
public static class SettingsFragment extends PreferenceFragment
|
||||||
implements SharedPreferences.OnSharedPreferenceChangeListener,
|
implements SharedPreferences.OnSharedPreferenceChangeListener,
|
||||||
CallbackEvent.Listener {
|
CallbackEvent.Listener {
|
||||||
@ -124,10 +134,10 @@ public class SettingsActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ListPreference setLocalePreference(ListPreference lp) {
|
private void setLocalePreference(ListPreference lp) {
|
||||||
if (lp == null) {
|
boolean isNew = lp == null;
|
||||||
|
if (isNew) {
|
||||||
lp = new ListPreference(getActivity());
|
lp = new ListPreference(getActivity());
|
||||||
generalCatagory.addPreference(lp);
|
|
||||||
}
|
}
|
||||||
CharSequence[] entries = new CharSequence[magiskManager.locales.size() + 1];
|
CharSequence[] entries = new CharSequence[magiskManager.locales.size() + 1];
|
||||||
CharSequence[] entryValues = new CharSequence[magiskManager.locales.size() + 1];
|
CharSequence[] entryValues = new CharSequence[magiskManager.locales.size() + 1];
|
||||||
@ -143,7 +153,9 @@ public class SettingsActivity extends Activity {
|
|||||||
lp.setTitle(R.string.language);
|
lp.setTitle(R.string.language);
|
||||||
lp.setKey("locale");
|
lp.setKey("locale");
|
||||||
lp.setSummary(MagiskManager.locale.getDisplayName(MagiskManager.locale));
|
lp.setSummary(MagiskManager.locale.getDisplayName(MagiskManager.locale));
|
||||||
return lp;
|
if (isNew) {
|
||||||
|
generalCatagory.addPreference(lp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -170,8 +182,7 @@ public class SettingsActivity extends Activity {
|
|||||||
enabled = prefs.getBoolean("dark_theme", false);
|
enabled = prefs.getBoolean("dark_theme", false);
|
||||||
if (magiskManager.isDarkTheme != enabled) {
|
if (magiskManager.isDarkTheme != enabled) {
|
||||||
magiskManager.isDarkTheme = enabled;
|
magiskManager.isDarkTheme = enabled;
|
||||||
magiskManager.reloadMainActivity.trigger(false);
|
magiskManager.reloadActivity.trigger(false);
|
||||||
getActivity().recreate();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "disable":
|
case "disable":
|
||||||
@ -232,8 +243,7 @@ public class SettingsActivity extends Activity {
|
|||||||
break;
|
break;
|
||||||
case "locale":
|
case "locale":
|
||||||
magiskManager.setLocale();
|
magiskManager.setLocale();
|
||||||
magiskManager.reloadMainActivity.trigger(false);
|
magiskManager.reloadActivity.trigger(false);
|
||||||
getActivity().recreate();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
setSummary();
|
setSummary();
|
||||||
@ -256,11 +266,7 @@ public class SettingsActivity extends Activity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTrigger(CallbackEvent event) {
|
public void onTrigger(CallbackEvent event) {
|
||||||
ListPreference language = setLocalePreference((ListPreference) findPreference("locale"));
|
setLocalePreference((ListPreference) findPreference("locale"));
|
||||||
language.setOnPreferenceClickListener((pref) -> {
|
|
||||||
setLocalePreference((ListPreference) pref);
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user