public class android.widget.AnalogClock extends android.view.View
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.widget.AnalogClock
super_class: android.view.View
{
private android.text.format.Time mCalendar;
descriptor: Landroid/text/format/Time;
flags: (0x0002) ACC_PRIVATE
private android.graphics.drawable.Drawable mHourHand;
descriptor: Landroid/graphics/drawable/Drawable;
flags: (0x0002) ACC_PRIVATE
private android.graphics.drawable.Drawable mMinuteHand;
descriptor: Landroid/graphics/drawable/Drawable;
flags: (0x0002) ACC_PRIVATE
private android.graphics.drawable.Drawable mDial;
descriptor: Landroid/graphics/drawable/Drawable;
flags: (0x0002) ACC_PRIVATE
private int mDialWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mDialHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mAttached;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private float mMinutes;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mHour;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private boolean mChanged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final android.content.BroadcastReceiver mIntentReceiver;
descriptor: Landroid/content/BroadcastReceiver;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial android.widget.AnalogClock.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/AnalogClock;
0 2 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public void <init>(android.content.Context, android.util.AttributeSet);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial android.widget.AnalogClock.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/AnalogClock;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
MethodParameters:
Name Flags
context
attrs
public void <init>(android.content.Context, android.util.AttributeSet, int);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iconst_0
invokespecial android.widget.AnalogClock.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/AnalogClock;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
0 2 3 defStyleAttr I
MethodParameters:
Name Flags
context
attrs
defStyleAttr
public void <init>(android.content.Context, android.util.AttributeSet, int, int);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.drawable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.drawable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.drawable 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/AnalogClock;
MethodParameters:
Name Flags
context
attrs
defStyleAttr
defStyleRes
protected void onAttachedToWindow();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokespecial android.view.View.onAttachedToWindow:()V
1: aload 0
getfield android.widget.AnalogClock.mAttached:Z
ifne 10
2: aload 0
iconst_1
putfield android.widget.AnalogClock.mAttached:Z
3: new android.content.IntentFilter
dup
invokespecial android.content.IntentFilter.<init>:()V
astore 1
start local 1 4: aload 1
ldc "android.intent.action.TIME_TICK"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
5: aload 1
ldc "android.intent.action.TIME_SET"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
6: aload 1
ldc "android.intent.action.TIMEZONE_CHANGED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
7: aload 0
invokevirtual android.widget.AnalogClock.getContext:()Landroid/content/Context;
aload 0
getfield android.widget.AnalogClock.mIntentReceiver:Landroid/content/BroadcastReceiver;
8: invokestatic android.os.Process.myUserHandle:()Landroid/os/UserHandle;
aload 1
aconst_null
aload 0
invokevirtual android.widget.AnalogClock.getHandler:()Landroid/os/Handler;
9: invokevirtual android.content.Context.registerReceiverAsUser:(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
pop
end local 1 10: StackMap locals:
StackMap stack:
aload 0
new android.text.format.Time
dup
invokespecial android.text.format.Time.<init>:()V
putfield android.widget.AnalogClock.mCalendar:Landroid/text/format/Time;
11: aload 0
invokevirtual android.widget.AnalogClock.onTimeChanged:()V
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/widget/AnalogClock;
4 10 1 filter Landroid/content/IntentFilter;
protected void onDetachedFromWindow();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.view.View.onDetachedFromWindow:()V
1: aload 0
getfield android.widget.AnalogClock.mAttached:Z
ifeq 4
2: aload 0
invokevirtual android.widget.AnalogClock.getContext:()Landroid/content/Context;
aload 0
getfield android.widget.AnalogClock.mIntentReceiver:Landroid/content/BroadcastReceiver;
invokevirtual android.content.Context.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V
3: aload 0
iconst_0
putfield android.widget.AnalogClock.mAttached:Z
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/AnalogClock;
protected void onMeasure(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 1
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 3
start local 3 1: iload 1
invokestatic android.view.View$MeasureSpec.getSize:(I)I
istore 4
start local 4 2: iload 2
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 5
start local 5 3: iload 2
invokestatic android.view.View$MeasureSpec.getSize:(I)I
istore 6
start local 6 4: fconst_1
fstore 7
start local 7 5: fconst_1
fstore 8
start local 8 6: iload 3
ifeq 8
iload 4
aload 0
getfield android.widget.AnalogClock.mDialWidth:I
if_icmpge 8
7: iload 4
i2f
aload 0
getfield android.widget.AnalogClock.mDialWidth:I
i2f
fdiv
fstore 7
8: StackMap locals: android.widget.AnalogClock int int int int int int float float
StackMap stack:
iload 5
ifeq 10
iload 6
aload 0
getfield android.widget.AnalogClock.mDialHeight:I
if_icmpge 10
9: iload 6
i2f
aload 0
getfield android.widget.AnalogClock.mDialHeight:I
i2f
fdiv
fstore 8
10: StackMap locals:
StackMap stack:
fload 7
fload 8
invokestatic java.lang.Math.min:(FF)F
fstore 9
start local 9 11: aload 0
aload 0
getfield android.widget.AnalogClock.mDialWidth:I
i2f
fload 9
fmul
f2i
iload 1
iconst_0
invokestatic android.widget.AnalogClock.resolveSizeAndState:(III)I
12: aload 0
getfield android.widget.AnalogClock.mDialHeight:I
i2f
fload 9
fmul
f2i
iload 2
iconst_0
invokestatic android.widget.AnalogClock.resolveSizeAndState:(III)I
13: invokevirtual android.widget.AnalogClock.setMeasuredDimension:(II)V
14: return
end local 9 end local 8 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 15 0 this Landroid/widget/AnalogClock;
0 15 1 widthMeasureSpec I
0 15 2 heightMeasureSpec I
1 15 3 widthMode I
2 15 4 widthSize I
3 15 5 heightMode I
4 15 6 heightSize I
5 15 7 hScale F
6 15 8 vScale F
11 15 9 scale F
MethodParameters:
Name Flags
widthMeasureSpec
heightMeasureSpec
protected void onSizeChanged(int, int, int, int);
descriptor: (IIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
iload 4
invokespecial android.view.View.onSizeChanged:(IIII)V
1: aload 0
iconst_1
putfield android.widget.AnalogClock.mChanged:Z
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/AnalogClock;
0 3 1 w I
0 3 2 h I
0 3 3 oldw I
0 3 4 oldh I
MethodParameters:
Name Flags
w
h
oldw
oldh
protected void onDraw(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial android.view.View.onDraw:(Landroid/graphics/Canvas;)V
1: aload 0
getfield android.widget.AnalogClock.mChanged:Z
istore 2
start local 2 2: iload 2
ifeq 4
3: aload 0
iconst_0
putfield android.widget.AnalogClock.mChanged:Z
4: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.AnalogClock.mRight:I
aload 0
getfield android.widget.AnalogClock.mLeft:I
isub
istore 3
start local 3 5: aload 0
getfield android.widget.AnalogClock.mBottom:I
aload 0
getfield android.widget.AnalogClock.mTop:I
isub
istore 4
start local 4 6: iload 3
iconst_2
idiv
istore 5
start local 5 7: iload 4
iconst_2
idiv
istore 6
start local 6 8: aload 0
getfield android.widget.AnalogClock.mDial:Landroid/graphics/drawable/Drawable;
astore 7
start local 7 9: aload 7
invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
istore 8
start local 8 10: aload 7
invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
istore 9
start local 9 11: iconst_0
istore 10
start local 10 12: iload 3
iload 8
if_icmplt 13
iload 4
iload 9
if_icmpge 19
13: StackMap locals: android.widget.AnalogClock android.graphics.Canvas int int int int int android.graphics.drawable.Drawable int int int
StackMap stack:
iconst_1
istore 10
14: iload 3
i2f
iload 8
i2f
fdiv
15: iload 4
i2f
iload 9
i2f
fdiv
16: invokestatic java.lang.Math.min:(FF)F
fstore 11
start local 11 17: aload 1
invokevirtual android.graphics.Canvas.save:()I
pop
18: aload 1
fload 11
fload 11
iload 5
i2f
iload 6
i2f
invokevirtual android.graphics.Canvas.scale:(FFFF)V
end local 11 19: StackMap locals:
StackMap stack:
iload 2
ifeq 21
20: aload 7
iload 5
iload 8
iconst_2
idiv
isub
iload 6
iload 9
iconst_2
idiv
isub
iload 5
iload 8
iconst_2
idiv
iadd
iload 6
iload 9
iconst_2
idiv
iadd
invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
21: StackMap locals:
StackMap stack:
aload 7
aload 1
invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
22: aload 1
invokevirtual android.graphics.Canvas.save:()I
pop
23: aload 1
aload 0
getfield android.widget.AnalogClock.mHour:F
ldc 12.0
fdiv
ldc 360.0
fmul
iload 5
i2f
iload 6
i2f
invokevirtual android.graphics.Canvas.rotate:(FFF)V
24: aload 0
getfield android.widget.AnalogClock.mHourHand:Landroid/graphics/drawable/Drawable;
astore 11
start local 11 25: iload 2
ifeq 29
26: aload 11
invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
istore 8
27: aload 11
invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
istore 9
28: aload 11
iload 5
iload 8
iconst_2
idiv
isub
iload 6
iload 9
iconst_2
idiv
isub
iload 5
iload 8
iconst_2
idiv
iadd
iload 6
iload 9
iconst_2
idiv
iadd
invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
29: StackMap locals: android.graphics.drawable.Drawable
StackMap stack:
aload 11
aload 1
invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
30: aload 1
invokevirtual android.graphics.Canvas.restore:()V
31: aload 1
invokevirtual android.graphics.Canvas.save:()I
pop
32: aload 1
aload 0
getfield android.widget.AnalogClock.mMinutes:F
ldc 60.0
fdiv
ldc 360.0
fmul
iload 5
i2f
iload 6
i2f
invokevirtual android.graphics.Canvas.rotate:(FFF)V
33: aload 0
getfield android.widget.AnalogClock.mMinuteHand:Landroid/graphics/drawable/Drawable;
astore 12
start local 12 34: iload 2
ifeq 38
35: aload 12
invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
istore 8
36: aload 12
invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
istore 9
37: aload 12
iload 5
iload 8
iconst_2
idiv
isub
iload 6
iload 9
iconst_2
idiv
isub
iload 5
iload 8
iconst_2
idiv
iadd
iload 6
iload 9
iconst_2
idiv
iadd
invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
38: StackMap locals: android.graphics.drawable.Drawable
StackMap stack:
aload 12
aload 1
invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
39: aload 1
invokevirtual android.graphics.Canvas.restore:()V
40: iload 10
ifeq 42
41: aload 1
invokevirtual android.graphics.Canvas.restore:()V
42: StackMap locals:
StackMap stack:
return
end local 12 end local 11 end local 10 end local 9 end local 8 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 43 0 this Landroid/widget/AnalogClock;
0 43 1 canvas Landroid/graphics/Canvas;
2 43 2 changed Z
5 43 3 availableWidth I
6 43 4 availableHeight I
7 43 5 x I
8 43 6 y I
9 43 7 dial Landroid/graphics/drawable/Drawable;
10 43 8 w I
11 43 9 h I
12 43 10 scaled Z
17 19 11 scale F
25 43 11 hourHand Landroid/graphics/drawable/Drawable;
34 43 12 minuteHand Landroid/graphics/drawable/Drawable;
MethodParameters:
Name Flags
canvas
private void onTimeChanged();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield android.widget.AnalogClock.mCalendar:Landroid/text/format/Time;
invokevirtual android.text.format.Time.setToNow:()V
1: aload 0
getfield android.widget.AnalogClock.mCalendar:Landroid/text/format/Time;
getfield android.text.format.Time.hour:I
istore 1
start local 1 2: aload 0
getfield android.widget.AnalogClock.mCalendar:Landroid/text/format/Time;
getfield android.text.format.Time.minute:I
istore 2
start local 2 3: aload 0
getfield android.widget.AnalogClock.mCalendar:Landroid/text/format/Time;
getfield android.text.format.Time.second:I
istore 3
start local 3 4: aload 0
iload 2
i2f
iload 3
i2f
ldc 60.0
fdiv
fadd
putfield android.widget.AnalogClock.mMinutes:F
5: aload 0
iload 1
i2f
aload 0
getfield android.widget.AnalogClock.mMinutes:F
ldc 60.0
fdiv
fadd
putfield android.widget.AnalogClock.mHour:F
6: aload 0
iconst_1
putfield android.widget.AnalogClock.mChanged:Z
7: aload 0
aload 0
getfield android.widget.AnalogClock.mCalendar:Landroid/text/format/Time;
invokevirtual android.widget.AnalogClock.updateContentDescription:(Landroid/text/format/Time;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/widget/AnalogClock;
2 9 1 hour I
3 9 2 minute I
4 9 3 second I
private void updateContentDescription(android.text.format.Time);
descriptor: (Landroid/text/format/Time;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.AnalogClock.mContext:Landroid/content/Context;
1: aload 1
iconst_0
invokevirtual android.text.format.Time.toMillis:(Z)J
sipush 129
2: invokestatic android.text.format.DateUtils.formatDateTime:(Landroid/content/Context;JI)Ljava/lang/String;
astore 2
start local 2 3: aload 0
aload 2
invokevirtual android.widget.AnalogClock.setContentDescription:(Ljava/lang/CharSequence;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/AnalogClock;
0 5 1 time Landroid/text/format/Time;
3 5 2 contentDescription Ljava/lang/String;
MethodParameters:
Name Flags
time
}
SourceFile: "AnalogClock.java"
NestMembers:
android.widget.AnalogClock$1
InnerClasses:
public MeasureSpec = android.view.View$MeasureSpec of android.view.View
public abstract RemoteView = android.widget.RemoteViews$RemoteView of android.widget.RemoteViews
RuntimeVisibleAnnotations:
android.widget.RemoteViews$RemoteView()
java.lang.Deprecated()