blob: f241f099830ee85580f547ee308d41a18dd97689 [file]
package com.android.onboarding.process
/**
* Interface representing the Onboarding Process responsible for keeping the calling process alive
* to prevent it from being terminated by the system.
*/
interface OnboardingProcess {
/**
* API used to keep the calling process alive. Accepts a [reason] explaining why the calling
* process should remain alive. Returns an [AutoCloseable], allowing for both lambda parameters
* and termination using the close API.
*/
fun keepAlive(reason: KeepAliveReason): AutoCloseable
}
/**
* Enum representing reasons for keeping an onboarding process alive. These reasons are used to
* determine when to utilize the Keep Alive API.
*/
enum class KeepAliveReason {
TEST_ONLY, // For testing purposes
OTHER, // Other unspecified reasons
}