class android.telephony.MbmsDownloadSession$3 implements android.content.ServiceConnection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.telephony.MbmsDownloadSession$3
super_class: java.lang.Object
{
final android.telephony.MbmsDownloadSession this$0;
descriptor: Landroid/telephony/MbmsDownloadSession;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.telephony.MbmsDownloadSession);
descriptor: (Landroid/telephony/MbmsDownloadSession;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // android.telephony.MbmsDownloadSession$3 this
0: .line 322
aload 0 /* this */
aload 1
putfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // android.telephony.MbmsDownloadSession$3 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/MbmsDownloadSession$3;
MethodParameters:
Name Flags
this$0 final
public void onServiceConnected(android.content.ComponentName, android.os.IBinder);
descriptor: (Landroid/content/ComponentName;Landroid/os/IBinder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 // android.telephony.MbmsDownloadSession$3 this
start local 1 // android.content.ComponentName name
start local 2 // android.os.IBinder service
0: .line 326
aload 2 /* service */
invokestatic android.telephony.mbms.vendor.IMbmsDownloadService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/telephony/mbms/vendor/IMbmsDownloadService;
1: .line 325
astore 3 /* downloadService */
start local 3 // android.telephony.mbms.vendor.IMbmsDownloadService downloadService
2: .line 329
aload 3 /* downloadService */
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
getfield android.telephony.MbmsDownloadSession.mSubscriptionId:I
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
getfield android.telephony.MbmsDownloadSession.mInternalCallback:Landroid/telephony/mbms/InternalDownloadSessionCallback;
invokeinterface android.telephony.mbms.vendor.IMbmsDownloadService.initialize:(ILandroid/telephony/mbms/IMbmsDownloadSessionCallback;)I
istore 4 /* result */
start local 4 // int result
3: .line 330
goto 16
end local 4 // int result
StackMap locals: android.telephony.MbmsDownloadSession$3 android.content.ComponentName android.os.IBinder android.telephony.mbms.vendor.IMbmsDownloadService
StackMap stack: android.os.RemoteException
4: pop
5: .line 331
getstatic android.telephony.MbmsDownloadSession.LOG_TAG:Ljava/lang/String;
ldc "Service died before initialization"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: .line 332
getstatic android.telephony.MbmsDownloadSession.sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
7: .line 333
return
8: .line 334
StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 5 /* e */
start local 5 // java.lang.RuntimeException e
9: .line 335
getstatic android.telephony.MbmsDownloadSession.LOG_TAG:Ljava/lang/String;
ldc "Runtime exception during initialization"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: .line 336
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
11: .line 337
bipush 103
12: .line 338
aload 5 /* e */
invokevirtual java.lang.RuntimeException.toString:()Ljava/lang/String;
13: .line 336
invokevirtual android.telephony.MbmsDownloadSession.sendErrorToApp:(ILjava/lang/String;)V
14: .line 339
getstatic android.telephony.MbmsDownloadSession.sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
15: .line 340
return
end local 5 // java.lang.RuntimeException e
start local 4 // int result
16: .line 342
StackMap locals: int
StackMap stack:
iload 4 /* result */
iconst_m1
if_icmpne 19
17: .line 344
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
invokevirtual android.telephony.MbmsDownloadSession.close:()V
18: .line 345
new java.lang.IllegalStateException
dup
ldc "Middleware must not return an unknown error code"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
19: .line 348
StackMap locals:
StackMap stack:
iload 4 /* result */
ifeq 23
20: .line 349
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
iload 4 /* result */
ldc "Error returned during initialization"
invokevirtual android.telephony.MbmsDownloadSession.sendErrorToApp:(ILjava/lang/String;)V
21: .line 350
getstatic android.telephony.MbmsDownloadSession.sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
22: .line 351
return
23: .line 354
StackMap locals:
StackMap stack:
aload 3 /* downloadService */
invokeinterface android.telephony.mbms.vendor.IMbmsDownloadService.asBinder:()Landroid/os/IBinder;
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
getfield android.telephony.MbmsDownloadSession.mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
iconst_0
invokeinterface android.os.IBinder.linkToDeath:(Landroid/os/IBinder$DeathRecipient;I)V
24: .line 355
goto 31
StackMap locals:
StackMap stack: android.os.RemoteException
25: pop
26: .line 356
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
iconst_3
27: .line 357
ldc "Middleware lost during initialization"
28: .line 356
invokevirtual android.telephony.MbmsDownloadSession.sendErrorToApp:(ILjava/lang/String;)V
29: .line 358
getstatic android.telephony.MbmsDownloadSession.sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
30: .line 359
return
31: .line 361
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
getfield android.telephony.MbmsDownloadSession.mService:Ljava/util/concurrent/atomic/AtomicReference;
aload 3 /* downloadService */
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
32: .line 362
return
end local 4 // int result
end local 3 // android.telephony.mbms.vendor.IMbmsDownloadService downloadService
end local 2 // android.os.IBinder service
end local 1 // android.content.ComponentName name
end local 0 // android.telephony.MbmsDownloadSession$3 this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Landroid/telephony/MbmsDownloadSession$3;
0 33 1 name Landroid/content/ComponentName;
0 33 2 service Landroid/os/IBinder;
2 33 3 downloadService Landroid/telephony/mbms/vendor/IMbmsDownloadService;
3 4 4 result I
16 33 4 result I
9 16 5 e Ljava/lang/RuntimeException;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
2 3 8 Class java.lang.RuntimeException
23 24 25 Class android.os.RemoteException
MethodParameters:
Name Flags
name
service
public void onServiceDisconnected(android.content.ComponentName);
descriptor: (Landroid/content/ComponentName;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // android.telephony.MbmsDownloadSession$3 this
start local 1 // android.content.ComponentName name
0: .line 366
getstatic android.telephony.MbmsDownloadSession.LOG_TAG:Ljava/lang/String;
ldc "bindAndInitialize: Remote service disconnected"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: .line 367
getstatic android.telephony.MbmsDownloadSession.sIsInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
2: .line 368
aload 0 /* this */
getfield android.telephony.MbmsDownloadSession$3.this$0:Landroid/telephony/MbmsDownloadSession;
getfield android.telephony.MbmsDownloadSession.mService:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
3: .line 369
return
end local 1 // android.content.ComponentName name
end local 0 // android.telephony.MbmsDownloadSession$3 this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telephony/MbmsDownloadSession$3;
0 4 1 name Landroid/content/ComponentName;
MethodParameters:
Name Flags
name
}
SourceFile: "MbmsDownloadSession.java"
EnclosingMethod: android.telephony.MbmsDownloadSession.bindAndInitialize:()I
NestHost: android.telephony.MbmsDownloadSession
InnerClasses:
public abstract DeathRecipient = android.os.IBinder$DeathRecipient of android.os.IBinder
android.telephony.MbmsDownloadSession$3
public abstract Stub = android.telephony.mbms.vendor.IMbmsDownloadService$Stub of android.telephony.mbms.vendor.IMbmsDownloadService