LocalSearchContactsAdapter.smali
.class public Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;
.super Lcom/imo/android/imoim/adapters/FoldableCursorAdapter;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;
}
.end annotation
# static fields
.field private static final h:Ljava/lang/String;
# instance fields
.field public a:Z
.field private f:Ljava/lang/String;
.field private g:Landroid/content/Context;
.field private i:Landroid/view/LayoutInflater;
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 45
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, " ( ( ( LOWER(_alias_sl) GLOB ? OR LOWER(_alias_sl) GLOB ?) OR phone GLOB ? ) AND "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-object v1, Lcom/imo/android/imoim/ai/a;->b:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->h:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/database/Cursor;)V
.registers 4
const/4 v0, 0x0
.line 55
invoke-direct {p0, p1, p2, v0}, Lcom/imo/android/imoim/adapters/FoldableCursorAdapter;-><init>(Landroid/content/Context;Landroid/database/Cursor;I)V
.line 52
iput-boolean v0, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->a:Z
const-string p2, "layout_inflater"
.line 57
invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/view/LayoutInflater;
iput-object p1, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->i:Landroid/view/LayoutInflater;
const p2, 0x7f0b05e9
const/4 v0, 0x0
.line 1101
invoke-virtual {p1, p2, v0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object p1
if-eqz p1, :cond_2b
const p2, 0x7f0913af
.line 1103
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/TextView;
const v0, 0x7f0f080e
invoke-virtual {p2, v0}, Landroid/widget/TextView;->setText(I)V
.line 2059
iput-object p1, p0, Lcom/imo/android/imoim/adapters/FoldableCursorAdapter;->b:Landroid/view/View;
:cond_2b
return-void
.end method
.method private static a(Ljava/lang/String;Landroid/content/Context;Ljava/lang/String;)Landroid/text/Spannable;
.registers 7
.line 193
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-virtual {p0, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, p2}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v0
.line 194
invoke-virtual {p2}, Ljava/lang/String;->length()I
move-result v1
add-int/2addr v1, v0
.line 195
new-instance v2, Landroid/text/SpannableString;
invoke-direct {v2, p0}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
const/4 v3, -0x1
if-eq v0, v3, :cond_56
.line 197
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
if-gt v0, v3, :cond_3a
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
if-le v1, v3, :cond_24
goto :goto_3a
.line 200
:cond_24
new-instance p0, Landroid/text/style/ForegroundColorSpan;
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
const p2, 0x7f060429
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getColor(I)I
move-result p1
invoke-direct {p0, p1}, Landroid/text/style/ForegroundColorSpan;-><init>(I)V
const/16 p1, 0x21
invoke-interface {v2, p0, v0, v1, p1}, Landroid/text/Spannable;->setSpan(Ljava/lang/Object;III)V
goto :goto_56
.line 198
:cond_3a
:goto_3a
new-instance p1, Ljava/lang/StringBuilder;
const-string v0, "matchColor failed:text: "
invoke-direct {p1, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, " query: "
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const/4 p1, 0x1
const-string p2, "Searchable"
.line 7079
invoke-static {p2, p0, p1}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V
:cond_56
:goto_56
return-object v2
.end method
# virtual methods
.method public final a(Ljava/lang/String;)V
.registers 6
.line 6151
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
.line 114
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->f:Ljava/lang/String;
.line 115
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_14
const/4 v0, 0x0
.line 116
invoke-virtual {p0, v0}, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->changeCursor(Landroid/database/Cursor;)V
.line 119
:cond_14
invoke-static {p1}, Lcom/imo/android/imoim/util/ei;->ar(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 128
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, " where "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-object v2, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->h:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 129
new-instance v2, Ljava/util/ArrayList;
.line 130
invoke-static {v0}, Lcom/imo/android/imoim/activities/Searchable;->getSelectionArgs(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 129
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
invoke-direct {v2, v0}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 132
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "*"
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 135
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, " select friends._id,buid,phone,friends.name,icon,friends.display,friends.starred,friends.is_muted,phone_numbers.type,last_active_times"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " from friends left join phone_numbers on buid = uid"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " ORDER BY times_contacted DESC, friends.name COLLATE LOCALIZED ASC"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 136
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/String;
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
check-cast v0, [Ljava/lang/String;
invoke-static {p1, v0}, Lcom/imo/android/imoim/util/at;->a(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p1
.line 138
invoke-virtual {p0, p1}, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->changeCursor(Landroid/database/Cursor;)V
return-void
.end method
.method public bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;)V
.registers 12
.line 70
iput-object p2, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->g:Landroid/content/Context;
.line 71
invoke-static {p3}, Lcom/imo/android/imoim/data/Buddy;->d(Landroid/database/Cursor;)Lcom/imo/android/imoim/data/Buddy;
move-result-object v0
const-string v1, "phone"
.line 72
invoke-static {p3, v1}, Lcom/imo/android/imoim/util/ei;->a(Landroid/database/Cursor;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lcom/imo/android/imoim/data/Buddy;->e:Ljava/lang/String;
.line 73
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;
.line 2164
iget-object v2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->e:Landroid/widget/LinearLayout;
const/4 v3, 0x0
invoke-virtual {v2, v3}, Landroid/widget/LinearLayout;->setVisibility(I)V
.line 2165
iget-object v2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->b:Landroid/widget/TextView;
iget-object v4, v0, Lcom/imo/android/imoim/data/Buddy;->b:Ljava/lang/String;
iget-object v5, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->h:Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;
.line 3040
iget-object v5, v5, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->f:Ljava/lang/String;
.line 4040
invoke-static {v4, p2, v5}, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->a(Ljava/lang/String;Landroid/content/Context;Ljava/lang/String;)Landroid/text/Spannable;
move-result-object v4
.line 2165
invoke-virtual {v2, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 2166
iget-object v2, v0, Lcom/imo/android/imoim/data/Buddy;->e:Ljava/lang/String;
const/4 v4, 0x1
const/16 v5, 0x8
if-eqz v2, :cond_62
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
.line 2168
invoke-virtual {p2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v6
const v7, 0x7f0f06dc
invoke-virtual {v6, v7}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v6
aput-object v6, v2, v3
const-string v6, ":"
aput-object v6, v2, v4
const/4 v6, 0x2
iget-object v7, v0, Lcom/imo/android/imoim/data/Buddy;->e:Ljava/lang/String;
aput-object v7, v2, v6
const-string v6, "%s%s%s"
invoke-static {v6, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
.line 2169
iget-object v6, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->c:Landroid/widget/TextView;
iget-object v7, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->h:Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;
.line 5040
iget-object v7, v7, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->f:Ljava/lang/String;
.line 6040
invoke-static {v2, p2, v7}, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->a(Ljava/lang/String;Landroid/content/Context;Ljava/lang/String;)Landroid/text/Spannable;
move-result-object v2
.line 2169
invoke-virtual {v6, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 2170
iget-object v2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->c:Landroid/widget/TextView;
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setVisibility(I)V
goto :goto_67
.line 2172
:cond_62
iget-object v2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->c:Landroid/widget/TextView;
invoke-virtual {v2, v5}, Landroid/widget/TextView;->setVisibility(I)V
.line 2174
:goto_67
iget-object v2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->f:Landroid/widget/ImageView;
new-instance v6, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a$1;
invoke-direct {v6, v1, p2, v0}, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a$1;-><init>(Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;Landroid/content/Context;Lcom/imo/android/imoim/data/Buddy;)V
invoke-virtual {v2, v6}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 2184
iget-object p2, v0, Lcom/imo/android/imoim/data/Buddy;->c:Ljava/lang/String;
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p2
if-nez p2, :cond_8c
iget-object p2, v0, Lcom/imo/android/imoim/data/Buddy;->c:Ljava/lang/String;
const-string v2, "http"
invoke-virtual {p2, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p2
if-nez p2, :cond_84
goto :goto_8c
.line 2187
:cond_84
iget-object p2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->a:Lcom/imo/android/imoim/fresco/ImoImageView;
iget-object v0, v0, Lcom/imo/android/imoim/data/Buddy;->c:Ljava/lang/String;
invoke-static {p2, v0}, Lcom/imo/android/imoim/managers/aq;->c(Lcom/imo/android/imoim/fresco/ImoImageView;Ljava/lang/String;)V
goto :goto_95
.line 2185
:cond_8c
:goto_8c
iget-object p2, v1, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;->a:Lcom/imo/android/imoim/fresco/ImoImageView;
iget-object v1, v0, Lcom/imo/android/imoim/data/Buddy;->c:Ljava/lang/String;
iget-object v0, v0, Lcom/imo/android/imoim/data/Buddy;->a:Ljava/lang/String;
invoke-static {p2, v1, v0}, Lcom/imo/android/imoim/managers/aq;->a(Lcom/imo/android/imoim/fresco/ImoImageView;Ljava/lang/String;Ljava/lang/String;)V
:goto_95
const p2, 0x7f091036
.line 75
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p1
.line 76
iget-boolean p2, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->c:Z
if-eqz p2, :cond_aa
invoke-interface {p3}, Landroid/database/Cursor;->isLast()Z
move-result p2
if-eqz p2, :cond_aa
.line 77
invoke-virtual {p1, v3}, Landroid/view/View;->setVisibility(I)V
goto :goto_bb
.line 78
:cond_aa
iget-boolean p2, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->d:Z
if-eqz p2, :cond_b8
invoke-interface {p3}, Landroid/database/Cursor;->isLast()Z
move-result p2
if-eqz p2, :cond_b8
.line 79
invoke-virtual {p1, v3}, Landroid/view/View;->setVisibility(I)V
goto :goto_bb
.line 81
:cond_b8
invoke-virtual {p1, v5}, Landroid/view/View;->setVisibility(I)V
.line 84
:goto_bb
iget-boolean p2, p0, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;->a:Z
if-eqz p2, :cond_e6
.line 85
invoke-virtual {p1, v3}, Landroid/view/View;->setVisibility(I)V
.line 86
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object p2
.line 87
instance-of p3, p2, Landroid/widget/RelativeLayout$LayoutParams;
if-eqz p3, :cond_e6
.line 88
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p3
const/16 v0, 0xf
invoke-static {p3, v0}, Lcom/imo/xui/util/b;->a(Landroid/content/Context;I)I
move-result p3
.line 89
check-cast p2, Landroid/widget/RelativeLayout$LayoutParams;
.line 90
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x11
if-lt v0, v1, :cond_df
.line 91
invoke-virtual {p2, p3}, Landroid/widget/RelativeLayout$LayoutParams;->setMarginEnd(I)V
.line 93
:cond_df
iput p3, p2, Landroid/widget/RelativeLayout$LayoutParams;->rightMargin:I
.line 94
iput v4, p2, Landroid/widget/RelativeLayout$LayoutParams;->height:I
.line 95
invoke-virtual {p1, p2}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
:cond_e6
return-void
.end method
.method public newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;
.registers 4
const p2, 0x7f0b049d
const/4 p3, 0x0
.line 63
invoke-static {p1, p2, p3}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object p1
.line 64
new-instance p2, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;
invoke-direct {p2, p0, p1}, Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter$a;-><init>(Lcom/imo/android/imoim/search/adapter/LocalSearchContactsAdapter;Landroid/view/View;)V
invoke-virtual {p1, p2}, Landroid/view/View;->setTag(Ljava/lang/Object;)V
return-object p1
.end method