1// Signature format: 4.0
2package androidx.security.state {
3
4  public class SecurityPatchState {
5    ctor public SecurityPatchState(android.content.Context context);
6    ctor public SecurityPatchState(android.content.Context context, optional java.util.List<java.lang.String> systemModulePackageNames);
7    ctor public SecurityPatchState(android.content.Context context, optional java.util.List<java.lang.String> systemModulePackageNames, optional androidx.security.state.SecurityStateManagerCompat? customSecurityStateManagerCompat);
8    ctor public SecurityPatchState(android.content.Context context, optional java.util.List<java.lang.String> systemModulePackageNames, optional androidx.security.state.SecurityStateManagerCompat? customSecurityStateManagerCompat, optional String? vulnerabilityReportJsonString);
9    method public final boolean areCvesPatched(java.util.List<java.lang.String> cveList);
10    method public static final androidx.security.state.SecurityPatchState.SecurityPatchLevel getComponentSecurityPatchLevel(String component, String securityPatchLevel);
11    method public androidx.security.state.SecurityPatchState.SecurityPatchLevel getDeviceSecurityPatchLevel(String component);
12    method public java.util.Map<androidx.security.state.SecurityPatchState.Severity,java.util.Set<java.lang.String>> getPatchedCves(String component, androidx.security.state.SecurityPatchState.SecurityPatchLevel spl);
13    method public java.util.List<androidx.security.state.SecurityPatchState.SecurityPatchLevel> getPublishedSecurityPatchLevel(String component);
14    method @RequiresApi(26) public static final android.net.Uri getVulnerabilityReportUrl(optional android.net.Uri serverUrl);
15    method public final boolean isDeviceFullyUpdated();
16    method @WorkerThread public final void loadVulnerabilityReport(String jsonString);
17    field public static final String COMPONENT_KERNEL = "KERNEL";
18    field public static final String COMPONENT_SYSTEM = "SYSTEM";
19    field public static final String COMPONENT_SYSTEM_MODULES = "SYSTEM_MODULES";
20    field public static final androidx.security.state.SecurityPatchState.Companion Companion;
21    field public static final java.util.List<java.lang.String> DEFAULT_SYSTEM_MODULES;
22    field public static final String DEFAULT_VULNERABILITY_REPORTS_URL = "https://storage.googleapis.com/osv-android-api";
23  }
24
25  public static final class SecurityPatchState.Companion {
26    method public androidx.security.state.SecurityPatchState.SecurityPatchLevel getComponentSecurityPatchLevel(String component, String securityPatchLevel);
27    method @RequiresApi(26) public android.net.Uri getVulnerabilityReportUrl(optional android.net.Uri serverUrl);
28    property public static String COMPONENT_KERNEL;
29    property public static String COMPONENT_SYSTEM;
30    property public static String COMPONENT_SYSTEM_MODULES;
31    property public java.util.List<? extends java.lang.String> DEFAULT_SYSTEM_MODULES;
32    property public static String DEFAULT_VULNERABILITY_REPORTS_URL;
33  }
34
35  public static final class SecurityPatchState.DateBasedSecurityPatchLevel extends androidx.security.state.SecurityPatchState.SecurityPatchLevel {
36    ctor public SecurityPatchState.DateBasedSecurityPatchLevel(int year, int month, int day);
37    method public int compareTo(androidx.security.state.SecurityPatchState.SecurityPatchLevel other);
38    method public static androidx.security.state.SecurityPatchState.DateBasedSecurityPatchLevel fromString(String value);
39    method public int getDay();
40    method public int getMonth();
41    method public int getYear();
42    field public static final androidx.security.state.SecurityPatchState.DateBasedSecurityPatchLevel.Companion Companion;
43  }
44
45  public static final class SecurityPatchState.DateBasedSecurityPatchLevel.Companion {
46    method public androidx.security.state.SecurityPatchState.DateBasedSecurityPatchLevel fromString(String value);
47  }
48
49  public static final class SecurityPatchState.GenericStringSecurityPatchLevel extends androidx.security.state.SecurityPatchState.SecurityPatchLevel {
50    ctor public SecurityPatchState.GenericStringSecurityPatchLevel(String patchLevel);
51    method public int compareTo(androidx.security.state.SecurityPatchState.SecurityPatchLevel other);
52  }
53
54  public abstract static class SecurityPatchState.SecurityPatchLevel implements java.lang.Comparable<androidx.security.state.SecurityPatchState.SecurityPatchLevel> {
55    ctor public SecurityPatchState.SecurityPatchLevel();
56    method public abstract String toString();
57  }
58
59  public enum SecurityPatchState.Severity {
60    enum_constant public static final androidx.security.state.SecurityPatchState.Severity CRITICAL;
61    enum_constant public static final androidx.security.state.SecurityPatchState.Severity HIGH;
62    enum_constant public static final androidx.security.state.SecurityPatchState.Severity LOW;
63    enum_constant public static final androidx.security.state.SecurityPatchState.Severity MODERATE;
64  }
65
66  public static final class SecurityPatchState.VersionedSecurityPatchLevel extends androidx.security.state.SecurityPatchState.SecurityPatchLevel {
67    ctor public SecurityPatchState.VersionedSecurityPatchLevel(int majorVersion, int minorVersion, optional int buildVersion, optional int patchVersion);
68    method public int compareTo(androidx.security.state.SecurityPatchState.SecurityPatchLevel other);
69    method public static androidx.security.state.SecurityPatchState.VersionedSecurityPatchLevel fromString(String value);
70    method public int getBuildVersion();
71    method public int getMajorVersion();
72    method public int getMinorVersion();
73    method public int getPatchVersion();
74    field public static final androidx.security.state.SecurityPatchState.VersionedSecurityPatchLevel.Companion Companion;
75  }
76
77  public static final class SecurityPatchState.VersionedSecurityPatchLevel.Companion {
78    method public androidx.security.state.SecurityPatchState.VersionedSecurityPatchLevel fromString(String value);
79  }
80
81  public class SecurityStateManagerCompat {
82    ctor public SecurityStateManagerCompat(android.content.Context context);
83    method public android.os.Bundle getGlobalSecurityState(optional String moduleMetadataProviderPackageName);
84    field public static final androidx.security.state.SecurityStateManagerCompat.Companion Companion;
85    field public static final String KEY_KERNEL_VERSION = "kernel_version";
86    field public static final String KEY_SYSTEM_SPL = "system_spl";
87    field public static final String KEY_VENDOR_SPL = "vendor_spl";
88  }
89
90  public static final class SecurityStateManagerCompat.Companion {
91    property public static String KEY_KERNEL_VERSION;
92    property public static String KEY_SYSTEM_SPL;
93    property public static String KEY_VENDOR_SPL;
94  }
95
96}
97
98