Skip to content

Commit 74b46fe

Browse files
committed
[Bandcamp] Fix deprecation in parseDate helper function
1 parent 116e921 commit 74b46fe

2 files changed

Lines changed: 16 additions & 10 deletions

File tree

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

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@
1515
import org.schabi.newpipe.extractor.utils.Utils;
1616

1717
import java.io.IOException;
18-
import java.text.ParseException;
19-
import java.text.SimpleDateFormat;
20-
import java.util.*;
18+
import java.time.DateTimeException;
19+
import java.time.ZonedDateTime;
20+
import java.time.format.DateTimeFormatter;
21+
import java.util.ArrayList;
22+
import java.util.Arrays;
23+
import java.util.Locale;
2124

2225
public class BandcampExtractorHelper {
2326

@@ -147,12 +150,12 @@ public static boolean isSupportedDomain(final String url) throws ParsingExceptio
147150

148151
static DateWrapper parseDate(final String textDate) throws ParsingException {
149152
try {
150-
final Date date = new SimpleDateFormat("dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH).parse(textDate);
151-
final Calendar calendar = Calendar.getInstance();
152-
calendar.setTime(date);
153-
return new DateWrapper(calendar, false);
154-
} catch (final ParseException e) {
155-
throw new ParsingException("Could not extract date", e);
153+
final ZonedDateTime zonedDateTime = ZonedDateTime.parse(
154+
textDate, DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH));
155+
return new DateWrapper(zonedDateTime.toOffsetDateTime(), false);
156+
} catch (final DateTimeException e) {
157+
throw new ParsingException("Could not parse date '" + textDate + "'", e);
156158
}
159+
157160
}
158161
}

extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampRadioStreamExtractorTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
import org.schabi.newpipe.extractor.stream.StreamType;
1515

1616
import java.io.IOException;
17-
import java.util.*;
17+
import java.util.Calendar;
18+
import java.util.Collections;
19+
import java.util.List;
20+
import java.util.TimeZone;
1821

1922
import static org.junit.Assert.*;
2023
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;

0 commit comments

Comments
 (0)