class android.content.AbstractThreadedSyncAdapter$SyncThread extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.content.AbstractThreadedSyncAdapter$SyncThread
  super_class: java.lang.Thread
{
  private final android.content.SyncContext mSyncContext;
    descriptor: Landroid/content/SyncContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mAuthority;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.accounts.Account mAccount;
    descriptor: Landroid/accounts/Account;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final android.accounts.Account mThreadsKey;
    descriptor: Landroid/accounts/Account;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private void <init>(android.content.AbstractThreadedSyncAdapter, java.lang.String, android.content.SyncContext, java.lang.String, android.accounts.Account, android.os.Bundle);
    descriptor: (Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // android.content.AbstractThreadedSyncAdapter$SyncThread this
        start local 2 // java.lang.String name
        start local 3 // android.content.SyncContext syncContext
        start local 4 // java.lang.String authority
        start local 5 // android.accounts.Account account
        start local 6 // android.os.Bundle extras
         0: .line 297
            aload 0 /* this */
            aload 1
            putfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
         1: .line 298
            aload 0 /* this */
            aload 2 /* name */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
         2: .line 299
            aload 0 /* this */
            aload 3 /* syncContext */
            putfield android.content.AbstractThreadedSyncAdapter$SyncThread.mSyncContext:Landroid/content/SyncContext;
         3: .line 300
            aload 0 /* this */
            aload 4 /* authority */
            putfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAuthority:Ljava/lang/String;
         4: .line 301
            aload 0 /* this */
            aload 5 /* account */
            putfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAccount:Landroid/accounts/Account;
         5: .line 302
            aload 0 /* this */
            aload 6 /* extras */
            putfield android.content.AbstractThreadedSyncAdapter$SyncThread.mExtras:Landroid/os/Bundle;
         6: .line 303
            aload 0 /* this */
            aload 1
            aload 5 /* account */
            invokevirtual android.content.AbstractThreadedSyncAdapter.toSyncKey:(Landroid/accounts/Account;)Landroid/accounts/Account;
            putfield android.content.AbstractThreadedSyncAdapter$SyncThread.mThreadsKey:Landroid/accounts/Account;
         7: .line 304
            return
        end local 6 // android.os.Bundle extras
        end local 5 // android.accounts.Account account
        end local 4 // java.lang.String authority
        end local 3 // android.content.SyncContext syncContext
        end local 2 // java.lang.String name
        end local 0 // android.content.AbstractThreadedSyncAdapter$SyncThread this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
            0    8     2         name  Ljava/lang/String;
            0    8     3  syncContext  Landroid/content/SyncContext;
            0    8     4    authority  Ljava/lang/String;
            0    8     5      account  Landroid/accounts/Account;
            0    8     6       extras  Landroid/os/Bundle;
    MethodParameters:
             Name  Flags
      this$0       final
      name         
      syncContext  
      authority    
      account      
      extras       

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // android.content.AbstractThreadedSyncAdapter$SyncThread this
         0: .line 308
            bipush 10
            invokestatic android.os.Process.setThreadPriority:(I)V
         1: .line 310
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 3
         2: .line 311
            ldc "SyncAdapter"
            ldc "Thread started"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 317
      StackMap locals:
      StackMap stack:
            ldc 128
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAuthority:Ljava/lang/String;
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         4: .line 319
            new android.content.SyncResult
            dup
            invokespecial android.content.SyncResult.<init>:()V
            astore 1 /* syncResult */
        start local 1 // android.content.SyncResult syncResult
         5: .line 320
            aconst_null
            astore 2 /* provider */
        start local 2 // android.content.ContentProviderClient provider
         6: .line 322
            aload 0 /* this */
            invokevirtual android.content.AbstractThreadedSyncAdapter$SyncThread.isCanceled:()Z
            ifeq 23
         7: .line 323
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 9
         8: .line 324
            ldc "SyncAdapter"
            ldc "Already canceled"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 357
      StackMap locals: android.content.SyncResult android.content.ContentProviderClient
      StackMap stack:
            ldc 128
            invokestatic android.os.Trace.traceEnd:(J)V
        10: .line 359
            aload 2 /* provider */
            ifnull 12
        11: .line 360
            aload 2 /* provider */
            invokevirtual android.content.ContentProviderClient.release:()Z
            pop
        12: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.AbstractThreadedSyncAdapter$SyncThread.isCanceled:()Z
            ifne 14
        13: .line 363
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mSyncContext:Landroid/content/SyncContext;
            aload 1 /* syncResult */
            invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
        14: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreadLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        15: .line 368
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mThreadsKey:Landroid/accounts/Account;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 367
            aload 5
            monitorexit
        17: goto 20
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient top top java.lang.Object
      StackMap stack: java.lang.Throwable
        18: aload 5
            monitorexit
        19: athrow
        20: .line 371
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient
      StackMap stack:
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 22
        21: .line 372
            ldc "SyncAdapter"
            ldc "Thread finished"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        22: .line 326
      StackMap locals:
      StackMap stack:
            return
        23: .line 328
      StackMap locals:
      StackMap stack:
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 25
        24: .line 329
            ldc "SyncAdapter"
            ldc "Calling onPerformSync..."
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        25: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAuthority:Ljava/lang/String;
            invokevirtual android.content.ContentResolver.acquireContentProviderClient:(Ljava/lang/String;)Landroid/content/ContentProviderClient;
            astore 2 /* provider */
        26: .line 333
            aload 2 /* provider */
            ifnull 31
        27: .line 334
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAccount:Landroid/accounts/Account;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mExtras:Landroid/os/Bundle;
        28: .line 335
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAuthority:Ljava/lang/String;
            aload 2 /* provider */
            aload 1 /* syncResult */
        29: .line 334
            invokevirtual android.content.AbstractThreadedSyncAdapter.onPerformSync:(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/ContentProviderClient;Landroid/content/SyncResult;)V
        30: .line 336
            goto 32
        31: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* syncResult */
            iconst_1
            putfield android.content.SyncResult.databaseError:Z
        32: .line 340
      StackMap locals:
      StackMap stack:
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 74
        33: .line 341
            ldc "SyncAdapter"
            ldc "onPerformSync done"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        34: .line 344
            goto 74
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        35: astore 3 /* e */
        start local 3 // java.lang.SecurityException e
        36: .line 345
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 38
        37: .line 346
            ldc "SyncAdapter"
            ldc "SecurityException"
            aload 3 /* e */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        38: .line 348
      StackMap locals: java.lang.SecurityException
      StackMap stack:
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAccount:Landroid/accounts/Account;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mExtras:Landroid/os/Bundle;
        39: .line 349
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAuthority:Ljava/lang/String;
            aload 1 /* syncResult */
        40: .line 348
            invokevirtual android.content.AbstractThreadedSyncAdapter.onSecurityException:(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/SyncResult;)V
        41: .line 350
            aload 1 /* syncResult */
            iconst_1
            putfield android.content.SyncResult.databaseError:Z
        end local 3 // java.lang.SecurityException e
        42: .line 357
            ldc 128
            invokestatic android.os.Trace.traceEnd:(J)V
        43: .line 359
            aload 2 /* provider */
            ifnull 45
        44: .line 360
            aload 2 /* provider */
            invokevirtual android.content.ContentProviderClient.release:()Z
            pop
        45: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.AbstractThreadedSyncAdapter$SyncThread.isCanceled:()Z
            ifne 47
        46: .line 363
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mSyncContext:Landroid/content/SyncContext;
            aload 1 /* syncResult */
            invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
        47: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreadLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        48: .line 368
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mThreadsKey:Landroid/accounts/Account;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        49: .line 367
            aload 5
            monitorexit
        50: goto 53
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient top top java.lang.Object
      StackMap stack: java.lang.Throwable
        51: aload 5
            monitorexit
        52: athrow
        53: .line 371
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient
      StackMap stack:
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 87
        54: .line 372
            ldc "SyncAdapter"
            ldc "Thread finished"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
            goto 87
        55: .line 351
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
        56: .line 352
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 58
        57: .line 353
            ldc "SyncAdapter"
            ldc "caught exception"
            aload 3 /* th */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        58: .line 355
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* th */
            athrow
        end local 3 // java.lang.Throwable th
        59: .line 356
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient
      StackMap stack: java.lang.Throwable
            astore 4
        60: .line 357
            ldc 128
            invokestatic android.os.Trace.traceEnd:(J)V
        61: .line 359
            aload 2 /* provider */
            ifnull 63
        62: .line 360
            aload 2 /* provider */
            invokevirtual android.content.ContentProviderClient.release:()Z
            pop
        63: .line 362
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.AbstractThreadedSyncAdapter$SyncThread.isCanceled:()Z
            ifne 65
        64: .line 363
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mSyncContext:Landroid/content/SyncContext;
            aload 1 /* syncResult */
            invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
        65: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreadLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        66: .line 368
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mThreadsKey:Landroid/accounts/Account;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        67: .line 367
            aload 5
            monitorexit
        68: goto 71
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient top java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
        69: aload 5
            monitorexit
        70: athrow
        71: .line 371
      StackMap locals:
      StackMap stack:
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 73
        72: .line 372
            ldc "SyncAdapter"
            ldc "Thread finished"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        73: .line 374
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        74: .line 357
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient
      StackMap stack:
            ldc 128
            invokestatic android.os.Trace.traceEnd:(J)V
        75: .line 359
            aload 2 /* provider */
            ifnull 77
        76: .line 360
            aload 2 /* provider */
            invokevirtual android.content.ContentProviderClient.release:()Z
            pop
        77: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.content.AbstractThreadedSyncAdapter$SyncThread.isCanceled:()Z
            ifne 79
        78: .line 363
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mSyncContext:Landroid/content/SyncContext;
            aload 1 /* syncResult */
            invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
        79: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreadLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        80: .line 368
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.this$0:Landroid/content/AbstractThreadedSyncAdapter;
            getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
            aload 0 /* this */
            getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mThreadsKey:Landroid/accounts/Account;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        81: .line 367
            aload 5
            monitorexit
        82: goto 85
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient top top java.lang.Object
      StackMap stack: java.lang.Throwable
        83: aload 5
            monitorexit
        84: athrow
        85: .line 371
      StackMap locals: android.content.AbstractThreadedSyncAdapter$SyncThread android.content.SyncResult android.content.ContentProviderClient
      StackMap stack:
            getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
            ifeq 87
        86: .line 372
            ldc "SyncAdapter"
            ldc "Thread finished"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        87: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.content.ContentProviderClient provider
        end local 1 // android.content.SyncResult syncResult
        end local 0 // android.content.AbstractThreadedSyncAdapter$SyncThread this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   88     0        this  Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
            5   88     1  syncResult  Landroid/content/SyncResult;
            6   88     2    provider  Landroid/content/ContentProviderClient;
           36   42     3           e  Ljava/lang/SecurityException;
           56   59     3          th  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          15    17      18  any
          18    19      18  any
           6     9      35  Class java.lang.SecurityException
          23    34      35  Class java.lang.SecurityException
          48    50      51  any
          51    52      51  any
           6     9      55  Class java.lang.RuntimeException
          23    34      55  Class java.lang.RuntimeException
           6     9      55  Class java.lang.Error
          23    34      55  Class java.lang.Error
           6     9      59  any
          23    42      59  any
          55    59      59  any
          66    68      69  any
          69    70      69  any
          80    82      83  any
          83    84      83  any

  private boolean isCanceled();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.AbstractThreadedSyncAdapter$SyncThread this
         0: .line 378
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ireturn
        end local 0 // android.content.AbstractThreadedSyncAdapter$SyncThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
}
SourceFile: "AbstractThreadedSyncAdapter.java"
NestHost: android.content.AbstractThreadedSyncAdapter
InnerClasses:
  private SyncThread = android.content.AbstractThreadedSyncAdapter$SyncThread of android.content.AbstractThreadedSyncAdapter