class android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl extends android.content.ISyncAdapter$Stub
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl
super_class: android.content.ISyncAdapter$Stub
{
final android.content.AbstractThreadedSyncAdapter this$0;
descriptor: Landroid/content/AbstractThreadedSyncAdapter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(android.content.AbstractThreadedSyncAdapter);
descriptor: (Landroid/content/AbstractThreadedSyncAdapter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
aload 0
invokespecial android.content.ISyncAdapter$Stub.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
MethodParameters:
Name Flags
this$0 final
public void onUnsyncableAccount(android.content.ISyncAdapterUnsyncableAccountCallback);
descriptor: (Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: invokestatic android.os.Handler.getMain:()Landroid/os/Handler;
1: invokedynamic accept()Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
android/content/AbstractThreadedSyncAdapter.access$0(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V (6)
(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
2: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
aload 1
3: invokestatic com.android.internal.util.function.pooled.PooledLambda.obtainMessage:(Ljava/util/function/BiConsumer;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
0 5 1 cb Landroid/content/ISyncAdapterUnsyncableAccountCallback;
MethodParameters:
Name Flags
cb
public void startSync(android.content.ISyncContext, java.lang.String, android.accounts.Account, android.os.Bundle);
descriptor: (Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 4
1: aload 4
ifnull 3
2: aload 4
invokevirtual android.os.Bundle.size:()I
pop
3: StackMap locals:
StackMap stack:
ldc "SyncAdapter"
new java.lang.StringBuilder
dup
ldc "startSync() start "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: StackMap locals:
StackMap stack:
new android.content.SyncContext
dup
aload 1
invokespecial android.content.SyncContext.<init>:(Landroid/content/ISyncContext;)V
astore 5
start local 5 5: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
aload 3
invokevirtual android.content.AbstractThreadedSyncAdapter.toSyncKey:(Landroid/accounts/Account;)Landroid/accounts/Account;
astore 7
start local 7 6: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mSyncThreadLock:Ljava/lang/Object;
dup
astore 8
monitorenter
7: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
aload 7
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 33
8: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mAutoInitialize:Z
ifeq 25
9: aload 4
ifnull 25
10: aload 4
11: ldc "initialize"
iconst_0
12: invokevirtual android.os.Bundle.getBoolean:(Ljava/lang/String;Z)Z
13: ifeq 25
14: aload 3
aload 2
invokestatic android.content.ContentResolver.getIsSyncable:(Landroid/accounts/Account;Ljava/lang/String;)I
ifge 20
15: aload 3
aload 2
iconst_1
invokestatic android.content.ContentResolver.setIsSyncable:(Landroid/accounts/Account;Ljava/lang/String;I)V
16: goto 20
StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle android.content.SyncContext top android.accounts.Account java.lang.Object
StackMap stack: java.lang.Throwable
17: astore 9
18: aload 5
new android.content.SyncResult
dup
invokespecial android.content.SyncResult.<init>:()V
invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
19: aload 9
athrow
20: StackMap locals:
StackMap stack:
aload 5
new android.content.SyncResult
dup
invokespecial android.content.SyncResult.<init>:()V
invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
21: aload 8
monitorexit
22: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 24
23: ldc "SyncAdapter"
ldc "startSync() finishing"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
StackMap locals:
StackMap stack:
24: return
25: StackMap locals:
StackMap stack:
new android.content.AbstractThreadedSyncAdapter$SyncThread
dup
aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
26: new java.lang.StringBuilder
dup
ldc "SyncAdapterThread-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mNumSyncStarts:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: aload 5
aload 2
aload 3
aload 4
28: invokespecial android.content.AbstractThreadedSyncAdapter$SyncThread.<init>:(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
astore 9
start local 9 29: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
aload 7
aload 9
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
30: aload 9
invokevirtual android.content.AbstractThreadedSyncAdapter$SyncThread.start:()V
31: iconst_0
istore 6
end local 9 start local 6 32: goto 36
end local 6 33: StackMap locals:
StackMap stack:
getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 35
34: ldc "SyncAdapter"
ldc " alreadyInProgress"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
35: StackMap locals:
StackMap stack:
iconst_1
istore 6
start local 6 36: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle android.content.SyncContext int android.accounts.Account java.lang.Object
StackMap stack:
aload 8
monitorexit
37: goto 40
end local 6 StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle android.content.SyncContext top android.accounts.Account java.lang.Object
StackMap stack: java.lang.Throwable
38: aload 8
monitorexit
39: athrow
start local 6 40: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle android.content.SyncContext int android.accounts.Account
StackMap stack:
iload 6
ifeq 51
41: aload 5
getstatic android.content.SyncResult.ALREADY_IN_PROGRESS:Landroid/content/SyncResult;
invokevirtual android.content.SyncContext.onFinished:(Landroid/content/SyncResult;)V
end local 7 end local 6 end local 5 42: goto 51
StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle
StackMap stack: java.lang.Throwable
43: astore 5
start local 5 44: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 46
45: ldc "SyncAdapter"
ldc "startSync() caught exception"
aload 5
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
46: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 5 47: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle
StackMap stack: java.lang.Throwable
astore 10
48: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 50
49: ldc "SyncAdapter"
ldc "startSync() finishing"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
50: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle top top top top top java.lang.Throwable
StackMap stack:
aload 10
athrow
51: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext java.lang.String android.accounts.Account android.os.Bundle
StackMap stack:
getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 53
52: ldc "SyncAdapter"
ldc "startSync() finishing"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
53: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
0 54 1 syncContext Landroid/content/ISyncContext;
0 54 2 authority Ljava/lang/String;
0 54 3 account Landroid/accounts/Account;
0 54 4 extras Landroid/os/Bundle;
5 42 5 syncContextClient Landroid/content/SyncContext;
32 33 6 alreadyInProgress Z
36 38 6 alreadyInProgress Z
40 42 6 alreadyInProgress Z
6 42 7 threadsKey Landroid/accounts/Account;
29 32 9 syncThread Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
44 47 5 th Ljava/lang/Throwable;
Exception table:
from to target type
14 17 17 any
7 22 38 any
25 37 38 any
38 39 38 any
4 22 43 Class java.lang.RuntimeException
25 42 43 Class java.lang.RuntimeException
4 22 43 Class java.lang.Error
25 42 43 Class java.lang.Error
4 22 47 any
25 47 47 any
MethodParameters:
Name Flags
syncContext
authority
account
extras
public void cancelSync(android.content.ISyncContext);
descriptor: (Landroid/content/ISyncContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mSyncThreadLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mSyncThreads:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext android.content.AbstractThreadedSyncAdapter$SyncThread java.lang.Object top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.content.AbstractThreadedSyncAdapter$SyncThread
astore 4
start local 4 4: aload 4
getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mSyncContext:Landroid/content/SyncContext;
invokevirtual android.content.SyncContext.getSyncContextBinder:()Landroid/os/IBinder;
aload 1
invokeinterface android.content.ISyncContext.asBinder:()Landroid/os/IBinder;
if_acmpne 7
5: aload 4
astore 2
6: goto 8
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext android.content.AbstractThreadedSyncAdapter$SyncThread java.lang.Object
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 2
ifnull 20
13: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 15
14: ldc "SyncAdapter"
new java.lang.StringBuilder
dup
ldc "cancelSync() "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAuthority: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;
aload 2
getfield android.content.AbstractThreadedSyncAdapter$SyncThread.mAccount:Landroid/accounts/Account;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: StackMap locals:
StackMap stack:
aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
getfield android.content.AbstractThreadedSyncAdapter.mAllowParallelSyncs:Z
ifeq 18
16: aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
aload 2
invokevirtual android.content.AbstractThreadedSyncAdapter.onSyncCanceled:(Ljava/lang/Thread;)V
17: goto 31
18: StackMap locals:
StackMap stack:
aload 0
getfield android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl.this$0:Landroid/content/AbstractThreadedSyncAdapter;
invokevirtual android.content.AbstractThreadedSyncAdapter.onSyncCanceled:()V
19: goto 31
20: StackMap locals:
StackMap stack:
getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 31
21: ldc "SyncAdapter"
ldc "cancelSync() unknown context"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 2 22: goto 31
StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext
StackMap stack: java.lang.Throwable
23: astore 2
start local 2 24: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 26
25: ldc "SyncAdapter"
ldc "cancelSync() caught exception"
aload 2
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
26: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
end local 2 27: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext
StackMap stack: java.lang.Throwable
astore 6
28: getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 30
29: ldc "SyncAdapter"
ldc "cancelSync() finishing"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
30: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext top top top top java.lang.Throwable
StackMap stack:
aload 6
athrow
31: StackMap locals: android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl android.content.ISyncContext
StackMap stack:
getstatic android.content.AbstractThreadedSyncAdapter.ENABLE_LOG:Z
ifeq 33
32: ldc "SyncAdapter"
ldc "cancelSync() finishing"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
33: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
0 34 1 syncContext Landroid/content/ISyncContext;
1 22 2 info Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
4 7 4 current Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
24 27 2 th Ljava/lang/Throwable;
Exception table:
from to target type
2 9 10 any
10 11 10 any
0 22 23 Class java.lang.RuntimeException
0 22 23 Class java.lang.Error
0 27 27 any
MethodParameters:
Name Flags
syncContext
}
SourceFile: "AbstractThreadedSyncAdapter.java"
NestHost: android.content.AbstractThreadedSyncAdapter
InnerClasses:
private ISyncAdapterImpl = android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl of android.content.AbstractThreadedSyncAdapter
private SyncThread = android.content.AbstractThreadedSyncAdapter$SyncThread of android.content.AbstractThreadedSyncAdapter
public abstract Stub = android.content.ISyncAdapter$Stub of android.content.ISyncAdapter
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles