public class android.widget.Chronometer extends android.widget.TextView
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.widget.Chronometer
super_class: android.widget.TextView
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Chronometer"
private long mBase;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long mNow;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean mVisible;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mStarted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mRunning;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mLogged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String mFormat;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Formatter mFormatter;
descriptor: Ljava/util/Formatter;
flags: (0x0002) ACC_PRIVATE
private java.util.Locale mFormatterLocale;
descriptor: Ljava/util/Locale;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object[] mFormatterArgs;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuilder mFormatBuilder;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
private android.widget.Chronometer$OnChronometerTickListener mOnChronometerTickListener;
descriptor: Landroid/widget/Chronometer$OnChronometerTickListener;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuilder mRecycle;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
private boolean mCountDown;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.Runnable mTickRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int MIN_IN_SEC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60
private static final int HOUR_IN_SEC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3600
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
iconst_0
invokespecial android.widget.Chronometer.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/Chronometer;
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.Chronometer.<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/Chronometer;
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.Chronometer.<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/Chronometer;
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\tThe import android.icu cannot be resolved\n\tThe import android.icu cannot be resolved\n\tThe import android.icu cannot be resolved\n\tThe import android.icu cannot be resolved\n\tThe import com.android.internal.R cannot be resolved\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\n\tMeasure cannot be resolved to a type\n\tMeasure cannot be resolved to a type\n\tMeasureUnit cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\n\tMeasureUnit cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\n\tMeasureUnit cannot be resolved to a variable\n\tMeasureFormat cannot be resolved\n\tFormatWidth cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\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/Chronometer;
MethodParameters:
Name Flags
context
attrs
defStyleAttr
defStyleRes
private void init();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.os.SystemClock.elapsedRealtime:()J
putfield android.widget.Chronometer.mBase:J
1: aload 0
aload 0
getfield android.widget.Chronometer.mBase:J
invokevirtual android.widget.Chronometer.updateText:(J)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
public void setCountDown(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.widget.Chronometer.mCountDown:Z
1: aload 0
invokestatic android.os.SystemClock.elapsedRealtime:()J
invokevirtual android.widget.Chronometer.updateText:(J)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
0 3 1 countDown Z
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
countDown
public boolean isCountDown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mCountDown:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Chronometer;
public boolean isTheFinalCountDown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.widget.Chronometer.getContext:()Landroid/content/Context;
1: new android.content.Intent
dup
ldc "android.intent.action.VIEW"
ldc "https://youtu.be/9jK-NcRmVcw"
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
invokespecial android.content.Intent.<init>:(Ljava/lang/String;Landroid/net/Uri;)V
2: ldc "android.intent.category.BROWSABLE"
invokevirtual android.content.Intent.addCategory:(Ljava/lang/String;)Landroid/content/Intent;
3: ldc 528384
invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
4: invokevirtual android.content.Context.startActivity:(Landroid/content/Intent;)V
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack: java.lang.Exception
pop
7: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/Chronometer;
Exception table:
from to target type
0 5 6 Class java.lang.Exception
public void setBase(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
lload 1
putfield android.widget.Chronometer.mBase:J
1: aload 0
invokevirtual android.widget.Chronometer.dispatchChronometerTick:()V
2: aload 0
invokestatic android.os.SystemClock.elapsedRealtime:()J
invokevirtual android.widget.Chronometer.updateText:(J)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Chronometer;
0 4 1 base J
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
base
public long getBase();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mBase:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Chronometer;
public void setFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.widget.Chronometer.mFormat:Ljava/lang/String;
1: aload 1
ifnull 3
aload 0
getfield android.widget.Chronometer.mFormatBuilder:Ljava/lang/StringBuilder;
ifnonnull 3
2: aload 0
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.String.length:()I
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
putfield android.widget.Chronometer.mFormatBuilder:Ljava/lang/StringBuilder;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Chronometer;
0 4 1 format Ljava/lang/String;
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
format
public java.lang.String getFormat();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mFormat:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Chronometer;
public void setOnChronometerTickListener(android.widget.Chronometer$OnChronometerTickListener);
descriptor: (Landroid/widget/Chronometer$OnChronometerTickListener;)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.Chronometer.mOnChronometerTickListener:Landroid/widget/Chronometer$OnChronometerTickListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/Chronometer;
0 2 1 listener Landroid/widget/Chronometer$OnChronometerTickListener;
MethodParameters:
Name Flags
listener
public android.widget.Chronometer$OnChronometerTickListener getOnChronometerTickListener();
descriptor: ()Landroid/widget/Chronometer$OnChronometerTickListener;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mOnChronometerTickListener:Landroid/widget/Chronometer$OnChronometerTickListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Chronometer;
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield android.widget.Chronometer.mStarted:Z
1: aload 0
invokevirtual android.widget.Chronometer.updateRunning:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield android.widget.Chronometer.mStarted:Z
1: aload 0
invokevirtual android.widget.Chronometer.updateRunning:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
public void setStarted(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
iload 1
putfield android.widget.Chronometer.mStarted:Z
1: aload 0
invokevirtual android.widget.Chronometer.updateRunning:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
0 3 1 started Z
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
started
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.widget.TextView.onDetachedFromWindow:()V
1: aload 0
iconst_0
putfield android.widget.Chronometer.mVisible:Z
2: aload 0
invokevirtual android.widget.Chronometer.updateRunning:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/Chronometer;
protected void onWindowVisibilityChanged(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial android.widget.TextView.onWindowVisibilityChanged:(I)V
1: aload 0
iload 1
ifne 2
iconst_1
goto 3
StackMap locals:
StackMap stack: android.widget.Chronometer
2: iconst_0
StackMap locals: android.widget.Chronometer int
StackMap stack: android.widget.Chronometer int
3: putfield android.widget.Chronometer.mVisible:Z
4: aload 0
invokevirtual android.widget.Chronometer.updateRunning:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/Chronometer;
0 6 1 visibility I
MethodParameters:
Name Flags
visibility
protected void onVisibilityChanged(android.view.View, int);
descriptor: (Landroid/view/View;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial android.widget.TextView.onVisibilityChanged:(Landroid/view/View;I)V
1: aload 0
invokevirtual android.widget.Chronometer.updateRunning:()V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
0 3 1 changedView Landroid/view/View;
0 3 2 visibility I
MethodParameters:
Name Flags
changedView
visibility
private synchronized void updateText(long);
descriptor: (J)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR 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/Chronometer;
MethodParameters:
Name Flags
now
private void updateRunning();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mVisible:Z
ifeq 1
aload 0
getfield android.widget.Chronometer.mStarted:Z
ifeq 1
aload 0
invokevirtual android.widget.Chronometer.isShown:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: iload 1
aload 0
getfield android.widget.Chronometer.mRunning:Z
if_icmpeq 11
4: iload 1
ifeq 9
5: aload 0
invokestatic android.os.SystemClock.elapsedRealtime:()J
invokevirtual android.widget.Chronometer.updateText:(J)V
6: aload 0
invokevirtual android.widget.Chronometer.dispatchChronometerTick:()V
7: aload 0
aload 0
getfield android.widget.Chronometer.mTickRunnable:Ljava/lang/Runnable;
ldc 1000
invokevirtual android.widget.Chronometer.postDelayed:(Ljava/lang/Runnable;J)Z
pop
8: goto 10
9: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield android.widget.Chronometer.mTickRunnable:Ljava/lang/Runnable;
invokevirtual android.widget.Chronometer.removeCallbacks:(Ljava/lang/Runnable;)Z
pop
10: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.Chronometer.mRunning:Z
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/widget/Chronometer;
3 12 1 running Z
void dispatchChronometerTick();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mOnChronometerTickListener:Landroid/widget/Chronometer$OnChronometerTickListener;
ifnull 2
1: aload 0
getfield android.widget.Chronometer.mOnChronometerTickListener:Landroid/widget/Chronometer$OnChronometerTickListener;
aload 0
invokeinterface android.widget.Chronometer$OnChronometerTickListener.onChronometerTick:(Landroid/widget/Chronometer;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/widget/Chronometer;
private static java.lang.String formatDuration(long);
descriptor: (J)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tMeasure cannot be resolved to a type\n\tMeasure cannot be resolved to a type\n\tMeasure cannot be resolved to a type\n\tMeasureUnit cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\n\tMeasureUnit cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\n\tMeasureUnit cannot be resolved to a variable\n\tMeasureFormat cannot be resolved\n\tFormatWidth cannot be resolved to a variable\n\tMeasure cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
ms
public java.lang.CharSequence getContentDescription();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.Chronometer.mNow:J
aload 0
getfield android.widget.Chronometer.mBase:J
lsub
invokestatic android.widget.Chronometer.formatDuration:(J)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Chronometer;
public java.lang.CharSequence getAccessibilityClassName();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Landroid/widget/Chronometer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/Chronometer;
}
SourceFile: "Chronometer.java"
NestMembers:
android.widget.Chronometer$1 android.widget.Chronometer$OnChronometerTickListener
InnerClasses:
public abstract OnChronometerTickListener = android.widget.Chronometer$OnChronometerTickListener of android.widget.Chronometer
public abstract RemoteView = android.widget.RemoteViews$RemoteView of android.widget.RemoteViews
RuntimeVisibleAnnotations:
android.widget.RemoteViews$RemoteView()