Я пытаюсь инициализировать диспетчер подключений, используя applicationContext.
Я ожидаю, что пользователь отправит контекст активности, а затем я получу от него applicationContext. Однако я не могу быть уверен, что пользователь не отправит applicationContext напрямую. Я написал оператор if else для инициализации ConnectivityManager, но мне было интересно, есть ли лучший способ сделать это. Может быть, есть оператор let
или elvis
?
/**
* if user has passed application Context, we use it to get system service,
* else we get applicationContext from it and use that instead.
*/
private val connectivityManager = if (context.applicationContext == null)
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
else
context.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager