Skip to content

Commit 35a1eb2

Browse files
Merge pull request #2944 from nextcloud/style/noid/listItem
Rezise single line list items
2 parents 7da6430 + cd2ed45 commit 35a1eb2

File tree

11 files changed

+86
-281
lines changed

11 files changed

+86
-281
lines changed

.editorconfig

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# .editorconfig
2+
3+
# see http://EditorConfig.org
4+
5+
# SPDX-FileCopyrightText: 2018-2025 Nextcloud GmbH and Nextcloud contributors
6+
# SPDX-License-Identifier: AGPL-3.0-or-later
7+
8+
# This is the file in the root of the project.
9+
# For sub folders you can have other files that override only some settings.
10+
# For these, this settings should be false.
11+
root=true
12+
13+
[*]
14+
max_line_length=120
15+
# use spaces, not tabs.
16+
indent_style=space
17+
indent_size=4
18+
19+
[*.yml]
20+
max_line_length=150
21+
22+
charset=utf-8
23+
24+
# Trimming is good for consistency
25+
trim_trailing_whitespace=true
26+
# I've seen cases where a missing new_line was ignored on *nix systems.
27+
# Never again with this setting!
28+
insert_final_newline=true
29+
30+
[*.properties]
31+
# Exception for Java properties files should be encoded latin1 (aka iso8859-1)
32+
charset=latin1
33+
34+
[*.{cmd,bat}]
35+
# batch files on Windows should stay with CRLF
36+
end_of_line=crlf
37+
38+
[*.md]
39+
trim_trailing_whitespace=false
40+
41+
[.drone.yml]
42+
indent_size=2
43+
44+
[*.{kt,kts}]
45+
ktlint_code_style = android_studio
46+
# IDE does not follow this Ktlint rule strictly, but the default ordering is pretty good anyway, so let's ditch it
47+
ktlint_standard_import-ordering = disabled
48+
ktlint_standard_no-consecutive-comments = disabled
49+
ktlint_function_naming_ignore_when_annotated_with = Composable
50+
ij_kotlin_allow_trailing_comma = false
51+
ij_kotlin_allow_trailing_comma_on_call_site = false

app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -534,8 +534,8 @@ private void setupNotesList() {
534534
final var layoutManager = new LinearLayoutManager(this);
535535
listView.setLayoutManager(layoutManager);
536536
listView.addItemDecoration(new SectionItemDecoration(adapter,
537-
getResources().getDimensionPixelSize(R.dimen.spacer_activity_sides) + getResources().getDimensionPixelSize(R.dimen.spacer_1x) + getResources().getDimensionPixelSize(R.dimen.spacer_3x) + getResources().getDimensionPixelSize(R.dimen.spacer_2x),
538-
getResources().getDimensionPixelSize(R.dimen.spacer_3x),
537+
getResources().getDimensionPixelSize(R.dimen.spacer_1hx) + getResources().getDimensionPixelSize(R.dimen.spacer_3x) + getResources().getDimensionPixelSize(R.dimen.spacer_2x),
538+
getResources().getDimensionPixelSize(R.dimen.spacer_2x),
539539
getResources().getDimensionPixelSize(R.dimen.spacer_1x),
540540
0
541541
));

app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,10 @@
4040
import it.niedermann.owncloud.notes.databinding.ItemNotesListNoteItemGridBinding;
4141
import it.niedermann.owncloud.notes.databinding.ItemNotesListNoteItemGridOnlyTitleBinding;
4242
import it.niedermann.owncloud.notes.databinding.ItemNotesListNoteItemWithExcerptBinding;
43-
import it.niedermann.owncloud.notes.databinding.ItemNotesListNoteItemWithoutExcerptBinding;
4443
import it.niedermann.owncloud.notes.databinding.ItemNotesListSectionItemBinding;
4544
import it.niedermann.owncloud.notes.main.items.grid.NoteViewGridHolder;
4645
import it.niedermann.owncloud.notes.main.items.grid.NoteViewGridHolderOnlyTitle;
47-
import it.niedermann.owncloud.notes.main.items.list.NoteViewHolderWithExcerpt;
48-
import it.niedermann.owncloud.notes.main.items.list.NoteViewHolderWithoutExcerpt;
46+
import it.niedermann.owncloud.notes.main.items.list.NoteViewListHolder;
4947
import it.niedermann.owncloud.notes.main.items.section.SectionItem;
5048
import it.niedermann.owncloud.notes.main.items.section.SectionViewHolder;
5149
import it.niedermann.owncloud.notes.persistence.entity.Note;
@@ -140,15 +138,10 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
140138
BrandingUtil.of(color, parent.getContext()).platform.colorTextView(binding.sectionTitle);
141139
return new SectionViewHolder(binding);
142140
}
143-
case TYPE_NOTE_WITH_EXCERPT -> {
141+
case TYPE_NOTE_WITH_EXCERPT, TYPE_NOTE_ONLY_TITLE, TYPE_NOTE_WITHOUT_EXCERPT -> {
144142
ItemNotesListNoteItemWithExcerptBinding binding = ItemNotesListNoteItemWithExcerptBinding.inflate(inflater, parent, false);
145143
BrandingUtil.of(color, parent.getContext()).notes.themeCard(binding.noteCard);
146-
return new NoteViewHolderWithExcerpt(binding, noteClickListener);
147-
}
148-
case TYPE_NOTE_ONLY_TITLE, TYPE_NOTE_WITHOUT_EXCERPT -> {
149-
ItemNotesListNoteItemWithoutExcerptBinding binding = ItemNotesListNoteItemWithoutExcerptBinding.inflate(inflater, parent, false);
150-
BrandingUtil.of(color, parent.getContext()).notes.themeCard(binding.noteCard);
151-
return new NoteViewHolderWithoutExcerpt(binding, noteClickListener);
144+
return new NoteViewListHolder(binding, noteClickListener);
152145
}
153146
default -> {
154147
throw new IllegalArgumentException("Not supported viewType: " + viewType);

app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithoutExcerpt.java

Lines changed: 0 additions & 69 deletions
This file was deleted.

app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java renamed to app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewListHolder.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import it.niedermann.owncloud.notes.shared.model.DBStatus;
2222
import it.niedermann.owncloud.notes.shared.model.NoteClickListener;
2323

24-
public class NoteViewHolderWithExcerpt extends NoteViewHolder {
24+
public class NoteViewListHolder extends NoteViewHolder {
2525
@NonNull
2626
private final ItemNotesListNoteItemWithExcerptBinding binding;
2727

@@ -30,7 +30,7 @@ public class NoteViewHolderWithExcerpt extends NoteViewHolder {
3030
private final int deleteSwipeBackgroundColor;
3131

3232

33-
public NoteViewHolderWithExcerpt(@NonNull ItemNotesListNoteItemWithExcerptBinding binding, @NonNull NoteClickListener noteClickListener) {
33+
public NoteViewListHolder(@NonNull ItemNotesListNoteItemWithExcerptBinding binding, @NonNull NoteClickListener noteClickListener) {
3434
super(binding.getRoot(), noteClickListener);
3535
this.binding = binding;
3636
Resources resources = binding.getRoot().getContext().getResources();
@@ -62,7 +62,17 @@ public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, @
6262
bindModified(binding.noteModified, note.getModified());
6363

6464
bindSearchableContent(context, binding.noteTitle, searchQuery, note.getTitle(), color);
65-
bindSearchableContent(context, binding.noteExcerpt, searchQuery, note.getExcerpt(), color);
65+
if (note.getExcerpt().isEmpty()) {
66+
bindSearchableContent(
67+
context,
68+
binding.noteExcerpt,
69+
searchQuery,
70+
context.getString(R.string.listview_no_content),
71+
color
72+
);
73+
} else {
74+
bindSearchableContent(context, binding.noteExcerpt, searchQuery, note.getExcerpt(), color);
75+
}
6676
}
6777

6878
@NonNull

app/src/main/res/layout/item_notes_list_note_item_with_excerpt.xml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,23 @@
6868

6969
<ImageView
7070
android:id="@+id/noteFavorite"
71-
android:layout_width="56dp"
71+
android:layout_width="wrap_content"
7272
android:layout_height="match_parent"
7373
android:background="?attr/selectableItemBackgroundBorderless"
7474
android:contentDescription="@string/menu_favorite"
75-
android:padding="@dimen/spacer_2x"
75+
android:paddingStart="@dimen/spacer_list_card"
76+
android:paddingEnd="@dimen/spacer_1x"
7677
tools:src="@drawable/ic_star_yellow_24dp" />
7778

7879
<ImageView
7980
android:id="@+id/custom_checkbox"
80-
android:layout_width="56dp"
81+
android:layout_width="wrap_content"
8182
android:layout_height="match_parent"
8283
android:clickable="false"
8384
android:contentDescription="@null"
8485
android:focusable="false"
85-
android:padding="@dimen/spacer_2x"
86+
android:paddingStart="@dimen/spacer_list_card"
87+
android:paddingEnd="@dimen/spacer_1x"
8688
android:src="@drawable/ic_checkbox_blank_outline" />
8789

8890
<androidx.appcompat.widget.AppCompatImageView
@@ -91,7 +93,7 @@
9193
android:layout_height="wrap_content"
9294
android:layout_gravity="center_vertical|end"
9395
android:layout_marginTop="12dp"
94-
android:layout_marginEnd="4dp"
96+
android:layout_marginEnd="0dp"
9597
android:baseline="14dp"
9698
app:srcCompat="@drawable/ic_sync_blue_18dp" />
9799
</FrameLayout>
@@ -101,9 +103,10 @@
101103
android:layout_height="wrap_content"
102104
android:layout_weight="1"
103105
android:orientation="vertical"
104-
android:paddingVertical="@dimen/spacer_2x"
106+
android:paddingTop="@dimen/spacer_1x"
107+
android:paddingBottom="@dimen/spacer_list_card"
105108
android:paddingStart="@dimen/zero"
106-
android:paddingEnd="@dimen/spacer_2x">
109+
android:paddingEnd="@dimen/spacer_list_card">
107110

108111
<LinearLayout
109112
android:layout_width="match_parent"
@@ -131,7 +134,6 @@
131134

132135
</LinearLayout>
133136

134-
135137
<LinearLayout
136138
android:layout_width="match_parent"
137139
android:layout_height="wrap_content">

0 commit comments

Comments
 (0)