VancedIntegrations/app/src/main/java/pl/jakubweg/SkipSegmentView.java

51 lines
1.7 KiB
Java
Raw Normal View History

2020-08-24 15:47:57 +00:00
package pl.jakubweg;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.DisplayMetrics;
import android.util.Log;
import android.widget.Toast;
2020-10-15 15:53:00 +00:00
import com.google.android.apps.youtube.app.YouTubeApplication;
2020-08-24 15:47:57 +00:00
import java.lang.ref.WeakReference;
2020-10-15 15:53:00 +00:00
import static fi.vanced.libraries.youtube.sponsors.player.ui.SponsorBlockView.hideSkipButton;
import static fi.vanced.libraries.youtube.sponsors.player.ui.SponsorBlockView.showSkipButton;
2020-08-24 15:47:57 +00:00
import static pl.jakubweg.PlayerController.VERBOSE;
import static pl.jakubweg.StringRef.str;
2020-08-24 15:47:57 +00:00
@SuppressLint({"RtlHardcoded", "SetTextI18n", "LongLogTag", "AppCompatCustomView"})
2020-10-15 15:53:00 +00:00
public class SkipSegmentView {
2020-08-24 15:47:57 +00:00
public static final String TAG = "jakubweg.SkipSegmentView";
private static SponsorSegment lastNotifiedSegment;
public static void show() {
2020-10-15 15:53:00 +00:00
showSkipButton();
2020-08-24 15:47:57 +00:00
}
public static void hide() {
2020-10-15 15:53:00 +00:00
hideSkipButton();
2020-08-24 15:47:57 +00:00
}
public static void notifySkipped(SponsorSegment segment) {
if (segment == lastNotifiedSegment) {
if (VERBOSE)
Log.d(TAG, "notifySkipped; segment == lastNotifiedSegment");
return;
}
lastNotifiedSegment = segment;
String skipMessage = segment.category.skipMessage.toString();
2020-10-15 15:53:00 +00:00
Context context = YouTubeApplication.getAppContext();
2020-08-24 15:47:57 +00:00
if (VERBOSE)
2020-10-15 15:53:00 +00:00
Log.d(TAG, String.format("notifySkipped; message=%s", skipMessage));
if (context != null)
Toast.makeText(context, skipMessage, Toast.LENGTH_SHORT).show();
2020-08-24 15:47:57 +00:00
}
public static float convertDpToPixel(float dp, Context context) {
return dp * ((float) context.getResources().getDisplayMetrics().densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
}