public final class android.provider.Telephony$Threads implements android.provider.Telephony$ThreadsColumns
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.provider.Telephony$Threads
super_class: java.lang.Object
{
private static final java.lang.String[] ID_PROJECTION;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.net.Uri THREAD_ID_CONTENT_URI;
descriptor: Landroid/net/Uri;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final android.net.Uri CONTENT_URI;
descriptor: Landroid/net/Uri;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final android.net.Uri OBSOLETE_THREADS_URI;
descriptor: Landroid/net/Uri;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int COMMON_THREAD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int BROADCAST_THREAD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "_id"
aastore
putstatic android.provider.Telephony$Threads.ID_PROJECTION:[Ljava/lang/String;
1: ldc "content://mms-sms/threadID"
2: invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
putstatic android.provider.Telephony$Threads.THREAD_ID_CONTENT_URI:Landroid/net/Uri;
3: getstatic android.provider.Telephony$MmsSms.CONTENT_URI:Landroid/net/Uri;
ldc "conversations"
4: invokestatic android.net.Uri.withAppendedPath:(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
putstatic android.provider.Telephony$Threads.CONTENT_URI:Landroid/net/Uri;
5: getstatic android.provider.Telephony$Threads.CONTENT_URI:Landroid/net/Uri;
ldc "obsolete"
6: invokestatic android.net.Uri.withAppendedPath:(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
putstatic android.provider.Telephony$Threads.OBSOLETE_THREADS_URI:Landroid/net/Uri;
7: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/provider/Telephony$Threads;
public static long getOrCreateThreadId(android.content.Context, java.lang.String);
descriptor: (Landroid/content/Context;Ljava/lang/String;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 2
invokestatic android.provider.Telephony$Threads.getOrCreateThreadId:(Landroid/content/Context;Ljava/util/Set;)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Landroid/content/Context;
0 3 1 recipient Ljava/lang/String;
1 3 2 recipients Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
context
recipient
public static long getOrCreateThreadId(android.content.Context, java.util.Set<java.lang.String>);
descriptor: (Landroid/content/Context;Ljava/util/Set;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: getstatic android.provider.Telephony$Threads.THREAD_ID_CONTENT_URI:Landroid/net/Uri;
invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
astore 2
start local 2 1: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: android.content.Context java.util.Set android.net.Uri$Builder top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 3
invokestatic android.provider.Telephony$Mms.isEmailAddress:(Ljava/lang/String;)Z
ifeq 5
4: aload 3
invokestatic android.provider.Telephony$Mms.extractAddrSpec:(Ljava/lang/String;)Ljava/lang/String;
astore 3
5: StackMap locals: android.content.Context java.util.Set android.net.Uri$Builder java.lang.String java.util.Iterator
StackMap stack:
aload 2
ldc "recipient"
aload 3
invokevirtual android.net.Uri$Builder.appendQueryParameter:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
pop
end local 3 6: StackMap locals: android.content.Context java.util.Set android.net.Uri$Builder top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
astore 3
start local 3 8: aload 0
aload 0
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
9: aload 3
getstatic android.provider.Telephony$Threads.ID_PROJECTION:[Ljava/lang/String;
aconst_null
aconst_null
aconst_null
10: invokestatic android.database.sqlite.SqliteWrapper.query:(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
astore 4
start local 4 11: aload 4
ifnull 22
12: aload 4
invokeinterface android.database.Cursor.moveToFirst:()Z
ifeq 16
13: aload 4
iconst_0
invokeinterface android.database.Cursor.getLong:(I)J
lstore 6
14: aload 4
invokeinterface android.database.Cursor.close:()V
15: lload 6
lreturn
16: StackMap locals: android.content.Context java.util.Set android.net.Uri$Builder android.net.Uri android.database.Cursor
StackMap stack:
ldc "Telephony"
ldc "getOrCreateThreadId returned no rows!"
invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
17: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 5
19: aload 4
invokeinterface android.database.Cursor.close:()V
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
aload 4
invokeinterface android.database.Cursor.close:()V
22: StackMap locals:
StackMap stack:
ldc "Telephony"
new java.lang.StringBuilder
dup
ldc "getOrCreateThreadId failed with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " recipients"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
23: new java.lang.IllegalArgumentException
dup
ldc "Unable to find or allocate a thread ID."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 context Landroid/content/Context;
0 24 1 recipients Ljava/util/Set<Ljava/lang/String;>;
1 24 2 uriBuilder Landroid/net/Uri$Builder;
3 6 3 recipient Ljava/lang/String;
8 24 3 uri Landroid/net/Uri;
11 24 4 cursor Landroid/database/Cursor;
Exception table:
from to target type
12 14 18 any
16 18 18 any
Signature: (Landroid/content/Context;Ljava/util/Set<Ljava/lang/String;>;)J
MethodParameters:
Name Flags
context
recipients
}
SourceFile: "Telephony.java"
NestHost: android.provider.Telephony
InnerClasses:
public final Builder = android.net.Uri$Builder of android.net.Uri
public final Mms = android.provider.Telephony$Mms of android.provider.Telephony
public final MmsSms = android.provider.Telephony$MmsSms of android.provider.Telephony
public final Threads = android.provider.Telephony$Threads of android.provider.Telephony
public abstract ThreadsColumns = android.provider.Telephony$ThreadsColumns of android.provider.Telephony