diff --git a/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java
index 95ba8a0bd..97c3ddb2a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java
@@ -65,4 +65,10 @@ public void onNoteClick(int position, View v) {
}
finish();
}
+
+ @Override
+ public void onNoteActionsClick(int position, View v) {
+ // TODO
+ Toast.makeText(v.getContext(), "Not implemented yet", Toast.LENGTH_SHORT).show();
+ }
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
index 5374c882c..1b6f2f0a7 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
@@ -27,6 +27,7 @@
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
+import android.widget.Toast;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
@@ -769,6 +770,12 @@ public void onNoteFavoriteClick(int position, View view) {
toggleLiveData.observe(this, (next) -> toggleLiveData.removeObservers(this));
}
+ @Override
+ public void onNoteActionsClick(int position, View v) {
+ // TODO
+ Toast.makeText(v.getContext(), "Not implemented yet", Toast.LENGTH_SHORT).show();
+ }
+
@Override
public void onBackPressed() {
if (activityBinding.searchToolbar.getVisibility() == VISIBLE) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java
index 53a48afbd..90af9ce3f 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java
@@ -24,6 +24,7 @@
import androidx.recyclerview.selection.ItemDetailsLookup;
import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.button.MaterialButton;
import com.google.android.material.chip.Chip;
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
@@ -95,6 +96,13 @@ protected void bindSearchableContent(@NonNull Context context, @NonNull TextView
}
}
+ protected void bindActions(@NonNull MaterialButton actionsButton, int color) {
+ final BrandingUtil util = BrandingUtil.of(color, actionsButton.getContext());
+ util.material.colorMaterialButtonText(actionsButton);
+ util.material.colorMaterialTextButton(actionsButton);
+ actionsButton.setOnClickListener(view -> noteClickListener.onNoteActionsClick(getLayoutPosition(), view));
+ }
+
public abstract void showSwipe(boolean left);
@Nullable
@@ -113,4 +121,4 @@ public Long getSelectionKey() {
}
};
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java
index 8e2cb5401..5f0b98700 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolder.java
@@ -55,10 +55,11 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, @
bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color);
bindSearchableContent(context, binding.noteExcerpt, searchQuery, note.getExcerpt().replace(EXCERPT_LINE_SEPARATOR, "\n"), color);
binding.noteExcerpt.setVisibility(TextUtils.isEmpty(note.getExcerpt()) ? GONE : VISIBLE);
+ bindActions(binding.noteActions, color);
}
@Nullable
public View getNoteSwipeable() {
return null;
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java
index b9fe26d59..6031cc86d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/NoteViewGridHolderOnlyTitle.java
@@ -44,10 +44,11 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, i
bindStatus(binding.noteStatus, note.getStatus(), color);
bindFavorite(binding.noteFavorite, note.getFavorite());
bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color);
+ bindActions(binding.noteActions, color);
}
@Nullable
public View getNoteSwipeable() {
return null;
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java
index 0951d13f9..0b10b2a6b 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java
@@ -44,10 +44,11 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, @
bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color);
bindSearchableContent(context, binding.noteExcerpt, searchQuery, note.getExcerpt(), color);
+ bindActions(binding.noteActions, color);
}
@NonNull
public View getNoteSwipeable() {
return binding.noteSwipeable;
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithoutExcerpt.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithoutExcerpt.java
index 07ad5aaad..dd5979926 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithoutExcerpt.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithoutExcerpt.java
@@ -42,10 +42,11 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, i
bindStatus(binding.noteStatus, note.getStatus(), color);
bindFavorite(binding.noteFavorite, note.getFavorite());
bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color);
+ bindActions(binding.noteActions, color);
}
@NonNull
public View getNoteSwipeable() {
return binding.noteSwipeable;
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/NoteClickListener.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/NoteClickListener.java
index 49c5e7cc8..7a0b9bcec 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/NoteClickListener.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/NoteClickListener.java
@@ -12,4 +12,6 @@ public interface NoteClickListener {
void onNoteClick(int position, View v);
void onNoteFavoriteClick(int position, View v);
-}
\ No newline at end of file
+
+ void onNoteActionsClick(int position, View v);
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java
index 862d9f7e5..e45a37679 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java
@@ -15,9 +15,6 @@
import android.view.View;
import android.widget.Toast;
-import androidx.appcompat.widget.Toolbar;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-
import it.niedermann.owncloud.notes.NotesApplication;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.exception.ExceptionHandler;
@@ -79,4 +76,10 @@ public void onNoteClick(int position, View v) {
}
});
}
+
+ @Override
+ public void onNoteActionsClick(int position, View v) {
+ // TODO
+ Toast.makeText(v.getContext(), "Not implemented yet", Toast.LENGTH_SHORT).show();
+ }
}
diff --git a/app/src/main/res/drawable/ic_dots_vertical.xml b/app/src/main/res/drawable/ic_dots_vertical.xml
new file mode 100644
index 000000000..481a28d72
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dots_vertical.xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_notes_list_note_item_grid.xml b/app/src/main/res/layout/item_notes_list_note_item_grid.xml
index 5b842046b..e9adab124 100644
--- a/app/src/main/res/layout/item_notes_list_note_item_grid.xml
+++ b/app/src/main/res/layout/item_notes_list_note_item_grid.xml
@@ -108,5 +108,16 @@
tools:text="@tools:sample/lorem/random" />
+
+
-
\ No newline at end of file
+
diff --git a/app/src/main/res/layout/item_notes_list_note_item_grid_only_title.xml b/app/src/main/res/layout/item_notes_list_note_item_grid_only_title.xml
index f5be7f268..a2bf1a129 100644
--- a/app/src/main/res/layout/item_notes_list_note_item_grid_only_title.xml
+++ b/app/src/main/res/layout/item_notes_list_note_item_grid_only_title.xml
@@ -62,5 +62,16 @@
android:textColor="@color/fg_default"
tools:maxLength="50"
tools:text="@tools:sample/lorem/random" />
+
+
-
\ No newline at end of file
+
diff --git a/app/src/main/res/layout/item_notes_list_note_item_with_excerpt.xml b/app/src/main/res/layout/item_notes_list_note_item_with_excerpt.xml
index 8b23252df..659d74e72 100644
--- a/app/src/main/res/layout/item_notes_list_note_item_with_excerpt.xml
+++ b/app/src/main/res/layout/item_notes_list_note_item_with_excerpt.xml
@@ -122,6 +122,18 @@
tools:text="@tools:sample/lorem/random" />
+
+
+
diff --git a/app/src/main/res/layout/item_notes_list_note_item_without_excerpt.xml b/app/src/main/res/layout/item_notes_list_note_item_without_excerpt.xml
index 7848d554d..b27b096d2 100644
--- a/app/src/main/res/layout/item_notes_list_note_item_without_excerpt.xml
+++ b/app/src/main/res/layout/item_notes_list_note_item_without_excerpt.xml
@@ -94,6 +94,18 @@
android:textSize="@dimen/secondary_font_size"
tools:maxLength="15"
tools:text="@tools:sample/lorem/random" />
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f809095dd..0ba7e42dd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -376,4 +376,5 @@
Switch to plain editing
Back
Mozilla/5.0 (Android) %1$s-android/%2$s
+ Note actions