VideoCaptureScreen$2.smali

.class Lio/agora/rtc2/video/VideoCaptureScreen$2;
.super Ljava/lang/Object;
.source "VideoCaptureScreen.java"

# interfaces
.implements Ljava/lang/Runnable;


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lio/agora/rtc2/video/VideoCaptureScreen;->stopCaptureAndBlockUntilStopped()V
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation


# instance fields
.field final synthetic this$0:Lio/agora/rtc2/video/VideoCaptureScreen;


# direct methods
.method constructor <init>(Lio/agora/rtc2/video/VideoCaptureScreen;)V
    .registers 2

    .line 146
    iput-object p1, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public run()V
    .registers 6

    .line 149
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    iget-object v0, v0, Lio/agora/rtc2/video/VideoCaptureScreen;->mSurfaceTextureHelper:Lio/agora/base/internal/video/ISurfaceTextureHelper;

    invoke-interface {v0}, Lio/agora/base/internal/video/ISurfaceTextureHelper;->stopListening()V

    .line 150
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mVirtualDisplay:Landroid/hardware/display/VirtualDisplay;
    invoke-static {v0}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$000(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/hardware/display/VirtualDisplay;

    move-result-object v0

    const/4 v1, 0x0

    if-eqz v0, :cond_1e

    .line 151
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mVirtualDisplay:Landroid/hardware/display/VirtualDisplay;
    invoke-static {v0}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$000(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/hardware/display/VirtualDisplay;

    move-result-object v0

    invoke-virtual {v0}, Landroid/hardware/display/VirtualDisplay;->release()V

    .line 152
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # setter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mVirtualDisplay:Landroid/hardware/display/VirtualDisplay;
    invoke-static {v0, v1}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$002(Lio/agora/rtc2/video/VideoCaptureScreen;Landroid/hardware/display/VirtualDisplay;)Landroid/hardware/display/VirtualDisplay;

    .line 155
    :cond_1e
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mMediaProjection:Landroid/media/projection/MediaProjection;
    invoke-static {v0}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$100(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/media/projection/MediaProjection;

    move-result-object v0

    if-eqz v0, :cond_68

    .line 158
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mMediaProjection:Landroid/media/projection/MediaProjection;
    invoke-static {v0}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$100(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/media/projection/MediaProjection;

    move-result-object v0

    iget-object v2, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mMediaProjectionCallback:Landroid/media/projection/MediaProjection$Callback;
    invoke-static {v2}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$200(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/media/projection/MediaProjection$Callback;

    move-result-object v2

    invoke-virtual {v0, v2}, Landroid/media/projection/MediaProjection;->unregisterCallback(Landroid/media/projection/MediaProjection$Callback;)V

    .line 161
    :try_start_35
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mMediaProjection:Landroid/media/projection/MediaProjection;
    invoke-static {v0}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$100(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/media/projection/MediaProjection;

    move-result-object v0

    invoke-virtual {v0}, Landroid/media/projection/MediaProjection;->stop()V
    :try_end_3e
    .catch Ljava/lang/Exception; {:try_start_35 .. :try_end_3e} :catch_46
    .catchall {:try_start_35 .. :try_end_3e} :catchall_44

    .line 166
    :goto_3e
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # setter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mMediaProjection:Landroid/media/projection/MediaProjection;
    invoke-static {v0, v1}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$102(Lio/agora/rtc2/video/VideoCaptureScreen;Landroid/media/projection/MediaProjection;)Landroid/media/projection/MediaProjection;

    goto :goto_68

    :catchall_44
    move-exception v0

    goto :goto_62

    :catch_46
    move-exception v0

    :try_start_47
    const-string v2, "VideoCaptureScreen"

    .line 163
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "Exception when stopCaptureAndBlockUntilStopped: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 164
    invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 163
    invoke-static {v2, v0}, Lio/agora/base/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_61
    .catchall {:try_start_47 .. :try_end_61} :catchall_44

    goto :goto_3e

    .line 166
    :goto_62
    iget-object v2, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # setter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mMediaProjection:Landroid/media/projection/MediaProjection;
    invoke-static {v2, v1}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$102(Lio/agora/rtc2/video/VideoCaptureScreen;Landroid/media/projection/MediaProjection;)Landroid/media/projection/MediaProjection;

    throw v0

    .line 169
    :cond_68
    :goto_68
    iget-object v0, p0, Lio/agora/rtc2/video/VideoCaptureScreen$2;->this$0:Lio/agora/rtc2/video/VideoCaptureScreen;

    # getter for: Lio/agora/rtc2/video/VideoCaptureScreen;->mWaitForDeviceClosedConditionVariable:Landroid/os/ConditionVariable;
    invoke-static {v0}, Lio/agora/rtc2/video/VideoCaptureScreen;->access$300(Lio/agora/rtc2/video/VideoCaptureScreen;)Landroid/os/ConditionVariable;

    move-result-object v0

    invoke-virtual {v0}, Landroid/os/ConditionVariable;->open()V

    return-void
.end method