Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-06-20 18:00:29 +0300
committerStefan Niedermann <info@niedermann.it>2020-06-20 18:00:29 +0300
commit2ecb1837a262ca606fb187849828613519a22176 (patch)
tree4106cbe691e8076e66b968e665ad177f1dcbff0d
parentff3822e4192a50f9d64f4250f495b0b275c0dace (diff)
Fix #882 Enable title editing when clicking on action bar
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java3
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/fragment/EditTitleDialogFragment.java23
3 files changed, 23 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java
index 6e6fc2e6..13e56cb1 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java
@@ -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
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
index 69d1b6dc..c977e5d6 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
@@ -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);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/EditTitleDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/EditTitleDialogFragment.java
index db1dbd61..1dfd995d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/EditTitleDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/EditTitleDialogFragment.java
@@ -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();