Сам по себе складной экран не привносит в Android-разработку ничего принципиально нового: обработка складывания и раскладывания экрана ложится на изначально предусмотренный механизм обработки изменения конфигурации устройства в рантайме. Складной экран — это на самом деле несколько экранов разного размера, между которыми можно переключаться во время работы.
Продолжение выполнения приложения на маленьком экране после складывания устройства называется App Continuity. По умолчанию оно вызывает пересоздание Activity — точно так же, как и при перевороте устройства, за тем отличием, что меняется не ориентация, а размер экрана.
Если нужно избежать пересоздания Activity, можно выставить определённые флаги в значении атрибута configChanges в файле-манифесте. В этом случае при складывании-раскладывании будет вызываться обработчик onConfigurationChanged. Таким образом, если сейчас нет проблем с сохранением состояния Activity и обработкой переворотов экрана, то вероятнее всего, не будет проблем и с App Continuity.
Другие возможные действия по адаптации сводятся к подгонке вёрстки под узкие экраны — ширина дисплея Galaxy Fold в сложенном виде составляет 320dp. Здесь нужно сказать, что адаптивность интерфейсов под любое разрешение является одним из фундаментальных принципов разработки на Android. Поэтому прикладывать какие-то усилия придётся, только если изначально при разработке «забили» на маленькие устройства.
Что касается поддержки многоэкранности, то здесь может потребоваться проверить, какой экземпляр Context используется для доступа к параметрам дисплея или связанным с ним ресурсам. Например, для определения размеров экрана и доступа к ресурсам, значения которых могут зависеть от текущей конфигурации дисплея, нужно использовать Activity Context вместо Application Context, так как последний всегда привязан к главному экрану, а не к тому, на котором отображается приложение.
Иными словами, если есть подозрение, что где-то может использоваться не тот контекст, — не будет лишним пробежаться по коду и проверить.
Как стало ясно из руководства для разработчиков от Samsung и материалов по поддержке Foldable-устройств от Google, наши приложения не требуют какой-либо специальной адаптации для работы на складных устройствах — они изначально готовы к изменению конфигурации устройства в рантайме и имеют адаптивную вёрстку. Мы протестировали наши проекты в эмуляции Foldable и не увидели никаких проблем. Думаю, то же самое будет верно для большинства приложений в Google Play.
Сейчас гораздо больший приоритет имеет подготовка к изменениям в Android Q, в числе которых исчезновение разрешений на доступ к внешнему хранилищу и миграция на Shared Collections для сохранения файлов в публичной области памяти.
В ближайшем будущем на рынке появятся только две модели сгибающихся смартфонов. Даже если после выхода устройств в приложениях будут обнаружены специфические для Foldable проблемы, требующие какое-то заметное количество времени на решение, их критичность целесообразно определять аналитикой запусков приложений на этих моделях. Я думаю, что ввиду специфики смартфонов и их высокой цены у всех разработчиков будет фора.
Основная проблема в том, что разработчикам не понятно, когда до производителей дойдёт, что эта технология не актуальна. Как планшеты, нетбуки, mp3-плееры и прочее барахло, которое заменяет обычный смартфон.
Комментарий удалён модератором
на смену нетбукам пришли ультрабуки, плееры заменяются часами
Под айпады почти никто не делает специальные версии. Под складные экраны отдельно дорабатывать приложения тем более никто не станет, пока процент пользователей с такими устройствами не станет заметным. При ценнике на устройства от 150к₽ вряд ли этого стоит ждать в ближайшее время)
Проблема тут одна - никому эти складные экраны не нужны.
Не столкнутся. Их не будет в проде