Skip to content

Commit d585232

Browse files
committed
mergeDistinctByToken
Signed-off-by: alperozturk <alper_ozturk@proton.me>
1 parent 2daaa32 commit d585232

3 files changed

Lines changed: 8 additions & 15 deletions

File tree

app/src/main/java/com/nextcloud/utils/OCShareExtensions.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ import com.owncloud.android.lib.resources.shares.ShareType
1313
fun OCShare.hasFileRequestPermission(): Boolean {
1414
return (isFolder && (shareType == ShareType.PUBLIC_LINK || shareType == ShareType.EMAIL))
1515
}
16+
17+
fun List<OCShare>.mergeDistinctByToken(other: List<OCShare>): List<OCShare> {
18+
return (this + other).distinctBy { it.token }
19+
}

app/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import android.database.Cursor;
2424
import android.graphics.drawable.Drawable;
2525
import android.net.Uri;
26-
import android.os.Build;
2726
import android.os.Bundle;
2827
import android.provider.ContactsContract;
2928
import android.text.InputType;
@@ -36,6 +35,7 @@
3635
import com.nextcloud.client.account.UserAccountManager;
3736
import com.nextcloud.client.di.Injectable;
3837
import com.nextcloud.client.network.ClientFactory;
38+
import com.nextcloud.utils.OCShareExtensionsKt;
3939
import com.nextcloud.utils.extensions.BundleExtensionsKt;
4040
import com.nextcloud.utils.extensions.FileExtensionsKt;
4141
import com.nextcloud.utils.extensions.ViewExtensionsKt;
@@ -69,8 +69,6 @@
6969

7070
import java.util.ArrayList;
7171
import java.util.List;
72-
import java.util.stream.Collectors;
73-
import java.util.stream.Stream;
7472

7573
import javax.inject.Inject;
7674

@@ -559,18 +557,10 @@ public void refreshSharesFromDB() {
559557
}
560558

561559
private void addExternalAndInternalShares(List<OCShare> externalShares) {
562-
List<OCShare> publicShares = fileDataStorageManager.getSharesByPathAndType(file.getRemotePath(), ShareType.PUBLIC_LINK, "");
563-
560+
final var publicShares = fileDataStorageManager.getSharesByPathAndType(file.getRemotePath(), ShareType.PUBLIC_LINK, "");
564561
externalShareeListAdapter.removeAll();
565-
Stream<OCShare> combinedStream = Stream.concat(externalShares.stream(), publicShares.stream())
566-
.distinct();
567-
List<OCShare> combinedShares;
568-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
569-
combinedShares = combinedStream.toList();
570-
} else {
571-
combinedShares = combinedStream.collect(Collectors.toList());
572-
}
573-
externalShareeListAdapter.addShares(combinedShares);
562+
final var shares = OCShareExtensionsKt.mergeDistinctByToken(externalShares, publicShares);
563+
externalShareeListAdapter.addShares(shares);
574564
}
575565

576566
private void checkContactPermission() {

app/src/main/java/com/owncloud/android/ui/fragment/QuickSharingPermissionsBottomSheetDialog.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.owncloud.android.databinding.QuickSharingPermissionsBottomSheetFragmentBinding;
2323
import com.owncloud.android.datamodel.quickPermission.QuickPermission;
2424
import com.owncloud.android.lib.resources.shares.OCShare;
25-
import com.owncloud.android.lib.resources.shares.ShareType;
2625
import com.owncloud.android.ui.activity.FileActivity;
2726
import com.owncloud.android.ui.adapter.QuickSharingPermissionsAdapter;
2827
import com.owncloud.android.ui.fragment.util.SharingMenuHelper;

0 commit comments

Comments
 (0)