Skip to content

Параграф 3: Відключаємо зайве

Віджети

Напевно, вже всі сучасні кастомні кастомні прошивки автоматично обирають спрощений варіант домашнього екрана під час збірки Android Go. Якщо це виявилося не так, то слід додати в device.mk таке:

makefile
PRODUCT_PACKAGES += Launcher3QuickStepGo

Щоб застосунки, які залежать від функціоналу віджетів (наприклад, сторонні лончери з Google Play), не падали, слід додати такий конфіг в оверлей overlay/frameworks/base/core/res/res/values/config.xml:

xml
    <!-- Launcher Go customization requires AppWidgetService, but otherwise
    home screen widgets are not supported -->
    <bool name="config_enableAppWidgetService">true</bool>

Навігація жестами

Компанія Google рекомендує надавати користувачеві навігацію жестами. Проте, принаймні для Android 11, рекомендується використовувати за замовчуванням навігацію трьома кнопками з можливістю її перемикання на жестову.

В оверлеї overlay/frameworks/base/core/res/res/values/config.xml додаємо наступне для додавання жестової навігації:

xml
    <!-- Whether or not swipe up gesture's opt-in setting is available on this device -->
    <bool name="config_swipe_up_gesture_setting_available">true</bool>

Або, якщо вирішено надавати тільки навігацію трьома кнопками. В оверлеї overlay/frameworks/base/core/res/res/values/config.xml:

xml
    <bool name="config_swipe_up_gesture_setting_available">false</bool>

У device.mk також додамо:

makefile
PRODUCT_PACKAGES += NoNavigationBarModeGestural

Багатовіконність

Android Go багатовіконність не підтримується. Вона вимикається автоматично при виставленні властивості ro.config.low_ram=true, однак на додаток до цього рекомендується також вимкнути цей функціонал і в оверлеї overlay/frameworks/base/core/res/res/values/config.xml:

xml
    <!-- True if the device supports at least one form of multi-window.
    E.g. freeform, split-screen, picture-in-picture. -->
    <bool name="config_supportsMultiWindow">false</bool>

Живі шпалери

Живі шпалери - досить ресурсоємне задоволення. Не дивно, що в Android Go воно не підтримується.

З device.mk слід виключити перелічені нижче модулі:

makefile
PRODUCT_PACKAGES += \
    LiveWallpapers \
    LiveWallpapersPicker \
    VisualizationWallpapers \
    librs_jni

Також замість full_base.mk слід підключати generic.mk:

makefile
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)

Багатокористувацький режим

На слабких і застарілих пристроях це явно недоречна функція. І хоча в останніх версіях Android Go її наявність допустима, на старих пристроях її краще вимкнути, додавши в device.mk таке:

makefile
PRODUCT_PROPERTY_OVERRIDES += fw.max_users=1

У overlay/frameworks/base/core/res/res/values/config.xml:

xml
    <!-- Whether UI for multi user should be shown -->
    <bool name="config_enableMultiUserUI">false</bool>

    <!--  Maximum number of supported users -->
    <integer name="config_multiuserMaximumUsers">1</integer>

    <!-- Maximum number of users we allow to be running at a time -->
    <integer name="config_multiuserMaxRunningUsers">1</integer>

Екран блокування

На слабких пристроях рекомендовано вимкнути алгоритм блокування помилкових спрацьовувань під час розблокування екрана.

В оверлей overlay/frameworks/base/packages/SystemUI/res/values/config.xml додаємо:

xml
    <!-- If true, enable the advance anti-falsing classifier on the lockscreen. On
    some devices it does not work well, particularly with noisy touchscreens. Note
    that disabling it may increase the rate of unintentional unlocks. -->
    <bool name="config_lockscreenAntiFalsingClassifierEnabled">false</bool>