package jp.juggler.util.os import android.content.Context import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.core.content.ContextCompat /** * インストゥルメントテストのContextは * applicationContext がnullを返す。 * この場合は元のcontextを補うのがベストだろう。 */ val Context.applicationContextSafe: Context get() = try { applicationContext ?: this } catch (ex: Throwable) { // applicationContextへのアクセスは例外を出すことがある this } fun Context.error(@StringRes resId: Int, vararg args: Any?): Nothing = error(getString(resId, *args)) fun Context.resDrawable(@DrawableRes resId: Int) = ContextCompat.getDrawable(this, resId)