public class android.provider.SearchRecentSuggestions
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.provider.SearchRecentSuggestions
super_class: java.lang.Object
{
private static final java.lang.String LOG_TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SearchSuggestions"
public static final java.lang.String[] QUERIES_PROJECTION_1LINE;
descriptor: [Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String[] QUERIES_PROJECTION_2LINE;
descriptor: [Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int QUERIES_PROJECTION_DATE_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int QUERIES_PROJECTION_QUERY_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int QUERIES_PROJECTION_DISPLAY1_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int QUERIES_PROJECTION_DISPLAY2_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int MAX_HISTORY_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 250
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String mAuthority;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean mTwoLineDisplay;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.net.Uri mSuggestionsUri;
descriptor: Landroid/net/Uri;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.concurrent.Semaphore sWritesInProgress;
descriptor: Ljava/util/concurrent/Semaphore;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
anewarray java.lang.String
dup
iconst_0
1: ldc "_id"
aastore
dup
iconst_1
2: ldc "date"
aastore
dup
iconst_2
3: ldc "query"
aastore
dup
iconst_3
4: ldc "display1"
aastore
5: putstatic android.provider.SearchRecentSuggestions.QUERIES_PROJECTION_1LINE:[Ljava/lang/String;
6: iconst_5
anewarray java.lang.String
dup
iconst_0
7: ldc "_id"
aastore
dup
iconst_1
8: ldc "date"
aastore
dup
iconst_2
9: ldc "query"
aastore
dup
iconst_3
10: ldc "display1"
aastore
dup
iconst_4
11: ldc "display2"
aastore
12: putstatic android.provider.SearchRecentSuggestions.QUERIES_PROJECTION_2LINE:[Ljava/lang/String;
13: new java.util.concurrent.Semaphore
dup
iconst_0
invokespecial java.util.concurrent.Semaphore.<init>:(I)V
putstatic android.provider.SearchRecentSuggestions.sWritesInProgress:Ljava/util/concurrent/Semaphore;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.content.Context, java.lang.String, int);
descriptor: (Landroid/content/Context;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 3
2: iload 3
iconst_1
iand
ifne 4
3: StackMap locals: android.provider.SearchRecentSuggestions android.content.Context java.lang.String int
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 3
iconst_2
iand
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack: android.provider.SearchRecentSuggestions
5: iconst_0
StackMap locals: android.provider.SearchRecentSuggestions android.content.Context java.lang.String int
StackMap stack: android.provider.SearchRecentSuggestions int
6: putfield android.provider.SearchRecentSuggestions.mTwoLineDisplay:Z
7: aload 0
aload 1
putfield android.provider.SearchRecentSuggestions.mContext:Landroid/content/Context;
8: aload 0
new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
putfield android.provider.SearchRecentSuggestions.mAuthority:Ljava/lang/String;
9: aload 0
new java.lang.StringBuilder
dup
ldc "content://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.provider.SearchRecentSuggestions.mAuthority:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/suggestions"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
putfield android.provider.SearchRecentSuggestions.mSuggestionsUri:Landroid/net/Uri;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/provider/SearchRecentSuggestions;
0 11 1 context Landroid/content/Context;
0 11 2 authority Ljava/lang/String;
0 11 3 mode I
MethodParameters:
Name Flags
context
authority
mode
public void saveRecentQuery(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.provider.SearchRecentSuggestions.mTwoLineDisplay:Z
ifne 4
aload 2
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
new android.provider.SearchRecentSuggestions$1
dup
aload 0
ldc "saveRecentQuery"
aload 1
aload 2
invokespecial android.provider.SearchRecentSuggestions$1.<init>:(Landroid/provider/SearchRecentSuggestions;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: invokevirtual android.provider.SearchRecentSuggestions$1.start:()V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/provider/SearchRecentSuggestions;
0 7 1 queryString Ljava/lang/String;
0 7 2 line2 Ljava/lang/String;
MethodParameters:
Name Flags
queryString final
line2 final
void waitForSave();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
getstatic android.provider.SearchRecentSuggestions.sWritesInProgress:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.acquireUninterruptibly:()V
1: getstatic android.provider.SearchRecentSuggestions.sWritesInProgress:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.availablePermits:()I
2: ifgt 0
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/provider/SearchRecentSuggestions;
private void saveRecentQueryBlocking(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.provider.SearchRecentSuggestions.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
astore 3
start local 3 1: invokestatic java.lang.System.currentTimeMillis:()J
lstore 4
start local 4 2: new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
astore 6
start local 6 3: aload 6
ldc "display1"
aload 1
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
4: aload 0
getfield android.provider.SearchRecentSuggestions.mTwoLineDisplay:Z
ifeq 6
5: aload 6
ldc "display2"
aload 2
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
6: StackMap locals: android.content.ContentResolver long android.content.ContentValues
StackMap stack:
aload 6
ldc "query"
aload 1
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
7: aload 6
ldc "date"
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Long;)V
8: aload 3
aload 0
getfield android.provider.SearchRecentSuggestions.mSuggestionsUri:Landroid/net/Uri;
aload 6
invokevirtual android.content.ContentResolver.insert:(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
pop
end local 6 9: goto 12
StackMap locals: android.provider.SearchRecentSuggestions java.lang.String java.lang.String android.content.ContentResolver long
StackMap stack: java.lang.RuntimeException
10: astore 6
start local 6 11: ldc "SearchSuggestions"
ldc "saveRecentQuery"
aload 6
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 6 12: StackMap locals:
StackMap stack:
aload 0
aload 3
sipush 250
invokevirtual android.provider.SearchRecentSuggestions.truncateHistory:(Landroid/content/ContentResolver;I)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/provider/SearchRecentSuggestions;
0 14 1 queryString Ljava/lang/String;
0 14 2 line2 Ljava/lang/String;
1 14 3 cr Landroid/content/ContentResolver;
2 14 4 now J
3 9 6 values Landroid/content/ContentValues;
11 12 6 e Ljava/lang/RuntimeException;
Exception table:
from to target type
2 9 10 Class java.lang.RuntimeException
MethodParameters:
Name Flags
queryString
line2
public void clearHistory();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.provider.SearchRecentSuggestions.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
astore 1
start local 1 1: aload 0
aload 1
iconst_0
invokevirtual android.provider.SearchRecentSuggestions.truncateHistory:(Landroid/content/ContentResolver;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/provider/SearchRecentSuggestions;
1 3 1 cr Landroid/content/ContentResolver;
protected void truncateHistory(android.content.ContentResolver, int);
descriptor: (Landroid/content/ContentResolver;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifge 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: iload 2
ifle 7
4: new java.lang.StringBuilder
dup
ldc "_id IN (SELECT _id FROM suggestions ORDER BY date DESC LIMIT -1 OFFSET "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: iload 2
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 0
getfield android.provider.SearchRecentSuggestions.mSuggestionsUri:Landroid/net/Uri;
aload 3
aconst_null
invokevirtual android.content.ContentResolver.delete:(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
pop
end local 3 8: goto 11
StackMap locals: android.provider.SearchRecentSuggestions android.content.ContentResolver int
StackMap stack: java.lang.RuntimeException
9: astore 3
start local 3 10: ldc "SearchSuggestions"
ldc "truncateHistory"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/provider/SearchRecentSuggestions;
0 12 1 cr Landroid/content/ContentResolver;
0 12 2 maxEntries I
3 8 3 selection Ljava/lang/String;
10 11 3 e Ljava/lang/RuntimeException;
Exception table:
from to target type
2 8 9 Class java.lang.RuntimeException
MethodParameters:
Name Flags
cr
maxEntries
}
SourceFile: "SearchRecentSuggestions.java"
NestMembers:
android.provider.SearchRecentSuggestions$1 android.provider.SearchRecentSuggestions$SuggestionColumns
InnerClasses:
android.provider.SearchRecentSuggestions$1
private SuggestionColumns = android.provider.SearchRecentSuggestions$SuggestionColumns of android.provider.SearchRecentSuggestions