@@ -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
@@ -480,7 +479,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
480
479
}
481
480
482
481
if (holder instanceof ListGridItemViewHolder gridItemViewHolder ) {
483
- setFileNameAndExtension (gridItemViewHolder , file );
482
+ setFilenameAndExtension (gridItemViewHolder , file );
484
483
checkVisibilityOfFileFeaturesLayout (gridItemViewHolder );
485
484
}
486
485
@@ -560,18 +559,39 @@ private void updateLivePhotoIndicators(ListViewHolder holder, OCFile file) {
560
559
}
561
560
}
562
561
563
- private void setFileNameAndExtension (ListGridItemViewHolder holder , OCFile file ) {
562
+ private void setFilenameAndExtension (ListGridItemViewHolder holder , OCFile file ) {
564
563
final String filename = mStorageManager .getFilenameConsideringOfflineOperation (file );
565
564
final var pair = FileStorageUtils .getFilenameAndExtension (filename , file .isFolder (), isRTL );
566
565
final boolean isFolder = file .isFolder ();
567
566
568
567
if (holder instanceof OCFileListGridItemViewHolder gridItemViewHolder ) {
569
- gridController . handleGridMode (filename , ocFileListFragmentInterface , gridItemViewHolder , pair , file );
568
+ handleGridMode (filename , gridItemViewHolder , pair , file );
570
569
} else {
571
570
handleListMode (holder , pair , isFolder );
572
571
}
573
572
}
574
573
574
+ private void handleGridMode (String filename , OCFileListGridItemViewHolder holder , Pair <String , String > filenamePair , OCFile file ) {
575
+ boolean containsBidiControlCharacters = FileStorageUtils .containsBidiControlCharacters (filename );
576
+ ViewExtensionsKt .setVisibleIf (holder .getFileName (),!containsBidiControlCharacters );
577
+ ViewExtensionsKt .setVisibleIf (holder .getBinding ().bidiFilenameContainer , containsBidiControlCharacters );
578
+ final var extension = holder .getExtension ();
579
+
580
+ if (containsBidiControlCharacters ) {
581
+ holder .getBidiFilename ().setText (filenamePair .getFirst ());
582
+ if (extension != null ) {
583
+ extension .setText (filenamePair .getSecond ());
584
+ }
585
+ holder .getBinding ().more .setVisibility (View .GONE );
586
+ holder .getBinding ().bidiMore .setOnClickListener (v -> ocFileListFragmentInterface .onOverflowIconClicked (file , v ));
587
+ } else {
588
+ holder .getFileName ().setText (filename );
589
+ if (extension != null ) {
590
+ extension .setVisibility (View .GONE );
591
+ }
592
+ }
593
+ }
594
+
575
595
private void handleListMode (ListGridItemViewHolder holder ,
576
596
Pair <String , String > filenamePair ,
577
597
boolean isFolder ) {
0 commit comments