Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Общие сведения

В данной статье приведено описание настройки фиксированной ориентации экрана для мобильных приложений, а также порядок проверки корректности работы фиксированной ориентации экрана.

Конфигурационный файл

Информация о конфигурационном файле:

  • расположение

Файл конфигураций

...

  • : /etc/xdg/plasmamobilerc

...

  • владелец: root

...

  • группа: root

...

  • права доступа: rw-r--r--

Структура:

Секция: APPORIENTATION

WaydroidDefaultOrientation - параметрПараметр WaydroidDefaultOrientation, задающий ориентацию по умолчанию для всех приложений Waydroid.

Все остальные параметры являются именем приложения в системе.

Пример системных приложений:
fly-camera=#
fly-gallery=#

Пример приложений waydroid (см команду waydroid app list):
waydroid.com.android.calculator2=#
waydroid.org.lineageos.etar=#
waydroid.org.lineageos.jelly=#
waydroid.com.devinterestdev.streamshow=#

Где '#' это код ориентации экрана.

...

, располагается в секции APPORIENTATION конфигурационного файла:

[APPORIENTATION]
WaydroidDefaultOrientation=4

...

Ориентация окна приложения Waydroid задается в этой же секции строкой, содержащей имя приложения и код ориентации экрана:

[APPORIENTATION]
WaydroidDefaultOrientation=4
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

II. Ориентация экрана устройства:

Ориентации показаны здесь в следующем порядке:

Верхняя грань сверху, верхняя грань снизу, левая грань сверху, правая грань сверху, лицевая сторона сверху, лицевая сторона снизу.

...

Соответствие кода ориентации устройства, положения устройства и ориентации экрана приложения приведено в таблице.

2

Код

Положение устройства

Ориентация экрана приложения

1Верхняя грань устройства направлена вверх.1Приложение запустится в ландшафтной ориентации.
2Верхняя грань устройства направлена вниз.Приложение запустится в портретной ориентации (справа налево).
3Левая грань устройства направлена вверх.3Приложение запустится в зеркальной портретной ориентации (слева направо).
4Правая грань устройства направлена вверх.4Приложение запустится в зеркальной ландшафтной ориентации (вверх ногами).

...

Варианты ориентации экрана показаны в следующем порядке:

  • верхняя грань сверху;
  • верхняя грань снизу;
  • левая грань сверху;
  • правая грань сверху;
  • лицевая сторона сверху;
  • лицевая сторона снизу.

Image Added

ВНИМАНИЕ! Значения, не входящие в

...

приведенную таблицу, считаются невалидными и могут привести к неправильной работе функционала

...

.

...

ВНИМАНИЕ! Данное описание применимо для устройства Lenovo IdeaPad URU. Для устройств, у которых аппаратно задан другой левый верхний угол, ориентация может быть инвертирована.

Скрипты

Установка ориентации экрана приложения осуществляется с участием следующих скриптов:

1. 1. Основные:

...

  • /usr/sbin

...

  • /astra-mobile-waydroid-watcher-session

...

  • скрипт, управляющий функционалом на уровне сессии по сигналам dbus.

Требования:

...

права user

...

.

Принцип работы:

...

ожидает получения команды на перезапуск сессии

...

Waydroid с последующим запуском приложения

...

;

...

  • /usr/sbin

...

  • /astra-mobile-waydroid-watcher

...

  • — скрипт, управляющий функционалом на уровне системы по сигналам dbus.

Требования:

...

права root

...

.

Принцип работы:

...

ожидает получения команды на изменение конфигураций разрешения окна

...

Waydroid.

...

Алгоритм работы

Алгоритм определения ориентации экрана приложения:Пользователь

  • пользователь запускает приложение

...

  • ;
  • производится проверка необходимости смены ориентации экрана для запускаемого приложения;

...

  • если приложение существует в конфигурационном файле, ему задаётся указанная ориентация экрана, автоматический поворот экрана блокируется

...

  • ;

...

  • производится проверка что приложение является приложением

...

  • Waydroid;

...

  • если это приложение

...

  • Waydroid то в случаи различного разрешения в конфигурационном файле (/var/lib/waydroid/waydroid_base.prop)

...

  • и необходимого для приложения, производится

...

  • изменение разрешения в конфигурационном файле и перезапуск сессии

...

  • Waydroid с повторным запуском указанного приложения (по средствам отправки dbus сигналов скриптам astra-mobile-waydroid-

...

  • watcher и astra-mobile-waydroid-watcher-session).

При переключении между приложениями так же также происходит проверка необходимости смены ориентации экрана для  для активируемого приложения:->

  • если приложение существует в конфигурационном файле, ему задаётся указанная ориентация экрана, автоматический поворот экрана блокируется;

...

  • если приложения не существует, то ориентация будет установлена в соответствии с текущими показаниями сенсора, а флаг автоматического поворота будет возвращён к предыдущему состоянию до блокировки.

...

Методика тестирования

...

...

Для обычных системных приложений

Порядок тестирования:

  1. В конфигурационный файл /etc/xdg/plasmamobilerc в секцию APPORIENTATION (возможно её придётся создать) требуется добавить имя приложения в системе и указать ориентацию из таблицы.
  2. Запустить приложение, проверить что ориентация изменилась, а автоповорот заблокировался.был заблокирован;
  3. Произвести переключение между несколькими приложениям в разных ориентациях (в том числе не заблокированных).

Ожидаемый результат:Ориентация

  • ориентация фиксированных приложений должна автоматически применяться при запуске и при переключении на него с помощью

...

  • комбинации клавиш <Alt+

...

  • Tab> или графического интерфейса;

...

  • автоматический поворот для фиксированных приложений должен блокироваться и восстанавливать прежнее значение при переключении на не фиксированные приложения

...

  • .

...

Для приложений

...

Waydroid

Порядок тестирования:

  1. В конфигурационный файл /etc/xdg/plasmamobilerc в секцию APPORIENTATION (возможно её придётся создать) требуется добавить параметр WaydroidDefaultOrientation=# для всех приложений waydroid Waydroid по умолчанию;
  2. В конфигурационный файл /etc/xdg/plasmamobilerc в секцию APPORIENTATION требуется добавить имена нескольких приложений waydroid (см команду Waydroid с разной ориентацией.
    Примечание. Узнать имя приложения можно с помощью команды waydroid app list) с разной ориентацией;
  3. Произвести запуск указанных приложений (.

ВНИМАНИЕ! Приложения с разной ориентацией (за исключением зеркальной) одновременно работать не будут!

...

Ожидаемый результат:Ориентация

  • ориентация фиксированных приложений должна автоматически применяться при запуске и при переключении на него с помощью

...

  • комбинации клавиш <Alt+

...

  • Tab> или графического интерфейса;

...

  • автоматический поворот для фиксированных приложений должен блокироваться и восстанавливать прежнее значение при переключении на не фиксированные приложения;

...

  • в случае последовательного запуска приложений с разной (не зеркальной) ориентацией

...

  • запуск будет проходить дольше обычного т.к. требуется время на повторную инициализацию. Все приложения

...

  • Waydroid при этом будут закрыты;

...

  • в случае последовательного запуска приложений с одинаковой или зеркальной ориентацией перезапуска быть не должно и приложение должно открыться за более короткое время.