Kotlin 1.2.50
У меня есть следующая предоставленная зависимость, которая создаст MovieListItemDecorator, и в конструкторе она передаст drawable. Однако метод getDrawable может возвращать обнуляемое значение:
т.е.
@Nullable
public static final Drawable getDrawable(@NonNull Context context, @DrawableRes int id)
Я думаю, что я могу сделать в случае, когда getDrawable возвращает нулевое значение: я указал 2 случая ниже. Но если getDrawable возвращает null, я не хочу передавать это в конструктор MovieItemDecorator()
1)
@MovieListScope
@Provides
fun provideMovieItemDecorator(context: Context): MovieItemDecorator {
var drawable: Drawable by Delegates.notNull()
ContextCompat.getDrawable(context, R.drawable.blue_border)?.let {
drawable = it
}
return MovieItemDecorator(drawable)
}
2)
@MovieListScope
@Provides
fun provideMovieItemDecorator(context: Context): MovieItemDecorator {
ContextCompat.getDrawable(context, R.drawable.blue_border)?.let {
return MovieItemDecorator(it)
} ?: {
return MovieItemDecorator(....) /* what to return here */
}
}