d.smali
.class public Lcom/cm/reminder/asr/helper/v2/b/d;
.super Lcom/cm/reminder/asr/helper/v2/a;
.source "MonthlyTextParser.java"
# instance fields
.field private a:I
.field private b:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;",
">;"
}
.end annotation
.end field
.field private volatile c:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;I)V
.registers 5
.prologue
.line 30
invoke-direct {p0, p1, p2, p3}, Lcom/cm/reminder/asr/helper/v2/a;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
.line 25
const/4 v0, 0x1
iput v0, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->a:I
.line 26
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
.line 27
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->c:Z
.line 31
return-void
.end method
.method private i()V
.registers 3
.prologue
.line 78
iget-boolean v0, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->c:Z
if-nez v0, :cond_1c
.line 79
invoke-direct {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->j()Ljava/util/List;
move-result-object v0
.line 80
if-eqz v0, :cond_19
.line 81
iget-object v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
.line 82
const/4 v1, 0x4
invoke-static {p0, v1, v0}, Lcom/cm/reminder/asr/helper/v2/a/b;->a(Lcom/cm/reminder/asr/helper/v2/a;ILjava/util/List;)Ljava/util/List;
move-result-object v0
.line 83
iget-object v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 85
:cond_19
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->c:Z
.line 87
:cond_1c
return-void
.end method
.method private j()Ljava/util/List;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;",
">;"
}
.end annotation
.prologue
const/4 v8, 0x1
const/4 v7, 0x0
.line 91
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 92
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->c()Ljava/lang/String;
move-result-object v1
.line 93
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_12
.line 132
:cond_11
:goto_11
return-object v0
.line 95
:cond_12
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->e()I
move-result v1
iput v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->a:I
.line 96
iget v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->a:I
if-ltz v1, :cond_11
.line 99
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->f()Ljava/util/List;
move-result-object v1
.line 100
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->g()Ljava/util/List;
move-result-object v2
.line 102
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v3
if-nez v3, :cond_57
.line 103
invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
move-result-object v3
const/4 v4, 0x5
invoke-virtual {v3, v4}, Ljava/util/Calendar;->get(I)I
move-result v3
.line 105
new-instance v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;
invoke-direct {v4}, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;-><init>()V
.line 106
const-string v5, ""
iput-object v5, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->text:Ljava/lang/String;
.line 107
iput v7, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->index:I
.line 108
const-string v5, "%s"
new-array v6, v8, [Ljava/lang/Object;
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v6, v7
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
iput-object v3, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
.line 109
const-string v3, ""
iput-object v3, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->locatorText:Ljava/lang/String;
.line 110
iput v7, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->type:I
.line 111
invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 114
:cond_57
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v3
if-nez v3, :cond_77
.line 115
invoke-static {}, Lcom/cm/reminder/asr/helper/v2/c/a;->d()Ljava/lang/String;
move-result-object v3
.line 116
new-instance v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;
invoke-direct {v4}, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;-><init>()V
.line 117
const-string v5, ""
iput-object v5, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->text:Ljava/lang/String;
.line 118
iput v7, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->index:I
.line 119
iput-object v3, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
.line 120
const-string v3, ""
iput-object v3, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->locatorText:Ljava/lang/String;
.line 121
iput v8, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->type:I
.line 122
invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 124
:cond_77
if-eqz v1, :cond_7c
.line 125
invoke-interface {v0, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 127
:cond_7c
if-eqz v2, :cond_11
.line 128
invoke-interface {v0, v2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
goto :goto_11
.end method
# virtual methods
.method public d()Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;
.registers 5
.prologue
const/4 v0, 0x0
.line 36
invoke-direct {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->i()V
.line 37
const-string v1, "TextParser"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " , "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
iget v3, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->a:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->b()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/cm/reminder/asr/helper/c;->b(Ljava/lang/String;Ljava/lang/String;)V
.line 39
iget-object v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
if-eqz v1, :cond_3b
.line 40
iget-object v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
invoke-static {v1}, Ljava/util/Collections;->sort(Ljava/util/List;)V
.line 43
:cond_3b
iget-object v1, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
const/4 v2, 0x0
invoke-static {v1, v2}, Lcom/cm/reminder/asr/helper/v2/c/a;->a(Ljava/util/List;I)Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;
move-result-object v1
.line 44
iget-object v2, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->b:Ljava/util/List;
const/4 v3, 0x1
invoke-static {v2, v3}, Lcom/cm/reminder/asr/helper/v2/c/a;->a(Ljava/util/List;I)Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;
move-result-object v2
.line 46
if-eqz v1, :cond_4d
if-nez v2, :cond_4e
.line 74
:cond_4d
:goto_4d
return-object v0
.line 49
:cond_4e
iget-object v3, v1, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_4d
iget-object v3, v2, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_4d
.line 53
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
.line 55
invoke-interface {v3, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 56
invoke-interface {v3, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 58
iget-object v1, v1, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
.line 59
iget-object v2, v2, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
.line 62
invoke-static {v1, v2}, Lcom/cm/reminder/asr/helper/v2/c/a;->c(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 63
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_4d
.line 65
new-instance v0, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;
invoke-direct {v0}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;-><init>()V
.line 66
iget v2, p0, Lcom/cm/reminder/asr/helper/v2/b/d;->a:I
invoke-virtual {v0, v2}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setFraquent(I)V
.line 67
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->b()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setRepeatText(Ljava/lang/String;)V
.line 68
const/4 v2, 0x4
invoke-virtual {v0, v2}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setRepeatType(I)V
.line 69
invoke-virtual {v0, v1}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setDateTime(Ljava/lang/String;)V
.line 70
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->h()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setDateTimeFormat(Ljava/lang/String;)V
.line 71
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->c()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setSourceText(Ljava/lang/String;)V
.line 72
invoke-virtual {v0, v3}, Lcom/cm/reminder/asr/helper/v2/model/ScheduleTaskBean;->setDateTimeNodes(Ljava/util/List;)V
goto :goto_4d
.end method
.method public e()I
.registers 3
.prologue
.line 189
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->b()Ljava/lang/String;
move-result-object v0
.line 190
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_c
const/4 v0, -0x1
.line 198
:goto_b
return v0
.line 192
:cond_c
sget-object v1, Lcom/cm/reminder/asr/helper/v2/c;->G:Ljava/lang/CharSequence;
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_16
.line 193
const/4 v0, 0x6
goto :goto_b
.line 195
:cond_16
sget-object v1, Lcom/cm/reminder/asr/helper/v2/c;->H:Ljava/lang/CharSequence;
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_20
.line 196
const/4 v0, 0x3
goto :goto_b
.line 198
:cond_20
invoke-super {p0}, Lcom/cm/reminder/asr/helper/v2/a;->e()I
move-result v0
goto :goto_b
.end method
.method public f()Ljava/util/List;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;",
">;"
}
.end annotation
.prologue
const/4 v6, 0x1
.line 139
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 141
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->b()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "\\w{1,3}(\u65e5|\u53f7)?"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 142
invoke-virtual {p0}, Lcom/cm/reminder/asr/helper/v2/b/d;->c()Ljava/lang/String;
move-result-object v2
.line 143
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
invoke-virtual {v0, v2}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 145
:cond_29
invoke-virtual {v2}, Ljava/util/regex/Matcher;->find()Z
move-result v0
if-eqz v0, :cond_ac
.line 146
invoke-virtual {v2}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v3
.line 147
const-string v0, "\u6708"
invoke-virtual {v3, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 149
if-eqz v0, :cond_29
array-length v4, v0
const/4 v5, 0x2
if-lt v4, v5, :cond_29
.line 152
aget-object v0, v0, v6
.line 154
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_29
.line 155
invoke-static {v0}, Lcom/cm/reminder/asr/helper/v2/c/a;->d(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 156
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_29
invoke-static {v3}, Landroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_29
.line 158
invoke-static {v3}, Lcom/cm/reminder/asr/helper/v2/c/a;->i(Ljava/lang/String;)I
move-result v3
.line 159
const/16 v4, 0x1f
if-gt v3, v4, :cond_29
if-lez v3, :cond_29
.line 161
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
.line 162
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v5
if-le v5, v4, :cond_8b
.line 163
invoke-virtual {v0, v4}, Ljava/lang/String;->charAt(I)C
move-result v4
.line 164
invoke-static {v4}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v4
.line 166
const-string v5, "\u65e5"
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_8b
const-string v5, "\u53f7"
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_8b
.line 167
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
.line 171
:cond_8b
new-instance v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;
invoke-direct {v4}, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;-><init>()V
.line 172
const-string v5, "%s"
new-array v6, v6, [Ljava/lang/Object;
const/4 v7, 0x0
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v6, v7
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
.line 173
iput-object v0, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->text:Ljava/lang/String;
.line 174
invoke-virtual {v2}, Ljava/util/regex/Matcher;->start()I
move-result v0
iput v0, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->index:I
.line 175
iput-object v3, v4, Lcom/cm/reminder/asr/helper/v2/model/DateTimeNode;->resultText:Ljava/lang/String;
.line 177
invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 183
:cond_ac
return-object v1
.end method
.method public h()Ljava/lang/String;
.registers 2
.prologue
.line 209
const-string v0, "dd HH:mm"
return-object v0
.end method