c.smali
.class public final Landroidx/work/impl/background/greedy/c;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/work/impl/e;
.implements Landroidx/work/impl/constraints/c;
.implements Landroidx/work/impl/b;
# static fields
.field public static final i:Ljava/lang/String;
# instance fields
.field public final a:Landroid/content/Context;
.field public final b:Landroidx/work/impl/l;
.field public final c:Landroidx/work/impl/constraints/d;
.field public final d:Ljava/util/HashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Landroidx/work/impl/model/p;",
">;"
}
.end annotation
.end field
.field public e:Landroidx/work/impl/background/greedy/b;
.field public f:Z
.field public final g:Ljava/lang/Object;
.field public h:Ljava/lang/Boolean;
# direct methods
.method public static constructor <clinit>()V
.registers 1
const-string v0, "GreedyScheduler"
invoke-static {v0}, Landroidx/work/o;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/greedy/c;->i:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/c;Landroidx/work/impl/utils/taskexecutor/a;Landroidx/work/impl/l;)V
.registers 6
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/greedy/c;->d:Ljava/util/HashSet;
.line 3
iput-object p1, p0, Landroidx/work/impl/background/greedy/c;->a:Landroid/content/Context;
.line 4
iput-object p4, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
.line 5
new-instance p4, Landroidx/work/impl/constraints/d;
invoke-direct {p4, p1, p3, p0}, Landroidx/work/impl/constraints/d;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/a;Landroidx/work/impl/constraints/c;)V
iput-object p4, p0, Landroidx/work/impl/background/greedy/c;->c:Landroidx/work/impl/constraints/d;
.line 6
new-instance p1, Landroidx/work/impl/background/greedy/b;
.line 7
iget-object p2, p2, Landroidx/work/c;->e:Landroidx/work/impl/a;
.line 8
invoke-direct {p1, p0, p2}, Landroidx/work/impl/background/greedy/b;-><init>(Landroidx/work/impl/background/greedy/c;Landroidx/work/impl/a;)V
iput-object p1, p0, Landroidx/work/impl/background/greedy/c;->e:Landroidx/work/impl/background/greedy/b;
.line 9
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/greedy/c;->g:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public final a(Ljava/util/List;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2a
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 2
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object v0, v2, v3
const-string v4, "Constraints not met: Cancelling work ID %s"
.line 3
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v2, v3, [Ljava/lang/Throwable;
.line 4
invoke-virtual {v1, v2}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 5
iget-object v1, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
invoke-virtual {v1, v0}, Landroidx/work/impl/l;->i(Ljava/lang/String;)V
goto :goto_4
:cond_2a
return-void
.end method
.method public final b(Ljava/lang/String;Z)V
.registers 8
.line 1
iget-object p2, p0, Landroidx/work/impl/background/greedy/c;->g:Ljava/lang/Object;
monitor-enter p2
.line 2
:try_start_3
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->d:Ljava/util/HashSet;
invoke-virtual {v0}, Ljava/util/HashSet;->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_3d
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/model/p;
.line 3
iget-object v2, v1, Landroidx/work/impl/model/p;->a:Ljava/lang/String;
invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_9
.line 4
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v0
const-string v2, "Stopping tracking for %s"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array p1, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, p1}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 5
iget-object p1, p0, Landroidx/work/impl/background/greedy/c;->d:Ljava/util/HashSet;
invoke-virtual {p1, v1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
.line 6
iget-object p1, p0, Landroidx/work/impl/background/greedy/c;->c:Landroidx/work/impl/constraints/d;
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->d:Ljava/util/HashSet;
invoke-virtual {p1, v0}, Landroidx/work/impl/constraints/d;->b(Ljava/lang/Iterable;)V
.line 7
:cond_3d
monitor-exit p2
return-void
:catchall_3f
move-exception p1
monitor-exit p2
:try_end_41
.catchall {:try_start_3 .. :try_end_41} :catchall_3f
throw p1
.end method
.method public final cancel(Ljava/lang/String;)V
.registers 6
.line 1
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->h:Ljava/lang/Boolean;
if-nez v0, :cond_14
.line 2
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
.line 3
iget-object v0, v0, Landroidx/work/impl/l;->b:Landroidx/work/c;
.line 4
iget-object v1, p0, Landroidx/work/impl/background/greedy/c;->a:Landroid/content/Context;
invoke-static {v1, v0}, Landroidx/work/impl/utils/h;->a(Landroid/content/Context;Landroidx/work/c;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/background/greedy/c;->h:Ljava/lang/Boolean;
.line 5
:cond_14
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->h:Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_27
.line 6
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object p1
new-array v0, v1, [Ljava/lang/Throwable;
invoke-virtual {p1, v0}, Landroidx/work/o;->d([Ljava/lang/Throwable;)V
return-void
.line 7
:cond_27
iget-boolean v0, p0, Landroidx/work/impl/background/greedy/c;->f:Z
const/4 v2, 0x1
if-nez v0, :cond_35
.line 8
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
.line 9
iget-object v0, v0, Landroidx/work/impl/l;->f:Landroidx/work/impl/d;
.line 10
invoke-virtual {v0, p0}, Landroidx/work/impl/d;->a(Landroidx/work/impl/b;)V
.line 11
iput-boolean v2, p0, Landroidx/work/impl/background/greedy/c;->f:Z
.line 12
:cond_35
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v0
new-array v2, v2, [Ljava/lang/Object;
aput-object p1, v2, v1
const-string v3, "Cancelling work ID %s"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
invoke-virtual {v0, v1}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 13
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->e:Landroidx/work/impl/background/greedy/b;
if-eqz v0, :cond_5e
.line 14
iget-object v1, v0, Landroidx/work/impl/background/greedy/b;->c:Ljava/util/HashMap;
invoke-virtual {v1, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Runnable;
if-eqz v1, :cond_5e
.line 15
iget-object v0, v0, Landroidx/work/impl/background/greedy/b;->b:Landroidx/work/impl/a;
.line 16
iget-object v0, v0, Landroidx/work/impl/a;->b:Ljava/lang/Object;
check-cast v0, Landroid/os/Handler;
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
.line 17
:cond_5e
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
invoke-virtual {v0, p1}, Landroidx/work/impl/l;->i(Ljava/lang/String;)V
return-void
.end method
.method public final d(Ljava/util/List;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 1
check-cast p1, Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_6
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2c
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 2
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object v0, v2, v3
const-string v4, "Constraints met: Scheduling work ID %s"
.line 3
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v2, v3, [Ljava/lang/Throwable;
.line 4
invoke-virtual {v1, v2}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 5
iget-object v1, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
invoke-virtual {v1, v0}, Landroidx/work/impl/l;->h(Ljava/lang/String;)V
goto :goto_6
:cond_2c
return-void
.end method
.method public final hasLimitedSchedulingSlots()Z
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public final varargs schedule([Landroidx/work/impl/model/p;)V
.registers 15
.line 1
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->h:Ljava/lang/Boolean;
if-nez v0, :cond_14
.line 2
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
.line 3
iget-object v0, v0, Landroidx/work/impl/l;->b:Landroidx/work/c;
.line 4
iget-object v1, p0, Landroidx/work/impl/background/greedy/c;->a:Landroid/content/Context;
invoke-static {v1, v0}, Landroidx/work/impl/utils/h;->a(Landroid/content/Context;Landroidx/work/c;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/background/greedy/c;->h:Ljava/lang/Boolean;
.line 5
:cond_14
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->h:Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_27
.line 6
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object p1
new-array v0, v1, [Ljava/lang/Throwable;
invoke-virtual {p1, v0}, Landroidx/work/o;->d([Ljava/lang/Throwable;)V
return-void
.line 7
:cond_27
iget-boolean v0, p0, Landroidx/work/impl/background/greedy/c;->f:Z
const/4 v2, 0x1
if-nez v0, :cond_35
.line 8
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
.line 9
iget-object v0, v0, Landroidx/work/impl/l;->f:Landroidx/work/impl/d;
.line 10
invoke-virtual {v0, p0}, Landroidx/work/impl/d;->a(Landroidx/work/impl/b;)V
.line 11
iput-boolean v2, p0, Landroidx/work/impl/background/greedy/c;->f:Z
.line 12
:cond_35
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 13
new-instance v3, Ljava/util/HashSet;
invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
.line 14
array-length v4, p1
const/4 v5, 0x0
:goto_41
if-ge v5, v4, :cond_fb
aget-object v6, p1, v5
.line 15
invoke-virtual {v6}, Landroidx/work/impl/model/p;->a()J
move-result-wide v7
.line 16
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
.line 17
iget-object v11, v6, Landroidx/work/impl/model/p;->b:Landroidx/work/u;
sget-object v12, Landroidx/work/u;->ENQUEUED:Landroidx/work/u;
if-ne v11, v12, :cond_f7
cmp-long v11, v9, v7
if-gez v11, :cond_8f
.line 18
iget-object v7, p0, Landroidx/work/impl/background/greedy/c;->e:Landroidx/work/impl/background/greedy/b;
if-eqz v7, :cond_f7
.line 19
iget-object v8, v7, Landroidx/work/impl/background/greedy/b;->c:Ljava/util/HashMap;
iget-object v9, v6, Landroidx/work/impl/model/p;->a:Ljava/lang/String;
invoke-virtual {v8, v9}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Ljava/lang/Runnable;
if-eqz v8, :cond_70
.line 20
iget-object v9, v7, Landroidx/work/impl/background/greedy/b;->b:Landroidx/work/impl/a;
.line 21
iget-object v9, v9, Landroidx/work/impl/a;->b:Ljava/lang/Object;
check-cast v9, Landroid/os/Handler;
invoke-virtual {v9, v8}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
.line 22
:cond_70
new-instance v8, Landroidx/work/impl/background/greedy/a;
invoke-direct {v8, v7, v6}, Landroidx/work/impl/background/greedy/a;-><init>(Landroidx/work/impl/background/greedy/b;Landroidx/work/impl/model/p;)V
.line 23
iget-object v9, v7, Landroidx/work/impl/background/greedy/b;->c:Ljava/util/HashMap;
iget-object v10, v6, Landroidx/work/impl/model/p;->a:Ljava/lang/String;
invoke-virtual {v9, v10, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 24
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
.line 25
invoke-virtual {v6}, Landroidx/work/impl/model/p;->a()J
move-result-wide v11
sub-long/2addr v11, v9
.line 26
iget-object v6, v7, Landroidx/work/impl/background/greedy/b;->b:Landroidx/work/impl/a;
.line 27
iget-object v6, v6, Landroidx/work/impl/a;->b:Ljava/lang/Object;
check-cast v6, Landroid/os/Handler;
invoke-virtual {v6, v8, v11, v12}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
goto :goto_f7
.line 28
:cond_8f
invoke-virtual {v6}, Landroidx/work/impl/model/p;->b()Z
move-result v7
if-eqz v7, :cond_dc
.line 29
sget v7, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v8, 0x17
if-lt v7, v8, :cond_b4
iget-object v8, v6, Landroidx/work/impl/model/p;->j:Landroidx/work/d;
.line 30
iget-boolean v8, v8, Landroidx/work/d;->c:Z
if-eqz v8, :cond_b4
.line 31
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v7
const-string v8, "Ignoring WorkSpec %s, Requires device idle."
new-array v9, v2, [Ljava/lang/Object;
aput-object v6, v9, v1
.line 32
invoke-static {v8, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v6, v1, [Ljava/lang/Throwable;
.line 33
invoke-virtual {v7, v6}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
goto :goto_f7
:cond_b4
const/16 v8, 0x18
if-lt v7, v8, :cond_d3
.line 34
iget-object v7, v6, Landroidx/work/impl/model/p;->j:Landroidx/work/d;
invoke-virtual {v7}, Landroidx/work/d;->a()Z
move-result v7
if-eqz v7, :cond_d3
.line 35
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v7
const-string v8, "Ignoring WorkSpec %s, Requires ContentUri triggers."
new-array v9, v2, [Ljava/lang/Object;
aput-object v6, v9, v1
.line 36
invoke-static {v8, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v6, v1, [Ljava/lang/Throwable;
.line 37
invoke-virtual {v7, v6}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
goto :goto_f7
.line 38
:cond_d3
invoke-virtual {v0, v6}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 39
iget-object v6, v6, Landroidx/work/impl/model/p;->a:Ljava/lang/String;
invoke-virtual {v3, v6}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
goto :goto_f7
.line 40
:cond_dc
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v7
const-string v8, "Starting work for %s"
new-array v9, v2, [Ljava/lang/Object;
iget-object v10, v6, Landroidx/work/impl/model/p;->a:Ljava/lang/String;
aput-object v10, v9, v1
invoke-static {v8, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v8, v1, [Ljava/lang/Throwable;
invoke-virtual {v7, v8}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 41
iget-object v7, p0, Landroidx/work/impl/background/greedy/c;->b:Landroidx/work/impl/l;
iget-object v6, v6, Landroidx/work/impl/model/p;->a:Ljava/lang/String;
invoke-virtual {v7, v6}, Landroidx/work/impl/l;->h(Ljava/lang/String;)V
:cond_f7
:goto_f7
add-int/lit8 v5, v5, 0x1
goto/16 :goto_41
.line 42
:cond_fb
iget-object p1, p0, Landroidx/work/impl/background/greedy/c;->g:Ljava/lang/Object;
monitor-enter p1
.line 43
:try_start_fe
invoke-virtual {v0}, Ljava/util/HashSet;->isEmpty()Z
move-result v4
if-nez v4, :cond_128
.line 44
invoke-static {}, Landroidx/work/o;->c()Landroidx/work/o;
move-result-object v4
const-string v5, "Starting tracking for [%s]"
new-array v2, v2, [Ljava/lang/Object;
const-string v6, ","
.line 45
invoke-static {v6, v3}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v1
.line 46
invoke-static {v5, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
invoke-virtual {v4, v1}, Landroidx/work/o;->a([Ljava/lang/Throwable;)V
.line 47
iget-object v1, p0, Landroidx/work/impl/background/greedy/c;->d:Ljava/util/HashSet;
invoke-interface {v1, v0}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z
.line 48
iget-object v0, p0, Landroidx/work/impl/background/greedy/c;->c:Landroidx/work/impl/constraints/d;
iget-object v1, p0, Landroidx/work/impl/background/greedy/c;->d:Ljava/util/HashSet;
invoke-virtual {v0, v1}, Landroidx/work/impl/constraints/d;->b(Ljava/lang/Iterable;)V
.line 49
:cond_128
monitor-exit p1
return-void
:catchall_12a
move-exception v0
monitor-exit p1
:try_end_12c
.catchall {:try_start_fe .. :try_end_12c} :catchall_12a
throw v0
.end method