SuggestionsAdapter.smali
.class Landroid/support/v7/widget/SuggestionsAdapter;
.super Landroid/support/v4/widget/ResourceCursorAdapter;
# 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
const/4 v3, 0x1
const/4 v2, -0x1
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
const/4 v0, 0x0
iput-boolean v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mClosed:Z
iput v3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText1Col:I
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2Col:I
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mText2UrlCol:I
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName1Col:I
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName2Col:I
iput v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mContext:Landroid/content/Context;
const-string/jumbo 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;
iput-object p2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchView:Landroid/support/v7/widget/SearchView;
iput-object p3, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchable:Landroid/app/SearchableInfo;
invoke-virtual {p2}, Landroid/support/v7/widget/SearchView;->getSuggestionCommitIconResId()I
move-result v0
iput v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mCommitIconResId:I
iput-object p1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mProviderContext:Landroid/content/Context;
iput-object p4, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mOutsideDrawablesCache:Ljava/util/WeakHashMap;
return-void
.end method
.method private checkIconCache(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
.registers 3
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;
if-nez v0, :cond_c
const/4 v0, 0x0
: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
const/4 v1, 0x0
const/4 v2, 0x0
iget-object v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mUrlColor:Landroid/content/res/ColorStateList;
if-nez v0, :cond_25
new-instance v0, Landroid/util/TypedValue;
invoke-direct {v0}, Landroid/util/TypedValue;-><init>()V
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
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;
:cond_25
new-instance v6, Landroid/text/SpannableString;
invoke-direct {v6, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
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
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
move-result v1
const/16 v3, 0x21
invoke-virtual {v6, v0, v2, v1, v3}, Landroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V
return-object v6
.end method
.method private getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
.registers 7
const/4 v0, 0x0
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
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
invoke-virtual {v2}, Landroid/content/pm/ActivityInfo;->getIconResource()I
move-result v3
if-nez v3, :cond_20
:goto_13
return-object v0
:catch_14
move-exception v1
const-string/jumbo 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
:cond_20
invoke-virtual {p1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v4
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
if-nez v1, :cond_56
const-string/jumbo v1, "SuggestionsAdapter"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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/jumbo v3, " for "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
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
invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_13
:cond_56
move-object v0, v1
goto :goto_13
.end method
.method private getActivityIconWithCache(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
.registers 6
const/4 v1, 0x0
invoke-virtual {p1}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
move-result-object v2
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
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;
if-nez v0, :cond_19
move-object v0, v1
:goto_18
return-object v0
: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
:cond_24
invoke-direct {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-nez v0, :cond_30
: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
: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
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
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
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
if-eqz v0, :cond_d
: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
const/4 v1, 0x0
:try_start_1
invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v0
const-string/jumbo v2, "android.resource"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
:try_end_b
.catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_b} :catch_2e
move-result v0
if-eqz v0, :cond_5a
:try_start_e
invoke-virtual {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawableFromResourceUri(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
:try_end_11
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_e .. :try_end_11} :catch_13
.catch Ljava/io/FileNotFoundException; {:try_start_e .. :try_end_11} :catch_2e
move-result-object v0
:goto_12
return-object v0
:catch_13
move-exception v0
:try_start_14
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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_2e
.catch Ljava/io/FileNotFoundException; {:try_start_14 .. :try_end_2e} :catch_2e
:catch_2e
move-exception v0
const-string/jumbo v2, "SuggestionsAdapter"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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/jumbo 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
goto :goto_12
:cond_5a
:try_start_5a
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
if-nez v2, :cond_80
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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_80
.catch Ljava/io/FileNotFoundException; {:try_start_5a .. :try_end_80} :catch_2e
:cond_80
const/4 v0, 0x0
:try_start_81
invoke-static {v2, v0}, Landroid/graphics/drawable/Drawable;->createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
:try_end_84
.catchall {:try_start_81 .. :try_end_84} :catchall_a6
move-result-object v0
:try_start_85
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_88
.catch Ljava/io/IOException; {:try_start_85 .. :try_end_88} :catch_89
.catch Ljava/io/FileNotFoundException; {:try_start_85 .. :try_end_88} :catch_2e
goto :goto_12
:catch_89
move-exception v2
:try_start_8a
const-string/jumbo v3, "SuggestionsAdapter"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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_a4
.catch Ljava/io/FileNotFoundException; {:try_start_8a .. :try_end_a4} :catch_2e
goto/16 :goto_12
:catchall_a6
move-exception v0
:try_start_a7
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_aa
.catch Ljava/io/IOException; {:try_start_a7 .. :try_end_aa} :catch_ab
.catch Ljava/io/FileNotFoundException; {:try_start_a7 .. :try_end_aa} :catch_2e
:goto_aa
:try_start_aa
throw v0
:catch_ab
move-exception v2
const-string/jumbo v3, "SuggestionsAdapter"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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_c6
.catch Ljava/io/FileNotFoundException; {:try_start_aa .. :try_end_c6} :catch_2e
goto :goto_aa
.end method
.method private getDrawableFromResourceValue(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
.registers 6
const/4 v1, 0x0
if-eqz p1, :cond_12
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-nez v0, :cond_12
const-string/jumbo v0, "0"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_14
:cond_12
move-object v0, v1
:cond_13
:goto_13
return-object v0
:cond_14
:try_start_14
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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;
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/jumbo 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
invoke-direct {p0, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->checkIconCache(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-nez v0, :cond_13
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
invoke-direct {p0, v3, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->storeInIconCache(Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
:try_end_4c
.catch Ljava/lang/NumberFormatException; {:try_start_14 .. :try_end_4c} :catch_4d
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_14 .. :try_end_4c} :catch_60
goto :goto_13
:catch_4d
move-exception v0
invoke-direct {p0, p1}, Landroid/support/v7/widget/SuggestionsAdapter;->checkIconCache(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-nez v0, :cond_13
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v0
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawable(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
move-result-object v0
invoke-direct {p0, p1, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->storeInIconCache(Ljava/lang/String;Landroid/graphics/drawable/Drawable;)V
goto :goto_13
:catch_60
move-exception v0
const-string/jumbo v0, "SuggestionsAdapter"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
goto :goto_13
.end method
.method private getIcon1(Landroid/database/Cursor;)Landroid/graphics/drawable/Drawable;
.registers 4
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName1Col:I
const/4 v1, -0x1
if-ne v0, v1, :cond_7
const/4 v0, 0x0
:cond_6
:goto_6
return-object v0
: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
invoke-direct {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->getDrawableFromResourceValue(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-nez v0, :cond_6
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
iget v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mIconName2Col:I
const/4 v1, -0x1
if-ne v0, v1, :cond_7
const/4 v0, 0x0
:goto_6
return-object v0
: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
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
const/4 v0, 0x0
const/4 v1, -0x1
if-ne p1, v1, :cond_5
:goto_4
return-object v0
: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
:catch_a
move-exception v1
const-string/jumbo 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
const/4 v1, 0x0
invoke-virtual {p1, p2}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
if-nez p2, :cond_a
invoke-virtual {p1, p3}, Landroid/widget/ImageView;->setVisibility(I)V
:goto_9
return-void
:cond_a
invoke-virtual {p1, v1}, Landroid/widget/ImageView;->setVisibility(I)V
invoke-virtual {p2, v1, v1}, Landroid/graphics/drawable/Drawable;->setVisible(ZZ)Z
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
invoke-virtual {p1, p2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f
const/16 v0, 0x8
invoke-virtual {p1, v0}, Landroid/widget/TextView;->setVisibility(I)V
:goto_e
return-void
: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
if-eqz p2, :cond_b
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;
:cond_b
return-void
.end method
.method private updateSpinnerState(Landroid/database/Cursor;)V
.registers 4
if-eqz p1, :cond_12
invoke-interface {p1}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
move-result-object v0
:goto_6
if-eqz v0, :cond_11
const-string/jumbo v1, "in_progress"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_11
:cond_11
return-void
:cond_12
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
const/16 v8, 0x8
const/4 v7, 0x2
const/4 v6, 0x1
const/4 v2, 0x0
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
iget v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
const/4 v3, -0x1
if-eq v1, v3, :cond_a7
iget v1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mFlagsCol:I
invoke-interface {p3, v1}, Landroid/database/Cursor;->getInt(I)I
move-result v1
:goto_16
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
if-eqz v3, :cond_25
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
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
:cond_25
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText2:Landroid/widget/TextView;
if-eqz v3, :cond_4e
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
if-eqz v3, :cond_8b
invoke-direct {p0, v3}, Landroid/support/v7/widget/SuggestionsAdapter;->formatUrl(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
move-result-object v3
:goto_35
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_92
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
if-eqz v4, :cond_49
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v2}, Landroid/widget/TextView;->setSingleLine(Z)V
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v7}, Landroid/widget/TextView;->setMaxLines(I)V
: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
:cond_4e
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIcon1:Landroid/widget/ImageView;
if-eqz v3, :cond_5c
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
:cond_5c
iget-object v3, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mIcon2:Landroid/widget/ImageView;
if-eqz v3, :cond_69
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
: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
: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
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
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
:goto_8a
return-void
: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
:cond_92
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
if-eqz v4, :cond_49
iget-object v4, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setSingleLine(Z)V
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
: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
iget-boolean v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mClosed:Z
if-eqz v0, :cond_13
const-string/jumbo v0, "SuggestionsAdapter"
const-string/jumbo v1, "Tried to change cursor after adapter was closed."
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
if-eqz p1, :cond_12
invoke-interface {p1}, Landroid/database/Cursor;->close()V
:cond_12
:goto_12
return-void
:cond_13
:try_start_13
invoke-super {p0, p1}, Landroid/support/v4/widget/ResourceCursorAdapter;->changeCursor(Landroid/database/Cursor;)V
if-eqz p1, :cond_12
const-string/jumbo 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
const-string/jumbo 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
const-string/jumbo 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
const-string/jumbo 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
const-string/jumbo 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
const-string/jumbo 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_4e
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_4e} :catch_4f
goto :goto_12
:catch_4f
move-exception v0
const-string/jumbo v1, "SuggestionsAdapter"
const-string/jumbo 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_12
.end method
.method public close()V
.registers 2
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/support/v7/widget/SuggestionsAdapter;->changeCursor(Landroid/database/Cursor;)V
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mClosed:Z
return-void
.end method
.method public convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;
.registers 4
const/4 v0, 0x0
if-nez p1, :cond_4
:cond_3
:goto_3
return-object v0
:cond_4
const-string/jumbo 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
if-eqz v1, :cond_f
move-object v0, v1
goto :goto_3
:cond_f
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_22
const-string/jumbo 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
if-eqz v1, :cond_22
move-object v0, v1
goto :goto_3
:cond_22
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
const-string/jumbo 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
if-eqz v1, :cond_3
move-object v0, v1
goto :goto_3
.end method
.method getDrawableFromResourceUri(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
.registers 9
const/4 v6, 0x1
const/4 v5, 0x0
invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_26
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
:cond_26
:try_start_26
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_2f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_26 .. :try_end_2f} :catch_50
move-result-object v3
invoke-virtual {p1}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
move-result-object v1
if-nez v1, :cond_6b
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
:catch_50
move-exception v0
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
:cond_6b
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v0
if-ne v0, v6, :cond_b3
const/4 v0, 0x0
:try_start_72
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_7b
.catch Ljava/lang/NumberFormatException; {:try_start_72 .. :try_end_7b} :catch_98
move-result v0
:goto_7c
if-nez v0, :cond_e1
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
:catch_98
move-exception v0
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
:cond_b3
const/4 v4, 0x2
if-ne v0, v4, :cond_c7
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_7c
:cond_c7
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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
:cond_e1
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
: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
:goto_4
return-object v0
:catch_5
move-exception v2
const-string/jumbo v0, "SuggestionsAdapter"
const-string/jumbo 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
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
if-eqz v1, :cond_28
invoke-virtual {v1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
iget-object v0, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
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_28
move-object v0, v1
goto :goto_4
.end method
.method public getQueryRefinement()I
.registers 2
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
const/4 v2, 0x0
if-nez p1, :cond_4
:cond_3
:goto_3
return-object v2
:cond_4
invoke-virtual {p1}, Landroid/app/SearchableInfo;->getSuggestAuthority()Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_3
new-instance v1, Landroid/net/Uri$Builder;
invoke-direct {v1}, Landroid/net/Uri$Builder;-><init>()V
const-string/jumbo v3, "content"
invoke-virtual {v1, v3}, Landroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/net/Uri$Builder;->authority(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
const-string/jumbo v1, ""
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->query(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
const-string/jumbo v1, ""
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->fragment(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
invoke-virtual {p1}, Landroid/app/SearchableInfo;->getSuggestPath()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_31
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
:cond_31
const-string/jumbo v1, "search_suggest_query"
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
invoke-virtual {p1}, Landroid/app/SearchableInfo;->getSuggestSelection()Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_5f
const/4 v1, 0x1
new-array v4, v1, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p2, v4, v1
:goto_43
if-lez p3, :cond_4f
const-string/jumbo 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;
:cond_4f
invoke-virtual {v0}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object v1
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
:cond_5f
invoke-virtual {v0, p2}, Landroid/net/Uri$Builder;->appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-object v4, v2
goto :goto_43
.end method
.method public getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
.registers 7
: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
:goto_4
return-object v0
:catch_5
move-exception v2
const-string/jumbo v0, "SuggestionsAdapter"
const-string/jumbo 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
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
if-eqz v1, :cond_28
invoke-virtual {v1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;
iget-object v0, v0, Landroid/support/v7/widget/SuggestionsAdapter$ChildViewCache;->mText1:Landroid/widget/TextView;
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_28
move-object v0, v1
goto :goto_4
.end method
.method public hasStableIds()Z
.registers 2
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
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
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
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;
iget v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mCommitIconResId:I
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setImageResource(I)V
return-object v1
.end method
.method public notifyDataSetChanged()V
.registers 2
invoke-super {p0}, Landroid/support/v4/widget/ResourceCursorAdapter;->notifyDataSetChanged()V
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
return-void
.end method
.method public notifyDataSetInvalidated()V
.registers 2
invoke-super {p0}, Landroid/support/v4/widget/ResourceCursorAdapter;->notifyDataSetInvalidated()V
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
return-void
.end method
.method public onClick(Landroid/view/View;)V
.registers 4
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Ljava/lang/CharSequence;
if-eqz v1, :cond_f
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
:cond_f
return-void
.end method
.method public runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;
.registers 6
const/4 v1, 0x0
if-nez p1, :cond_18
const-string/jumbo v0, ""
:goto_6
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_16
iget-object v2, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mSearchView:Landroid/support/v7/widget/SearchView;
invoke-virtual {v2}, Landroid/support/v7/widget/SearchView;->getWindowVisibility()I
move-result v2
if-eqz v2, :cond_1d
:cond_16
move-object v0, v1
:goto_17
return-object v0
:cond_18
invoke-interface {p1}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_6
:cond_1d
:try_start_1d
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
if-eqz v0, :cond_35
invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
:try_end_2a
.catch Ljava/lang/RuntimeException; {:try_start_1d .. :try_end_2a} :catch_2b
goto :goto_17
:catch_2b
move-exception v0
const-string/jumbo v2, "SuggestionsAdapter"
const-string/jumbo 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_35
move-object v0, v1
goto :goto_17
.end method
.method public setQueryRefinement(I)V
.registers 2
iput p1, p0, Landroid/support/v7/widget/SuggestionsAdapter;->mQueryRefinement:I
return-void
.end method