n.smali

.class public final Lkh/n;
.super Ljava/lang/Object;
.source "ProviderObserver.kt"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lkh/n$c;
    }
.end annotation

.annotation runtime Lkotlin/Metadata;
    bv = {
        0x1,
        0x0,
        0x3
    }
    d1 = {
        "\u0000o\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0008\u0003\n\u0002\u0008\u0003\n\u0002\u0008\u0003\n\u0002\u0010\u0002\n\u0002\u0008\u0002\n\u0002\u0010 \n\u0002\u0008\u0007\n\u0002\u0010\u0011\n\u0002\u0008\u0004*\u0003\u001a\u001d \u0008\u00c6\u0002\u0018\u00002\u00020\u0001:\u00011B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u0006\u0010\"\u001a\u00020#J\u0006\u0010$\u001a\u00020#J\u000c\u0010%\u001a\u0008\u0012\u0004\u0012\u00020\n0&J\u000e\u0010\'\u001a\u00020#2\u0006\u0010(\u001a\u00020\u0014J\u0010\u0010)\u001a\u00020\n2\u0006\u0010*\u001a\u00020\u0007H\u0002J\u0006\u0010+\u001a\u00020#J!\u0010,\u001a\u00020#2\u0012\u0010-\u001a\n\u0012\u0006\u0008\u0001\u0012\u00020\u00070.\"\u00020\u0007H\u0002\u00a2\u0006\u0002\u0010/J\u000e\u00100\u001a\u00020#2\u0006\u0010(\u001a\u00020\u0014R\u000e\u0010\u0003\u001a\u00020\u0004X\u0086T\u00a2\u0006\u0002\n\u0000R\u001e\u0010\u0005\u001a\u0012\u0012\u0004\u0012\u00020\u00070\u0006j\u0008\u0012\u0004\u0012\u00020\u0007`\u0008X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0011\u0010\t\u001a\u00020\n8F\u00a2\u0006\u0006\u001a\u0004\u0008\u000b\u0010\u000cR\u001e\u0010\r\u001a\u0012\u0012\u0004\u0012\u00020\u000e0\u0006j\u0008\u0012\u0004\u0012\u00020\u000e`\u0008X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001e\u0010\u0010\u001a\u00020\n2\u0006\u0010\u000f\u001a\u00020\n@BX\u0086\u000e\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0011\u0010\u000cR\u0014\u0010\u0012\u001a\u0008\u0012\u0004\u0012\u00020\u00140\u0013X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001a\u0010\u0015\u001a\u000e\u0012\u0004\u0012\u00020\u0004\u0012\u0004\u0012\u00020\u00170\u0016X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u001a\u0010\u0018\u001a\u000e\u0012\u0004\u0012\u00020\u0004\u0012\u0004\u0012\u00020\n0\u0016X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0019\u001a\u00020\u001aX\u0082\u0004\u00a2\u0006\u0004\n\u0002\u0010\u001bR\u0010\u0010\u001c\u001a\u00020\u001dX\u0082\u0004\u00a2\u0006\u0004\n\u0002\u0010\u001eR\u0010\u0010\u001f\u001a\u00020 X\u0082\u0004\u00a2\u0006\u0004\n\u0002\u0010!\u00a8\u00062"
    }
    d2 = {
        "Lcom/shopee/foody/driver/location/provider/ProviderObserver;",
        "",
        "()V",
        "TAG",
        "",
        "allProviders",
        "Ljava/util/ArrayList;",
        "Lcom/shopee/foody/driver/location/repository/ILocationProvider;",
        "Lkotlin/collections/ArrayList;",
        "anyWorkingProviders",
        "",
        "getAnyWorkingProviders",
        "()Z",
        "freeProviders",
        "Lcom/shopee/foody/driver/location/provider/LocationManagerBase;",
        "<set-?>",
        "mFusedEnabled",
        "getMFusedEnabled",
        "mLocationListeners",
        "Ljava/util/concurrent/CopyOnWriteArrayList;",
        "Lcom/shopee/foody/driver/location/provider/ProviderObserver$LocationChangedListener;",
        "mProviderListeners",
        "Ljava/util/concurrent/ConcurrentHashMap;",
        "Landroid/location/LocationListener;",
        "providersContinuesWorkingFlags",
        "sCoarseContinuesCallback",
        "com/shopee/foody/driver/location/provider/ProviderObserver$sCoarseContinuesCallback$1",
        "Lcom/shopee/foody/driver/location/provider/ProviderObserver$sCoarseContinuesCallback$1;",
        "sFineContinuesCallback",
        "com/shopee/foody/driver/location/provider/ProviderObserver$sFineContinuesCallback$1",
        "Lcom/shopee/foody/driver/location/provider/ProviderObserver$sFineContinuesCallback$1;",
        "sFusedContinuesCallback",
        "com/shopee/foody/driver/location/provider/ProviderObserver$sFusedContinuesCallback$1",
        "Lcom/shopee/foody/driver/location/provider/ProviderObserver$sFusedContinuesCallback$1;",
        "disableFused",
        "",
        "enableFused",
        "observeProviders",
        "",
        "registerLocationChangedListener",
        "listener",
        "startProvider",
        "provider",
        "stopAllProviders",
        "stopProvider",
        "providers",
        "",
        "([Lcom/shopee/foody/driver/location/repository/ILocationProvider;)V",
        "unRegisterLocationChangedListener",
        "LocationChangedListener",
        "driver_indonesiaRelease"
    }
    k = 0x1
    mv = {
        0x1,
        0x1,
        0x10
    }
.end annotation


# static fields
.field public static final a:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList<",
            "Llh/b;",
            ">;"
        }
    .end annotation
.end field

.field public static final b:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList<",
            "Lkh/f;",
            ">;"
        }
    .end annotation
.end field

.field public static final c:Ljava/util/concurrent/CopyOnWriteArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/CopyOnWriteArrayList<",
            "Lkh/n$c;",
            ">;"
        }
    .end annotation
.end field

.field public static final d:Ljava/util/concurrent/ConcurrentHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/ConcurrentHashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/Boolean;",
            ">;"
        }
    .end annotation
.end field

.field public static volatile e:Z

.field public static final f:Lkh/n$h;

.field public static final g:Lkh/n$f;

.field public static final h:Lkh/n$g;

.field public static i:Ljava/util/concurrent/ConcurrentHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/ConcurrentHashMap<",
            "Ljava/lang/String;",
            "Landroid/location/LocationListener;",
            ">;"
        }
    .end annotation
.end field

.field public static final j:Lkh/n;


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

    new-instance v0, Lkh/n;

    invoke-direct {v0}, Lkh/n;-><init>()V

    sput-object v0, Lkh/n;->j:Lkh/n;

    const/4 v1, 0x3

    new-array v1, v1, [Llh/b;

    sget-object v2, Lkh/a;->b:Lkh/a;

    const/4 v3, 0x0

    aput-object v2, v1, v3

    sget-object v2, Lkh/b;->b:Lkh/b;

    const/4 v4, 0x1

    aput-object v2, v1, v4

    sget-object v2, Lkh/c;->c:Lkh/c;

    const/4 v5, 0x2

    aput-object v2, v1, v5

    invoke-static {v1}, Lkotlin/collections/CollectionsKt__CollectionsKt;->arrayListOf([Ljava/lang/Object;)Ljava/util/ArrayList;

    move-result-object v1

    sput-object v1, Lkh/n;->a:Ljava/util/ArrayList;

    new-array v1, v5, [Lkh/f;

    sget-object v2, Lkh/a;->b:Lkh/a;

    aput-object v2, v1, v3

    sget-object v2, Lkh/b;->b:Lkh/b;

    aput-object v2, v1, v4

    invoke-static {v1}, Lkotlin/collections/CollectionsKt__CollectionsKt;->arrayListOf([Ljava/lang/Object;)Ljava/util/ArrayList;

    move-result-object v1

    sput-object v1, Lkh/n;->b:Ljava/util/ArrayList;

    new-instance v1, Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-direct {v1}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V

    sput-object v1, Lkh/n;->c:Ljava/util/concurrent/CopyOnWriteArrayList;

    new-instance v1, Ljava/util/concurrent/ConcurrentHashMap;

    invoke-direct {v1}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V

    sput-object v1, Lkh/n;->d:Ljava/util/concurrent/ConcurrentHashMap;

    new-instance v1, Lkh/n$h;

    invoke-direct {v1, v0}, Lkh/n$h;-><init>(Lkh/n;)V

    sput-object v1, Lkh/n;->f:Lkh/n$h;

    new-instance v1, Lkh/n$f;

    invoke-direct {v1, v0}, Lkh/n$f;-><init>(Lkh/n;)V

    sput-object v1, Lkh/n;->g:Lkh/n$f;

    new-instance v1, Lkh/n$g;

    invoke-direct {v1, v0}, Lkh/n$g;-><init>(Lkh/n;)V

    sput-object v1, Lkh/n;->h:Lkh/n$g;

    new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;

    invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V

    sget-object v1, Lkh/n;->f:Lkh/n$h;

    const-string v2, "fused"

    invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    sget-object v1, Lkh/n;->g:Lkh/n$f;

    const-string v2, "network"

    invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    sget-object v1, Lkh/n;->h:Lkh/n$g;

    const-string v2, "gps"

    invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    sput-object v0, Lkh/n;->i:Ljava/util/concurrent/ConcurrentHashMap;

    return-void
.end method

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

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

    return-void
.end method

.method public static final synthetic a(Lkh/n;)Ljava/util/concurrent/CopyOnWriteArrayList;
    .registers 1

    sget-object p0, Lkh/n;->c:Ljava/util/concurrent/CopyOnWriteArrayList;

    return-object p0
.end method

.method public static final varargs synthetic a(Lkh/n;[Llh/b;)V
    .registers 2

    invoke-virtual {p0, p1}, Lkh/n;->a([Llh/b;)V

    return-void
.end method


# virtual methods
.method public final declared-synchronized a()V
    .registers 4

    monitor-enter p0

    :try_start_1
    sget-boolean v0, Lkh/n;->e:Z

    if-eqz v0, :cond_1b

    sget-object v0, Lqa/d;->e:Lqa/d$a;

    const-string v1, "ProviderObserver"

    sget-object v2, Lkh/n$d;->a:Lkh/n$d;

    invoke-virtual {v0, v1, v2}, Lqa/d$a;->c(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V

    const/4 v0, 0x0

    sput-boolean v0, Lkh/n;->e:Z

    const/4 v1, 0x1

    new-array v1, v1, [Llh/b;

    sget-object v2, Lkh/c;->c:Lkh/c;

    aput-object v2, v1, v0

    invoke-virtual {p0, v1}, Lkh/n;->a([Llh/b;)V
    :try_end_1b
    .catchall {:try_start_1 .. :try_end_1b} :catchall_1d

    :cond_1b
    monitor-exit p0

    return-void

    :catchall_1d
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final a(Lkh/n$c;)V
    .registers 3

    sget-object v0, Lkh/n;->c:Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-virtual {v0, p1}, Ljava/util/concurrent/CopyOnWriteArrayList;->addIfAbsent(Ljava/lang/Object;)Z

    return-void
.end method

.method public final varargs a([Llh/b;)V
    .registers 10

    array-length v0, p1

    const/4 v1, 0x0

    const/4 v2, 0x0

    :goto_3
    if-ge v2, v0, :cond_44

    aget-object v3, p1, v2

    sget-object v4, Lkh/n;->i:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-interface {v3}, Llh/b;->a()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Landroid/location/LocationListener;

    const-string v5, "ProviderObserver"

    if-eqz v4, :cond_37

    sget-object v6, Lqa/d;->e:Lqa/d$a;

    new-instance v7, Lkh/n$a;

    invoke-direct {v7, v3}, Lkh/n$a;-><init>(Llh/b;)V

    invoke-virtual {v6, v5, v7}, Lqa/d$a;->c(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V

    sget-object v5, Lkh/n;->d:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-interface {v3}, Llh/b;->a()Ljava/lang/String;

    move-result-object v6

    invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v7

    invoke-interface {v5, v6, v7}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    const-string v5, "it"

    invoke-static {v4, v5}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-interface {v3, v4}, Llh/b;->a(Landroid/location/LocationListener;)V

    goto :goto_41

    :cond_37
    sget-object v4, Lqa/d;->e:Lqa/d$a;

    new-instance v6, Lkh/n$b;

    invoke-direct {v6, v3}, Lkh/n$b;-><init>(Llh/b;)V

    invoke-virtual {v4, v5, v6}, Lqa/d$a;->e(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V

    :goto_41
    add-int/lit8 v2, v2, 0x1

    goto :goto_3

    :cond_44
    return-void
.end method

.method public final a(Llh/b;)Z
    .registers 6

    sget-object v0, Lkh/n;->i:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-interface {p1}, Llh/b;->a()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/location/LocationListener;

    if-eqz v0, :cond_37

    const-string v1, "mProviderListeners[provi\u2026ovider()] ?: return false"

    invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

    sget-object v1, Lgh/a;->f:Lgh/a;

    invoke-virtual {v1}, Lgh/a;->b()Lgh/c;

    move-result-object v1

    invoke-interface {p1, v1, v0}, Llh/b;->a(Lgh/c;Landroid/location/LocationListener;)Z

    move-result v0

    sget-object v1, Lkh/n;->d:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-interface {p1}, Llh/b;->a()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v3

    invoke-interface {v1, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    sget-object v1, Lqa/d;->e:Lqa/d$a;

    new-instance v2, Lkh/n$i;

    invoke-direct {v2, v0, p1}, Lkh/n$i;-><init>(ZLlh/b;)V

    const-string p1, "ProviderObserver"

    invoke-virtual {v1, p1, v2}, Lqa/d$a;->c(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V

    return v0

    :cond_37
    const/4 p1, 0x0

    return p1
.end method

.method public final declared-synchronized b()V
    .registers 4

    monitor-enter p0

    :try_start_1
    sget-boolean v0, Lkh/n;->e:Z

    if-nez v0, :cond_1e

    sget-object v0, Lkh/d;->b:Lkh/d;

    invoke-virtual {v0}, Lkh/d;->a()Z

    move-result v0

    if-nez v0, :cond_1e

    sget-object v0, Lqa/d;->e:Lqa/d$a;

    const-string v1, "ProviderObserver"

    sget-object v2, Lkh/n$e;->a:Lkh/n$e;

    invoke-virtual {v0, v1, v2}, Lqa/d$a;->c(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V

    const/4 v0, 0x1

    sput-boolean v0, Lkh/n;->e:Z

    sget-object v0, Lkh/c;->c:Lkh/c;

    invoke-virtual {p0, v0}, Lkh/n;->a(Llh/b;)Z
    :try_end_1e
    .catchall {:try_start_1 .. :try_end_1e} :catchall_20

    :cond_1e
    monitor-exit p0

    return-void

    :catchall_20
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final b(Lkh/n$c;)V
    .registers 3

    sget-object v0, Lkh/n;->c:Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-virtual {v0, p1}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z

    return-void
.end method

.method public final c()Z
    .registers 3

    sget-object v0, Lgh/d;->g:Lgh/d;

    sget-object v0, Lkh/n;->d:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v0

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

    move-result v1

    if-eqz v1, :cond_26

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

    move-result-object v1

    check-cast v1, Ljava/util/Map$Entry;

    invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/Boolean;

    invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v1

    if-eqz v1, :cond_c

    const/4 v0, 0x1

    goto :goto_27

    :cond_26
    const/4 v0, 0x0

    :goto_27
    return v0
.end method

.method public final d()Ljava/util/List;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Ljava/lang/Boolean;",
            ">;"
        }
    .end annotation

    sget-boolean v0, Lkh/n;->e:Z

    if-eqz v0, :cond_7

    sget-object v0, Lkh/n;->a:Ljava/util/ArrayList;

    goto :goto_9

    :cond_7
    sget-object v0, Lkh/n;->b:Ljava/util/ArrayList;

    :goto_9
    new-instance v1, Ljava/util/ArrayList;

    const/16 v2, 0xa

    invoke-static {v0, v2}, Lkotlin/collections/CollectionsKt__IterablesKt;->collectionSizeOrDefault(Ljava/lang/Iterable;I)I

    move-result v2

    invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V

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

    move-result-object v0

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

    move-result v2

    if-eqz v2, :cond_32

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

    move-result-object v2

    check-cast v2, Llh/b;

    sget-object v3, Lkh/n;->j:Lkh/n;

    invoke-virtual {v3, v2}, Lkh/n;->a(Llh/b;)Z

    move-result v2

    invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v2

    invoke-interface {v1, v2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    goto :goto_18

    :cond_32
    return-object v1
.end method

.method public final e()V
    .registers 3

    sget-object v0, Lkh/n;->a:Ljava/util/ArrayList;

    const/4 v1, 0x0

    new-array v1, v1, [Llh/b;

    invoke-interface {v0, v1}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v0

    if-eqz v0, :cond_18

    check-cast v0, [Llh/b;

    array-length v1, v0

    invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Llh/b;

    invoke-virtual {p0, v0}, Lkh/n;->a([Llh/b;)V

    return-void

    :cond_18
    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "null cannot be cast to non-null type kotlin.Array<T>"

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

    throw v0
.end method