ControlledKillingManager.smali
.class Lcom/avast/android/taskkiller/killer/ControlledKillingManager;
.super Ljava/lang/Object;
# instance fields
.field private a:I
.field private final b:Landroid/content/Context;
.field private c:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lcom/avast/android/taskkiller/killer/callback/KillerListener;",
">;"
}
.end annotation
.end field
.field private d:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Lcom/avast/android/taskkiller/scanner/RunningApp;",
">;"
}
.end annotation
.end field
.field private e:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Lcom/avast/android/taskkiller/scanner/RunningApp;",
">;"
}
.end annotation
.end field
.field private f:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/avast/android/taskkiller/scanner/RunningApp;",
">;"
}
.end annotation
.end field
.field private g:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/avast/android/taskkiller/killer/KillSingleTask;",
">;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Landroid/content/Context;Ljava/util/List;Ljava/util/Set;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/util/List<",
"Lcom/avast/android/taskkiller/scanner/RunningApp;",
">;",
"Ljava/util/Set<",
"Lcom/avast/android/taskkiller/killer/callback/KillerListener;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->b:Landroid/content/Context;
iput-object p3, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->c:Ljava/util/Set;
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1, p2}, Ljava/util/LinkedList;-><init>(Ljava/util/Collection;)V
iput-object p1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->d:Ljava/util/Queue;
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->e:Ljava/util/Queue;
new-instance p1, Ljava/util/ArrayList;
invoke-interface {p2}, Ljava/util/List;->size()I
move-result p2
invoke-direct {p1, p2}, Ljava/util/ArrayList;-><init>(I)V
iput-object p1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->f:Ljava/util/ArrayList;
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->g:Ljava/util/List;
const/4 p1, 0x1
invoke-direct {p0, p1}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->q(I)V
return-void
.end method
.method static synthetic a(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;)Ljava/util/List;
.registers 1
iget-object p0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->g:Ljava/util/List;
return-object p0
.end method
.method static synthetic b(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;)Ljava/util/ArrayList;
.registers 1
iget-object p0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->f:Ljava/util/ArrayList;
return-object p0
.end method
.method static synthetic c(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;)V
.registers 1
invoke-direct {p0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->l()V
return-void
.end method
.method static synthetic d(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;Lcom/avast/android/taskkiller/scanner/RunningApp;)V
.registers 2
invoke-direct {p0, p1}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->p(Lcom/avast/android/taskkiller/scanner/RunningApp;)V
return-void
.end method
.method static synthetic e(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;)Ljava/util/Queue;
.registers 1
iget-object p0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->d:Ljava/util/Queue;
return-object p0
.end method
.method static synthetic f(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;)Ljava/util/Queue;
.registers 1
iget-object p0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->e:Ljava/util/Queue;
return-object p0
.end method
.method static synthetic g(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;I)V
.registers 2
invoke-direct {p0, p1}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->q(I)V
return-void
.end method
.method static synthetic h(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;)V
.registers 1
invoke-direct {p0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->m()V
return-void
.end method
.method static synthetic i(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;Ljava/util/List;)V
.registers 2
invoke-direct {p0, p1}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->o(Ljava/util/List;)V
return-void
.end method
.method private l()V
.registers 6
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->e:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-nez v0, :cond_4e
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->g:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_4e
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->e:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/avast/android/taskkiller/scanner/RunningApp;
sget-object v1, Lcom/avast/android/taskkiller/internal/LH;->b:Lcom/avast/android/logging/Alf;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Killing app: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
new-array v4, v3, [Ljava/lang/Object;
invoke-virtual {v1, v2, v4}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V
new-instance v1, Lcom/avast/android/taskkiller/killer/KillSingleTask;
iget-object v2, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->b:Landroid/content/Context;
new-instance v4, Lcom/avast/android/taskkiller/killer/ControlledKillingManager$1;
invoke-direct {v4, p0, v0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager$1;-><init>(Lcom/avast/android/taskkiller/killer/ControlledKillingManager;Lcom/avast/android/taskkiller/scanner/RunningApp;)V
invoke-direct {v1, v2, v4}, Lcom/avast/android/taskkiller/killer/KillSingleTask;-><init>(Landroid/content/Context;Lcom/avast/android/taskkiller/killer/KillSingleTask$Callback;)V
iget-object v2, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->g:Ljava/util/List;
invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/String;
invoke-virtual {v0}, Lcom/avast/android/taskkiller/scanner/RunningApp;->c()Ljava/lang/String;
move-result-object v0
aput-object v0, v2, v3
invoke-virtual {v1, v2}, Landroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
:cond_4e
return-void
.end method
.method private m()V
.registers 2
const/4 v0, 0x0
iput-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->d:Ljava/util/Queue;
iput-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->e:Ljava/util/Queue;
iput-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->g:Ljava/util/List;
return-void
.end method
.method private o(Ljava/util/List;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/avast/android/taskkiller/scanner/RunningApp;",
">;)V"
}
.end annotation
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->c:Ljava/util/Set;
if-eqz v0, :cond_18
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_18
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/avast/android/taskkiller/killer/callback/KillerListener;
invoke-interface {v1, p1}, Lcom/avast/android/taskkiller/killer/callback/KillerListener;->d(Ljava/util/List;)V
goto :goto_8
:cond_18
return-void
.end method
.method private p(Lcom/avast/android/taskkiller/scanner/RunningApp;)V
.registers 4
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->c:Ljava/util/Set;
if-eqz v0, :cond_18
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_18
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/avast/android/taskkiller/killer/callback/KillerListener;
invoke-interface {v1, p1}, Lcom/avast/android/taskkiller/killer/callback/KillerListener;->k(Lcom/avast/android/taskkiller/scanner/RunningApp;)V
goto :goto_8
:cond_18
return-void
.end method
.method private q(I)V
.registers 2
iput p1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->a:I
return-void
.end method
# virtual methods
.method declared-synchronized j()V
.registers 2
monitor-enter p0
const/4 v0, 0x3
:try_start_2
invoke-direct {p0, v0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->q(I)V
invoke-direct {p0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->m()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->f:Ljava/util/ArrayList;
:try_end_b
.catchall {:try_start_2 .. :try_end_b} :catchall_d
monitor-exit p0
return-void
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method declared-synchronized k()I
.registers 2
monitor-enter p0
:try_start_1
iget v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->a:I
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_5
monitor-exit p0
return v0
:catchall_5
move-exception v0
monitor-exit p0
throw v0
.end method
.method declared-synchronized n()Lcom/avast/android/taskkiller/scanner/RunningApp;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/avast/android/taskkiller/killer/exception/KillingNotRunningException;
}
.end annotation
monitor-enter p0
:try_start_1
invoke-virtual {p0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->k()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_25
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->d:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-nez v0, :cond_22
iget-object v0, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->d:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/avast/android/taskkiller/scanner/RunningApp;
iget-object v1, p0, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->e:Ljava/util/Queue;
invoke-interface {v1, v0}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
invoke-direct {p0}, Lcom/avast/android/taskkiller/killer/ControlledKillingManager;->l()V
:try_end_20
.catchall {:try_start_1 .. :try_end_20} :catchall_2b
monitor-exit p0
return-object v0
:cond_22
const/4 v0, 0x0
monitor-exit p0
return-object v0
:cond_25
:try_start_25
new-instance v0, Lcom/avast/android/taskkiller/killer/exception/KillingNotRunningException;
invoke-direct {v0}, Lcom/avast/android/taskkiller/killer/exception/KillingNotRunningException;-><init>()V
throw v0
:try_end_2b
.catchall {:try_start_25 .. :try_end_2b} :catchall_2b
:catchall_2b
move-exception v0
monitor-exit p0
throw v0
.end method