BaseGuehImpl$1.smali

.class Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;
.super Ljava/lang/Object;
.source "BaseGuehImpl.java"

# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->getGUEHBehaviour()Ljava/lang/Thread$UncaughtExceptionHandler;
.end annotation

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


# instance fields
.field final synthetic this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;


# direct methods
.method constructor <init>(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;)V
    .registers 2

    .line 25
    iput-object p1, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

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

    return-void
.end method


# virtual methods
.method public uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
    .registers 7

    if-nez p2, :cond_c

    .line 29
    iget-object v0, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

    # getter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->mAndroidDefaultHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
    invoke-static {v0}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$000(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;)Ljava/lang/Thread$UncaughtExceptionHandler;

    move-result-object v0

    invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V

    return-void

    .line 34
    :cond_c
    iget-object v0, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

    # getter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->mLastThrownException:Ljava/lang/Throwable;
    invoke-static {v0}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$100(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;)Ljava/lang/Throwable;

    move-result-object v1

    # invokes: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->checkSameException(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
    invoke-static {v0, p2, v1}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$200(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;Ljava/lang/Throwable;Ljava/lang/Throwable;)Z

    move-result v0

    const/4 v1, 0x0

    if-eqz v0, :cond_25

    .line 35
    # getter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->TAG:Ljava/lang/String;
    invoke-static {}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$300()Ljava/lang/String;

    move-result-object v0

    const-string v2, "taboolaExceptionHandler | GUEH.start() found current handler to be GUEH, avoiding looping error."

    invoke-static {v0, v2}, Lcom/taboola/android/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 36
    invoke-static {v1}, Ljava/lang/System;->exit(I)V

    .line 40
    :cond_25
    iget-object v0, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

    # setter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->mLastThrownException:Ljava/lang/Throwable;
    invoke-static {v0, p2}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$402(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;Ljava/lang/Throwable;)Ljava/lang/Throwable;

    .line 43
    iget-object v0, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

    # getter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->mTaboolaExceptionHandlerList:Ljava/util/ArrayList;
    invoke-static {v0}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$500(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;)Ljava/util/ArrayList;

    move-result-object v0

    invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :cond_34
    :goto_34
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_4a

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/taboola/android/global_components/gueh/TaboolaExceptionHandler;

    .line 44
    invoke-virtual {v2, p2}, Lcom/taboola/android/global_components/gueh/TaboolaExceptionHandler;->isHandling(Ljava/lang/Throwable;)Z

    move-result v3

    if-eqz v3, :cond_34

    .line 45
    invoke-virtual {v2, p2}, Lcom/taboola/android/global_components/gueh/TaboolaExceptionHandler;->handle(Ljava/lang/Throwable;)V

    goto :goto_34

    .line 49
    :cond_4a
    iget-object v0, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

    invoke-virtual {v0}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->shouldReturnEventToSystem()Z

    move-result v0

    if-eqz v0, :cond_78

    .line 50
    # getter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->TAG:Ljava/lang/String;
    invoke-static {}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$600()Ljava/lang/String;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "Returning the following exception to prior exception handler: "

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

    invoke-virtual {p2}, Ljava/lang/Throwable;->getLocalizedMessage()Ljava/lang/String;

    move-result-object v2

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

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

    move-result-object v1

    invoke-static {v0, v1}, Lcom/taboola/android/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 51
    iget-object v0, p0, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl$1;->this$0:Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;

    # getter for: Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->mAndroidDefaultHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
    invoke-static {v0}, Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;->access$700(Lcom/taboola/android/global_components/gueh/impl/BaseGuehImpl;)Ljava/lang/Thread$UncaughtExceptionHandler;

    move-result-object v0

    invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V

    goto :goto_7b

    .line 53
    :cond_78
    invoke-static {v1}, Ljava/lang/System;->exit(I)V

    :goto_7b
    return-void
.end method