NameResolverProvider$NameResolverFactory.smali
.class Lio/grpc/NameResolverProvider$NameResolverFactory;
.super Lio/grpc/NameResolver$Factory;
.source "NameResolverProvider.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/grpc/NameResolverProvider;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "NameResolverFactory"
.end annotation
# instance fields
.field private final providers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lio/grpc/NameResolverProvider;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/List;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lio/grpc/NameResolverProvider;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lio/grpc/NameResolver$Factory;-><init>()V
.line 2
iput-object p1, p0, Lio/grpc/NameResolverProvider$NameResolverFactory;->providers:Ljava/util/List;
return-void
.end method
.method private checkForProviders()V
.registers 3
.line 1
iget-object v0, p0, Lio/grpc/NameResolverProvider$NameResolverFactory;->providers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
xor-int/lit8 v0, v0, 0x1
const-string v1, "No NameResolverProviders found via ServiceLoader, including for DNS. This is probably due to a broken build. If using ProGuard, check your configuration"
invoke-static {v0, v1}, Lcom/google/common/base/r;->b(ZLjava/lang/Object;)V
return-void
.end method
# virtual methods
.method public getDefaultScheme()Ljava/lang/String;
.registers 3
.line 1
invoke-direct {p0}, Lio/grpc/NameResolverProvider$NameResolverFactory;->checkForProviders()V
.line 2
iget-object v0, p0, Lio/grpc/NameResolverProvider$NameResolverFactory;->providers:Ljava/util/List;
const/4 v1, 0x0
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/grpc/NameResolverProvider;
invoke-virtual {v0}, Lio/grpc/NameResolver$Factory;->getDefaultScheme()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public newNameResolver(Ljava/net/URI;Lio/grpc/Attributes;)Lio/grpc/NameResolver;
.registers 5
.line 1
invoke-direct {p0}, Lio/grpc/NameResolverProvider$NameResolverFactory;->checkForProviders()V
.line 2
iget-object v0, p0, Lio/grpc/NameResolverProvider$NameResolverFactory;->providers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_9
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1c
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lio/grpc/NameResolverProvider;
.line 3
invoke-virtual {v1, p1, p2}, Lio/grpc/NameResolver$Factory;->newNameResolver(Ljava/net/URI;Lio/grpc/Attributes;)Lio/grpc/NameResolver;
move-result-object v1
if-eqz v1, :cond_9
return-object v1
:cond_1c
const/4 p1, 0x0
return-object p1
.end method