public class android.widget.ZoomButtonsController implements android.view.View$OnTouchListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.widget.ZoomButtonsController
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ZoomButtonsController"
private static final int ZOOM_CONTROLS_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ZOOM_CONTROLS_TOUCH_PADDING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private int mTouchPaddingScaledSq;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.view.WindowManager mWindowManager;
descriptor: Landroid/view/WindowManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mAutoDismissControls;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final android.view.View mOwnerView;
descriptor: Landroid/view/View;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] mOwnerViewRawLocation;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.widget.FrameLayout mContainer;
descriptor: Landroid/widget/FrameLayout;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.view.WindowManager$LayoutParams mContainerLayoutParams;
descriptor: Landroid/view/WindowManager$LayoutParams;
flags: (0x0002) ACC_PRIVATE
private final int[] mContainerRawLocation;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.widget.ZoomControls mControls;
descriptor: Landroid/widget/ZoomControls;
flags: (0x0002) ACC_PRIVATE
private android.view.View mTouchTargetView;
descriptor: Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
private final int[] mTouchTargetWindowLocation;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mReleaseTouchListenerOnUp;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mIsVisible;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final android.graphics.Rect mTempRect;
descriptor: Landroid/graphics/Rect;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] mTempIntArray;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.widget.ZoomButtonsController$OnZoomListener mCallback;
descriptor: Landroid/widget/ZoomButtonsController$OnZoomListener;
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable mPostedVisibleInitializer;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
private final android.content.IntentFilter mConfigurationChangedFilter;
descriptor: Landroid/content/IntentFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.BroadcastReceiver mConfigurationChangedReceiver;
descriptor: Landroid/content/BroadcastReceiver;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int MSG_POST_CONFIGURATION_CHANGED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MSG_DISMISS_ZOOM_CONTROLS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MSG_POST_SET_VISIBLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private final android.os.Handler mHandler;
descriptor: Landroid/os/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic android.view.ViewConfiguration.getZoomControlsTimeout:()J
l2i
1: putstatic android.widget.ZoomButtonsController.ZOOM_CONTROLS_TIMEOUT:I
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.view.View);
descriptor: (Landroid/view/View;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield android.widget.ZoomButtonsController.mAutoDismissControls:Z
2: aload 0
iconst_2
newarray 10
putfield android.widget.ZoomButtonsController.mOwnerViewRawLocation:[I
3: aload 0
iconst_2
newarray 10
putfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
4: aload 0
iconst_2
newarray 10
putfield android.widget.ZoomButtonsController.mTouchTargetWindowLocation:[I
5: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.widget.ZoomButtonsController.mTempRect:Landroid/graphics/Rect;
6: aload 0
iconst_2
newarray 10
putfield android.widget.ZoomButtonsController.mTempIntArray:[I
7: aload 0
8: new android.content.IntentFilter
dup
ldc "android.intent.action.CONFIGURATION_CHANGED"
invokespecial android.content.IntentFilter.<init>:(Ljava/lang/String;)V
putfield android.widget.ZoomButtonsController.mConfigurationChangedFilter:Landroid/content/IntentFilter;
9: aload 0
new android.widget.ZoomButtonsController$1
dup
aload 0
invokespecial android.widget.ZoomButtonsController$1.<init>:(Landroid/widget/ZoomButtonsController;)V
putfield android.widget.ZoomButtonsController.mConfigurationChangedReceiver:Landroid/content/BroadcastReceiver;
10: aload 0
new android.widget.ZoomButtonsController$2
dup
aload 0
invokespecial android.widget.ZoomButtonsController$2.<init>:(Landroid/widget/ZoomButtonsController;)V
putfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
11: aload 0
aload 1
invokevirtual android.view.View.getContext:()Landroid/content/Context;
putfield android.widget.ZoomButtonsController.mContext:Landroid/content/Context;
12: aload 0
aload 0
getfield android.widget.ZoomButtonsController.mContext:Landroid/content/Context;
ldc "window"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.view.WindowManager
putfield android.widget.ZoomButtonsController.mWindowManager:Landroid/view/WindowManager;
13: aload 0
aload 1
putfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
14: aload 0
15: ldc 20.0
aload 0
getfield android.widget.ZoomButtonsController.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
getfield android.util.DisplayMetrics.density:F
fmul
f2i
16: putfield android.widget.ZoomButtonsController.mTouchPaddingScaledSq:I
17: aload 0
dup
getfield android.widget.ZoomButtonsController.mTouchPaddingScaledSq:I
aload 0
getfield android.widget.ZoomButtonsController.mTouchPaddingScaledSq:I
imul
putfield android.widget.ZoomButtonsController.mTouchPaddingScaledSq:I
18: aload 0
aload 0
invokevirtual android.widget.ZoomButtonsController.createContainer:()Landroid/widget/FrameLayout;
putfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/widget/ZoomButtonsController;
0 20 1 ownerView Landroid/view/View;
MethodParameters:
Name Flags
ownerView
public void setZoomInEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.ZoomButtonsController.mControls:Landroid/widget/ZoomControls;
iload 1
invokevirtual android.widget.ZoomControls.setIsZoomInEnabled:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/ZoomButtonsController;
0 2 1 enabled Z
MethodParameters:
Name Flags
enabled
public void setZoomOutEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.ZoomButtonsController.mControls:Landroid/widget/ZoomControls;
iload 1
invokevirtual android.widget.ZoomControls.setIsZoomOutEnabled:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/ZoomButtonsController;
0 2 1 enabled Z
MethodParameters:
Name Flags
enabled
public void setZoomSpeed(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.ZoomButtonsController.mControls:Landroid/widget/ZoomControls;
lload 1
invokevirtual android.widget.ZoomControls.setZoomSpeed:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/ZoomButtonsController;
0 2 1 speed J
MethodParameters:
Name Flags
speed
private android.widget.FrameLayout createContainer();
descriptor: ()Landroid/widget/FrameLayout;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.android.internal.R.style cannot be resolved to a variable\n\tcom.android.internal.R.layout cannot be resolved to a variable\n\tcom.android.internal.R.id cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/ZoomButtonsController;
public void setOnZoomListener(android.widget.ZoomButtonsController$OnZoomListener);
descriptor: (Landroid/widget/ZoomButtonsController$OnZoomListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.widget.ZoomButtonsController.mCallback:Landroid/widget/ZoomButtonsController$OnZoomListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/ZoomButtonsController;
0 2 1 listener Landroid/widget/ZoomButtonsController$OnZoomListener;
MethodParameters:
Name Flags
listener
public void setFocusable(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
getfield android.view.WindowManager$LayoutParams.flags:I
istore 2
start local 2 1: iload 1
ifeq 4
2: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
dup
getfield android.view.WindowManager$LayoutParams.flags:I
bipush -9
iand
putfield android.view.WindowManager$LayoutParams.flags:I
3: goto 5
4: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
dup
getfield android.view.WindowManager$LayoutParams.flags:I
bipush 8
ior
putfield android.view.WindowManager$LayoutParams.flags:I
5: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
getfield android.view.WindowManager$LayoutParams.flags:I
iload 2
if_icmpeq 7
aload 0
getfield android.widget.ZoomButtonsController.mIsVisible:Z
ifeq 7
6: aload 0
getfield android.widget.ZoomButtonsController.mWindowManager:Landroid/view/WindowManager;
aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
invokeinterface android.view.WindowManager.updateViewLayout:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/ZoomButtonsController;
0 8 1 focusable Z
1 8 2 oldFlags I
MethodParameters:
Name Flags
focusable
public boolean isAutoDismissed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.ZoomButtonsController.mAutoDismissControls:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/ZoomButtonsController;
public void setAutoDismissed(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.ZoomButtonsController.mAutoDismissControls:Z
iload 1
if_icmpne 1
return
1: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.ZoomButtonsController.mAutoDismissControls:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/ZoomButtonsController;
0 3 1 autoDismiss Z
MethodParameters:
Name Flags
autoDismiss
public boolean isVisible();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.ZoomButtonsController.mIsVisible:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/ZoomButtonsController;
public void setVisible(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 6
1: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getWindowToken:()Landroid/os/IBinder;
ifnonnull 5
2: aload 0
getfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
iconst_4
invokevirtual android.os.Handler.hasMessages:(I)Z
ifne 4
3: aload 0
getfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
iconst_4
invokevirtual android.os.Handler.sendEmptyMessage:(I)Z
pop
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
aload 0
getstatic android.widget.ZoomButtonsController.ZOOM_CONTROLS_TIMEOUT:I
invokevirtual android.widget.ZoomButtonsController.dismissControlsDelayed:(I)V
6: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mIsVisible:Z
iload 1
if_icmpne 8
7: return
8: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.ZoomButtonsController.mIsVisible:Z
9: iload 1
ifeq 20
10: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
getfield android.view.WindowManager$LayoutParams.token:Landroid/os/IBinder;
ifnonnull 12
11: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getWindowToken:()Landroid/os/IBinder;
putfield android.view.WindowManager$LayoutParams.token:Landroid/os/IBinder;
12: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mWindowManager:Landroid/view/WindowManager;
aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
invokeinterface android.view.WindowManager.addView:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
13: aload 0
getfield android.widget.ZoomButtonsController.mPostedVisibleInitializer:Ljava/lang/Runnable;
ifnonnull 15
14: aload 0
new android.widget.ZoomButtonsController$3
dup
aload 0
invokespecial android.widget.ZoomButtonsController$3.<init>:(Landroid/widget/ZoomButtonsController;)V
putfield android.widget.ZoomButtonsController.mPostedVisibleInitializer:Ljava/lang/Runnable;
15: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
aload 0
getfield android.widget.ZoomButtonsController.mPostedVisibleInitializer:Ljava/lang/Runnable;
invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
pop
16: aload 0
getfield android.widget.ZoomButtonsController.mContext:Landroid/content/Context;
aload 0
getfield android.widget.ZoomButtonsController.mConfigurationChangedReceiver:Landroid/content/BroadcastReceiver;
aload 0
getfield android.widget.ZoomButtonsController.mConfigurationChangedFilter:Landroid/content/IntentFilter;
invokevirtual android.content.Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
pop
17: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
aload 0
invokevirtual android.view.View.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V
18: aload 0
iconst_0
putfield android.widget.ZoomButtonsController.mReleaseTouchListenerOnUp:Z
19: goto 29
20: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mTouchTargetView:Landroid/view/View;
ifnull 23
21: aload 0
iconst_1
putfield android.widget.ZoomButtonsController.mReleaseTouchListenerOnUp:Z
22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
aconst_null
invokevirtual android.view.View.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V
24: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mContext:Landroid/content/Context;
aload 0
getfield android.widget.ZoomButtonsController.mConfigurationChangedReceiver:Landroid/content/BroadcastReceiver;
invokevirtual android.content.Context.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V
25: aload 0
getfield android.widget.ZoomButtonsController.mWindowManager:Landroid/view/WindowManager;
aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
invokeinterface android.view.WindowManager.removeViewImmediate:(Landroid/view/View;)V
26: aload 0
getfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
aload 0
getfield android.widget.ZoomButtonsController.mPostedVisibleInitializer:Ljava/lang/Runnable;
invokevirtual android.os.Handler.removeCallbacks:(Ljava/lang/Runnable;)V
27: aload 0
getfield android.widget.ZoomButtonsController.mCallback:Landroid/widget/ZoomButtonsController$OnZoomListener;
ifnull 29
28: aload 0
getfield android.widget.ZoomButtonsController.mCallback:Landroid/widget/ZoomButtonsController$OnZoomListener;
iconst_0
invokeinterface android.widget.ZoomButtonsController$OnZoomListener.onVisibilityChanged:(Z)V
29: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Landroid/widget/ZoomButtonsController;
0 30 1 visible Z
MethodParameters:
Name Flags
visible
public android.view.ViewGroup getContainer();
descriptor: ()Landroid/view/ViewGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/ZoomButtonsController;
public android.view.View getZoomControls();
descriptor: ()Landroid/view/View;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.ZoomButtonsController.mControls:Landroid/widget/ZoomControls;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/ZoomButtonsController;
private void dismissControlsDelayed(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.ZoomButtonsController.mAutoDismissControls:Z
ifeq 3
1: aload 0
getfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
iconst_3
invokevirtual android.os.Handler.removeMessages:(I)V
2: aload 0
getfield android.widget.ZoomButtonsController.mHandler:Landroid/os/Handler;
iconst_3
iload 1
i2l
invokevirtual android.os.Handler.sendEmptyMessageDelayed:(IJ)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/ZoomButtonsController;
0 4 1 delay I
MethodParameters:
Name Flags
delay
private void refreshPositioningVariables();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getWindowToken:()Landroid/os/IBinder;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getHeight:()I
istore 1
start local 1 2: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getWidth:()I
istore 2
start local 2 3: iload 1
aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
invokevirtual android.widget.FrameLayout.getHeight:()I
isub
istore 3
start local 3 4: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
aload 0
getfield android.widget.ZoomButtonsController.mOwnerViewRawLocation:[I
invokevirtual android.view.View.getLocationOnScreen:([I)V
5: aload 0
getfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
iconst_0
aload 0
getfield android.widget.ZoomButtonsController.mOwnerViewRawLocation:[I
iconst_0
iaload
iastore
6: aload 0
getfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
iconst_1
aload 0
getfield android.widget.ZoomButtonsController.mOwnerViewRawLocation:[I
iconst_1
iaload
iload 3
iadd
iastore
7: aload 0
getfield android.widget.ZoomButtonsController.mTempIntArray:[I
astore 4
start local 4 8: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
aload 4
invokevirtual android.view.View.getLocationInWindow:([I)V
9: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
aload 4
iconst_0
iaload
putfield android.view.WindowManager$LayoutParams.x:I
10: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
iload 2
putfield android.view.WindowManager$LayoutParams.width:I
11: aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
aload 4
iconst_1
iaload
iload 3
iadd
putfield android.view.WindowManager$LayoutParams.y:I
12: aload 0
getfield android.widget.ZoomButtonsController.mIsVisible:Z
ifeq 14
13: aload 0
getfield android.widget.ZoomButtonsController.mWindowManager:Landroid/view/WindowManager;
aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
aload 0
getfield android.widget.ZoomButtonsController.mContainerLayoutParams:Landroid/view/WindowManager$LayoutParams;
invokeinterface android.view.WindowManager.updateViewLayout:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
14: StackMap locals: android.widget.ZoomButtonsController int int int int[]
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 15 0 this Landroid/widget/ZoomButtonsController;
2 15 1 ownerHeight I
3 15 2 ownerWidth I
4 15 3 containerOwnerYOffset I
8 15 4 ownerViewWindowLoc [I
private boolean onContainerKey(android.view.KeyEvent);
descriptor: (Landroid/view/KeyEvent;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.view.KeyEvent.getKeyCode:()I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual android.widget.ZoomButtonsController.isInterestingKey:(I)Z
ifeq 16
2: iload 2
iconst_4
if_icmpne 14
3: aload 1
invokevirtual android.view.KeyEvent.getAction:()I
ifne 10
4: aload 1
invokevirtual android.view.KeyEvent.getRepeatCount:()I
ifne 10
5: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
ifnull 9
6: aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getKeyDispatcherState:()Landroid/view/KeyEvent$DispatcherState;
astore 3
start local 3 7: aload 3
ifnull 9
8: aload 3
aload 1
aload 0
invokevirtual android.view.KeyEvent$DispatcherState.startTracking:(Landroid/view/KeyEvent;Ljava/lang/Object;)V
end local 3 9: StackMap locals: int
StackMap stack:
iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.view.KeyEvent.getAction:()I
iconst_1
if_icmpne 15
11: aload 1
invokevirtual android.view.KeyEvent.isTracking:()Z
ifeq 15
aload 1
invokevirtual android.view.KeyEvent.isCanceled:()Z
ifne 15
12: aload 0
iconst_0
invokevirtual android.widget.ZoomButtonsController.setVisible:(Z)V
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getstatic android.widget.ZoomButtonsController.ZOOM_CONTROLS_TIMEOUT:I
invokevirtual android.widget.ZoomButtonsController.dismissControlsDelayed:(I)V
15: StackMap locals:
StackMap stack:
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
invokevirtual android.view.View.getViewRootImpl:()Landroid/view/ViewRootImpl;
astore 3
start local 3 17: aload 3
ifnull 19
18: aload 3
aload 1
invokevirtual android.view.ViewRootImpl.dispatchInputEvent:(Landroid/view/InputEvent;)V
19: StackMap locals: android.view.ViewRootImpl
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/widget/ZoomButtonsController;
0 20 1 event Landroid/view/KeyEvent;
1 20 2 keyCode I
7 9 3 ds Landroid/view/KeyEvent$DispatcherState;
17 20 3 viewRoot Landroid/view/ViewRootImpl;
MethodParameters:
Name Flags
event
private boolean isInterestingKey(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
lookupswitch { // 7
4: 1
19: 1
20: 1
21: 1
22: 1
23: 1
66: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/ZoomButtonsController;
0 3 1 keyCode I
MethodParameters:
Name Flags
keyCode
public boolean onTouch(android.view.View, android.view.MotionEvent);
descriptor: (Landroid/view/View;Landroid/view/MotionEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual android.view.MotionEvent.getAction:()I
istore 3
start local 3 1: aload 2
invokevirtual android.view.MotionEvent.getPointerCount:()I
iconst_1
if_icmple 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mReleaseTouchListenerOnUp:Z
ifeq 9
4: iload 3
iconst_1
if_icmpeq 5
iload 3
iconst_3
if_icmpne 8
5: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mOwnerView:Landroid/view/View;
aconst_null
invokevirtual android.view.View.setOnTouchListener:(Landroid/view/View$OnTouchListener;)V
6: aload 0
aconst_null
invokevirtual android.widget.ZoomButtonsController.setTouchTargetView:(Landroid/view/View;)V
7: aload 0
iconst_0
putfield android.widget.ZoomButtonsController.mReleaseTouchListenerOnUp:Z
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getstatic android.widget.ZoomButtonsController.ZOOM_CONTROLS_TIMEOUT:I
invokevirtual android.widget.ZoomButtonsController.dismissControlsDelayed:(I)V
10: aload 0
getfield android.widget.ZoomButtonsController.mTouchTargetView:Landroid/view/View;
astore 4
start local 4 11: iload 3
tableswitch { // 0 - 3
0: 12
1: 15
2: 16
3: 15
default: 16
}
12: StackMap locals: android.view.View
StackMap stack:
aload 0
aload 2
invokevirtual android.view.MotionEvent.getRawX:()F
f2i
aload 2
invokevirtual android.view.MotionEvent.getRawY:()F
f2i
invokevirtual android.widget.ZoomButtonsController.findViewForTouch:(II)Landroid/view/View;
astore 4
13: aload 0
aload 4
invokevirtual android.widget.ZoomButtonsController.setTouchTargetView:(Landroid/view/View;)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual android.widget.ZoomButtonsController.setTouchTargetView:(Landroid/view/View;)V
16: StackMap locals:
StackMap stack:
aload 4
ifnull 32
17: aload 0
getfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
iconst_0
iaload
aload 0
getfield android.widget.ZoomButtonsController.mTouchTargetWindowLocation:[I
iconst_0
iaload
iadd
istore 5
start local 5 18: aload 0
getfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
iconst_1
iaload
aload 0
getfield android.widget.ZoomButtonsController.mTouchTargetWindowLocation:[I
iconst_1
iaload
iadd
istore 6
start local 6 19: aload 2
invokestatic android.view.MotionEvent.obtain:(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
astore 7
start local 7 20: aload 7
aload 0
getfield android.widget.ZoomButtonsController.mOwnerViewRawLocation:[I
iconst_0
iaload
iload 5
isub
i2f
21: aload 0
getfield android.widget.ZoomButtonsController.mOwnerViewRawLocation:[I
iconst_1
iaload
iload 6
isub
i2f
22: invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
23: aload 7
invokevirtual android.view.MotionEvent.getX:()F
fstore 8
start local 8 24: aload 7
invokevirtual android.view.MotionEvent.getY:()F
fstore 9
start local 9 25: fload 8
fconst_0
fcmpg
ifge 27
fload 8
ldc -20.0
fcmpl
ifle 27
26: aload 7
fload 8
fneg
fconst_0
invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
27: StackMap locals: android.widget.ZoomButtonsController android.view.View android.view.MotionEvent int android.view.View int int android.view.MotionEvent float float
StackMap stack:
fload 9
fconst_0
fcmpg
ifge 29
fload 9
ldc -20.0
fcmpl
ifle 29
28: aload 7
fconst_0
fload 9
fneg
invokevirtual android.view.MotionEvent.offsetLocation:(FF)V
29: StackMap locals:
StackMap stack:
aload 4
aload 7
invokevirtual android.view.View.dispatchTouchEvent:(Landroid/view/MotionEvent;)Z
istore 10
start local 10 30: aload 7
invokevirtual android.view.MotionEvent.recycle:()V
31: iload 10
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 32: StackMap locals: android.widget.ZoomButtonsController android.view.View android.view.MotionEvent int android.view.View
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Landroid/widget/ZoomButtonsController;
0 33 1 v Landroid/view/View;
0 33 2 event Landroid/view/MotionEvent;
1 33 3 action I
11 33 4 targetView Landroid/view/View;
18 32 5 targetViewRawX I
19 32 6 targetViewRawY I
20 32 7 containerEvent Landroid/view/MotionEvent;
24 32 8 containerX F
25 32 9 containerY F
30 32 10 retValue Z
MethodParameters:
Name Flags
v
event
private void setTouchTargetView(android.view.View);
descriptor: (Landroid/view/View;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.widget.ZoomButtonsController.mTouchTargetView:Landroid/view/View;
1: aload 1
ifnull 3
2: aload 1
aload 0
getfield android.widget.ZoomButtonsController.mTouchTargetWindowLocation:[I
invokevirtual android.view.View.getLocationInWindow:([I)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/ZoomButtonsController;
0 4 1 view Landroid/view/View;
MethodParameters:
Name Flags
view
private android.view.View findViewForTouch(int, int);
descriptor: (II)Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
iconst_0
iaload
isub
istore 3
start local 3 1: iload 2
aload 0
getfield android.widget.ZoomButtonsController.mContainerRawLocation:[I
iconst_1
iaload
isub
istore 4
start local 4 2: aload 0
getfield android.widget.ZoomButtonsController.mTempRect:Landroid/graphics/Rect;
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: ldc 2147483647
istore 7
start local 7 5: aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
invokevirtual android.widget.FrameLayout.getChildCount:()I
iconst_1
isub
istore 8
start local 8 6: goto 31
7: StackMap locals: android.widget.ZoomButtonsController int int int int android.graphics.Rect android.view.View int int
StackMap stack:
aload 0
getfield android.widget.ZoomButtonsController.mContainer:Landroid/widget/FrameLayout;
iload 8
invokevirtual android.widget.FrameLayout.getChildAt:(I)Landroid/view/View;
astore 9
start local 9 8: aload 9
invokevirtual android.view.View.getVisibility:()I
ifeq 10
9: goto 30
10: StackMap locals: android.view.View
StackMap stack:
aload 9
aload 5
invokevirtual android.view.View.getHitRect:(Landroid/graphics/Rect;)V
11: aload 5
iload 3
iload 4
invokevirtual android.graphics.Rect.contains:(II)Z
ifeq 13
12: aload 9
areturn
13: StackMap locals:
StackMap stack:
iload 3
aload 5
getfield android.graphics.Rect.left:I
if_icmplt 16
iload 3
aload 5
getfield android.graphics.Rect.right:I
if_icmpgt 16
14: iconst_0
istore 10
start local 10 15: goto 19
end local 10 16: StackMap locals:
StackMap stack:
aload 5
getfield android.graphics.Rect.left:I
iload 3
isub
invokestatic java.lang.Math.abs:(I)I
17: iload 3
aload 5
getfield android.graphics.Rect.right:I
isub
invokestatic java.lang.Math.abs:(I)I
18: invokestatic java.lang.Math.min:(II)I
istore 10
start local 10 19: StackMap locals: int
StackMap stack:
iload 4
aload 5
getfield android.graphics.Rect.top:I
if_icmplt 22
iload 4
aload 5
getfield android.graphics.Rect.bottom:I
if_icmpgt 22
20: iconst_0
istore 11
start local 11 21: goto 25
end local 11 22: StackMap locals:
StackMap stack:
aload 5
getfield android.graphics.Rect.top:I
iload 4
isub
invokestatic java.lang.Math.abs:(I)I
23: iload 4
aload 5
getfield android.graphics.Rect.bottom:I
isub
invokestatic java.lang.Math.abs:(I)I
24: invokestatic java.lang.Math.min:(II)I
istore 11
start local 11 25: StackMap locals: int
StackMap stack:
iload 10
iload 10
imul
iload 11
iload 11
imul
iadd
istore 12
start local 12 26: iload 12
aload 0
getfield android.widget.ZoomButtonsController.mTouchPaddingScaledSq:I
if_icmpge 30
27: iload 12
iload 7
if_icmpge 30
28: aload 9
astore 6
29: iload 12
istore 7
end local 12 end local 11 end local 10 end local 9 30: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
31: iload 8
ifge 7
end local 8 32: aload 6
areturn
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 33 0 this Landroid/widget/ZoomButtonsController;
0 33 1 rawX I
0 33 2 rawY I
1 33 3 containerCoordsX I
2 33 4 containerCoordsY I
3 33 5 frame Landroid/graphics/Rect;
4 33 6 closestChild Landroid/view/View;
5 33 7 closestChildDistanceSq I
6 32 8 i I
8 30 9 child Landroid/view/View;
15 16 10 distanceX I
19 30 10 distanceX I
21 22 11 distanceY I
25 30 11 distanceY I
26 30 12 distanceSq I
MethodParameters:
Name Flags
rawX
rawY
private void onPostConfigurationChanged();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic android.widget.ZoomButtonsController.ZOOM_CONTROLS_TIMEOUT:I
invokevirtual android.widget.ZoomButtonsController.dismissControlsDelayed:(I)V
1: aload 0
invokevirtual android.widget.ZoomButtonsController.refreshPositioningVariables:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/ZoomButtonsController;
}
SourceFile: "ZoomButtonsController.java"
NestMembers:
android.widget.ZoomButtonsController$1 android.widget.ZoomButtonsController$2 android.widget.ZoomButtonsController$3 android.widget.ZoomButtonsController$4 android.widget.ZoomButtonsController$5 android.widget.ZoomButtonsController$Container android.widget.ZoomButtonsController$OnZoomListener
InnerClasses:
public DispatcherState = android.view.KeyEvent$DispatcherState of android.view.KeyEvent
public abstract OnTouchListener = android.view.View$OnTouchListener of android.view.View
public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
public LayoutParams = android.view.WindowManager$LayoutParams of android.view.WindowManager
android.widget.ZoomButtonsController$1
android.widget.ZoomButtonsController$2
android.widget.ZoomButtonsController$3
private Container = android.widget.ZoomButtonsController$Container of android.widget.ZoomButtonsController
public abstract OnZoomListener = android.widget.ZoomButtonsController$OnZoomListener of android.widget.ZoomButtonsController
RuntimeVisibleAnnotations:
java.lang.Deprecated()