SecurityStateManager


public class SecurityStateManager


Manages the retrieval and storage of security patch levels and module information for an Android device. This class provides methods to fetch the current security state of the system, including patch levels for the system, vendor, and kernel as well as module updates available through Android's update system.

It utilizes Android's PackageManager and other system services to retrieve detailed security-related information, which is crucial for maintaining the security integrity of the device.

Summary

Constants

static final @NonNull String
static final @NonNull String

The kernel version key returned as part of the {@code Bundle} from {@code getGlobalSecurityState}.

static final @NonNull String

The system SPL key returned as part of the {@code Bundle} from {@code getGlobalSecurityState}.

static final @NonNull String

The vendor SPL key returned as part of the {@code Bundle} from {@code getGlobalSecurityState}.

static final @NonNull String

Public constructors

Public methods

@NonNull Bundle
getGlobalSecurityState(String moduleMetadataProvider)

Retrieves the global security state of the device, compiling various security patch levels and module information into a Bundle.

Constants

ANDROID_MODULE_METADATA_PROVIDER

public static final @NonNull String ANDROID_MODULE_METADATA_PROVIDER

KEY_KERNEL_VERSION

public static final @NonNull String KEY_KERNEL_VERSION

The kernel version key returned as part of the {@code Bundle} from {@code getGlobalSecurityState}.

KEY_SYSTEM_SPL

public static final @NonNull String KEY_SYSTEM_SPL

The system SPL key returned as part of the {@code Bundle} from {@code getGlobalSecurityState}.

KEY_VENDOR_SPL

public static final @NonNull String KEY_VENDOR_SPL

The vendor SPL key returned as part of the {@code Bundle} from {@code getGlobalSecurityState}.

VENDOR_SECURITY_PATCH_PROPERTY_KEY

public static final @NonNull String VENDOR_SECURITY_PATCH_PROPERTY_KEY

Public constructors

SecurityStateManager

Added in 1.0.0-alpha01
public SecurityStateManager(@NonNull Context context)

Public methods

getGlobalSecurityState

Added in 1.0.0-alpha01
public @NonNull Bundle getGlobalSecurityState(String moduleMetadataProvider)

Retrieves the global security state of the device, compiling various security patch levels and module information into a Bundle. This method can optionally use Google's module metadata providers to enhance the data returned.

Parameters
String moduleMetadataProvider

Specifies package name for system modules metadata.

Returns
@NonNull Bundle

A Bundle containing keys and values representing the security state of the system, vendor, and kernel.