class android.location.LocationManager$ListenerTransport extends android.location.ILocationListener$Stub
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.location.LocationManager$ListenerTransport
  super_class: android.location.ILocationListener$Stub
{
  private static final int TYPE_LOCATION_CHANGED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int TYPE_STATUS_CHANGED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int TYPE_PROVIDER_ENABLED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int TYPE_PROVIDER_DISABLED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private android.location.LocationListener mListener;
    descriptor: Landroid/location/LocationListener;
    flags: (0x0002) ACC_PRIVATE

  private final android.os.Handler mListenerHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final android.location.LocationManager this$0;
    descriptor: Landroid/location/LocationManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(android.location.LocationManager, android.location.LocationListener, android.os.Looper);
    descriptor: (Landroid/location/LocationManager;Landroid/location/LocationListener;Landroid/os/Looper;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.location.LocationManager$ListenerTransport this
        start local 2 // android.location.LocationListener listener
        start local 3 // android.os.Looper looper
         0: .line 309
            aload 0 /* this */
            aload 1
            putfield android.location.LocationManager$ListenerTransport.this$0:Landroid/location/LocationManager;
            aload 0 /* this */
            invokespecial android.location.ILocationListener$Stub.<init>:()V
         1: .line 310
            aload 0 /* this */
            aload 2 /* listener */
            putfield android.location.LocationManager$ListenerTransport.mListener:Landroid/location/LocationListener;
         2: .line 312
            aload 3 /* looper */
            ifnonnull 5
         3: .line 313
            aload 0 /* this */
            new android.location.LocationManager$ListenerTransport$1
            dup
            aload 0 /* this */
            invokespecial android.location.LocationManager$ListenerTransport$1.<init>:(Landroid/location/LocationManager$ListenerTransport;)V
            putfield android.location.LocationManager$ListenerTransport.mListenerHandler:Landroid/os/Handler;
         4: .line 319
            goto 6
         5: .line 320
      StackMap locals: android.location.LocationManager$ListenerTransport android.location.LocationManager android.location.LocationListener android.os.Looper
      StackMap stack:
            aload 0 /* this */
            new android.location.LocationManager$ListenerTransport$2
            dup
            aload 0 /* this */
            aload 3 /* looper */
            invokespecial android.location.LocationManager$ListenerTransport$2.<init>:(Landroid/location/LocationManager$ListenerTransport;Landroid/os/Looper;)V
            putfield android.location.LocationManager$ListenerTransport.mListenerHandler:Landroid/os/Handler;
         6: .line 327
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.os.Looper looper
        end local 2 // android.location.LocationListener listener
        end local 0 // android.location.LocationManager$ListenerTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/location/LocationManager$ListenerTransport;
            0    7     2  listener  Landroid/location/LocationListener;
            0    7     3    looper  Landroid/os/Looper;
    MethodParameters:
          Name  Flags
      this$0    final
      listener  
      looper    

  public void onLocationChanged(android.location.Location);
    descriptor: (Landroid/location/Location;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.location.LocationManager$ListenerTransport this
        start local 1 // android.location.Location location
         0: .line 331
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 332
            aload 2 /* msg */
            iconst_1
            putfield android.os.Message.what:I
         2: .line 333
            aload 2 /* msg */
            aload 1 /* location */
            putfield android.os.Message.obj:Ljava/lang/Object;
         3: .line 334
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListenerHandler:Landroid/os/Handler;
            aload 2 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 335
            return
        end local 2 // android.os.Message msg
        end local 1 // android.location.Location location
        end local 0 // android.location.LocationManager$ListenerTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/location/LocationManager$ListenerTransport;
            0    5     1  location  Landroid/location/Location;
            1    5     2       msg  Landroid/os/Message;
    MethodParameters:
          Name  Flags
      location  

  public void onStatusChanged(java.lang.String, int, android.os.Bundle);
    descriptor: (Ljava/lang/String;ILandroid/os/Bundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.location.LocationManager$ListenerTransport this
        start local 1 // java.lang.String provider
        start local 2 // int status
        start local 3 // android.os.Bundle extras
         0: .line 339
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         1: .line 340
            aload 4 /* msg */
            iconst_2
            putfield android.os.Message.what:I
         2: .line 341
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 5 /* b */
        start local 5 // android.os.Bundle b
         3: .line 342
            aload 5 /* b */
            ldc "provider"
            aload 1 /* provider */
            invokevirtual android.os.Bundle.putString:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 343
            aload 5 /* b */
            ldc "status"
            iload 2 /* status */
            invokevirtual android.os.Bundle.putInt:(Ljava/lang/String;I)V
         5: .line 344
            aload 3 /* extras */
            ifnull 7
         6: .line 345
            aload 5 /* b */
            ldc "extras"
            aload 3 /* extras */
            invokevirtual android.os.Bundle.putBundle:(Ljava/lang/String;Landroid/os/Bundle;)V
         7: .line 347
      StackMap locals: android.os.Message android.os.Bundle
      StackMap stack:
            aload 4 /* msg */
            aload 5 /* b */
            putfield android.os.Message.obj:Ljava/lang/Object;
         8: .line 348
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListenerHandler:Landroid/os/Handler;
            aload 4 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         9: .line 349
            return
        end local 5 // android.os.Bundle b
        end local 4 // android.os.Message msg
        end local 3 // android.os.Bundle extras
        end local 2 // int status
        end local 1 // java.lang.String provider
        end local 0 // android.location.LocationManager$ListenerTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/location/LocationManager$ListenerTransport;
            0   10     1  provider  Ljava/lang/String;
            0   10     2    status  I
            0   10     3    extras  Landroid/os/Bundle;
            1   10     4       msg  Landroid/os/Message;
            3   10     5         b  Landroid/os/Bundle;
    MethodParameters:
          Name  Flags
      provider  
      status    
      extras    

  public void onProviderEnabled(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.location.LocationManager$ListenerTransport this
        start local 1 // java.lang.String provider
         0: .line 353
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 354
            aload 2 /* msg */
            iconst_3
            putfield android.os.Message.what:I
         2: .line 355
            aload 2 /* msg */
            aload 1 /* provider */
            putfield android.os.Message.obj:Ljava/lang/Object;
         3: .line 356
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListenerHandler:Landroid/os/Handler;
            aload 2 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 357
            return
        end local 2 // android.os.Message msg
        end local 1 // java.lang.String provider
        end local 0 // android.location.LocationManager$ListenerTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/location/LocationManager$ListenerTransport;
            0    5     1  provider  Ljava/lang/String;
            1    5     2       msg  Landroid/os/Message;
    MethodParameters:
          Name  Flags
      provider  

  public void onProviderDisabled(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.location.LocationManager$ListenerTransport this
        start local 1 // java.lang.String provider
         0: .line 361
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         1: .line 362
            aload 2 /* msg */
            iconst_4
            putfield android.os.Message.what:I
         2: .line 363
            aload 2 /* msg */
            aload 1 /* provider */
            putfield android.os.Message.obj:Ljava/lang/Object;
         3: .line 364
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListenerHandler:Landroid/os/Handler;
            aload 2 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 365
            return
        end local 2 // android.os.Message msg
        end local 1 // java.lang.String provider
        end local 0 // android.location.LocationManager$ListenerTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/location/LocationManager$ListenerTransport;
            0    5     1  provider  Ljava/lang/String;
            1    5     2       msg  Landroid/os/Message;
    MethodParameters:
          Name  Flags
      provider  

  private void _handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.location.LocationManager$ListenerTransport this
        start local 1 // android.os.Message msg
         0: .line 368
            aload 1 /* msg */
            getfield android.os.Message.what:I
            tableswitch { // 1 - 4
                    1: 1
                    2: 4
                    3: 10
                    4: 12
              default: 13
          }
         1: .line 370
      StackMap locals:
      StackMap stack:
            new android.location.Location
            dup
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.location.Location
            invokespecial android.location.Location.<init>:(Landroid/location/Location;)V
            astore 2 /* location */
        start local 2 // android.location.Location location
         2: .line 371
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListener:Landroid/location/LocationListener;
            aload 2 /* location */
            invokeinterface android.location.LocationListener.onLocationChanged:(Landroid/location/Location;)V
         3: .line 372
            goto 13
        end local 2 // android.location.Location location
         4: .line 374
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.os.Bundle
            astore 3 /* b */
        start local 3 // android.os.Bundle b
         5: .line 375
            aload 3 /* b */
            ldc "provider"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* provider */
        start local 4 // java.lang.String provider
         6: .line 376
            aload 3 /* b */
            ldc "status"
            invokevirtual android.os.Bundle.getInt:(Ljava/lang/String;)I
            istore 5 /* status */
        start local 5 // int status
         7: .line 377
            aload 3 /* b */
            ldc "extras"
            invokevirtual android.os.Bundle.getBundle:(Ljava/lang/String;)Landroid/os/Bundle;
            astore 6 /* extras */
        start local 6 // android.os.Bundle extras
         8: .line 378
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListener:Landroid/location/LocationListener;
            aload 4 /* provider */
            iload 5 /* status */
            aload 6 /* extras */
            invokeinterface android.location.LocationListener.onStatusChanged:(Ljava/lang/String;ILandroid/os/Bundle;)V
         9: .line 379
            goto 13
        end local 6 // android.os.Bundle extras
        end local 5 // int status
        end local 4 // java.lang.String provider
        end local 3 // android.os.Bundle b
        10: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListener:Landroid/location/LocationListener;
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface android.location.LocationListener.onProviderEnabled:(Ljava/lang/String;)V
        11: .line 382
            goto 13
        12: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.mListener:Landroid/location/LocationListener;
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface android.location.LocationListener.onProviderDisabled:(Ljava/lang/String;)V
        13: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.LocationManager$ListenerTransport.this$0:Landroid/location/LocationManager;
            getfield android.location.LocationManager.mService:Landroid/location/ILocationManager;
            aload 0 /* this */
            invokeinterface android.location.ILocationManager.locationCallbackFinished:(Landroid/location/ILocationListener;)V
        14: .line 389
            goto 17
      StackMap locals:
      StackMap stack: android.os.RemoteException
        15: astore 2 /* e */
        start local 2 // android.os.RemoteException e
        16: .line 390
            aload 2 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException e
        17: .line 392
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.Message msg
        end local 0 // android.location.LocationManager$ListenerTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Landroid/location/LocationManager$ListenerTransport;
            0   18     1       msg  Landroid/os/Message;
            2    4     2  location  Landroid/location/Location;
            5   10     3         b  Landroid/os/Bundle;
            6   10     4  provider  Ljava/lang/String;
            7   10     5    status  I
            8   10     6    extras  Landroid/os/Bundle;
           16   17     2         e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
          13    14      15  Class android.os.RemoteException
    MethodParameters:
      Name  Flags
      msg   
}
SourceFile: "LocationManager.java"
NestHost: android.location.LocationManager
InnerClasses:
  public abstract Stub = android.location.ILocationListener$Stub of android.location.ILocationListener
  private ListenerTransport = android.location.LocationManager$ListenerTransport of android.location.LocationManager
  android.location.LocationManager$ListenerTransport$1
  android.location.LocationManager$ListenerTransport$2