mirror of
https://github.com/androidx/media.git
synced 2025-04-29 22:36:54 +08:00

This also tweaks the logic in `Util.shouldShowPlayButton` to special-case the 'scrubbing' suppression reason. In most cases of playback suppression (e.g. transient loss of audio focus due to a phone call), the recommended UX is to show a 'play' button (i.e. the UI looks like the player is paused). This doesn't look right when scrubbing since although 'ongoing' playback is suppressed, the image on screen is constantly changing, so a 'pause' button is kept (i.e. the UI looks like the player is playing). PiperOrigin-RevId: 751385521
49 lines
2.5 KiB
Plaintext
49 lines
2.5 KiB
Plaintext
# Proguard rules specific to the UI module.
|
|
|
|
# Constructor method and classes accessed via reflection in PlayerView
|
|
-dontnote androidx.media3.exoplayer.video.spherical.SphericalGLSurfaceView
|
|
-keepclassmembers class androidx.media3.exoplayer.video.spherical.SphericalGLSurfaceView {
|
|
<init>(android.content.Context);
|
|
}
|
|
-dontnote androidx.media3.exoplayer.video.VideoDecoderGLSurfaceView
|
|
-keepclassmembers class androidx.media3.exoplayer.video.VideoDecoderGLSurfaceView {
|
|
<init>(android.content.Context);
|
|
}
|
|
-keepnames class androidx.media3.exoplayer.ExoPlayer {}
|
|
-keepclassmembers class androidx.media3.exoplayer.ExoPlayer {
|
|
void setImageOutput(androidx.media3.exoplayer.image.ImageOutput);
|
|
void setScrubbingModeEnabled(boolean);
|
|
boolean isScrubbingModeEnabled();
|
|
}
|
|
-keepclasseswithmembers class androidx.media3.exoplayer.image.ImageOutput {
|
|
void onImageAvailable(long, android.graphics.Bitmap);
|
|
}
|
|
|
|
# Constructor method accessed via reflection in TrackSelectionDialogBuilder
|
|
-dontnote androidx.appcompat.app.AlertDialog.Builder
|
|
-keepclassmembers class androidx.appcompat.app.AlertDialog$Builder {
|
|
<init>(android.content.Context, int);
|
|
public android.content.Context getContext();
|
|
public androidx.appcompat.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
|
|
public androidx.appcompat.app.AlertDialog$Builder setView(android.view.View);
|
|
public androidx.appcompat.app.AlertDialog$Builder setPositiveButton(int, android.content.DialogInterface$OnClickListener);
|
|
public androidx.appcompat.app.AlertDialog$Builder setNegativeButton(int, android.content.DialogInterface$OnClickListener);
|
|
public androidx.appcompat.app.AlertDialog create();
|
|
}
|
|
# Equivalent methods needed when the library is de-jetified.
|
|
-dontnote android.support.v7.app.AlertDialog.Builder
|
|
-keepclassmembers class android.support.v7.app.AlertDialog$Builder {
|
|
<init>(android.content.Context, int);
|
|
public android.content.Context getContext();
|
|
public android.support.v7.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
|
|
public android.support.v7.app.AlertDialog$Builder setView(android.view.View);
|
|
public android.support.v7.app.AlertDialog$Builder setPositiveButton(int, android.content.DialogInterface$OnClickListener);
|
|
public android.support.v7.app.AlertDialog$Builder setNegativeButton(int, android.content.DialogInterface$OnClickListener);
|
|
public android.support.v7.app.AlertDialog create();
|
|
}
|
|
|
|
# Don't warn about checkerframework and Kotlin annotations
|
|
-dontwarn org.checkerframework.**
|
|
-dontwarn kotlin.annotations.jvm.**
|
|
-dontwarn javax.annotation.**
|