package com.yorvana.testsupport

import androidx.test.uiautomator.By
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.Until

object Permissions {
    private const val TIMEOUT_MILLIS = 2_000L

    fun acceptIfShown(device: UiDevice): Boolean {
        val allow =
            device.wait(Until.findObject(By.text("Allow")), TIMEOUT_MILLIS)
                ?: device.wait(Until.findObject(By.text("OK")), TIMEOUT_MILLIS)
                ?: device.wait(Until.findObject(By.res("com.android.permissioncontroller:id/permission_allow_button")), TIMEOUT_MILLIS)
                ?: device.wait(
                    Until.findObject(By.res("com.android.permissioncontroller:id/permission_allow_foreground_only_button")),
                    TIMEOUT_MILLIS,
                )
        allow?.click()
        return allow != null
    }
}
