Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ecb1837 authored by Stefan Niedermann's avatar Stefan Niedermann
Browse files

Fix #882 Enable title editing when clicking on action bar

parent ff3822e4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -63,6 +63,9 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment
        }

        setSupportActionBar(binding.toolbar);
        if (!(fragment instanceof NoteReadonlyFragment)) {
            binding.toolbar.setOnClickListener((v) -> fragment.showEditTitleDialog());
        }
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -338,7 +338,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
    /**
     * Opens a dialog in order to chose a category
     */
    private void showEditTitleDialog() {
    public void showEditTitleDialog() {
        final String fragmentId = "fragment_edit_title";
        FragmentManager manager = requireActivity().getSupportFragmentManager();
        Fragment frag = manager.findFragmentByTag(fragmentId);
+19 −4
Original line number Diff line number Diff line
@@ -4,7 +4,10 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -15,7 +18,9 @@ import it.niedermann.owncloud.notes.databinding.DialogEditTitleBinding;

public class EditTitleDialogFragment extends DialogFragment {

    private static final String TAG = EditTitleDialogFragment.class.getSimpleName();
    static final String PARAM_OLD_TITLE = "old_title";
    private DialogEditTitleBinding binding;

    private String oldTitle;
    private EditTitleListener listener;
@@ -42,12 +47,10 @@ public class EditTitleDialogFragment extends DialogFragment {
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        View dialogView = View.inflate(getContext(), R.layout.dialog_edit_title, null);
        DialogEditTitleBinding binding = DialogEditTitleBinding.bind(dialogView);
        binding = DialogEditTitleBinding.bind(dialogView);

        if (savedInstanceState == null) {
            if (requireArguments().containsKey(PARAM_OLD_TITLE)) {
                binding.title.setText(requireArguments().getString(PARAM_OLD_TITLE));
            }
            binding.title.setText(oldTitle);
        }

        return new AlertDialog.Builder(getActivity())
@@ -59,6 +62,18 @@ public class EditTitleDialogFragment extends DialogFragment {
                .create();
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        binding.title.requestFocus();
        Window window = requireDialog().getWindow();
        if (window != null) {
            window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
        } else {
            Log.w(TAG, "can not enable soft keyboard because " + Window.class.getSimpleName() + " is null.");
        }
    }

    public static DialogFragment newInstance(String title) {
        final DialogFragment fragment = new EditTitleDialogFragment();
        final Bundle args = new Bundle();