1 min readJul 17, 2019
Yes, we move some resources in shared module — now it string resources. We create expect object MR, just like android R class and in actual realization set real identifiers.
common:
expect object MR {
@Suppress("ClassName")
object string {
val no_network_error: StringResource
val unknown_error: StringResource
val empty: StringResource
val retry: StringResource
}
}
android:
actual object MR {
@Suppress("ClassName")
actual object string {
actual val no_network_error = StringResource(R.string.common_noNetworkError)
actual val unknown_error = StringResource(R.string.common_unknownError)
actual val empty = StringResource(R.string.common_empty)
actual val retry = StringResource(R.string.common_retry)
}
}
ios:
actual object MR {
@Suppress("ClassName")
actual object string {
actual val no_network_error = StringResource("common.noNetworkError")
actual val unknown_error = StringResource("common.unknownError")
actual val empty = StringResource("common.empty")
actual val retry = StringResource("common.retry")
}
}
and on android resources files in androidSourceSet of shared library, but on ios resource now in app — we just use keys in shared library