public final class android.app.UiAutomationConnection extends android.app.IUiAutomationConnection$Stub
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.app.UiAutomationConnection
super_class: android.app.IUiAutomationConnection$Stub
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "UiAutomationConnection"
private static final int INITIAL_FROZEN_ROTATION_UNSPECIFIED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private final android.view.IWindowManager mWindowManager;
descriptor: Landroid/view/IWindowManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.accessibility.IAccessibilityManager mAccessibilityManager;
descriptor: Landroid/view/accessibility/IAccessibilityManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.pm.IPackageManager mPackageManager;
descriptor: Landroid/content/pm/IPackageManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.os.Binder mToken;
descriptor: Landroid/os/Binder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mInitialFrozenRotation;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.accessibilityservice.IAccessibilityServiceClient mClient;
descriptor: Landroid/accessibilityservice/IAccessibilityServiceClient;
flags: (0x0002) ACC_PRIVATE
private boolean mIsShutdown;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mOwningUid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.IUiAutomationConnection$Stub.<init>:()V
1: aload 0
2: ldc "window"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
3: invokestatic android.view.IWindowManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/view/IWindowManager;
putfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
4: aload 0
5: ldc "accessibility"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
invokestatic android.view.accessibility.IAccessibilityManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;
putfield android.app.UiAutomationConnection.mAccessibilityManager:Landroid/view/accessibility/IAccessibilityManager;
6: aload 0
7: ldc "package"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
invokestatic android.content.pm.IPackageManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
putfield android.app.UiAutomationConnection.mPackageManager:Landroid/content/pm/IPackageManager;
8: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
9: aload 0
new android.os.Binder
dup
invokespecial android.os.Binder.<init>:()V
putfield android.app.UiAutomationConnection.mToken:Landroid/os/Binder;
10: aload 0
iconst_m1
putfield android.app.UiAutomationConnection.mInitialFrozenRotation:I
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/app/UiAutomationConnection;
public void connect(android.accessibilityservice.IAccessibilityServiceClient, int);
descriptor: (Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Client cannot be null!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
4: aload 0
invokevirtual android.app.UiAutomationConnection.isConnectedLocked:()Z
ifeq 6
5: new java.lang.IllegalStateException
dup
ldc "Already connected."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokestatic android.os.Binder.getCallingUid:()I
putfield android.app.UiAutomationConnection.mOwningUid:I
7: aload 0
aload 1
iload 2
invokevirtual android.app.UiAutomationConnection.registerUiTestAutomationServiceLocked:(Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
8: aload 0
invokevirtual android.app.UiAutomationConnection.storeRotationStateLocked:()V
9: aload 3
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/app/UiAutomationConnection;
0 14 1 client Landroid/accessibilityservice/IAccessibilityServiceClient;
0 14 2 flags I
Exception table:
from to target type
3 10 11 any
11 12 11 any
MethodParameters:
Name Flags
client
flags
public void disconnect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.isConnectedLocked:()Z
ifne 5
4: new java.lang.IllegalStateException
dup
ldc "Already disconnected."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iconst_m1
putfield android.app.UiAutomationConnection.mOwningUid:I
6: aload 0
invokevirtual android.app.UiAutomationConnection.unregisterUiTestAutomationServiceLocked:()V
7: aload 0
invokevirtual android.app.UiAutomationConnection.restoreRotationStateLocked:()V
8: aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/app/UiAutomationConnection;
Exception table:
from to target type
1 9 10 any
10 11 10 any
public boolean injectInputEvent(android.view.InputEvent, boolean);
descriptor: (Landroid/view/InputEvent;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 3
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection android.view.InputEvent int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
iload 2
ifeq 9
iconst_2
goto 10
9: StackMap locals:
StackMap stack:
iconst_0
10: StackMap locals:
StackMap stack: int
istore 3
start local 3 11: invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 4
start local 4 12: invokestatic android.hardware.input.InputManager.getInstance:()Landroid/hardware/input/InputManager;
aload 1
iload 3
invokevirtual android.hardware.input.InputManager.injectInputEvent:(Landroid/view/InputEvent;I)Z
istore 7
13: lload 4
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
14: iload 7
ireturn
15: StackMap locals: android.app.UiAutomationConnection android.view.InputEvent int int long
StackMap stack: java.lang.Throwable
astore 6
16: lload 4
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
17: aload 6
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/app/UiAutomationConnection;
0 18 1 event Landroid/view/InputEvent;
0 18 2 sync Z
11 18 3 mode I
12 18 4 identity J
Exception table:
from to target type
1 5 6 any
6 7 6 any
12 13 15 any
MethodParameters:
Name Flags
event
sync
public boolean setRotation(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 2
start local 2 9: iload 1
bipush -2
if_icmpne 12
10: aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
invokeinterface android.view.IWindowManager.thawRotation:()V
11: goto 13
12: StackMap locals: long
StackMap stack:
aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
iload 1
invokeinterface android.view.IWindowManager.freezeRotation:(I)V
13: StackMap locals:
StackMap stack:
lload 2
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack: android.os.RemoteException
pop
16: lload 2
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
goto 20
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
18: lload 2
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
19: aload 4
athrow
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Landroid/app/UiAutomationConnection;
0 21 1 rotation I
9 21 2 identity J
Exception table:
from to target type
1 5 6 any
6 7 6 any
9 13 15 Class android.os.RemoteException
9 13 17 any
15 16 17 any
MethodParameters:
Name Flags
rotation
public android.graphics.Bitmap takeScreenshot(android.graphics.Rect, int);
descriptor: (Landroid/graphics/Rect;I)Landroid/graphics/Bitmap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 3
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection android.graphics.Rect int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 3
start local 3 9: aload 1
invokevirtual android.graphics.Rect.width:()I
istore 5
start local 5 10: aload 1
invokevirtual android.graphics.Rect.height:()I
istore 6
start local 6 11: aload 1
iload 5
iload 6
iload 2
invokestatic android.view.SurfaceControl.screenshot:(Landroid/graphics/Rect;III)Landroid/graphics/Bitmap;
astore 8
12: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: aload 8
areturn
end local 6 end local 5 14: StackMap locals: android.app.UiAutomationConnection android.graphics.Rect int long
StackMap stack: java.lang.Throwable
astore 7
15: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
16: aload 7
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/app/UiAutomationConnection;
0 17 1 crop Landroid/graphics/Rect;
0 17 2 rotation I
9 17 3 identity J
10 14 5 width I
11 14 6 height I
Exception table:
from to target type
1 5 6 any
6 7 6 any
9 12 14 any
MethodParameters:
Name Flags
crop
rotation
public boolean clearWindowContentFrameStats(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.UserHandle.getCallingUserId:()I
istore 2
start local 2 9: invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 3
start local 3 10: aload 0
getfield android.app.UiAutomationConnection.mAccessibilityManager:Landroid/view/accessibility/IAccessibilityManager;
iload 1
iload 2
invokeinterface android.view.accessibility.IAccessibilityManager.getWindowToken:(II)Landroid/os/IBinder;
astore 5
start local 5 11: aload 5
ifnonnull 14
12: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: iconst_0
ireturn
14: StackMap locals: int long android.os.IBinder
StackMap stack:
aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
aload 5
invokeinterface android.view.IWindowManager.clearWindowContentFrameStats:(Landroid/os/IBinder;)Z
istore 7
15: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
16: iload 7
ireturn
end local 5 17: StackMap locals: android.app.UiAutomationConnection int int long
StackMap stack: java.lang.Throwable
astore 6
18: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
19: aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/app/UiAutomationConnection;
0 20 1 windowId I
9 20 2 callingUserId I
10 20 3 identity J
11 17 5 token Landroid/os/IBinder;
Exception table:
from to target type
1 5 6 any
6 7 6 any
10 12 17 any
14 15 17 any
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
windowId
public android.view.WindowContentFrameStats getWindowContentFrameStats(int);
descriptor: (I)Landroid/view/WindowContentFrameStats;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.UserHandle.getCallingUserId:()I
istore 2
start local 2 9: invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 3
start local 3 10: aload 0
getfield android.app.UiAutomationConnection.mAccessibilityManager:Landroid/view/accessibility/IAccessibilityManager;
iload 1
iload 2
invokeinterface android.view.accessibility.IAccessibilityManager.getWindowToken:(II)Landroid/os/IBinder;
astore 5
start local 5 11: aload 5
ifnonnull 14
12: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: aconst_null
areturn
14: StackMap locals: int long android.os.IBinder
StackMap stack:
aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
aload 5
invokeinterface android.view.IWindowManager.getWindowContentFrameStats:(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;
astore 7
15: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
16: aload 7
areturn
end local 5 17: StackMap locals: android.app.UiAutomationConnection int int long
StackMap stack: java.lang.Throwable
astore 6
18: lload 3
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
19: aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/app/UiAutomationConnection;
0 20 1 windowId I
9 20 2 callingUserId I
10 20 3 identity J
11 17 5 token Landroid/os/IBinder;
Exception table:
from to target type
1 5 6 any
6 7 6 any
10 12 17 any
14 15 17 any
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
windowId
public void clearWindowAnimationFrameStats();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 1
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 1
start local 1 9: invokestatic android.view.SurfaceControl.clearAnimationFrameStats:()Z
pop
10: goto 14
StackMap locals: android.app.UiAutomationConnection long
StackMap stack: java.lang.Throwable
11: astore 3
12: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: aload 3
athrow
14: StackMap locals:
StackMap stack:
lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/app/UiAutomationConnection;
9 16 1 identity J
Exception table:
from to target type
1 5 6 any
6 7 6 any
9 11 11 any
public android.view.WindowAnimationFrameStats getWindowAnimationFrameStats();
descriptor: ()Landroid/view/WindowAnimationFrameStats;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 1
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 1
start local 1 9: new android.view.WindowAnimationFrameStats
dup
invokespecial android.view.WindowAnimationFrameStats.<init>:()V
astore 3
start local 3 10: aload 3
invokestatic android.view.SurfaceControl.getAnimationFrameStats:(Landroid/view/WindowAnimationFrameStats;)Z
pop
11: aload 3
astore 5
12: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: aload 5
areturn
end local 3 14: StackMap locals: android.app.UiAutomationConnection long
StackMap stack: java.lang.Throwable
astore 4
15: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
16: aload 4
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/app/UiAutomationConnection;
9 17 1 identity J
10 14 3 stats Landroid/view/WindowAnimationFrameStats;
Exception table:
from to target type
1 5 6 any
6 7 6 any
9 12 14 any
public void grantRuntimePermission(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 4
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection java.lang.String java.lang.String int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 4
start local 4 9: aload 0
getfield android.app.UiAutomationConnection.mPackageManager:Landroid/content/pm/IPackageManager;
aload 1
aload 2
iload 3
invokeinterface android.content.pm.IPackageManager.grantRuntimePermission:(Ljava/lang/String;Ljava/lang/String;I)V
10: goto 14
StackMap locals: android.app.UiAutomationConnection java.lang.String java.lang.String int long
StackMap stack: java.lang.Throwable
11: astore 6
12: lload 4
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: aload 6
athrow
14: StackMap locals:
StackMap stack:
lload 4
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/app/UiAutomationConnection;
0 16 1 packageName Ljava/lang/String;
0 16 2 permission Ljava/lang/String;
0 16 3 userId I
9 16 4 identity J
Exception table:
from to target type
1 5 6 any
6 7 6 any
9 11 11 any
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
packageName
permission
userId
public void revokeRuntimePermission(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 4
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection java.lang.String java.lang.String int java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 4
start local 4 9: aload 0
getfield android.app.UiAutomationConnection.mPackageManager:Landroid/content/pm/IPackageManager;
aload 1
aload 2
iload 3
invokeinterface android.content.pm.IPackageManager.revokeRuntimePermission:(Ljava/lang/String;Ljava/lang/String;I)V
10: goto 14
StackMap locals: android.app.UiAutomationConnection java.lang.String java.lang.String int long
StackMap stack: java.lang.Throwable
11: astore 6
12: lload 4
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
13: aload 6
athrow
14: StackMap locals:
StackMap stack:
lload 4
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/app/UiAutomationConnection;
0 16 1 packageName Ljava/lang/String;
0 16 2 permission Ljava/lang/String;
0 16 3 userId I
9 16 4 identity J
Exception table:
from to target type
1 5 6 any
6 7 6 any
9 11 11 any
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
packageName
permission
userId
public void executeShellCommand(java.lang.String, android.os.ParcelFileDescriptor, android.os.ParcelFileDescriptor);
descriptor: (Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
3: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfNotConnectedLocked:()V
4: aload 4
monitorexit
5: goto 8
StackMap locals: android.app.UiAutomationConnection java.lang.String android.os.ParcelFileDescriptor android.os.ParcelFileDescriptor java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 1
invokevirtual java.lang.Runtime.exec:(Ljava/lang/String;)Ljava/lang/Process;
astore 4
start local 4 9: goto 12
end local 4 StackMap locals:
StackMap stack: java.io.IOException
10: astore 5
start local 5 11: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Error running shell command '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 12: StackMap locals: java.lang.Process
StackMap stack:
aload 2
ifnull 18
13: aload 4
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
astore 6
start local 6 14: new java.io.FileOutputStream
dup
aload 2
invokevirtual android.os.ParcelFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
astore 7
start local 7 15: new java.lang.Thread
dup
new android.app.UiAutomationConnection$Repeater
dup
aload 0
aload 6
aload 7
invokespecial android.app.UiAutomationConnection$Repeater.<init>:(Landroid/app/UiAutomationConnection;Ljava/io/InputStream;Ljava/io/OutputStream;)V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 5
start local 5 16: aload 5
invokevirtual java.lang.Thread.start:()V
end local 7 end local 6 17: goto 19
end local 5 18: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 19: StackMap locals: java.lang.Thread
StackMap stack:
aload 3
ifnull 25
20: aload 4
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
astore 7
start local 7 21: new java.io.FileInputStream
dup
aload 3
invokevirtual android.os.ParcelFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
astore 8
start local 8 22: new java.lang.Thread
dup
new android.app.UiAutomationConnection$Repeater
dup
aload 0
aload 8
aload 7
invokespecial android.app.UiAutomationConnection$Repeater.<init>:(Landroid/app/UiAutomationConnection;Ljava/io/InputStream;Ljava/io/OutputStream;)V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 6
start local 6 23: aload 6
invokevirtual java.lang.Thread.start:()V
end local 8 end local 7 24: goto 26
end local 6 25: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 26: StackMap locals: java.lang.Thread
StackMap stack:
new java.lang.Thread
dup
new android.app.UiAutomationConnection$1
dup
aload 0
invokespecial android.app.UiAutomationConnection$1.<init>:(Landroid/app/UiAutomationConnection;)V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 7
start local 7 27: aload 7
invokevirtual java.lang.Thread.start:()V
28: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/app/UiAutomationConnection;
0 29 1 command Ljava/lang/String;
0 29 2 sink Landroid/os/ParcelFileDescriptor;
0 29 3 source Landroid/os/ParcelFileDescriptor;
9 10 4 process Ljava/lang/Process;
12 29 4 process Ljava/lang/Process;
11 12 5 exc Ljava/io/IOException;
16 18 5 readFromProcess Ljava/lang/Thread;
19 29 5 readFromProcess Ljava/lang/Thread;
14 17 6 sink_in Ljava/io/InputStream;
15 17 7 sink_out Ljava/io/OutputStream;
23 25 6 writeToProcess Ljava/lang/Thread;
26 29 6 writeToProcess Ljava/lang/Thread;
21 24 7 source_out Ljava/io/OutputStream;
22 24 8 source_in Ljava/io/InputStream;
27 29 7 cleanup Ljava/lang/Thread;
Exception table:
from to target type
1 5 6 any
6 7 6 any
8 9 10 Class java.io.IOException
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
command final
sink final
source final
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual android.app.UiAutomationConnection.isConnectedLocked:()Z
ifeq 3
2: aload 0
invokevirtual android.app.UiAutomationConnection.throwIfCalledByNotTrustedUidLocked:()V
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual android.app.UiAutomationConnection.throwIfShutdownLocked:()V
4: aload 0
iconst_1
putfield android.app.UiAutomationConnection.mIsShutdown:Z
5: aload 0
invokevirtual android.app.UiAutomationConnection.isConnectedLocked:()Z
ifeq 7
6: aload 0
invokevirtual android.app.UiAutomationConnection.disconnect:()V
7: StackMap locals:
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/app/UiAutomationConnection;
Exception table:
from to target type
1 8 9 any
9 10 9 any
private void registerUiTestAutomationServiceLocked(android.accessibilityservice.IAccessibilityServiceClient, int);
descriptor: (Landroid/accessibilityservice/IAccessibilityServiceClient;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc "accessibility"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
1: invokestatic android.view.accessibility.IAccessibilityManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;
astore 3
start local 3 2: new android.accessibilityservice.AccessibilityServiceInfo
dup
invokespecial android.accessibilityservice.AccessibilityServiceInfo.<init>:()V
astore 4
start local 4 3: aload 4
iconst_m1
putfield android.accessibilityservice.AccessibilityServiceInfo.eventTypes:I
4: aload 4
bipush 16
putfield android.accessibilityservice.AccessibilityServiceInfo.feedbackType:I
5: aload 4
dup
getfield android.accessibilityservice.AccessibilityServiceInfo.flags:I
ldc 65554
ior
putfield android.accessibilityservice.AccessibilityServiceInfo.flags:I
6: aload 4
bipush 15
invokevirtual android.accessibilityservice.AccessibilityServiceInfo.setCapabilities:(I)V
7: aload 3
aload 0
getfield android.app.UiAutomationConnection.mToken:Landroid/os/Binder;
aload 1
aload 4
iload 2
invokeinterface android.view.accessibility.IAccessibilityManager.registerUiTestAutomationService:(Landroid/os/IBinder;Landroid/accessibilityservice/IAccessibilityServiceClient;Landroid/accessibilityservice/AccessibilityServiceInfo;I)V
8: aload 0
aload 1
putfield android.app.UiAutomationConnection.mClient:Landroid/accessibilityservice/IAccessibilityServiceClient;
9: goto 12
StackMap locals: android.app.UiAutomationConnection android.accessibilityservice.IAccessibilityServiceClient int android.view.accessibility.IAccessibilityManager android.accessibilityservice.AccessibilityServiceInfo
StackMap stack: android.os.RemoteException
10: astore 5
start local 5 11: new java.lang.IllegalStateException
dup
ldc "Error while registering UiTestAutomationService."
aload 5
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 12: 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 13 0 this Landroid/app/UiAutomationConnection;
0 13 1 client Landroid/accessibilityservice/IAccessibilityServiceClient;
0 13 2 flags I
2 13 3 manager Landroid/view/accessibility/IAccessibilityManager;
3 13 4 info Landroid/accessibilityservice/AccessibilityServiceInfo;
11 12 5 re Landroid/os/RemoteException;
Exception table:
from to target type
7 9 10 Class android.os.RemoteException
MethodParameters:
Name Flags
client
flags
private void unregisterUiTestAutomationServiceLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "accessibility"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
1: invokestatic android.view.accessibility.IAccessibilityManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;
astore 1
start local 1 2: aload 1
aload 0
getfield android.app.UiAutomationConnection.mClient:Landroid/accessibilityservice/IAccessibilityServiceClient;
invokeinterface android.view.accessibility.IAccessibilityManager.unregisterUiTestAutomationService:(Landroid/accessibilityservice/IAccessibilityServiceClient;)V
3: aload 0
aconst_null
putfield android.app.UiAutomationConnection.mClient:Landroid/accessibilityservice/IAccessibilityServiceClient;
4: goto 9
StackMap locals: android.app.UiAutomationConnection android.view.accessibility.IAccessibilityManager
StackMap stack: android.os.RemoteException
5: astore 2
start local 2 6: new java.lang.IllegalStateException
dup
ldc "Error while unregistering UiTestAutomationService"
7: aload 2
8: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/app/UiAutomationConnection;
2 10 1 manager Landroid/view/accessibility/IAccessibilityManager;
6 9 2 re Landroid/os/RemoteException;
Exception table:
from to target type
2 4 5 Class android.os.RemoteException
private void storeRotationStateLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
invokeinterface android.view.IWindowManager.isRotationFrozen:()Z
ifeq 4
1: aload 0
aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
invokeinterface android.view.IWindowManager.getDefaultDisplayRotation:()I
putfield android.app.UiAutomationConnection.mInitialFrozenRotation:I
2: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/app/UiAutomationConnection;
Exception table:
from to target type
0 2 3 Class android.os.RemoteException
private void restoreRotationStateLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mInitialFrozenRotation:I
iconst_m1
if_icmpeq 3
1: aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
aload 0
getfield android.app.UiAutomationConnection.mInitialFrozenRotation:I
invokeinterface android.view.IWindowManager.freezeRotation:(I)V
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
getfield android.app.UiAutomationConnection.mWindowManager:Landroid/view/IWindowManager;
invokeinterface android.view.IWindowManager.thawRotation:()V
4: goto 6
StackMap locals:
StackMap stack: android.os.RemoteException
5: pop
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/app/UiAutomationConnection;
Exception table:
from to target type
0 4 5 Class android.os.RemoteException
private boolean isConnectedLocked();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mClient:Landroid/accessibilityservice/IAccessibilityServiceClient;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/app/UiAutomationConnection;
private void throwIfShutdownLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.UiAutomationConnection.mIsShutdown:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Connection shutdown!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/UiAutomationConnection;
private void throwIfNotConnectedLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.app.UiAutomationConnection.isConnectedLocked:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Not connected!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/UiAutomationConnection;
private void throwIfCalledByNotTrustedUidLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic android.os.Binder.getCallingUid:()I
istore 1
start local 1 1: iload 1
aload 0
getfield android.app.UiAutomationConnection.mOwningUid:I
if_icmpeq 4
aload 0
getfield android.app.UiAutomationConnection.mOwningUid:I
sipush 1000
if_icmpeq 4
2: iload 1
ifeq 4
3: new java.lang.SecurityException
dup
ldc "Calling from not trusted UID!"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/app/UiAutomationConnection;
1 5 1 callingUid I
}
SourceFile: "UiAutomationConnection.java"
NestMembers:
android.app.UiAutomationConnection$1 android.app.UiAutomationConnection$Repeater
InnerClasses:
public abstract Stub = android.app.IUiAutomationConnection$Stub of android.app.IUiAutomationConnection
android.app.UiAutomationConnection$1
public Repeater = android.app.UiAutomationConnection$Repeater of android.app.UiAutomationConnection
public abstract Stub = android.content.pm.IPackageManager$Stub of android.content.pm.IPackageManager
public abstract Stub = android.view.IWindowManager$Stub of android.view.IWindowManager
public abstract Stub = android.view.accessibility.IAccessibilityManager$Stub of android.view.accessibility.IAccessibilityManager