public final class android.app.admin.SystemUpdatePolicy implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.app.admin.SystemUpdatePolicy
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: "SystemUpdatePolicy"
private static final int TYPE_UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int TYPE_INSTALL_AUTOMATIC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int TYPE_INSTALL_WINDOWED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int TYPE_POSTPONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int TYPE_PAUSE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
private static final java.lang.String KEY_POLICY_TYPE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "policy_type"
private static final java.lang.String KEY_INSTALL_WINDOW_START;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "install_window_start"
private static final java.lang.String KEY_INSTALL_WINDOW_END;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "install_window_end"
private static final java.lang.String KEY_FREEZE_TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "freeze"
private static final java.lang.String KEY_FREEZE_START;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "start"
private static final java.lang.String KEY_FREEZE_END;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "end"
private static final int WINDOW_BOUNDARY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1440
static final int FREEZE_PERIOD_MAX_LENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 90
static final int FREEZE_PERIOD_MIN_SEPARATION;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 60
private int mPolicyType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mMaintenanceWindowStart;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mMaintenanceWindowEnd;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayList<android.app.admin.FreezePeriod> mFreezePeriods;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/app/admin/FreezePeriod;>;
public static final android.os.Parcelable$Creator<android.app.admin.SystemUpdatePolicy> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/app/admin/SystemUpdatePolicy;>;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new android.app.admin.SystemUpdatePolicy$1
dup
invokespecial android.app.admin.SystemUpdatePolicy$1.<init>:()V
1: putstatic android.app.admin.SystemUpdatePolicy.CREATOR:Landroid/os/Parcelable$Creator;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/app/admin/SystemUpdatePolicy;
public static android.app.admin.SystemUpdatePolicy createAutomaticInstallPolicy();
descriptor: ()Landroid/app/admin/SystemUpdatePolicy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new android.app.admin.SystemUpdatePolicy
dup
invokespecial android.app.admin.SystemUpdatePolicy.<init>:()V
astore 0
start local 0 1: aload 0
iconst_1
putfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 policy Landroid/app/admin/SystemUpdatePolicy;
public static android.app.admin.SystemUpdatePolicy createWindowedInstallPolicy(int, int);
descriptor: (II)Landroid/app/admin/SystemUpdatePolicy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 0
iflt 2
iload 0
sipush 1440
if_icmpge 2
1: iload 1
iflt 2
iload 1
sipush 1440
if_icmplt 3
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "startTime and endTime must be inside [0, 1440)"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
new android.app.admin.SystemUpdatePolicy
dup
invokespecial android.app.admin.SystemUpdatePolicy.<init>:()V
astore 2
start local 2 4: aload 2
iconst_2
putfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
5: aload 2
iload 0
putfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
6: aload 2
iload 1
putfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 startTime I
0 8 1 endTime I
4 8 2 policy Landroid/app/admin/SystemUpdatePolicy;
MethodParameters:
Name Flags
startTime
endTime
public static android.app.admin.SystemUpdatePolicy createPostponeInstallPolicy();
descriptor: ()Landroid/app/admin/SystemUpdatePolicy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new android.app.admin.SystemUpdatePolicy
dup
invokespecial android.app.admin.SystemUpdatePolicy.<init>:()V
astore 0
start local 0 1: aload 0
iconst_3
putfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 policy Landroid/app/admin/SystemUpdatePolicy;
public int getPolicyType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/admin/SystemUpdatePolicy;
public int getInstallWindowStart();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_2
if_icmpne 2
1: aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
ireturn
2: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/admin/SystemUpdatePolicy;
public int getInstallWindowEnd();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_2
if_icmpne 2
1: aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
ireturn
2: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/admin/SystemUpdatePolicy;
public boolean isValid();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.app.admin.SystemUpdatePolicy.validateType:()V
1: aload 0
invokevirtual android.app.admin.SystemUpdatePolicy.validateFreezePeriods:()V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/app/admin/SystemUpdatePolicy;
Exception table:
from to target type
0 2 3 Class java.lang.IllegalArgumentException
public void validateType();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_1
if_icmpeq 1
aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_3
if_icmpne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_2
if_icmpne 6
3: aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
iflt 5
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
sipush 1440
if_icmpge 5
4: aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
iflt 5
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
sipush 1440
if_icmplt 7
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid maintenance window"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid system update policy type."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/app/admin/SystemUpdatePolicy;
public android.app.admin.SystemUpdatePolicy setFreezePeriods(java.util.List<android.app.admin.FreezePeriod>);
descriptor: (Ljava/util/List;)Landroid/app/admin/SystemUpdatePolicy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic android.app.admin.FreezePeriod.validatePeriods:(Ljava/util/List;)V
1: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
2: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/app/admin/SystemUpdatePolicy;
0 4 1 freezePeriods Ljava/util/List<Landroid/app/admin/FreezePeriod;>;
Signature: (Ljava/util/List<Landroid/app/admin/FreezePeriod;>;)Landroid/app/admin/SystemUpdatePolicy;
MethodParameters:
Name Flags
freezePeriods
public java.util.List<android.app.admin.FreezePeriod> getFreezePeriods();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/admin/SystemUpdatePolicy;
Signature: ()Ljava/util/List<Landroid/app/admin/FreezePeriod;>;
public android.util.Pair<java.time.LocalDate, java.time.LocalDate> getCurrentFreezePeriod(java.time.LocalDate);
descriptor: (Ljava/time/LocalDate;)Landroid/util/Pair;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: android.app.admin.SystemUpdatePolicy java.time.LocalDate top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.app.admin.FreezePeriod
astore 2
start local 2 2: aload 2
aload 1
invokevirtual android.app.admin.FreezePeriod.contains:(Ljava/time/LocalDate;)Z
ifeq 4
3: aload 2
aload 1
invokevirtual android.app.admin.FreezePeriod.toCurrentOrFutureRealDates:(Ljava/time/LocalDate;)Landroid/util/Pair;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/app/admin/SystemUpdatePolicy;
0 6 1 now Ljava/time/LocalDate;
2 4 2 interval Landroid/app/admin/FreezePeriod;
Signature: (Ljava/time/LocalDate;)Landroid/util/Pair<Ljava/time/LocalDate;Ljava/time/LocalDate;>;
MethodParameters:
Name Flags
now
private long timeUntilNextFreezePeriod(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokestatic android.app.admin.FreezePeriod.canonicalizePeriods:(Ljava/util/List;)Ljava/util/List;
astore 3
start local 3 1: lload 1
invokestatic android.app.admin.SystemUpdatePolicy.millisToDate:(J)Ljava/time/LocalDate;
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: android.app.admin.SystemUpdatePolicy long java.util.List java.time.LocalDate java.time.LocalDate top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.app.admin.FreezePeriod
astore 6
start local 6 5: aload 6
aload 4
invokevirtual android.app.admin.FreezePeriod.after:(Ljava/time/LocalDate;)Z
ifeq 8
6: aload 6
aload 4
invokevirtual android.app.admin.FreezePeriod.toCurrentOrFutureRealDates:(Ljava/time/LocalDate;)Landroid/util/Pair;
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast java.time.LocalDate
astore 5
7: goto 11
8: StackMap locals: android.app.admin.SystemUpdatePolicy long java.util.List java.time.LocalDate java.time.LocalDate android.app.admin.FreezePeriod java.util.Iterator
StackMap stack:
aload 6
aload 4
invokevirtual android.app.admin.FreezePeriod.contains:(Ljava/time/LocalDate;)Z
ifeq 10
9: new java.lang.IllegalArgumentException
dup
ldc "Given date is inside a freeze period"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 10: StackMap locals: android.app.admin.SystemUpdatePolicy long java.util.List java.time.LocalDate java.time.LocalDate top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: StackMap locals: android.app.admin.SystemUpdatePolicy long java.util.List java.time.LocalDate java.time.LocalDate
StackMap stack:
aload 5
ifnonnull 13
12: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.app.admin.FreezePeriod
aload 4
invokevirtual android.app.admin.FreezePeriod.toCurrentOrFutureRealDates:(Ljava/time/LocalDate;)Landroid/util/Pair;
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast java.time.LocalDate
astore 5
13: StackMap locals:
StackMap stack:
aload 5
invokestatic android.app.admin.SystemUpdatePolicy.dateToMillis:(Ljava/time/LocalDate;)J
lload 1
lsub
lreturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/app/admin/SystemUpdatePolicy;
0 14 1 now J
1 14 3 sortedPeriods Ljava/util/List<Landroid/app/admin/FreezePeriod;>;
2 14 4 nowDate Ljava/time/LocalDate;
3 14 5 nextFreezeStart Ljava/time/LocalDate;
5 10 6 interval Landroid/app/admin/FreezePeriod;
MethodParameters:
Name Flags
now
public void validateFreezePeriods();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokestatic android.app.admin.FreezePeriod.validatePeriods:(Ljava/util/List;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/app/admin/SystemUpdatePolicy;
public void validateAgainstPreviousFreezePeriod(java.time.LocalDate, java.time.LocalDate, java.time.LocalDate);
descriptor: (Ljava/time/LocalDate;Ljava/time/LocalDate;Ljava/time/LocalDate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
aload 1
1: aload 2
aload 3
2: invokestatic android.app.admin.FreezePeriod.validateAgainstPreviousFreezePeriod:(Ljava/util/List;Ljava/time/LocalDate;Ljava/time/LocalDate;Ljava/time/LocalDate;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/app/admin/SystemUpdatePolicy;
0 4 1 prevPeriodStart Ljava/time/LocalDate;
0 4 2 prevPeriodEnd Ljava/time/LocalDate;
0 4 3 now Ljava/time/LocalDate;
MethodParameters:
Name Flags
prevPeriodStart
prevPeriodEnd
now
public android.app.admin.SystemUpdatePolicy$InstallationOption getInstallationOptionAt(long);
descriptor: (J)Landroid/app/admin/SystemUpdatePolicy$InstallationOption;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: lload 1
invokestatic android.app.admin.SystemUpdatePolicy.millisToDate:(J)Ljava/time/LocalDate;
astore 3
start local 3 1: aload 0
aload 3
invokevirtual android.app.admin.SystemUpdatePolicy.getCurrentFreezePeriod:(Ljava/time/LocalDate;)Landroid/util/Pair;
astore 4
start local 4 2: aload 4
ifnull 6
3: new android.app.admin.SystemUpdatePolicy$InstallationOption
dup
iconst_4
4: aload 4
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast java.time.LocalDate
invokestatic android.app.admin.SystemUpdatePolicy.roundUpLeapDay:(Ljava/time/LocalDate;)Ljava/time/LocalDate;
lconst_1
invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
invokestatic android.app.admin.SystemUpdatePolicy.dateToMillis:(Ljava/time/LocalDate;)J
lload 1
lsub
5: invokespecial android.app.admin.SystemUpdatePolicy$InstallationOption.<init>:(IJ)V
areturn
6: StackMap locals: java.time.LocalDate android.util.Pair
StackMap stack:
aload 0
lload 1
invokevirtual android.app.admin.SystemUpdatePolicy.getInstallationOptionRegardlessFreezeAt:(J)Landroid/app/admin/SystemUpdatePolicy$InstallationOption;
astore 5
start local 5 7: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifle 9
8: aload 5
aload 0
lload 1
invokevirtual android.app.admin.SystemUpdatePolicy.timeUntilNextFreezePeriod:(J)J
invokevirtual android.app.admin.SystemUpdatePolicy$InstallationOption.limitEffectiveTime:(J)V
9: StackMap locals: android.app.admin.SystemUpdatePolicy$InstallationOption
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/app/admin/SystemUpdatePolicy;
0 10 1 when J
1 10 3 whenDate Ljava/time/LocalDate;
2 10 4 current Landroid/util/Pair<Ljava/time/LocalDate;Ljava/time/LocalDate;>;
7 10 5 option Landroid/app/admin/SystemUpdatePolicy$InstallationOption;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
when
private android.app.admin.SystemUpdatePolicy$InstallationOption getInstallationOptionRegardlessFreezeAt(long);
descriptor: (J)Landroid/app/admin/SystemUpdatePolicy$InstallationOption;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_1
if_icmpeq 1
aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_3
if_icmpne 2
1: StackMap locals:
StackMap stack:
new android.app.admin.SystemUpdatePolicy$InstallationOption
dup
aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
ldc 9223372036854775807
invokespecial android.app.admin.SystemUpdatePolicy$InstallationOption.<init>:(IJ)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
iconst_2
if_icmpne 24
3: invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
astore 3
start local 3 4: aload 3
lload 1
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
5: getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
aload 3
bipush 11
invokevirtual java.util.Calendar.get:(I)I
i2l
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
6: getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
aload 3
bipush 12
invokevirtual java.util.Calendar.get:(I)I
i2l
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
7: ladd
8: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
aload 3
bipush 13
invokevirtual java.util.Calendar.get:(I)I
i2l
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
9: ladd
10: aload 3
bipush 14
invokevirtual java.util.Calendar.get:(I)I
i2l
11: ladd
lstore 4
start local 4 12: getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
i2l
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 6
start local 6 13: getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
i2l
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 8
start local 8 14: getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 10
start local 10 15: lload 6
lload 4
lcmp
ifgt 16
lload 4
lload 8
lcmp
ifle 18
16: StackMap locals: android.app.admin.SystemUpdatePolicy long java.util.Calendar long long long long
StackMap stack:
lload 6
lload 8
lcmp
ifle 21
17: lload 6
lload 4
lcmp
ifle 18
lload 4
lload 8
lcmp
ifgt 21
18: StackMap locals:
StackMap stack:
new android.app.admin.SystemUpdatePolicy$InstallationOption
dup
iconst_1
19: lload 8
lload 4
lsub
lload 10
ladd
lload 10
lrem
20: invokespecial android.app.admin.SystemUpdatePolicy$InstallationOption.<init>:(IJ)V
areturn
21: StackMap locals:
StackMap stack:
new android.app.admin.SystemUpdatePolicy$InstallationOption
dup
iconst_4
22: lload 6
lload 4
lsub
lload 10
ladd
lload 10
lrem
23: invokespecial android.app.admin.SystemUpdatePolicy$InstallationOption.<init>:(IJ)V
areturn
end local 10 end local 8 end local 6 end local 4 end local 3 24: StackMap locals: android.app.admin.SystemUpdatePolicy long
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Unknown policy type"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/app/admin/SystemUpdatePolicy;
0 25 1 when J
4 24 3 query Ljava/util/Calendar;
12 24 4 whenMillis J
13 24 6 windowStartMillis J
14 24 8 windowEndMillis J
15 24 10 dayInMillis J
MethodParameters:
Name Flags
when
private static java.time.LocalDate roundUpLeapDay(java.time.LocalDate);
descriptor: (Ljava/time/LocalDate;)Ljava/time/LocalDate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.time.LocalDate.isLeapYear:()Z
ifeq 2
aload 0
invokevirtual java.time.LocalDate.getMonthValue:()I
iconst_2
if_icmpne 2
aload 0
invokevirtual java.time.LocalDate.getDayOfMonth:()I
bipush 28
if_icmpne 2
1: aload 0
lconst_1
invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 date Ljava/time/LocalDate;
MethodParameters:
Name Flags
date
private static java.time.LocalDate millisToDate(long);
descriptor: (J)Ljava/time/LocalDate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
invokevirtual java.time.Instant.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.toLocalDate:()Ljava/time/LocalDate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 when J
MethodParameters:
Name Flags
when
private static long dateToMillis(java.time.LocalDate);
descriptor: (Ljava/time/LocalDate;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.time.LocalTime.MIN:Ljava/time/LocalTime;
invokestatic java.time.LocalDateTime.of:(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
invokevirtual java.time.LocalDateTime.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
1: invokevirtual java.time.Instant.toEpochMilli:()J
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 when Ljava/time/LocalDate;
MethodParameters:
Name Flags
when
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: ldc "SystemUpdatePolicy (type: %d, windowStart: %d, windowEnd: %d, freezes: [%s])"
iconst_4
anewarray java.lang.Object
dup
iconst_0
1: aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
2: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
android/app/admin/SystemUpdatePolicy.lambda$0(Landroid/app/admin/FreezePeriod;)Ljava/lang/String; (6)
(Landroid/app/admin/FreezePeriod;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
ldc ","
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/app/admin/SystemUpdatePolicy;
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/app/admin/SystemUpdatePolicy;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
public void writeToParcel(android.os.Parcel, int);
descriptor: (Landroid/os/Parcel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.app.admin.SystemUpdatePolicy.mPolicyType:I
invokevirtual android.os.Parcel.writeInt:(I)V
1: aload 1
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowStart:I
invokevirtual android.os.Parcel.writeInt:(I)V
2: aload 1
aload 0
getfield android.app.admin.SystemUpdatePolicy.mMaintenanceWindowEnd:I
invokevirtual android.os.Parcel.writeInt:(I)V
3: aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 4: aload 1
iload 3
invokevirtual android.os.Parcel.writeInt:(I)V
5: iconst_0
istore 4
start local 4 6: goto 13
7: StackMap locals: int int
StackMap stack:
aload 0
getfield android.app.admin.SystemUpdatePolicy.mFreezePeriods:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.app.admin.FreezePeriod
astore 5
start local 5 8: aload 1
aload 5
invokevirtual android.app.admin.FreezePeriod.getStart:()Ljava/time/MonthDay;
invokevirtual java.time.MonthDay.getMonthValue:()I
invokevirtual android.os.Parcel.writeInt:(I)V
9: aload 1
aload 5
invokevirtual android.app.admin.FreezePeriod.getStart:()Ljava/time/MonthDay;
invokevirtual java.time.MonthDay.getDayOfMonth:()I
invokevirtual android.os.Parcel.writeInt:(I)V
10: aload 1
aload 5
invokevirtual android.app.admin.FreezePeriod.getEnd:()Ljava/time/MonthDay;
invokevirtual java.time.MonthDay.getMonthValue:()I
invokevirtual android.os.Parcel.writeInt:(I)V
11: aload 1
aload 5
invokevirtual android.app.admin.FreezePeriod.getEnd:()Ljava/time/MonthDay;
invokevirtual java.time.MonthDay.getDayOfMonth:()I
invokevirtual android.os.Parcel.writeInt:(I)V
end local 5 12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 3
if_icmplt 7
end local 4 14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/app/admin/SystemUpdatePolicy;
0 15 1 dest Landroid/os/Parcel;
0 15 2 flags I
4 15 3 freezeCount I
6 14 4 i I
8 12 5 interval Landroid/app/admin/FreezePeriod;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
dest
flags
public static android.app.admin.SystemUpdatePolicy restoreFromXml(XmlPullParser);
descriptor: (LXmlPullParser;)Landroid/app/admin/SystemUpdatePolicy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tXmlPullParser cannot be resolved to a type\n\tEND_DOCUMENT cannot be resolved to a variable\n\tEND_TAG cannot be resolved to a variable\n\tEND_TAG cannot be resolved to a variable\n\tTEXT cannot be resolved to a variable\n\tNo exception of type Object can be thrown; an exception type must be a subclass of Throwable\n\tXmlPullParserException cannot be resolved to a type\n\tThe method w(String, String, Throwable) in the type Log is not applicable for the arguments (String, String, Object)\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
parser
public void saveToXml(XmlSerializer);
descriptor: (LXmlSerializer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tXmlSerializer 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/app/admin/SystemUpdatePolicy;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
private static java.lang.String lambda$0(android.app.admin.FreezePeriod);
descriptor: (Landroid/app/admin/FreezePeriod;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.app.admin.FreezePeriod.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n Landroid/app/admin/FreezePeriod;
}
SourceFile: "SystemUpdatePolicy.java"
NestMembers:
android.app.admin.SystemUpdatePolicy$1 android.app.admin.SystemUpdatePolicy$InstallationOption android.app.admin.SystemUpdatePolicy$InstallationOption$InstallationOptionType android.app.admin.SystemUpdatePolicy$SystemUpdatePolicyType android.app.admin.SystemUpdatePolicy$ValidationFailedException android.app.admin.SystemUpdatePolicy$ValidationFailedException$1 android.app.admin.SystemUpdatePolicy$ValidationFailedException$ValidationFailureType
InnerClasses:
android.app.admin.SystemUpdatePolicy$1
public InstallationOption = android.app.admin.SystemUpdatePolicy$InstallationOption of android.app.admin.SystemUpdatePolicy
abstract SystemUpdatePolicyType = android.app.admin.SystemUpdatePolicy$SystemUpdatePolicyType of android.app.admin.SystemUpdatePolicy
public final ValidationFailedException = android.app.admin.SystemUpdatePolicy$ValidationFailedException of android.app.admin.SystemUpdatePolicy
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles