.class public final Landroidx/media3/exoplayer/video/PlaceholderSurface; .super Landroid/view/Surface; .source "PlaceholderSurface.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread; } .end annotation # static fields .field private static final TAG:Ljava/lang/String; = "PlaceholderSurface" .field private static secureMode:I .field private static secureModeInitialized:Z # instance fields .field public final secure:Z .field private final thread:Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread; .field private threadReleased:Z # direct methods .method private constructor (Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread;Landroid/graphics/SurfaceTexture;Z)V .locals 0 .line 89 invoke-direct {p0, p2}, Landroid/view/Surface;->(Landroid/graphics/SurfaceTexture;)V iput-object p1, p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->thread:Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread; iput-boolean p3, p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->secure:Z return-void .end method .method synthetic constructor (Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread;Landroid/graphics/SurfaceTexture;ZLandroidx/media3/exoplayer/video/PlaceholderSurface$1;)V .locals 0 .line 42 invoke-direct {p0, p1, p2, p3}, Landroidx/media3/exoplayer/video/PlaceholderSurface;->(Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread;Landroid/graphics/SurfaceTexture;Z)V return-void .end method .method private static getSecureMode(Landroid/content/Context;)I .locals 0 .line 110 invoke-static {p0}, Landroidx/media3/common/util/GlUtil;->isProtectedContentExtensionSupported(Landroid/content/Context;)Z move-result p0 if-eqz p0, :cond_1 .line 111 invoke-static {}, Landroidx/media3/common/util/GlUtil;->isSurfacelessContextExtensionSupported()Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 return p0 :cond_0 const/4 p0, 0x2 return p0 :cond_1 const/4 p0, 0x0 return p0 .end method .method public static declared-synchronized isSecureSupported(Landroid/content/Context;)Z .locals 3 const-class v0, Landroidx/media3/exoplayer/video/PlaceholderSurface; monitor-enter v0 :try_start_0 sget-boolean v1, Landroidx/media3/exoplayer/video/PlaceholderSurface;->secureModeInitialized:Z const/4 v2, 0x1 if-nez v1, :cond_0 .line 63 invoke-static {p0}, Landroidx/media3/exoplayer/video/PlaceholderSurface;->getSecureMode(Landroid/content/Context;)I move-result p0 sput p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->secureMode:I sput-boolean v2, Landroidx/media3/exoplayer/video/PlaceholderSurface;->secureModeInitialized:Z :cond_0 sget p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->secureMode:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz p0, :cond_1 goto :goto_0 :cond_1 const/4 v2, 0x0 .line 66 :goto_0 monitor-exit v0 return v2 :catchall_0 move-exception p0 monitor-exit v0 throw p0 .end method .method public static newInstanceV17(Landroid/content/Context;Z)Landroidx/media3/exoplayer/video/PlaceholderSurface; .locals 1 const/4 v0, 0x0 if-eqz p1, :cond_1 .line 82 invoke-static {p0}, Landroidx/media3/exoplayer/video/PlaceholderSurface;->isSecureSupported(Landroid/content/Context;)Z move-result p0 if-eqz p0, :cond_0 goto :goto_0 :cond_0 move p0, v0 goto :goto_1 :cond_1 :goto_0 const/4 p0, 0x1 :goto_1 invoke-static {p0}, Landroidx/media3/common/util/Assertions;->checkState(Z)V .line 83 new-instance p0, Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread; invoke-direct {p0}, Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread;->()V if-eqz p1, :cond_2 sget v0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->secureMode:I .line 84 :cond_2 invoke-virtual {p0, v0}, Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread;->init(I)Landroidx/media3/exoplayer/video/PlaceholderSurface; move-result-object p0 return-object p0 .end method # virtual methods .method public release()V .locals 2 .line 96 invoke-super {p0}, Landroid/view/Surface;->release()V iget-object v0, p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->thread:Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread; .line 101 monitor-enter v0 :try_start_0 iget-boolean v1, p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->threadReleased:Z if-nez v1, :cond_0 iget-object v1, p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->thread:Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread; .line 103 invoke-virtual {v1}, Landroidx/media3/exoplayer/video/PlaceholderSurface$PlaceholderSurfaceThread;->release()V const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/media3/exoplayer/video/PlaceholderSurface;->threadReleased:Z .line 106 :cond_0 monitor-exit v0 return-void :catchall_0 move-exception p0 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p0 .end method