SuggestionsAdapter.smali
.class Landroid/support/v7/widget/SuggestionsAdapter;
.super Landroid/support/v4/widget/ResourceCursorAdapter;
.source "SuggestionsAdapter.java"
# interfaces
.implements Landroid/view/View$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
}
.end annotation
# static fields
.field private static final DBG:Z = false
.field static final INVALID_INDEX:I = -0x1
.field private static final LOG_TAG:Ljava/lang/String; = "SuggestionsAdapter"
.field private static final QUERY_LIMIT:I = 0x32
.field static final REFINE_ALL:I = 0x2
.field static final REFINE_BY_ENTRY:I = 0x1
.field static final REFINE_NONE:I
# instance fields
.field private mClosed:Z
.field private final mCommitIconResId:I
.field private mFlagsCol:I
.field private mIconName1Col:I
.field private mIconName2Col:I
.field private final mOutsideDrawablesCache:Ljava/util/WeakHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/WeakHashMap",
"<",
"Ljava/lang/String;",
"Landroid/graphics/drawable/Drawable$ConstantState;",
">;"
}
.end annotation
.end field
.field private final mProviderContext:Landroid/content/Context;
.field private mQueryRefinement:I
.field private final mSearchManager:Landroid/app/SearchManager;
.field private final mSearchView:Landroid/support/v7/widget/SearchView;
.field private final mSearchable:Landroid/app/SearchableInfo;
.field private mText1Col:I
.field private mText2Col:I
.field private mText2UrlCol:I
.field private mUrlColor:Landroid/content/res/ColorStateList;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/support/v7/widget/SearchView;Landroid/app/SearchableInfo;Ljava/util/WeakHashMap;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Landroid/support/v7/widget/SearchView;",
"Landroid/app/SearchableInfo;",
"Ljava/util/WeakHashMap",
"<",
"Ljava/lang/String;",
"Landroid/graphics/drawable/Drawable$ConstantState;",
">;)V"
}
.end annotation
.prologue
const/4 v3, 0x1
const/4 v2, -0x1
.line 94
invoke-virtual {p2}, Landroid/support/v7/widget/SearchView;->getSuggestionRowLayout()I
move-result v0
const/4 v1, 0x0
invoke-direct {p0, p1, v0, v1, v3}, Landroid/support/v4/widget/ResourceCursorAdapter;-><init>(Landroid/content/Context;ILandroid/database/Cursor;Z)V
.line 73
const/4 v0, 0x0
iput-boolean v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mClosed:Z
.line 74
iput v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
.line 82
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText1Col:I
.line 83
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2Col:I
.line 84
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2UrlCol:I
.line 85
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName1Col:I
.line 86
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName2Col:I
.line 87
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
.line 96
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
const-string v1, "search"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/SearchManager;
iput-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchManager:Landroid/app/SearchManager;
.line 97
iput-object p2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchView:Landroid/support/v7/widget/SearchView;
.line 98
iput-object p3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchable:Landroid/app/SearchableInfo;
.line 99
invoke-virtual {p2}, Landroid/support/v7/widget/SearchView;->getSuggestionCommitIconResId()I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mCommitIconResId:I
.line 102
iput-object p1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mProviderContext:Landroid/content/Context;
.line 104
iput-object p4, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
.line 105
return-void
.end method
.method private checkIconCache(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
.registers 3
.prologue
.line 582
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
invoke-virtual {v0, p1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/drawable/Drawable$ConstantState;
.line 583
if-nez v0, :cond_c
.line 584
const/4 v0, 0x0
.line 587
:goto_b
return-object v0
:cond_c
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable$ConstantState;->newDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
goto :goto_b
.end method
.method private formatUrl(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
.registers 9
.prologue
const/4 v1, 0x0
const/4 v2, 0x0
.line 335
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mUrlColor:Landroid/content/res/ColorStateList;
if-nez v0, :cond_25
.line 337
new-instance v0, Landroid/util/TypedValue;
invoke-direct {v0}, Landroid/util/TypedValue;-><init>()V
.line 338
iget-object v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
move-result-object v3
sget v4, Landroid/support/v7/appcompat/R$attr;->textColorSearchUrl:I
const/4 v5, 0x1
invoke-virtual {v3, v4, v0, v5}, Landroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z
.line 339
iget-object v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
iget v0, v0, Landroid/util/TypedValue;->resourceId:I
invoke-virtual {v3, v0}, Landroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList;
move-result-object v0
iput-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mUrlColor:Landroid/content/res/ColorStateList;
.line 342
:cond_25
new-instance v6, Landroid/text/SpannableString;
invoke-direct {v6, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
.line 343
new-instance v0, Landroid/text/style/TextAppearanceSpan;
iget-object v4, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mUrlColor:Landroid/content/res/ColorStateList;
move v3, v2
move-object v5, v1
invoke-direct/range {v0 .. v5}, Landroid/text/style/TextAppearanceSpan;-><init>(Ljava/lang/String;IILandroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V
.line 344
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
move-result v1
const/16 v3, 0x21
.line 343
invoke-virtual {v6, v0, v2, v1, v3}, Landroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V
.line 346
return-object v6
.end method
.method private getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
.registers 7
.prologue
const/4 v0, 0x0
.line 646
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 649
const/16 v2, 0x80
:try_start_9
invoke-virtual {v1, p1, v2}, Landroid/content/pm/PackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
:try_end_c
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_9 .. :try_end_c} :catch_14
move-result-object v2
.line 654
invoke-virtual {v2}, Landroid/content/pm/ActivityInfo;->getIconResource()I
move-result v3
.line 655
if-nez v3, :cond_1f
.line 663
:goto_13
return-object v0
.line 650
:catch_14
move-exception v1
.line 651
const-string v2, "SuggestionsAdapter"
invoke-virtual {v1}, Landroid/content/pm/PackageManager$NameNotFoundException;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_13
.line 656
:cond_1f
invoke-virtual {p1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v4
.line 657
iget-object v2, v2, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
invoke-virtual {v1, v4, v3, v2}, Landroid/content/pm/PackageManager;->getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
move-result-object v1
.line 658
if-nez v1, :cond_52
.line 659
const-string v1, "SuggestionsAdapter"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid icon resource "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " for "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
.line 660
invoke-virtual {p1}, Landroid/content/ComponentName;->flattenToShortString()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
.line 659
invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_13
:cond_52
move-object v0, v1
.line 663
goto :goto_13
.end method
.method private getActivityIconWithCache(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
.registers 6
.prologue
const/4 v1, 0x0
.line 624
invoke-virtual {p1}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
move-result-object v2
.line 626
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
invoke-virtual {v0, v2}, Ljava/util/WeakHashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_24
.line 627
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
invoke-virtual {v0, v2}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/drawable/Drawable$ConstantState;
.line 628
if-nez v0, :cond_19
move-object v0, v1
.line 635
:goto_18
return-object v0
.line 628
:cond_19
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mProviderContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable$ConstantState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
move-result-object v0
goto :goto_18
.line 631
:cond_24
invoke-direct {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 633
if-nez v0, :cond_30
.line 634
:goto_2a
iget-object v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
invoke-virtual {v3, v2, v1}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_18
.line 633
:cond_30
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
move-result-object v1
goto :goto_2a
.end method
.method public static getColumnString(Landroid/database/Cursor;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.prologue
.line 675
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
.line 676
invoke-static {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getStringOrNull(Landroid/database/Cursor;I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private getDefaultIcon1(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
.registers 3
.prologue
.line 605
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchable:Landroid/app/SearchableInfo;
invoke-virtual {v0}, Landroid/app/SearchableInfo;->getSearchActivity()Landroid/content/ComponentName;
move-result-object v0
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getActivityIconWithCache(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 606
if-eqz v0, :cond_d
.line 611
:goto_c
return-object v0
:cond_d
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0}, Landroid/content/pm/PackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
move-result-object v0
goto :goto_c
.end method
.method private getDrawable(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
.registers 8
.prologue
const/4 v1, 0x0
.line 549
:try_start_1
invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v0
.line 550
const-string v2, "android.resource"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
:try_end_a
.catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_a} :catch_2c
move-result v0
if-eqz v0, :cond_55
.line 553
:try_start_d
invoke-virtual {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawableFromResourceUri(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
:try_end_10
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_d .. :try_end_10} :catch_12
.catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_10} :catch_2c
move-result-object v0
.line 575
:goto_11
return-object v0
.line 554
:catch_12
move-exception v0
.line 555
:try_start_13
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Resource does not exist: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_2c
.catch Ljava/io/FileNotFoundException; {:try_start_13 .. :try_end_2c} :catch_2c
.line 573
:catch_2c
move-exception v0
.line 574
const-string v2, "SuggestionsAdapter"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Icon not found: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ", "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v0}, Ljava/io/FileNotFoundException;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, 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
invoke-static {v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
move-object v0, v1
.line 575
goto :goto_11
.line 559
:cond_55
:try_start_55
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mProviderContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/content/ContentResolver;->openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
move-result-object v2
.line 560
if-nez v2, :cond_7a
.line 561
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to open "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_7a
.catch Ljava/io/FileNotFoundException; {:try_start_55 .. :try_end_7a} :catch_2c
.line 564
:cond_7a
const/4 v0, 0x0
:try_start_7b
invoke-static {v2, v0}, Landroid/graphics/drawable/Drawable;->createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
:try_end_7e
.catchall {:try_start_7b .. :try_end_7e} :catchall_9e
move-result-object v0
.line 567
:try_start_7f
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_82
.catch Ljava/io/IOException; {:try_start_7f .. :try_end_82} :catch_83
.catch Ljava/io/FileNotFoundException; {:try_start_7f .. :try_end_82} :catch_2c
goto :goto_11
.line 568
:catch_83
move-exception v2
.line 569
:try_start_84
const-string v3, "SuggestionsAdapter"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Error closing icon stream for "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_9c
.catch Ljava/io/FileNotFoundException; {:try_start_84 .. :try_end_9c} :catch_2c
goto/16 :goto_11
.line 566
:catchall_9e
move-exception v0
.line 567
:try_start_9f
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_a2
.catch Ljava/io/IOException; {:try_start_9f .. :try_end_a2} :catch_a3
.catch Ljava/io/FileNotFoundException; {:try_start_9f .. :try_end_a2} :catch_2c
.line 570
:goto_a2
:try_start_a2
throw v0
.line 568
:catch_a3
move-exception v2
.line 569
const-string v3, "SuggestionsAdapter"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Error closing icon stream for "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_bc
.catch Ljava/io/FileNotFoundException; {:try_start_a2 .. :try_end_bc} :catch_2c
goto :goto_a2
.end method
.method private getDrawableFromResourceValue(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
.registers 6
.prologue
const/4 v1, 0x0
.line 506
if-eqz p1, :cond_11
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-nez v0, :cond_11
const-string v0, "0"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_13
:cond_11
move-object v0, v1
.line 538
:cond_12
:goto_12
return-object v0
.line 511
:cond_13
:try_start_13
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
.line 513
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "android.resource://"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mProviderContext:Landroid/content/Context;
.line 514
invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "/"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 516
invoke-direct {p0, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->checkIconCache(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 517
if-nez v0, :cond_12
.line 521
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mProviderContext:Landroid/content/Context;
invoke-static {v0, v2}, Landroid/support/v4/content/ContextCompat;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 523
invoke-direct {p0, v3, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->storeInIconCache(Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
:try_end_49
.catch Ljava/lang/NumberFormatException; {:try_start_13 .. :try_end_49} :catch_4a
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_13 .. :try_end_49} :catch_5d
goto :goto_12
.line 525
:catch_4a
move-exception v0
.line 527
invoke-direct {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->checkIconCache(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 528
if-nez v0, :cond_12
.line 531
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v0
.line 532
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawable(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 533
invoke-direct {p0, p1, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->storeInIconCache(Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
goto :goto_12
.line 535
:catch_5d
move-exception v0
.line 537
const-string v0, "SuggestionsAdapter"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Icon resource not found: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, 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 {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
move-object v0, v1
.line 538
goto :goto_12
.end method
.method private getIcon1(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
.registers 4
.prologue
.line 361
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName1Col:I
const/4 v1, -0x1
if-ne v0, v1, :cond_7
.line 362
const/4 v0, 0x0
.line 369
:cond_6
:goto_6
return-object v0
.line 364
:cond_7
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName1Col:I
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
.line 365
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawableFromResourceValue(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
.line 366
if-nez v0, :cond_6
.line 369
invoke-direct {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->getDefaultIcon1(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
move-result-object v0
goto :goto_6
.end method
.method private getIcon2(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
.registers 4
.prologue
.line 373
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName2Col:I
const/4 v1, -0x1
if-ne v0, v1, :cond_7
.line 374
const/4 v0, 0x0
.line 377
:goto_6
return-object v0
.line 376
:cond_7
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName2Col:I
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
.line 377
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawableFromResourceValue(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
goto :goto_6
.end method
.method private static getStringOrNull(Landroid/database/Cursor;I)Ljava/lang/String;
.registers 6
.prologue
const/4 v0, 0x0
.line 680
const/4 v1, -0x1
if-ne p1, v1, :cond_5
.line 689
:goto_4
return-object v0
.line 684
:cond_5
:try_start_5
invoke-interface {p0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
:try_end_8
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_8} :catch_a
move-result-object v0
goto :goto_4
.line 685
:catch_a
move-exception v1
.line 686
const-string v2, "SuggestionsAdapter"
const-string/jumbo v3, "unexpected error retrieving valid column from cursor, did the remote process die?"
invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_4
.end method
.method private setViewDrawable(Landroid/widget/ImageView;Landroid/graphics/drawable/Drawable;I)V
.registers 6
.prologue
const/4 v1, 0x0
.line 387
invoke-virtual {p1, p2}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
.line 389
if-nez p2, :cond_a
.line 390
invoke-virtual {p1, p3}, Landroid/widget/ImageView;->setVisibility(I)V
.line 402
:goto_9
return-void
.line 392
:cond_a
invoke-virtual {p1, v1}, Landroid/widget/ImageView;->setVisibility(I)V
.line 399
invoke-virtual {p2, v1, v1}, Landroid/graphics/drawable/Drawable;->setVisible(ZZ)Z
.line 400
const/4 v0, 0x1
invoke-virtual {p2, v0, v1}, Landroid/graphics/drawable/Drawable;->setVisible(ZZ)Z
goto :goto_9
.end method
.method private setViewText(Landroid/widget/TextView;Ljava/lang/CharSequence;)V
.registers 4
.prologue
.line 351
invoke-virtual {p1, p2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 353
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f
.line 354
const/16 v0, 0x8
invoke-virtual {p1, v0}, Landroid/widget/TextView;->setVisibility(I)V
.line 358
:goto_e
return-void
.line 356
:cond_f
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroid/widget/TextView;->setVisibility(I)V
goto :goto_e
.end method
.method private storeInIconCache(Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
.registers 5
.prologue
.line 591
if-eqz p2, :cond_b
.line 592
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
invoke-virtual {p2}, Landroid/graphics/drawable/Drawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
move-result-object v1
invoke-virtual {v0, p1, v1}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 594
:cond_b
return-void
.end method
.method private updateSpinnerState(Landroid/database/Cursor;)V
.registers 4
.prologue
.line 194
if-eqz p1, :cond_11
invoke-interface {p1}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
move-result-object v0
.line 202
:goto_6
if-eqz v0, :cond_10
const-string v1, "in_progress"
.line 203
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_10
.line 207
:cond_10
return-void
.line 194
:cond_11
const/4 v0, 0x0
goto :goto_6
.end method
# virtual methods
.method public bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;)V
.registers 13
.prologue
const/16 v8, 0x8
const/4 v7, 0x2
const/4 v6, 0x1
const/4 v2, 0x0
.line 274
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
.line 277
iget v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
const/4 v3, -0x1
if-eq v1, v3, :cond_a7
.line 278
iget v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
invoke-interface {p3, v1}, Landroid/database/Cursor;->getInt(I)I
move-result v1
.line 280
:goto_16
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
if-eqz v3, :cond_25
.line 281
iget v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText1Col:I
invoke-static {p3, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->getStringOrNull(Landroid/database/Cursor;I)Ljava/lang/String;
move-result-object v3
.line 282
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-direct {p0, v4, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->setViewText(Landroid/widget/TextView;Ljava/lang/CharSequence;)V
.line 284
:cond_25
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText2:Landroid/widget/TextView;
if-eqz v3, :cond_4e
.line 286
iget v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2UrlCol:I
invoke-static {p3, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->getStringOrNull(Landroid/database/Cursor;I)Ljava/lang/String;
move-result-object v3
.line 287
if-eqz v3, :cond_8b
.line 288
invoke-direct {p0, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->formatUrl(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
move-result-object v3
.line 295
:goto_35
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_92
.line 296
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
if-eqz v4, :cond_49
.line 297
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v2}, Landroid/widget/TextView;->setSingleLine(Z)V
.line 298
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v7}, Landroid/widget/TextView;->setMaxLines(I)V
.line 306
:cond_49
:goto_49
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText2:Landroid/widget/TextView;
invoke-direct {p0, v4, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->setViewText(Landroid/widget/TextView;Ljava/lang/CharSequence;)V
.line 309
:cond_4e
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIcon1:Landroid/widget/ImageView;
if-eqz v3, :cond_5c
.line 310
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIcon1:Landroid/widget/ImageView;
invoke-direct {p0, p3}, Landroid/support/v7/widget/SuggestionsAdapter;->getIcon1(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
move-result-object v4
const/4 v5, 0x4
invoke-direct {p0, v3, v4, v5}, Landroid/support/v7/widget/SuggestionsAdapter;->setViewDrawable(Landroid/widget/ImageView;Landroid/graphics/drawable/Drawable;I)V
.line 312
:cond_5c
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIcon2:Landroid/widget/ImageView;
if-eqz v3, :cond_69
.line 313
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIcon2:Landroid/widget/ImageView;
invoke-direct {p0, p3}, Landroid/support/v7/widget/SuggestionsAdapter;->getIcon2(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
move-result-object v4
invoke-direct {p0, v3, v4, v8}, Landroid/support/v7/widget/SuggestionsAdapter;->setViewDrawable(Landroid/widget/ImageView;Landroid/graphics/drawable/Drawable;I)V
.line 315
:cond_69
iget v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
if-eq v3, v7, :cond_75
iget v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
if-ne v3, v6, :cond_a1
and-int/lit8 v1, v1, 0x1
if-eqz v1, :cond_a1
.line 318
:cond_75
iget-object v1, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIconRefine:Landroid/widget/ImageView;
invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setVisibility(I)V
.line 319
iget-object v1, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIconRefine:Landroid/widget/ImageView;
iget-object v2, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v2}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setTag(Ljava/lang/Object;)V
.line 320
iget-object v0, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIconRefine:Landroid/widget/ImageView;
invoke-virtual {v0, p0}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 324
:goto_8a
return-void
.line 290
:cond_8b
iget v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2Col:I
invoke-static {p3, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->getStringOrNull(Landroid/database/Cursor;I)Ljava/lang/String;
move-result-object v3
goto :goto_35
.line 301
:cond_92
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
if-eqz v4, :cond_49
.line 302
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setSingleLine(Z)V
.line 303
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setMaxLines(I)V
goto :goto_49
.line 322
:cond_a1
iget-object v0, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIconRefine:Landroid/widget/ImageView;
invoke-virtual {v0, v8}, Landroid/widget/ImageView;->setVisibility(I)V
goto :goto_8a
:cond_a7
move v1, v2
goto/16 :goto_16
.end method
.method public changeCursor(Landroid/database/Cursor;)V
.registers 5
.prologue
.line 216
iget-boolean v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mClosed:Z
if-eqz v0, :cond_11
.line 217
const-string v0, "SuggestionsAdapter"
const-string v1, "Tried to change cursor after adapter was closed."
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 218
if-eqz p1, :cond_10
invoke-interface {p1}, Landroid/database/Cursor;->close()V
.line 236
:cond_10
:goto_10
return-void
.line 223
:cond_11
:try_start_11
invoke-super {p0, p1}, Landroid/support/v4/widget/ResourceCursorAdapter;->changeCursor(Landroid/database/Cursor;)V
.line 225
if-eqz p1, :cond_10
.line 226
const-string v0, "suggest_text_1"
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText1Col:I
.line 227
const-string v0, "suggest_text_2"
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2Col:I
.line 228
const-string v0, "suggest_text_2_url"
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2UrlCol:I
.line 229
const-string v0, "suggest_icon_1"
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName1Col:I
.line 230
const-string v0, "suggest_icon_2"
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName2Col:I
.line 231
const-string v0, "suggest_flags"
invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
:try_end_46
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_46} :catch_47
goto :goto_10
.line 233
:catch_47
move-exception v0
.line 234
const-string v1, "SuggestionsAdapter"
const-string v2, "error changing cursor and caching columns"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_10
.end method
.method public close()V
.registers 2
.prologue
.line 173
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->changeCursor(Landroid/database/Cursor;)V
.line 174
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mClosed:Z
.line 175
return-void
.end method
.method public convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;
.registers 4
.prologue
const/4 v0, 0x0
.line 414
if-nez p1, :cond_4
.line 437
:cond_3
:goto_3
return-object v0
.line 418
:cond_4
const-string v1, "suggest_intent_query"
invoke-static {p1, v1}, Landroid/support/v7/widget/SuggestionsAdapter;->getColumnString(Landroid/database/Cursor;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 419
if-eqz v1, :cond_e
move-object v0, v1
.line 420
goto :goto_3
.line 423
:cond_e
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchable:Landroid/app/SearchableInfo;
invoke-virtual {v1}, Landroid/app/SearchableInfo;->shouldRewriteQueryFromData()Z
move-result v1
if-eqz v1, :cond_20
.line 424
const-string v1, "suggest_intent_data"
invoke-static {p1, v1}, Landroid/support/v7/widget/SuggestionsAdapter;->getColumnString(Landroid/database/Cursor;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 425
if-eqz v1, :cond_20
move-object v0, v1
.line 426
goto :goto_3
.line 430
:cond_20
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchable:Landroid/app/SearchableInfo;
invoke-virtual {v1}, Landroid/app/SearchableInfo;->shouldRewriteQueryFromText()Z
move-result v1
if-eqz v1, :cond_3
.line 431
const-string v1, "suggest_text_1"
invoke-static {p1, v1}, Landroid/support/v7/widget/SuggestionsAdapter;->getColumnString(Landroid/database/Cursor;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 432
if-eqz v1, :cond_3
move-object v0, v1
.line 433
goto :goto_3
.end method
.method getDrawableFromResourceUri(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/FileNotFoundException;
}
.end annotation
.prologue
const/4 v6, 0x1
const/4 v5, 0x0
.line 698
invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
move-result-object v2
.line 700
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_25
.line 701
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "No authority: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 704
:cond_25
:try_start_25
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
:try_end_2e
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_25 .. :try_end_2e} :catch_4e
move-result-object v3
.line 709
invoke-virtual {p1}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
move-result-object v1
.line 710
if-nez v1, :cond_68
.line 711
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "No path: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 705
:catch_4e
move-exception v0
.line 706
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "No package found for authority: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 713
:cond_68
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v0
.line 715
if-ne v0, v6, :cond_ae
.line 717
const/4 v0, 0x0
:try_start_6f
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
:try_end_78
.catch Ljava/lang/NumberFormatException; {:try_start_6f .. :try_end_78} :catch_94
move-result v0
.line 726
:goto_79
if-nez v0, :cond_db
.line 727
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "No resource found for: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 718
:catch_94
move-exception v0
.line 719
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Single path segment is not a resource ID: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 721
:cond_ae
const/4 v4, 0x2
if-ne v0, v4, :cond_c2
.line 722
invoke-interface {v1, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-interface {v1, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v3, v0, v1, v2}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
goto :goto_79
.line 724
:cond_c2
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "More than two path segments: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 729
:cond_db
invoke-virtual {v3, v0}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v0
return-object v0
.end method
.method public getDropDownView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
.registers 7
.prologue
.line 472
:try_start_0
invoke-super {p0, p1, p2, p3}, Landroid/support/v4/widget/ResourceCursorAdapter;->getDropDownView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
:try_end_3
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_3} :catch_5
move-result-object v0
.line 482
:goto_4
return-object v0
.line 473
:catch_5
move-exception v2
.line 474
const-string v0, "SuggestionsAdapter"
const-string v1, "Search suggestions cursor threw exception."
invoke-static {v0, v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 476
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mCursor:Landroid/database/Cursor;
invoke-virtual {p0, v0, v1, p3}, Landroid/support/v7/widget/SuggestionsAdapter;->newDropDownView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;
move-result-object v1
.line 477
if-eqz v1, :cond_26
.line 478
invoke-virtual {v1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
.line 479
iget-object v0, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
.line 480
invoke-virtual {v2}, Ljava/lang/RuntimeException;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
:cond_26
move-object v0, v1
.line 482
goto :goto_4
.end method
.method public getQueryRefinement()I
.registers 2
.prologue
.line 125
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
return v0
.end method
.method getSearchManagerSuggestions(Landroid/app/SearchableInfo;Ljava/lang/String;I)Landroid/database/Cursor;
.registers 10
.prologue
const/4 v2, 0x0
.line 736
if-nez p1, :cond_4
.line 777
:cond_3
:goto_3
return-object v2
.line 740
:cond_4
invoke-virtual {p1}, Landroid/app/SearchableInfo;->getSuggestAuthority()Ljava/lang/String;
move-result-object v0
.line 741
if-eqz v0, :cond_3
.line 745
new-instance v1, Landroid/net/Uri$Builder;
invoke-direct {v1}, Landroid/net/Uri$Builder;-><init>()V
const-string v3, "content"
.line 746
invoke-virtual {v1, v3}, Landroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v1
.line 747
invoke-virtual {v1, v0}, Landroid/net/Uri$Builder;->authority(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
const-string v1, ""
.line 748
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->query(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
const-string v1, ""
.line 749
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->fragment(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
.line 752
invoke-virtual {p1}, Landroid/app/SearchableInfo;->getSuggestPath()Ljava/lang/String;
move-result-object v1
.line 753
if-eqz v1, :cond_2e
.line 754
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
.line 758
:cond_2e
const-string v1, "search_suggest_query"
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
.line 761
invoke-virtual {p1}, Landroid/app/SearchableInfo;->getSuggestSelection()Ljava/lang/String;
move-result-object v3
.line 764
if-eqz v3, :cond_5a
.line 765
const/4 v1, 0x1
new-array v4, v1, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p2, v4, v1
.line 770
:goto_3f
if-lez p3, :cond_4a
.line 771
const-string v1, "limit"
invoke-static {p3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v1, v5}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
.line 774
:cond_4a
invoke-virtual {v0}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object v1
.line 777
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
move-object v5, v2
invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v2
goto :goto_3
.line 767
:cond_5a
invoke-virtual {v0, p2}, Landroid/net/Uri$Builder;->appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-object v4, v2
goto :goto_3f
.end method
.method public getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
.registers 7
.prologue
.line 449
:try_start_0
invoke-super {p0, p1, p2, p3}, Landroid/support/v4/widget/ResourceCursorAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
:try_end_3
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_3} :catch_5
move-result-object v0
.line 459
:goto_4
return-object v0
.line 450
:catch_5
move-exception v2
.line 451
const-string v0, "SuggestionsAdapter"
const-string v1, "Search suggestions cursor threw exception."
invoke-static {v0, v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 453
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mCursor:Landroid/database/Cursor;
invoke-virtual {p0, v0, v1, p3}, Landroid/support/v7/widget/SuggestionsAdapter;->newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;
move-result-object v1
.line 454
if-eqz v1, :cond_26
.line 455
invoke-virtual {v1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
.line 456
iget-object v0, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
.line 457
invoke-virtual {v2}, Ljava/lang/RuntimeException;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
:cond_26
move-object v0, v1
.line 459
goto :goto_4
.end method
.method public hasStableIds()Z
.registers 2
.prologue
.line 134
const/4 v0, 0x0
return v0
.end method
.method public newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;
.registers 7
.prologue
.line 243
invoke-super {p0, p1, p2, p3}, Landroid/support/v4/widget/ResourceCursorAdapter;->newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;
move-result-object v1
.line 244
new-instance v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
invoke-direct {v0, v1}, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;-><init>(Landroid/view/View;)V
invoke-virtual {v1, v0}, Landroid/view/View;->setTag(Ljava/lang/Object;)V
.line 247
sget v0, Landroid/support/v7/appcompat/R$id;->edit_query:I
invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
.line 248
iget v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mCommitIconResId:I
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setImageResource(I)V
.line 249
return-object v1
.end method
.method public notifyDataSetChanged()V
.registers 2
.prologue
.line 180
invoke-super {p0}, Landroid/support/v4/widget/ResourceCursorAdapter;->notifyDataSetChanged()V
.line 182
invoke-virtual {p0}, Landroid/support/v7/widget/SuggestionsAdapter;->getCursor()Landroid/database/Cursor;
move-result-object v0
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->updateSpinnerState(Landroid/database/Cursor;)V
.line 183
return-void
.end method
.method public notifyDataSetInvalidated()V
.registers 2
.prologue
.line 188
invoke-super {p0}, Landroid/support/v4/widget/ResourceCursorAdapter;->notifyDataSetInvalidated()V
.line 190
invoke-virtual {p0}, Landroid/support/v7/widget/SuggestionsAdapter;->getCursor()Landroid/database/Cursor;
move-result-object v0
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->updateSpinnerState(Landroid/database/Cursor;)V
.line 191
return-void
.end method
.method public onClick(Landroid/view/View;)V
.registers 4
.prologue
.line 328
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
.line 329
instance-of v1, v0, Ljava/lang/CharSequence;
if-eqz v1, :cond_f
.line 330
iget-object v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchView:Landroid/support/v7/widget/SearchView;
check-cast v0, Ljava/lang/CharSequence;
invoke-virtual {v1, v0}, Landroid/support/v7/widget/SearchView;->onQueryRefine(Ljava/lang/CharSequence;)V
.line 332
:cond_f
return-void
.end method
.method public runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;
.registers 6
.prologue
const/4 v1, 0x0
.line 145
if-nez p1, :cond_17
const-string v0, ""
.line 151
:goto_5
iget-object v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchView:Landroid/support/v7/widget/SearchView;
invoke-virtual {v2}, Landroid/support/v7/widget/SearchView;->getVisibility()I
move-result v2
if-nez v2, :cond_15
iget-object v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchView:Landroid/support/v7/widget/SearchView;
.line 152
invoke-virtual {v2}, Landroid/support/v7/widget/SearchView;->getWindowVisibility()I
move-result v2
if-eqz v2, :cond_1c
:cond_15
move-object v0, v1
.line 168
:goto_16
return-object v0
.line 145
:cond_17
invoke-interface {p1}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_5
.line 156
:cond_1c
:try_start_1c
iget-object v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchable:Landroid/app/SearchableInfo;
const/16 v3, 0x32
invoke-virtual {p0, v2, v0, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->getSearchManagerSuggestions(Landroid/app/SearchableInfo;Ljava/lang/String;I)Landroid/database/Cursor;
move-result-object v0
.line 159
if-eqz v0, :cond_32
.line 160
invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
:try_end_29
.catch Ljava/lang/RuntimeException; {:try_start_1c .. :try_end_29} :catch_2a
goto :goto_16
.line 163
:catch_2a
move-exception v0
.line 164
const-string v2, "SuggestionsAdapter"
const-string v3, "Search suggestions query threw an exception."
invoke-static {v2, v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_32
move-object v0, v1
.line 168
goto :goto_16
.end method
.method public setQueryRefinement(I)V
.registers 2
.prologue
.line 117
iput p1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
.line 118
return-void
.end method