Skip to content

Commit b103dd4

Browse files
Merge pull request nextcloud#15318 from nextcloud/fix/grid-view-spacing
Fix grid view spacing
2 parents a73b557 + 69c5bea commit b103dd4

File tree

8 files changed

+169
-412
lines changed

8 files changed

+169
-412
lines changed

app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ public class LocalFileListAdapter extends RecyclerView.Adapter<RecyclerView.View
5454

5555
private static final String TAG = LocalFileListAdapter.class.getSimpleName();
5656

57-
private static final int showFilenameColumnThreshold = 4;
5857
private AppPreferences preferences;
5958
private Context mContext;
6059
private List<File> mFiles = new ArrayList<>();
@@ -169,7 +168,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
169168
if (file != null) {
170169
File finalFile = file;
171170

172-
LocalFileListGridImageViewHolder gridViewHolder = (LocalFileListGridImageViewHolder) holder;
171+
LocalFileListGridItemViewHolder gridViewHolder = (LocalFileListGridItemViewHolder) holder;
173172

174173
if (mLocalFolderPicker) {
175174
gridViewHolder.itemLayout.setBackgroundColor(mContext.getResources().getColor(R.color.bg_default));
@@ -211,16 +210,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
211210
file.lastModified()));
212211
}
213212

214-
if (gridViewHolder instanceof LocalFileListGridItemViewHolder itemVH) {
215-
itemVH.fileName.setText(file.getName());
216-
217-
if (gridView && (MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file) ||
218-
localFileListFragmentInterface.getColumnsCount() > showFilenameColumnThreshold)) {
219-
itemVH.fileName.setVisibility(View.GONE);
220-
} else {
221-
itemVH.fileName.setVisibility(View.VISIBLE);
222-
}
223-
}
213+
gridViewHolder.fileName.setText(file.getName());
224214
}
225215
}
226216
}
@@ -302,7 +292,7 @@ private File getItem(int position) {
302292
@Override
303293
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
304294
switch (viewType) {
305-
case VIEWTYPE_ITEM:
295+
case VIEWTYPE_ITEM, VIEWTYPE_IMAGE:
306296
if (gridView) {
307297
View itemView = LayoutInflater.from(mContext).inflate(R.layout.grid_item, parent, false);
308298
return new LocalFileListGridItemViewHolder(itemView);
@@ -311,15 +301,6 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
311301
return new LocalFileListItemViewHolder(itemView);
312302
}
313303

314-
case VIEWTYPE_IMAGE:
315-
if (gridView) {
316-
View itemView = LayoutInflater.from(mContext).inflate(R.layout.grid_image, parent, false);
317-
return new LocalFileListGridImageViewHolder(itemView);
318-
} else {
319-
View itemView = LayoutInflater.from(mContext).inflate(R.layout.list_item, parent, false);
320-
return new LocalFileListItemViewHolder(itemView);
321-
}
322-
323304
case VIEWTYPE_FOOTER:
324305
View itemView = LayoutInflater.from(mContext).inflate(R.layout.list_footer, parent, false);
325306
return new LocalFileListFooterViewHolder(itemView);
@@ -503,14 +484,16 @@ private LocalFileListItemViewHolder(View itemView) {
503484
}
504485
}
505486

506-
static class LocalFileListGridImageViewHolder extends RecyclerView.ViewHolder {
487+
private static class LocalFileListGridItemViewHolder extends RecyclerView.ViewHolder {
488+
protected final TextView fileName;
507489
protected final ImageView thumbnail;
508490
protected final ImageView checkbox;
509491
protected final LinearLayout itemLayout;
510492

511-
private LocalFileListGridImageViewHolder(View itemView) {
493+
private LocalFileListGridItemViewHolder(View itemView) {
512494
super(itemView);
513495

496+
fileName = itemView.findViewById(R.id.Filename);
514497
thumbnail = itemView.findViewById(R.id.thumbnail);
515498
checkbox = itemView.findViewById(R.id.custom_checkbox);
516499
itemLayout = itemView.findViewById(R.id.ListItemLayout);
@@ -521,16 +504,6 @@ private LocalFileListGridImageViewHolder(View itemView) {
521504
}
522505
}
523506

524-
static class LocalFileListGridItemViewHolder extends LocalFileListGridImageViewHolder {
525-
private final TextView fileName;
526-
527-
private LocalFileListGridItemViewHolder(View itemView) {
528-
super(itemView);
529-
530-
fileName = itemView.findViewById(R.id.Filename);
531-
}
532-
}
533-
534507
private static class LocalFileListFooterViewHolder extends RecyclerView.ViewHolder {
535508
private final TextView footerText;
536509

app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import com.nextcloud.utils.mdm.MDMConfig;
4646
import com.owncloud.android.MainApp;
4747
import com.owncloud.android.R;
48-
import com.owncloud.android.databinding.GridImageBinding;
4948
import com.owncloud.android.databinding.GridItemBinding;
5049
import com.owncloud.android.databinding.ListFooterBinding;
5150
import com.owncloud.android.databinding.ListHeaderBinding;
@@ -112,7 +111,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
112111
implements DisplayUtils.AvatarGenerationListener,
113112
CommonOCFileListAdapterInterface, PopupTextProvider, RecommendedFilesAdapter.OnItemClickListener {
114113

115-
private static final int showFilenameColumnThreshold = 4;
116114
private final String userId;
117115
private final Activity activity;
118116
private final AppPreferences preferences;
@@ -388,17 +386,6 @@ public boolean isEmpty() {
388386
@Override
389387
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
390388
switch (viewType) {
391-
case VIEW_TYPE_IMAGE -> {
392-
if (gridView) {
393-
return new OCFileListViewHolder(
394-
GridImageBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
395-
);
396-
} else {
397-
return new OCFileListItemViewHolder(
398-
ListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
399-
);
400-
}
401-
}
402389
case VIEW_TYPE_FOOTER -> {
403390
return new OCFileListFooterViewHolder(
404391
ListFooterBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
@@ -573,17 +560,6 @@ private void updateLivePhotoIndicators(ListViewHolder holder, OCFile file) {
573560

574561
private void bindListGridItemViewHolder(ListGridItemViewHolder holder, OCFile file) {
575562
holder.getFileName().setText(mStorageManager.getFilenameConsideringOfflineOperation(file));
576-
577-
boolean gridImage = MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file);
578-
if (gridView && gridImage) {
579-
holder.getFileName().setVisibility(View.GONE);
580-
} else {
581-
if (gridView && ocFileListFragmentInterface.getColumnsCount() > showFilenameColumnThreshold) {
582-
holder.getFileName().setVisibility(View.GONE);
583-
} else {
584-
holder.getFileName().setVisibility(View.VISIBLE);
585-
}
586-
}
587563
}
588564

589565
private void bindListItemViewHolder(ListItemViewHolder holder, OCFile file) {
@@ -1139,9 +1115,9 @@ private void prepareListOfHiddenFiles() {
11391115
@Override
11401116
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
11411117
super.onViewRecycled(holder);
1142-
if (holder instanceof ListViewHolder listGridImageViewHolder) {
1143-
LoaderImageView thumbnailShimmer = listGridImageViewHolder.getShimmerThumbnail();
1144-
DisplayUtils.stopShimmer(thumbnailShimmer, listGridImageViewHolder.getThumbnail());
1118+
if (holder instanceof ListViewHolder listViewHolder) {
1119+
LoaderImageView thumbnailShimmer = listViewHolder.getShimmerThumbnail();
1120+
DisplayUtils.stopShimmer(thumbnailShimmer, listViewHolder.getThumbnail());
11451121
}
11461122
}
11471123

app/src/main/java/com/owncloud/android/ui/adapter/OCFileListViewHolder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ import android.widget.LinearLayout
1414
import android.widget.TextView
1515
import androidx.recyclerview.widget.RecyclerView
1616
import com.elyeproj.loaderviewlibrary.LoaderImageView
17-
import com.owncloud.android.databinding.GridImageBinding
17+
import com.owncloud.android.databinding.GridItemBinding
1818

19-
internal class OCFileListViewHolder(var binding: GridImageBinding) :
19+
internal class OCFileListViewHolder(var binding: GridItemBinding) :
2020
RecyclerView.ViewHolder(
2121
binding.root
2222
),

app/src/main/java/com/owncloud/android/ui/adapter/ViewType.java

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

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

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

0 commit comments

Comments
 (0)