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