mirror of
https://github.com/revanced/revanced-integrations.git
synced 2024-12-03 17:22:54 +01:00
Skipped video length fixed
This commit is contained in:
parent
e188b88ad9
commit
cd3edfe07f
@ -335,7 +335,7 @@ public class PlayerController {
|
|||||||
|
|
||||||
public static void setSponsorBarRect(final Object self) {
|
public static void setSponsorBarRect(final Object self) {
|
||||||
try {
|
try {
|
||||||
Field field = self.getClass().getDeclaredField("e");
|
Field field = self.getClass().getDeclaredField("replaceMeWithsetSponsorBarRect");
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
Rect rect = (Rect) field.get(self);
|
Rect rect = (Rect) field.get(self);
|
||||||
if (rect != null) {
|
if (rect != null) {
|
||||||
|
@ -26,6 +26,7 @@ import java.util.Date;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import pl.jakubweg.objects.SponsorSegment;
|
import pl.jakubweg.objects.SponsorSegment;
|
||||||
import pl.jakubweg.objects.UserStats;
|
import pl.jakubweg.objects.UserStats;
|
||||||
@ -49,12 +50,8 @@ import static pl.jakubweg.requests.Requester.voteForSegment;
|
|||||||
public abstract class SponsorBlockUtils {
|
public abstract class SponsorBlockUtils {
|
||||||
public static final String TAG = "jakubweg.SponsorBlockUtils";
|
public static final String TAG = "jakubweg.SponsorBlockUtils";
|
||||||
public static final String DATE_FORMAT = "HH:mm:ss.SSS";
|
public static final String DATE_FORMAT = "HH:mm:ss.SSS";
|
||||||
public static final String WITHOUT_SEGMENTS_FORMAT = " (m:ss)";
|
|
||||||
public static final String WITHOUT_SEGMENTS_FORMAT_H = " (H:m:ss)";
|
|
||||||
@SuppressLint("SimpleDateFormat")
|
@SuppressLint("SimpleDateFormat")
|
||||||
public static final SimpleDateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT);
|
public static final SimpleDateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT);
|
||||||
public static final SimpleDateFormat withoutSegmentsFormatter = new SimpleDateFormat(WITHOUT_SEGMENTS_FORMAT);
|
|
||||||
public static final SimpleDateFormat withoutSegmentsFormatterH = new SimpleDateFormat(WITHOUT_SEGMENTS_FORMAT_H);
|
|
||||||
public static boolean videoHasSegments = false;
|
public static boolean videoHasSegments = false;
|
||||||
public static String timeWithoutSegments = "";
|
public static String timeWithoutSegments = "";
|
||||||
private static final int sponsorBtnId = 1234;
|
private static final int sponsorBtnId = 1234;
|
||||||
@ -414,8 +411,45 @@ public abstract class SponsorBlockUtils {
|
|||||||
for (SponsorSegment segment : sponsorSegmentsOfCurrentVideo) {
|
for (SponsorSegment segment : sponsorSegmentsOfCurrentVideo) {
|
||||||
timeWithoutSegments -= segment.end - segment.start;
|
timeWithoutSegments -= segment.end - segment.start;
|
||||||
}
|
}
|
||||||
Date date = new Date(timeWithoutSegments);
|
return String.format(" (%s)", formatToVideoTimeString(TimeUnit.MILLISECONDS.toSeconds(timeWithoutSegments + 500L), 3));
|
||||||
return timeWithoutSegments >= 3600000 ? withoutSegmentsFormatterH.format(date) : withoutSegmentsFormatter.format(date);
|
}
|
||||||
|
|
||||||
|
public static String formatToVideoTimeString(long seconds, int padAmount) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append(seconds >= 0L ? "" : "-");
|
||||||
|
long abs_seconds = Math.abs(seconds);
|
||||||
|
long minutes = abs_seconds / 60L;
|
||||||
|
long hours = minutes / 60L;
|
||||||
|
if(hours > 0L) {
|
||||||
|
minutes %= 60L;
|
||||||
|
padAmount = Math.max(padAmount, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
String seconds_str = Long.toString(abs_seconds % 60L);
|
||||||
|
if(seconds_str.length() == 1) {
|
||||||
|
String safe_str = String.valueOf(seconds_str);
|
||||||
|
seconds_str = safe_str.length() == 0 ? new String("0") : "0".concat(safe_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
String minutes_str = Long.toString(minutes);
|
||||||
|
if(minutes_str.length() == 1 && padAmount > 3) {
|
||||||
|
String safe_str = String.valueOf(minutes_str);
|
||||||
|
minutes_str = safe_str.length() == 0 ? new String("0") : "0".concat(safe_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(padAmount > 4) {
|
||||||
|
sb.append(hours);
|
||||||
|
sb.append(':');
|
||||||
|
sb.append(minutes_str);
|
||||||
|
sb.append(':');
|
||||||
|
sb.append(seconds_str);
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
sb.append(minutes_str);
|
||||||
|
sb.append(':');
|
||||||
|
sb.append(seconds_str);
|
||||||
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void playerTypeChanged(String playerType) {
|
public static void playerTypeChanged(String playerType) {
|
||||||
|
Loading…
Reference in New Issue
Block a user