Skip to content

Commit b9e8ee8

Browse files
committed
Rename BandcampExtractorHelper.smartConcatenate(String[], String) to Utils.nonEmptyAndNullJoin(String, String[])
1 parent c07db80 commit b9e8ee8

3 files changed

Lines changed: 17 additions & 31 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampExtractorHelper.java

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -67,35 +67,6 @@ public static String getStreamUrlFromIds(final long bandId, final long itemId, f
6767

6868
}
6969

70-
/**
71-
* Concatenate all non-null and non-empty strings together while separating them using
72-
* the comma parameter
73-
*/
74-
public static String smartConcatenate(final String[] strings, final String comma) {
75-
final StringBuilder result = new StringBuilder();
76-
77-
// Remove empty strings
78-
final List<String> list = new ArrayList<>(Arrays.asList(strings));
79-
for (int i = list.size() - 1; i >= 0; i--) {
80-
if (Utils.isNullOrEmpty(list.get(i)) || list.get(i).equals("null")) {
81-
list.remove(i);
82-
}
83-
}
84-
85-
// Append remaining strings to result
86-
for (int i = 0; i < list.size(); i++) {
87-
result.append(list.get(i));
88-
89-
if (i != list.size() - 1) {
90-
// This is not the last iteration yet
91-
result.append(comma);
92-
}
93-
94-
}
95-
96-
return result.toString();
97-
}
98-
9970
/**
10071
* Fetch artist details from mobile endpoint.
10172
* <a href=https://notabug.org/fynngodau/bandcampDirect/wiki/rewindBandcamp+%E2%80%93+Fetching+artist+details>

extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampStreamExtractor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.schabi.newpipe.extractor.linkhandler.LinkHandler;
1818
import org.schabi.newpipe.extractor.localization.DateWrapper;
1919
import org.schabi.newpipe.extractor.stream.*;
20+
import org.schabi.newpipe.extractor.utils.Utils;
2021

2122
import javax.annotation.Nonnull;
2223
import javax.annotation.Nullable;
@@ -150,12 +151,13 @@ public String getSubChannelAvatarUrl() {
150151
@Nonnull
151152
@Override
152153
public Description getDescription() {
153-
final String s = BandcampExtractorHelper.smartConcatenate(
154+
final String s = Utils.nonEmptyAndNullJoin(
155+
"\n\n",
154156
new String[]{
155157
current.getString("about"),
156158
current.getString("lyrics"),
157159
current.getString("credits")
158-
}, "\n\n"
160+
}
159161
);
160162
return new Description(s, Description.PLAIN_TEXT);
161163
}

extractor/src/main/java/org/schabi/newpipe/extractor/utils/Utils.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,4 +271,17 @@ public static String join(final String delimiter, final String mapJoin,
271271
return join(delimiter, list);
272272
}
273273

274+
/**
275+
* Concatenate all non-null, non-empty and strings which are not equal to <code>"null"</code>.
276+
*/
277+
public static String nonEmptyAndNullJoin(final String delimiter, final String[] elements) {
278+
final List<String> list = Arrays.asList(elements);
279+
for (int i = list.size() - 1; i >= 0; i--) {
280+
if (isNullOrEmpty(list.get(i)) || list.get(i).equals("null")) {
281+
list.remove(i);
282+
}
283+
}
284+
285+
return join(delimiter, list);
286+
}
274287
}

0 commit comments

Comments
 (0)