Параграф 3: Отключаем лишнее
Виджеты
Наверное, уже все современные кастомные прошивки автоматически выбирают упрощённый вариант домашнего экрана при сборке Android Go. Если это оказалось не так, то следует добавить в device.mk
следующее:
PRODUCT_PACKAGES += Launcher3QuickStepGo
Чтобы приложения, которые зависят от функционала виджетов (например, сторонние лончеры из Google Play), не падали, следует добавить такой конфиг в оверлей overlay/frameworks/base/core/res/res/values/config.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
добавляем следующее для добавления жестовой навигации:
<!-- 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
:
<bool name="config_swipe_up_gesture_setting_available">false</bool>
В device.mk
также добавим:
PRODUCT_PACKAGES += NoNavigationBarModeGestural
Многооконность
Android Go многооконность не поддерживает. Она отключается автоматически при выставлении свойства ro.config.low_ram=true
, однако в дополнение к этому рекомендуется также отключить этот функционал и в оверлее overlay/frameworks/base/core/res/res/values/config.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
следует исключить перечисленные ниже модули:
PRODUCT_PACKAGES += \
LiveWallpapers \
LiveWallpapersPicker \
VisualizationWallpapers \
librs_jni
Также вместо full_base
.mk следует подключать generic.mk
:
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
Многопользовательский режим
На слабых и устаревших устройствах это явно неуместная функция. И хотя в последних версиях Android Go её наличие допустимо, на старых устройствах её лучше отключить, добавив в device.mk
следующее:
PRODUCT_PROPERTY_OVERRIDES += fw.max_users=1
В overlay/frameworks/base/core/res/res/values/config.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
добавляем:
<!-- 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>