BackHandlerHelper.smali

.class public Lim/tpelyyftgw/ui/hui/friendscircle_v1/utils/BackHandlerHelper;
.super Ljava/lang/Object;
.source "BackHandlerHelper.java"


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static handleBackPress(Landroidx/fragment/app/Fragment;)Z
    .registers 2
    .param p0, "fragment"    # Landroidx/fragment/app/Fragment;

    .line 44
    invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getChildFragmentManager()Landroidx/fragment/app/FragmentManager;

    move-result-object v0

    invoke-static {v0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/utils/BackHandlerHelper;->handleBackPress(Landroidx/fragment/app/FragmentManager;)Z

    move-result v0

    return v0
.end method

.method public static handleBackPress(Landroidx/fragment/app/FragmentActivity;)Z
    .registers 2
    .param p0, "fragmentActivity"    # Landroidx/fragment/app/FragmentActivity;

    .line 48
    invoke-virtual {p0}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;

    move-result-object v0

    invoke-static {v0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/utils/BackHandlerHelper;->handleBackPress(Landroidx/fragment/app/FragmentManager;)Z

    move-result v0

    return v0
.end method

.method public static handleBackPress(Landroidx/fragment/app/FragmentManager;)Z
    .registers 7
    .param p0, "fragmentManager"    # Landroidx/fragment/app/FragmentManager;

    .line 24
    invoke-virtual {p0}, Landroidx/fragment/app/FragmentManager;->getFragments()Ljava/util/List;

    move-result-object v0

    .line 26
    .local v0, "fragments":Ljava/util/List;, "Ljava/util/List<Landroidx/fragment/app/Fragment;>;"
    const/4 v1, 0x0

    if-nez v0, :cond_8

    return v1

    .line 28
    :cond_8
    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v2

    const/4 v3, 0x1

    sub-int/2addr v2, v3

    .local v2, "i":I
    :goto_e
    if-ltz v2, :cond_20

    .line 29
    invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Landroidx/fragment/app/Fragment;

    .line 31
    .local v4, "child":Landroidx/fragment/app/Fragment;
    invoke-static {v4}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/utils/BackHandlerHelper;->isFragmentBackHandled(Landroidx/fragment/app/Fragment;)Z

    move-result v5

    if-eqz v5, :cond_1d

    .line 32
    return v3

    .line 28
    .end local v4    # "child":Landroidx/fragment/app/Fragment;
    :cond_1d
    add-int/lit8 v2, v2, -0x1

    goto :goto_e

    .line 36
    .end local v2    # "i":I
    :cond_20
    invoke-virtual {p0}, Landroidx/fragment/app/FragmentManager;->getBackStackEntryCount()I

    move-result v2

    if-lez v2, :cond_2a

    .line 37
    invoke-virtual {p0}, Landroidx/fragment/app/FragmentManager;->popBackStack()V

    .line 38
    return v3

    .line 40
    :cond_2a
    return v1
.end method

.method public static isFragmentBackHandled(Landroidx/fragment/app/Fragment;)Z
    .registers 2
    .param p0, "fragment"    # Landroidx/fragment/app/Fragment;

    .line 57
    if-eqz p0, :cond_1d

    .line 58
    invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->isVisible()Z

    move-result v0

    if-eqz v0, :cond_1d

    .line 59
    invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getUserVisibleHint()Z

    move-result v0

    if-eqz v0, :cond_1d

    instance-of v0, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/listener/FragmentBackHandler;

    if-eqz v0, :cond_1d

    move-object v0, p0

    check-cast v0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/listener/FragmentBackHandler;

    .line 61
    invoke-interface {v0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/listener/FragmentBackHandler;->onBackPressed()Z

    move-result v0

    if-eqz v0, :cond_1d

    const/4 v0, 0x1

    goto :goto_1e

    :cond_1d
    const/4 v0, 0x0

    .line 57
    :goto_1e
    return v0
.end method