Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2023-1023SE17 (оперативное обновление 1.7.5) и выше;
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2024-0416SE47 (оперативное обновление 4.7.5) и выше;
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8), в том числе с установленным обновлением БЮЛЛЕТЕНЬ № 2025-0411SE18 (оперативное обновление 1.8.2) и выше.
Общие сведения
Настройка фиксированной ориентации экрана для мобильных приложений. Проверка корректности работы фиксированной ориентации экрана.
Настройка фиксированной ориентации
Настройки фиксированной ориентации экрана для приложений задаются в конфигурационном файле /etc/xdg/plasmamobilerc.
Ориентация экрана приложения Waydroid задается в секции [APPORIENTATION] в виде строки, содержащей имя приложения и код ориентации экрана. Одному приложению соответствует одна строка. Строку можно добавить в любом месте в пределах секции [APPORIENTATION].
[APPORIENTATION] waydroid.com.devinterestdev.streamshow=4 waydroid.com.android.calculator2=1 waydroid.org.lineageos.etar=2 waydroid.org.lineageos.jelly=3 fly-camera=1 fly-gallery=2 chromium=4
Варианты ориентации устройства приведены на рисунке слева направо:
- верхняя грань устройства направлена вверх;
- верхняя грань устройства направлена вниз;
- левая грань устройства направлена вверх;
- правая грань устройства направлена вверх;
- лицевая сторона устройства направлена вверх;
- лицевая сторона устройства направлена вниз.
Ориентация экрана приложения при определенной ориентации устройства задается кодом ориентации. Значения кодов ориентации могут различаться в зависимости от устройства. В качестве примера в таблице приведены значения кодов ориентации для устройства Lenovo IdeaPad URU.
Код | Положение устройства | Ориентация экрана приложения |
|---|---|---|
| 1 | Верхняя грань устройства направлена вверх | Приложение запустится в ландшафтной ориентации |
| 2 | Верхняя грань устройства направлена вниз | Приложение запустится в портретной ориентации (справа налево) |
| 3 | Левая грань устройства направлена вверх | Приложение запустится в зеркальной портретной ориентации (слева направо) |
| 4 | Правая грань устройства направлена вверх | Приложение запустится в зеркальной ландшафтной ориентации (вверх ногами) |
Алгоритм определения ориентации
Ориентация экрана определяется при запуске приложения по следующему алгоритму:
- проверяется необходимость изменить ориентацию экрана для запускаемого приложения;
- если для приложения есть запись в конфигурационном файле
/etc/xdg/plasmamobilerc, ему задаётся указанная ориентация экрана. Автоматический поворот экрана блокируется; - производится проверка, что приложение является приложением Waydroid;
- проверяется разрешение экрана, указанное в конфигурационном файле
/var/lib/waydroid/waydroid_base.prop. Если указанное разрешение экрана отличается от необходимого данному приложению, то разрешение в конфигурационном файле изменяется на необходимое. Затем выполняется перезапуск сессии Waydroid с повторным запуском приложения.
Необходимость изменить ориентацию экрана также проверяется при переключении между приложениями:
- если для приложения есть запись в конфигурационном файле, ему задаётся указанная ориентация экрана. Автоматический поворот экрана блокируется;
- если записи для приложения нет, то ориентация будет установлена в соответствии с текущими показаниями сенсора. Флаг автоматического поворота будет возвращён к предыдущему состоянию до блокировки.
Проверка ориентации
Проверить, что ориентация приложений Waydroid работает корректно, можно следующим образом:
- в конфигурационном файле
/etc/xdg/plasmamobilercв секции[APPORIENTATION](если она отсутствует — создать) добавить:- ориентацию экрана по умолчанию для всех приложений Waydroid — запись вида
WaydroidDefaultOrientation=<код_ориентации>; - аналогичные записи для нескольких приложений Waydroid с разными кодами ориентации.
Примечание. Узнать имя приложения можно, выполнив команду:waydroid app list
- ориентацию экрана по умолчанию для всех приложений Waydroid — запись вида
- запустить указанные приложения.
ВНИМАНИЕ! Приложения с разной ориентацией (кроме зеркальной) одновременно работать не будут.
Ориентация приложений Waydroid работает правильно, если:
- фиксированная ориентация приложений автоматически применяется при их запуске и при переключении на них с помощью комбинации клавиш <Alt+Tab> или через графический интерфейс;
- для приложений с фиксированной ориентацией блокируется автоматический поворот;
- при переключении на приложение без фиксированной ориентации восстанавливается ориентация в соответствии с настройками для этого приложения или системными настройками.
