@@ -144,7 +144,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
144
144
145
145
private final long footerId = UUID .randomUUID ().getLeastSignificantBits ();
146
146
private final long headerId = UUID .randomUUID ().getLeastSignificantBits ();
147
- private final OCFileListGridController gridController = new OCFileListGridController ();
148
147
149
148
private ArrayList <Recommendation > recommendedFiles = new ArrayList <>();
150
149
@@ -482,7 +481,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
482
481
}
483
482
484
483
if (holder instanceof ListGridItemViewHolder gridItemViewHolder ) {
485
- setFileNameAndExtension (gridItemViewHolder , file );
484
+ setFilenameAndExtension (gridItemViewHolder , file );
486
485
checkVisibilityOfFileFeaturesLayout (gridItemViewHolder );
487
486
}
488
487
@@ -562,18 +561,39 @@ private void updateLivePhotoIndicators(ListViewHolder holder, OCFile file) {
562
561
}
563
562
}
564
563
565
- private void setFileNameAndExtension (ListGridItemViewHolder holder , OCFile file ) {
564
+ private void setFilenameAndExtension (ListGridItemViewHolder holder , OCFile file ) {
566
565
final String filename = mStorageManager .getFilenameConsideringOfflineOperation (file );
567
566
final var pair = FileStorageUtils .getFilenameAndExtension (filename , file .isFolder (), isRTL );
568
567
final boolean isFolder = file .isFolder ();
569
568
570
569
if (holder instanceof OCFileListGridItemViewHolder gridItemViewHolder ) {
571
- gridController . handleGridMode (filename , ocFileListFragmentInterface , gridItemViewHolder , pair , file );
570
+ handleGridMode (filename , gridItemViewHolder , pair , file );
572
571
} else {
573
572
handleListMode (holder , pair , isFolder );
574
573
}
575
574
}
576
575
576
+ private void handleGridMode (String filename , OCFileListGridItemViewHolder holder , Pair <String , String > filenamePair , OCFile file ) {
577
+ boolean containsBidiControlCharacters = FileStorageUtils .containsBidiControlCharacters (filename );
578
+ ViewExtensionsKt .setVisibleIf (holder .getFileName (),!containsBidiControlCharacters );
579
+ ViewExtensionsKt .setVisibleIf (holder .getBinding ().bidiFilenameContainer , containsBidiControlCharacters );
580
+ final var extension = holder .getExtension ();
581
+
582
+ if (containsBidiControlCharacters ) {
583
+ holder .getBidiFilename ().setText (filenamePair .getFirst ());
584
+ if (extension != null ) {
585
+ extension .setText (filenamePair .getSecond ());
586
+ }
587
+ holder .getBinding ().more .setVisibility (View .GONE );
588
+ holder .getBinding ().bidiMore .setOnClickListener (v -> ocFileListFragmentInterface .onOverflowIconClicked (file , v ));
589
+ } else {
590
+ holder .getFileName ().setText (filename );
591
+ if (extension != null ) {
592
+ extension .setVisibility (View .GONE );
593
+ }
594
+ }
595
+ }
596
+
577
597
private void handleListMode (ListGridItemViewHolder holder ,
578
598
Pair <String , String > filenamePair ,
579
599
boolean isFolder ) {
0 commit comments