Commit 1bc12d32 authored by Thomas's avatar Thomas
Browse files

Fix custom instance max length not working

parent 2e4c3bf1
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -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,10 +77,12 @@ 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 {
@@ -89,7 +90,9 @@ public class InstanceActivity extends DialogFragment {
                            editor.apply();
                        } catch (Exception ignored) {
                        }
                }
                    } else {
                        editor.putInt(getString(R.string.SET_MAX_INSTANCE_CHAR) + MainActivity.currentInstance, -1);
                        editor.apply();
                    }
                    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;

+6 −6
Original line number Diff line number Diff line
@@ -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;
        } 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;
        } else {
            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;
            }