У меня есть класс util для вращения устройств (пример ниже).Он работает в контексте приложения.Когда у меня телефон в портретном режиме, он возвращает ПОРТРЕТ.Однако, когда я поворачиваю телефон в альбомную ориентацию, этот метод по-прежнему возвращает PORTRAIT.
То же самое происходит, когда у меня есть значения и значения-land с логическим флагом, указывающим ландшафт, который я читаю по требованию.
Похоже, что конфигурация контекста приложения остается неизменной на протяжении всего времени жизни процесса.Например, он сохраняет конфигурацию, с которой начал.
Кто-нибудь может подтвердить это, пожалуйста?И если да, то как мне подойти к этому вопросу?
@Singleton
class DeviceInfo @Inject constructor(private val context: Context) {
enum class DeviceOrientation {
PORTRAIT, LANDSCAPE
}
fun getOrientation(): DeviceOrientation {
val orientation = context.resources.configuration.orientation
return when (orientation) {
Configuration.ORIENTATION_LANDSCAPE -> DeviceOrientation.LANDSCAPE
else -> DeviceOrientation.PORTRAIT
}
}
}