summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2023-08-26 18:11:26 +0200
committerThomas <tschneider.ac@gmail.com>2023-08-26 18:11:26 +0200
commit1bc12d3202fcdae792c514bd0ebfbb65e5a36e5e (patch)
treec637727ff933a6495ab34888eda3a0a38bd64cd1
parent2e4c3bf1191c42bb03527e374d218d90e1b1bc4f (diff)
Fix custom instance max length not working
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/InstanceActivity.java27
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/MastodonHelper.java12
2 files changed, 20 insertions, 19 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/InstanceActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/InstanceActivity.java
index 86cf4f642..bdfa979db 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/activities/InstanceActivity.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/activities/InstanceActivity.java
@@ -50,7 +50,6 @@ import app.fedilab.android.mastodon.viewmodel.mastodon.InstancesVM;
public class InstanceActivity extends DialogFragment {
ActivityInstanceBinding binding;
- private boolean applyMaxChar = false;
@NonNull
@Override
@@ -78,19 +77,23 @@ public class InstanceActivity extends DialogFragment {
binding.about.setOnClickListener(v -> Helper.openBrowser(requireActivity(), "https://" + MainActivity.currentInstance + "/about"));
binding.privacy.setOnClickListener(v -> Helper.openBrowser(requireActivity(), "https://" + MainActivity.currentInstance + "/privacy-policy"));
+ int maxCharCustom = sharedpreferences.getInt(getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, -1);
+ if (maxCharCustom != -1) {
+ binding.maxChar.setText(String.valueOf(maxCharCustom));
+ }
binding.close.setOnClickListener(view -> {
- if (applyMaxChar) {
- String max_char = binding.maxChar.getText().toString();
-
- SharedPreferences.Editor editor = sharedpreferences.edit();
- if (!max_char.isEmpty()) {
- try {
- editor.putInt(getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, Integer.parseInt(max_char));
+ String max_char = binding.maxChar.getText().toString();
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ if (!max_char.isEmpty()) {
+ try {
+ editor.putInt(getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, Integer.parseInt(max_char));
+ editor.apply();
+ } catch (Exception ignored) {
+ }
+ } else {
+ editor.putInt(getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, -1);
editor.apply();
- } catch (Exception ignored) {
}
- }
- }
requireDialog().dismiss();
}
@@ -107,8 +110,6 @@ public class InstanceActivity extends DialogFragment {
if (val != -1) {
binding.maxChar.setText(String.valueOf(val));
}
- applyMaxChar = true;
-
} else {
Instance instance = instanceInfo.info;
diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/MastodonHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/MastodonHelper.java
index 0c27c57e7..0872ada03 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/helper/MastodonHelper.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/helper/MastodonHelper.java
@@ -553,13 +553,13 @@ public class MastodonHelper {
public static int getInstanceMaxChars(Context context) {
int max_car;
- if (instanceInfo != null) {
- max_car = instanceInfo.max_toot_chars != null ? Integer.parseInt(instanceInfo.max_toot_chars) : instanceInfo.configuration.statusesConf.max_characters;
+ SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ int val = sharedpreferences.getInt(context.getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, -1);
+ if (val != -1) {
+ return val;
} else {
- SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context);
- int val = sharedpreferences.getInt(context.getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, -1);
- if (val != -1) {
- return val;
+ if (instanceInfo != null) {
+ max_car = instanceInfo.max_toot_chars != null ? Integer.parseInt(instanceInfo.max_toot_chars) : instanceInfo.configuration.statusesConf.max_characters;
} else {
max_car = 500;
}