Provide radio screen state and monotonic nanoseconds to host tests

This commit is contained in:
evgeny committed 2026-10-29 13:34:22 +01:00
1 parent 841d4ecdde
commit 4ff2f56aa8
2 files changed
+6 -2

No files matched your search

@@ -6,7 +6,7 @@ import android.media.AudioAttributes
/** Host-модель SDK/главной очереди: callbacks и их доставку тест контролирует явно, без настоящего Android Looper. */
object Build {
object VERSION { var SDK_INT = 36 }
object VERSION_CODES { const val O = 26; const val P = 28; const val S = 31; const val UPSIDE_DOWN_CAKE = 34 }
object VERSION_CODES { const val O = 26; const val P = 28; const val S = 31; const val TIRAMISU = 33; const val UPSIDE_DOWN_CAKE = 34 }
}
class Looper private constructor() {
private data class Task(val handler: Handler, val runnable: Runnable, val deadline: Long)
@@ -37,7 +37,10 @@ class Handler(val looper: Looper) {
fun postDelayed(task: Runnable, delay: Long): Boolean = !rejectDelayed && looper.post(this, task, delay)
fun removeCallbacks(task: Runnable) = looper.remove(this, task)
}
object SystemClock { fun elapsedRealtime(): Long = System.nanoTime() / 1_000_000 }
object SystemClock {
fun elapsedRealtime(): Long = System.nanoTime() / 1_000_000
fun elapsedRealtimeNanos(): Long = System.nanoTime()
}
/** Конечные vibration pulses без аппаратных эффектов; тест может отказать на любом импульсе. */
class VibrationEffect private constructor(val timings: LongArray, val repeat: Int) {
@@ -7,6 +7,7 @@ class PowerManager {
const val ACQUIRE_CAUSES_WAKEUP = 0x10000000; const val ON_AFTER_RELEASE = 0x20000000
}
var failures = emptySet<String>()
var isInteractive = true
var ignoringBatteryOptimizations = false
val optimizationQueries = mutableListOf<String>()
val locks = mutableListOf<WakeLock>()