diff --git a/app/src/full/java/com/topjohnwu/magisk/SettingsActivity.java b/app/src/full/java/com/topjohnwu/magisk/SettingsActivity.java index b21f3101d..fed152ed5 100644 --- a/app/src/full/java/com/topjohnwu/magisk/SettingsActivity.java +++ b/app/src/full/java/com/topjohnwu/magisk/SettingsActivity.java @@ -123,19 +123,23 @@ public class SettingsActivity extends BaseActivity implements Topic.Subscriber { SwitchPreference reauth = (SwitchPreference) findPreference(Const.Key.SU_REAUTH); SwitchPreference fingerprint = (SwitchPreference) findPreference(Const.Key.SU_FINGERPRINT); - updateChannel.setOnPreferenceChangeListener((pref, o) -> { - Data.updateChannel = Integer.parseInt((String) o); - if (Data.updateChannel == Const.Value.CUSTOM_CHANNEL) { + updateChannel.setOnPreferenceChangeListener((p, o) -> { + String prev =String.valueOf(Data.updateChannel); + int channel = Integer.parseInt((String) o); + if (channel == Const.Value.CUSTOM_CHANNEL) { View v = LayoutInflater.from(requireActivity()).inflate(R.layout.custom_channel_dialog, null); EditText url = v.findViewById(R.id.custom_url); - url.setText(mm.prefs.getString(Const.Key.CUSTOM_CHANNEL, "")); + url.setText(prefs.getString(Const.Key.CUSTOM_CHANNEL, "")); new AlertDialog.Builder(requireActivity()) .setTitle(R.string.settings_update_custom) .setView(v) .setPositiveButton(R.string.ok, (d, i) -> prefs.edit().putString(Const.Key.CUSTOM_CHANNEL, url.getText().toString()).apply()) - .setNegativeButton(R.string.close, null) + .setNegativeButton(R.string.close, (d, i) -> + prefs.edit().putString(Const.Key.UPDATE_CHANNEL, prev).apply()) + .setOnCancelListener(d -> + prefs.edit().putString(Const.Key.UPDATE_CHANNEL, prev).apply()) .show(); } return true; @@ -287,6 +291,7 @@ public class SettingsActivity extends BaseActivity implements Topic.Subscriber { Topic.publish(false, Topic.RELOAD_ACTIVITY); break; case Const.Key.UPDATE_CHANNEL: + case Const.Key.CUSTOM_CHANNEL: CheckUpdates.check(); break; case Const.Key.CHECK_UPDATES: @@ -321,7 +326,7 @@ public class SettingsActivity extends BaseActivity implements Topic.Subscriber { @Override public int[] getSubscribedTopics() { - return new int[] {Topic.LOCAL_FETCH_DONE}; + return new int[] {Topic.LOCALE_FETCH_DONE}; } } diff --git a/app/src/full/java/com/topjohnwu/magisk/utils/LocaleManager.java b/app/src/full/java/com/topjohnwu/magisk/utils/LocaleManager.java index eb7c3d1c8..67fea47a8 100644 --- a/app/src/full/java/com/topjohnwu/magisk/utils/LocaleManager.java +++ b/app/src/full/java/com/topjohnwu/magisk/utils/LocaleManager.java @@ -70,7 +70,7 @@ public class LocaleManager { } Collections.sort(locales, (a, b) -> a.getDisplayName(a).compareTo(b.getDisplayName(b))); - Topic.publish(Topic.LOCAL_FETCH_DONE); + Topic.publish(Topic.LOCALE_FETCH_DONE); }); } } diff --git a/app/src/full/java/com/topjohnwu/magisk/utils/Topic.java b/app/src/full/java/com/topjohnwu/magisk/utils/Topic.java index 6fafbee16..11b7f7951 100644 --- a/app/src/full/java/com/topjohnwu/magisk/utils/Topic.java +++ b/app/src/full/java/com/topjohnwu/magisk/utils/Topic.java @@ -17,10 +17,10 @@ public class Topic { public static final int REPO_LOAD_DONE = 3; public static final int UPDATE_CHECK_DONE = 4; public static final int SNET_CHECK_DONE = 5; - public static final int LOCAL_FETCH_DONE = 6; + public static final int LOCALE_FETCH_DONE = 6; @IntDef({MAGISK_HIDE_DONE, RELOAD_ACTIVITY, MODULE_LOAD_DONE, REPO_LOAD_DONE, - UPDATE_CHECK_DONE, SNET_CHECK_DONE, LOCAL_FETCH_DONE}) + UPDATE_CHECK_DONE, SNET_CHECK_DONE, LOCALE_FETCH_DONE}) @Retention(RetentionPolicy.SOURCE) public @interface TopicID {} diff --git a/build.gradle b/build.gradle index a4c39a148..943100824 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:3.1.4' // NOTE: Do not place your application dependencies here; they belong