public class android.util.RecurrenceRule implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.util.RecurrenceRule
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: "RecurrenceRule"
private static final boolean LOGD;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int VERSION_INIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static java.time.Clock sClock;
descriptor: Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
public final java.time.ZonedDateTime start;
descriptor: Ljava/time/ZonedDateTime;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.time.ZonedDateTime end;
descriptor: Ljava/time/ZonedDateTime;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.time.Period period;
descriptor: Ljava/time/Period;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public static final android.os.Parcelable$Creator<android.util.RecurrenceRule> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/util/RecurrenceRule;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "RecurrenceRule"
iconst_3
invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
putstatic android.util.RecurrenceRule.LOGD:Z
1: invokestatic java.time.Clock.systemDefaultZone:()Ljava/time/Clock;
putstatic android.util.RecurrenceRule.sClock:Ljava/time/Clock;
2: new android.util.RecurrenceRule$1
dup
invokespecial android.util.RecurrenceRule$1.<init>:()V
putstatic android.util.RecurrenceRule.CREATOR:Landroid/os/Parcelable$Creator;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.time.ZonedDateTime, java.time.ZonedDateTime, java.time.Period);
descriptor: (Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
2: aload 0
aload 2
putfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
3: aload 0
aload 3
putfield android.util.RecurrenceRule.period:Ljava/time/Period;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/util/RecurrenceRule;
0 5 1 start Ljava/time/ZonedDateTime;
0 5 2 end Ljava/time/ZonedDateTime;
0 5 3 period Ljava/time/Period;
MethodParameters:
Name Flags
start
end
period
public static android.util.RecurrenceRule buildNever();
descriptor: ()Landroid/util/RecurrenceRule;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new android.util.RecurrenceRule
dup
aconst_null
aconst_null
aconst_null
invokespecial android.util.RecurrenceRule.<init>:(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static android.util.RecurrenceRule buildRecurringMonthly(int, java.time.ZoneId);
descriptor: (ILjava/time/ZoneId;)Landroid/util/RecurrenceRule;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic android.util.RecurrenceRule.sClock:Ljava/time/Clock;
invokestatic java.time.ZonedDateTime.now:(Ljava/time/Clock;)Ljava/time/ZonedDateTime;
aload 1
invokevirtual java.time.ZonedDateTime.withZoneSameInstant:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
astore 2
start local 2 1: aload 2
invokevirtual java.time.ZonedDateTime.toLocalDate:()Ljava/time/LocalDate;
lconst_1
invokevirtual java.time.LocalDate.minusYears:(J)Ljava/time/LocalDate;
iconst_1
invokevirtual java.time.LocalDate.withMonth:(I)Ljava/time/LocalDate;
iload 0
invokevirtual java.time.LocalDate.withDayOfMonth:(I)Ljava/time/LocalDate;
2: getstatic java.time.LocalTime.MIDNIGHT:Ljava/time/LocalTime;
aload 1
3: invokestatic java.time.ZonedDateTime.of:(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
astore 3
start local 3 4: new android.util.RecurrenceRule
dup
aload 3
aconst_null
iconst_1
invokestatic java.time.Period.ofMonths:(I)Ljava/time/Period;
invokespecial android.util.RecurrenceRule.<init>:(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dayOfMonth I
0 5 1 zone Ljava/time/ZoneId;
1 5 2 now Ljava/time/ZonedDateTime;
4 5 3 start Ljava/time/ZonedDateTime;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
dayOfMonth
zone
private void <init>(android.os.Parcel);
descriptor: (Landroid/os/Parcel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/lang/String;)Ljava/time/ZonedDateTime;
putfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
2: aload 0
aload 1
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/lang/String;)Ljava/time/ZonedDateTime;
putfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
3: aload 0
aload 1
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
invokestatic android.util.RecurrenceRule.convertPeriod:(Ljava/lang/String;)Ljava/time/Period;
putfield android.util.RecurrenceRule.period:Ljava/time/Period;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/util/RecurrenceRule;
0 5 1 source Landroid/os/Parcel;
MethodParameters:
Name Flags
source
public int describeContents();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/RecurrenceRule;
public void writeToParcel(android.os.Parcel, int);
descriptor: (Landroid/os/Parcel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/time/ZonedDateTime;)Ljava/lang/String;
invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
1: aload 1
aload 0
getfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/time/ZonedDateTime;)Ljava/lang/String;
invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
2: aload 1
aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokestatic android.util.RecurrenceRule.convertPeriod:(Ljava/time/Period;)Ljava/lang/String;
invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/util/RecurrenceRule;
0 4 1 dest Landroid/os/Parcel;
0 4 2 flags I
MethodParameters:
Name Flags
dest
flags
public void <init>(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual java.io.DataInputStream.readInt:()I
istore 2
start local 2 2: iload 2
tableswitch { // 0 - 0
0: 3
default: 7
}
3: StackMap locals: android.util.RecurrenceRule java.io.DataInputStream int
StackMap stack:
aload 0
aload 1
invokestatic android.util.BackupUtils.readString:(Ljava/io/DataInputStream;)Ljava/lang/String;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/lang/String;)Ljava/time/ZonedDateTime;
putfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
4: aload 0
aload 1
invokestatic android.util.BackupUtils.readString:(Ljava/io/DataInputStream;)Ljava/lang/String;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/lang/String;)Ljava/time/ZonedDateTime;
putfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
5: aload 0
aload 1
invokestatic android.util.BackupUtils.readString:(Ljava/io/DataInputStream;)Ljava/lang/String;
invokestatic android.util.RecurrenceRule.convertPeriod:(Ljava/lang/String;)Ljava/time/Period;
putfield android.util.RecurrenceRule.period:Ljava/time/Period;
6: goto 8
7: StackMap locals:
StackMap stack:
new java.net.ProtocolException
dup
new java.lang.StringBuilder
dup
ldc "Unknown version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/util/RecurrenceRule;
0 9 1 in Ljava/io/DataInputStream;
2 9 2 version I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public void writeToStream(java.io.DataOutputStream);
descriptor: (Ljava/io/DataOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
invokevirtual java.io.DataOutputStream.writeInt:(I)V
1: aload 1
aload 0
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/time/ZonedDateTime;)Ljava/lang/String;
invokestatic android.util.BackupUtils.writeString:(Ljava/io/DataOutputStream;Ljava/lang/String;)V
2: aload 1
aload 0
getfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
invokestatic android.util.RecurrenceRule.convertZonedDateTime:(Ljava/time/ZonedDateTime;)Ljava/lang/String;
invokestatic android.util.BackupUtils.writeString:(Ljava/io/DataOutputStream;Ljava/lang/String;)V
3: aload 1
aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokestatic android.util.RecurrenceRule.convertPeriod:(Ljava/time/Period;)Ljava/lang/String;
invokestatic android.util.BackupUtils.writeString:(Ljava/io/DataOutputStream;Ljava/lang/String;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/util/RecurrenceRule;
0 5 1 out Ljava/io/DataOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "RecurrenceRule{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: ldc "start="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc " end="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc " period="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/util/RecurrenceRule;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
aastore
dup
iconst_1
aload 0
getfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
aastore
dup
iconst_2
aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
aastore
invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/RecurrenceRule;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof android.util.RecurrenceRule
ifeq 7
1: aload 1
checkcast android.util.RecurrenceRule
astore 2
start local 2 2: aload 0
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
aload 2
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
3: aload 0
getfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
aload 2
getfield android.util.RecurrenceRule.end:Ljava/time/ZonedDateTime;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
4: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
aload 2
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
StackMap locals: android.util.RecurrenceRule
StackMap stack:
6: iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/util/RecurrenceRule;
0 8 1 obj Ljava/lang/Object;
2 7 2 other Landroid/util/RecurrenceRule;
MethodParameters:
Name Flags
obj
public boolean isRecurring();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
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/util/RecurrenceRule;
public boolean isMonthly();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.util.RecurrenceRule.start:Ljava/time/ZonedDateTime;
ifnull 6
1: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
ifnull 6
2: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokevirtual java.time.Period.getYears:()I
ifne 6
3: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokevirtual java.time.Period.getMonths:()I
iconst_1
if_icmpne 6
4: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
invokevirtual java.time.Period.getDays:()I
ifne 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/util/RecurrenceRule;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public java.util.Iterator<android.util.Range<java.time.ZonedDateTime>> cycleIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.util.RecurrenceRule.period:Ljava/time/Period;
ifnull 2
1: new android.util.RecurrenceRule$RecurringIterator
dup
aload 0
invokespecial android.util.RecurrenceRule$RecurringIterator.<init>:(Landroid/util/RecurrenceRule;)V
areturn
2: StackMap locals:
StackMap stack:
new android.util.RecurrenceRule$NonrecurringIterator
dup
aload 0
invokespecial android.util.RecurrenceRule$NonrecurringIterator.<init>:(Landroid/util/RecurrenceRule;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/util/RecurrenceRule;
Signature: ()Ljava/util/Iterator<Landroid/util/Range<Ljava/time/ZonedDateTime;>;>;
public static java.lang.String convertZonedDateTime(java.time.ZonedDateTime);
descriptor: (Ljava/time/ZonedDateTime;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.time.ZonedDateTime.toString:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 time Ljava/time/ZonedDateTime;
MethodParameters:
Name Flags
time
public static java.time.ZonedDateTime convertZonedDateTime(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/time/ZonedDateTime;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokestatic java.time.ZonedDateTime.parse:(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.time.ZonedDateTime
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 time Ljava/lang/String;
MethodParameters:
Name Flags
time
public static java.lang.String convertPeriod(java.time.Period);
descriptor: (Ljava/time/Period;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.time.Period.toString:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 period Ljava/time/Period;
MethodParameters:
Name Flags
period
public static java.time.Period convertPeriod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/time/Period;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokestatic java.time.Period.parse:(Ljava/lang/CharSequence;)Ljava/time/Period;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.time.Period
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 period Ljava/lang/String;
MethodParameters:
Name Flags
period
}
SourceFile: "RecurrenceRule.java"
NestMembers:
android.util.RecurrenceRule$1 android.util.RecurrenceRule$NonrecurringIterator android.util.RecurrenceRule$RecurringIterator
InnerClasses:
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
android.util.RecurrenceRule$1
private NonrecurringIterator = android.util.RecurrenceRule$NonrecurringIterator of android.util.RecurrenceRule
private RecurringIterator = android.util.RecurrenceRule$RecurringIterator of android.util.RecurrenceRule