Активность

Доступ к составным API, созданным на основе Activity.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
9 апреля 2025 г. 1.10.1 - 1.11.0-бета01 -

Объявление зависимостей

Чтобы добавить зависимость от Activity, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    def activity_version = "1.10.1"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Котлин

dependencies {
    val activity_version = "1.10.1"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Версия 1.11

Версия 1.11.0-бета01

9 апреля 2025 г.

Выпущены androidx.activity:activity:1.11.0-beta01 , androidx.activity:activity-compose:1.11.0-beta01 и androidx.activity:activity-ktx:1.11.0-beta01 . Версия 1.11.0-beta01 содержит эти коммиты .

Версия 1.11.0-альфа02

26 марта 2025 г.

Выпущены androidx.activity:activity:1.11.0-alpha02 , androidx.activity:activity-compose:1.11.0-alpha02 и androidx.activity:activity-ktx:1.11.0-alpha02 . Версия 1.11.0-alpha02 содержит эти коммиты .

Изменения API

  • Интегрированы новые EDGE_NONE и frameTimeMillis из Android 16 Beta03 в BackEventCompat , предоставляемый функциями OnBackPressedCallback handleOnBackStarted и handleOnBackProgressed .

Обновления зависимостей

  • Активность теперь компилируется с использованием API 36. ( I510e8 , b/301910674 ).

Версия 1.11.0-альфа01

12 марта 2025 г.

Выпущены androidx.activity:activity:1.11.0-alpha01 , androidx.activity:activity-compose:1.11.0-alpha01 и androidx.activity:activity-ktx:1.11.0-alpha01 . Версия 1.11.0-alpha01 содержит эти коммиты .

Новые возможности

  • В PickVisualMediaRequest добавлен API MediaCapabilities , позволяющий приложениям указывать свои мультимедийные возможности, например поддерживаемые типы HDR. ( Ic3ee7 )

Версия 1.10

Версия 1.10.1

26 февраля 2025 г.

androidx.activity:activity:1.10.1 , androidx.activity:activity-compose:1.10.1 и androidx.activity:activity-ktx:1.10.1 выпущены. Версия 1.10.1 содержит эти коммиты .

Исправления ошибок

  • ViewTree OnBackPressedDispatcherOwners и FullyDrawnReporterOwners теперь можно разрешить через непересекающиеся родительские элементы представления, такие как ViewOverlay . Дополнительные сведения о родителях непересекающихся представлений см. в примечаниях к выпуску ядра или документации в ViewTree.setViewTreeDisjointParent ( Ie7750 )

Версия 1.10.0

15 января 2025 г.

androidx.activity:activity:1.10.0 , androidx.activity:activity-compose:1.10.0 и androidx.activity:activity-ktx:1.10.0 выпущены. Версия 1.10.0 содержит эти коммиты .

Важные изменения с версии 1.9.0

  • PhotoPicker теперь позволяет выбирать изображения по порядку и выбирать, какая вкладка (альбомы или изображения) должна быть изначально видна.
  • Контракты PickVisualMedia и PickMultipleVisualMedia Activity Result, которые запускают средство выбора фотографий, больше не делегируют напрямую службам Google Play, если системное средство выбора фотографий недоступно, но используют общедоступное действие ACTION_SYSTEM_FALLBACK_PICK_IMAGES и связанные дополнительные функции, чтобы обеспечить единообразную работу средства выбора фотографий для OEM-производителей и системных приложений в качестве запасного варианта.
  • Новая локальная композиция LocalActivity , которая предоставляет Activity для текущей области, устраняя необходимость для разработчиков получать Activity из LocalContext .

Версия 1.10.0-rc01

11 декабря 2024 г.

androidx.activity:activity:1.10.0-rc01 , androidx.activity:activity-compose:1.10.0-rc01 и androidx.activity:activity-ktx:1.10.0-rc01 выпущены. Версия 1.10.0-rc01 содержит эти коммиты .

Исправления ошибок

  • Исправлена ​​проблема, из-за которой изменение включенного состояния, когда PredictiveBackHandler в данный момент активен, немедленно приводило к короткому замыканию обратного вызова. Теперь он завершит текущий обратный вызов независимо от изменений включенного статуса. ( Ib8719 )

Версия 1.10.0-бета01

13 ноября 2024 г.

androidx.activity:activity:1.10.0-beta01 , androidx.activity:activity-compose:1.10.0-beta01 и androidx.activity:activity-ktx:1.10.0-beta01 выпущены без изменений со времени последней альфа-версии. Версия 1.10.0-beta01 содержит эти коммиты .

Версия 1.10.0-альфа03

30 октября 2024 г.

Выпущены androidx.activity:activity:1.10.0-alpha03 , androidx.activity:activity-compose:1.10.0-alpha03 и androidx.activity:activity-ktx:1.10.0-alpha03 . Версия 1.10.0-alpha03 содержит эти коммиты .

Изменения API

  • Добавлен новый локальный состав LocalActivity , который предоставляет Activity для текущей области, устраняя необходимость для разработчиков получать Activity из LocalContext . Он также включает новое правило проверки, которое проверяет, когда LocalContext неправильно преобразуется в Activity . ( I7746a , б / 283009666 )

Исправления ошибок

  • Из действия 1.9.3 : PredictiveBackHandler больше не будет запускать обратный вызов после отключения обработчика. Это устранит проблему, из-за которой NavHost из Navigation Compose вызывал исключение IndexOutOfBoundsException . ( I3f75e , б / 365027664 , б / 340202286 )

Обновление зависимостей

  • Activity Compose теперь зависит от Compose Runtime 1.7.0 ( I7746a , b/283009666 ).

Версия 1.10.0-альфа02

4 сентября 2024 г.

Выпущены androidx.activity:activity:1.10.0-alpha02 , androidx.activity:activity-compose:1.10.0-alpha02 и androidx.activity:activity-ktx:1.10.0-alpha02 . Версия 1.10.0-alpha02 содержит эти коммиты .

Изменения поведения

  • Контракты PickVisualMedia и PickMultipleVisualMedia Activity Result, которые запускают средство выбора фотографий, больше не делегируют напрямую службам Google Play, если системное средство выбора фотографий недоступно, но используют общедоступное действие ACTION_SYSTEM_FALLBACK_PICK_IMAGES и связанные дополнительные функции, чтобы обеспечить единообразную работу средства выбора фотографий для OEM-производителей и системных приложений в качестве запасного варианта. Это не должно влиять на взаимодействие с пользователем на устройствах, на которых установлена ​​последняя версия сервисов Google Play. ( I3513d )

Исправления ошибок

  • Убрано ручное определение доступа к API новой платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или новее (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или новее (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновить D8 до версии 8.1 или более поздней. Более подробную информацию можно найти в этой статье . ( I9496c , б/345472586 )
  • Из действия 1.9.2 : исправлена ​​проблема, из-за которой API Activity Compose PredictiveBackHandler продолжал обрабатывать жест возврата системы в кадре, в котором он был отключен, что могло привести к тому, что библиотеки, такие как Navigation Compose, обрабатывали обратную обработку даже с пустым обратным стеком, что приводило к выдаче IndexOutOfBoundsException . ( Ие3301 , б/340202286 )
  • Из действия 1.9.1 : исправлена ​​проблема с PredictiveBackHandler , из-за которой после восстановления системы попытка выполнить onBackPressed из OnBackPressedDispatcher завершалась неудачей. ( I5f1f8 )

Версия 1.10.0-альфа01

26 июня 2024 г.

androidx.activity:activity:1.10.0-alpha01 , androidx.activity:activity-compose:1.10.0-alpha01 и androidx.activity:activity-ktx:1.10.0-alpha01 выпущены. Эта версия разработана во внутренней ветке.

Новые возможности

  • Добавлена ​​поддержка новых функций PhotoPicker , представленных в Android V, включая возможность выбирать изображения по порядку и выбирать, какая вкладка (альбомы или изображения) должна быть первоначально видна.

Версия 1.9

Версия 1.9.3

16 октября 2024 г.

androidx.activity:activity:1.9.3 , androidx.activity:activity-compose:1.9.3 и androidx.activity:activity-ktx:1.9.3 выпущены. Версия 1.9.3 содержит эти коммиты .

Исправления ошибок

  • PredictiveBackHandler больше не будет запускать обратный вызов после отключения обработчика. Это устранит проблему, из-за которой NavHost из Navigation Compose вызывал исключение IndexOutOfBoundsException . ( I3f75e , б/340202286 )

Версия 1.9.2

4 сентября 2024 г.

androidx.activity:activity:1.9.2 , androidx.activity:activity-compose:1.9.2 и androidx.activity:activity-ktx:1.9.2 выпущены. Версия 1.9.2 содержит эти lthcocommits .

Исправления ошибок

  • Исправлена ​​проблема, из-за которой API Activity Compose PredictiveBackHandler продолжал обрабатывать системный жест возврата в кадре, в котором он был отключен, что могло привести к тому, что такие библиотеки, как Navigation Compose, могли обрабатывать ответ даже при пустом обратном стеке, что приводило к выдаче IndexOutOfBoundsException . ( Ие3301 , б/340202286 )

Версия 1.9.1

24 июля 2024 г.

androidx.activity:activity:1.9.1 , androidx.activity:activity-compose:1.9.1 и androidx.activity:activity-ktx:1.9.1 выпущены. Версия 1.9.1 содержит эти коммиты .

Исправления ошибок

  • Исправлена ​​проблема с PredictiveBackHandler , из-за которой после восстановления системы попытка выполнить onBackPressed из OnBackPressedDispatcher завершалась неудачей. ( I5f1f8 )

Версия 1.9.0

17 апреля 2024 г.

androidx.activity:activity:1.9.0 , androidx.activity:activity-compose:1.9.0 и androidx.activity:activity-ktx:1.9.0 выпущены. Версия 1.9.0 содержит эти коммиты .

Важные изменения с версии 1.8.0

  • ComponentActivity теперь реализует OnUserLeaveHintProvider , чтобы позволить компонентам выполнять обратные вызовы для событий onUserLeaveHint .
  • API-интерфейсы OnBackPressedCallback , BackHandler и PredictiveBackHandler теперь предупреждают при вызове onBackPressedDispatcher.onBackPressed() при обработке обратного вызова, так как это всегда будет нарушать Predictive Back Animation . Более подробную информацию можно найти в руководстве по передовому опыту .
  • Остальные API активности были переписаны на Kotlin, а все расширения, ранее доступные в activity-ktx были перенесены в activity . activity-ktx теперь совершенно пуст.
    • В рамках преобразования ActivityResultLauncher в Kotlin метод getContract теперь является абстрактным свойством Kotlin. Это изменение, совместимое с двоичным кодом, но нарушает исходный код, если ваша реализация ActivityResultLauncher написана на Kotlin.

Версия 1.9.0-rc01

3 апреля 2024 г.

androidx.activity:activity:1.9.0-rc01 , androidx.activity:activity-compose:1.9.0-rc01 и androidx.activity:activity-ktx:1.9.0-rc01 выпущены. Версия 1.9.0-rc01 содержит эти коммиты .

Обновление зависимостей

Версия 1.9.0-бета01

20 марта 2024 г.

Выпущены androidx.activity:activity:1.9.0-beta01 , androidx.activity:activity-compose:1.9.0-beta01 и androidx.activity:activity-ktx:1.9.0-beta01 . Версия 1.9.0-beta01 содержит эти коммиты .

Исправления ошибок

  • Исправлено снижение производительности при запуске действия, появившееся в действии 1.9.0-alpha02 , вызванное вызовом OnBackPressedDispatcher в рамках создания действия. ( Ie75e3 )

Версия 1.9.0-альфа03

7 февраля 2024 г.

Выпущены androidx.activity:activity:1.9.0-alpha03 , androidx.activity:activity-compose:1.9.0-alpha03 и androidx.activity:activity-ktx:1.9.0-alpha03 . Версия 1.9.0-alpha03 содержит эти коммиты.

Предупреждение о ворсе

Исправления ошибок

  • Если событие возврата отправляется из системы, запущенной во время уже выполняемого жеста прогнозируемого возврата, текущий выполняемый жест прогнозируемого возврата отменяется, и новое событие возврата вступает во владение, чтобы начать новый жест прогнозируемого возврата. ( I3482e )
  • Исправлен сбой при первом доступе к onBackPressedDispatcher из ComponentActivity из фонового потока. Теперь доступ к onBackPressedDispatcher в любом потоке безопасен. ( I79955 )

Версия 1.9.0-альфа02

24 января 2024 г.

Выпущены androidx.activity:activity:1.9.0-alpha02 , androidx.activity:activity-compose:1.9.0-alpha02 и androidx.activity:activity-ktx:1.9.0-alpha02 . Версия 1.9.0-alpha02 содержит эти коммиты.

Котлин-преобразования

  • ActivityResultRegistry переписан на Kotlin. Это гарантирует, что обнуляемость дженериков в контракте, переданном в register будет правильно передана в возвращаемый вам ActivityResultLauncher . ( I121f0 )
  • ActivityResult переписан на Kotlin. Расширения Kotlin ActivityResult , которые поддерживают деструктуризацию в resultCode и полях data , были перенесены из activity-ktx в activity . ( I0565a )
  • Расширения Kotlin by viewModels() для ComponentActivity и trackPipAnimationHintView были перенесены из activity-ktx в activity . Артефакт activity-ktx теперь совершенно пуст. ( I0a444 )

Исправления ошибок

  • API enableEdgeToEdge теперь рисует вокруг любых вырезов дисплея. ( а3644b , б/311173461 )
  • Из действия 1.8.2 : исправлено дополнение, передаваемое в ACTION_SYSTEM_FALLBACK_PICK_IMAGES контракта действия по выбору фотографий, чтобы правильно передать ему ключ EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX вместо использования дополнения с ключом "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . Если вы являетесь OEM-производителем и внедрили резервную систему Photo Picker, настоятельно рекомендуется поддерживать обе дополнительные функции для обеспечения максимально широкой совместимости. ( I96a00 )

Версия 1.9.0-альфа01

29 ноября 2023 г.

Выпущены androidx.activity:activity:1.9.0-alpha01 , androidx.activity:activity-compose:1.9.0-alpha01 и androidx.activity:activity-ktx:1.9.0-alpha01 . Версия 1.9.0-alpha01 содержит эти коммиты.

Новые возможности

  • ComponentActivity теперь реализует OnUserLeaveHintProvider , чтобы позволить компонентам выполнять обратные вызовы для событий onUserLeaveHint . ( I54892 )

Изменения API

  • ComponentActivity переписан на Kotlin. ( I14f31 )
  • ActivityResultCaller переписан на Kotlin. ( Ib02e4 )
  • ActivityResultLauncher переписан на Kotlin. В результате этого преобразования метод getContract теперь является абстрактным свойством Kotlin. Это изменение, совместимое с двоичным кодом, но нарушает исходный код, если ваша реализация ActivityResultLauncher написана на Kotlin. ( Ид4615 )
  • PickVisualMediaRequest теперь имеет тот же минимальный уровень API 19, что и контракт результата действия PickVisualMedia . ( ID6e21 )

Обновление зависимостей

Версия 1.8

Версия 1.8.2

13 декабря 2023 г.

androidx.activity:activity:1.8.2 , androidx.activity:activity-compose:1.8.2 и androidx.activity:activity-ktx:1.8.2 выпущены. Версия 1.8.2 содержит эти коммиты.

Исправления ошибок

  • Исправлено дополнительное значение, передаваемое в контракт ACTION_SYSTEM_FALLBACK_PICK_IMAGES контракта действий по выбору фотографий, чтобы правильно передать ему ключ EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX , а не использовать дополнительное значение с ключом "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . Если вы являетесь OEM-производителем и внедрили резервную систему Photo Picker, настоятельно рекомендуется поддерживать обе дополнительные функции для обеспечения максимально широкой совместимости. ( I96a00 )

Версия 1.8.1

15 ноября 2023 г.

androidx.activity:activity:1.8.1 , androidx.activity:activity-compose:1.8.1 и androidx.activity:activity-ktx:1.8.1 выпущены. Версия 1.8.1 содержит эти коммиты.

Исправления ошибок

  • OnBackPressedDispatcher теперь продолжает отправлять правильный OnBackPressedCallback даже после добавления нового OnBackPressedCallback во время обработки жеста возврата. ( Id0ff6 )

Версия 1.8.0

4 октября 2023 г.

androidx.activity:activity:1.8.0 , androidx.activity:activity-compose:1.8.0 и androidx.activity:activity-ktx:1.8.0 выпущены. Версия 1.8.0 содержит эти коммиты.

Важные изменения с версии 1.7.0

  • Predictive BackOnBackPressedCallback теперь предлагает новые обратные вызовы Predictive Back для обработки запуска жеста назад, продвижения на протяжении всего жеста и отмены жеста назад в дополнение к предыдущему обратному вызову handleOnBackPressed() , когда фиксируется жест назад. Сюда также входит PredictiveBackHandler Composable для обработки событий прогнозируемых жестов назад в Activity Compose. Он предоставляет поток объектов BackEventCompat, которые необходимо собрать в предоставленной вами приостанавливающей ламбе:
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

ComponentActivity.onBackPressed() устарел в пользу API для обратной обработки. Теперь разработчикам следует использовать OnBackPressedDispatcher , а не переопределять этот метод.

  • EdgeToEdgeComponentActivity.enableEdgeToEdge() был добавлен для простой настройки отображения от края до края с обратной совместимостью.

Версия 1.8.0-rc01

20 сентября 2023 г.

androidx.activity:activity:1.8.0-rc01 , androidx.activity:activity-compose:1.8.0-rc01 и androidx.activity:activity-ktx:1.8.0-rc01 выпущены. Версия 1.8.0-rc01 содержит эти коммиты.

Версия 1.8.0-бета01

6 сентября 2023 г.

Выпущены androidx.activity:activity:1.8.0-beta01 , androidx.activity:activity-compose:1.8.0-beta01 и androidx.activity:activity-ktx:1.8.0-beta01 . Версия 1.8.0-beta01 содержит эти коммиты.

Улучшение документации

  • Улучшена документация BackEventCompat . ( аосп/2722254 )

Версия 1.8.0-альфа07

23 августа 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha07 , androidx.activity:activity-compose:1.8.0-alpha07 и androidx.activity:activity-ktx:1.8.0-alpha07 . Версия 1.8.0-alpha07 содержит эти коммиты.

Новые возможности

  • В Activity Compose добавлен новый PredictiveBackHandler Composable для обработки событий прогнозируемых жестов назад. Он предоставляет Flow объектов BackEventCompat , которые необходимо собрать в предоставленной вами приостанавливающей ламбе:

    PredictiveBackHandler { progress: Flow<BackEventCompat> ->
      // code for gesture back started
      try {
        progress.collect { backEvent ->
        // code for progress
      }
      // code for completion
      } catch (e: CancellationException) {
        // code for cancellation
      }
    }
    

    Он также поставляется с предупреждением во время компиляции с помощью правила lint, чтобы гарантировать, что Flow вызывает collect() . ( Id2773 , б/294884345 )

  • onBackPressedDispatcher в ComponentActivity теперь инициализируется лениво, поэтому он создается только при необходимости. ( I0bf8e )

Исправления ошибок

  • ComponentActivity больше не будет отображать NPE на Android 13, когда он получает обратный вызов onBackPressed() , а Activity уже DESTROYED . ( Idb055 , б/291869278 )
  • Удалено использование экспериментального API isAtLeastU() ( Ie9117 , b/289269026 ).

Версия 1.8.0-альфа06

21 июня 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha06 , androidx.activity:activity-compose:1.8.0-alpha06 и androidx.activity:activity-ktx:1.8.0-alpha06 . Версия 1.8.0-alpha06 содержит эти коммиты.

Новые возможности

  • OnBackPressedDispatcher теперь корректно отменяет любые обратные вызовы, которые удаляются во время прогнозирующего жеста возврата. ( I3f90f )

Изменения API

  • При передаче SystemBarStyle.auto в API enableEdgeToEdge теперь можно переопределить лямбда-параметр detectDarkMode , чтобы предоставить собственную логику для обнаружения ночного режима. ( аосп/2546393 , б/278263793 )

Версия 1.8.0-альфа05

7 июня 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha05 , androidx.activity:activity-compose:1.8.0-alpha05 и androidx.activity:activity-ktx:1.8.0-alpha05 . Эта версия разработана во внутренней ветке.

Изменения API

  • Activity теперь предоставляет класс BackEventCompat , который служит обратно совместимой версией BackEvent , отделенной от класса BackEvent платформы.
  • Критическое изменение: методы handleOnBackStarted и handleOnBackProgressed OnBackPressedCallback теперь получают экземпляр androidx.activity.BackEventCompat , а не класс android.window.BackEvent платформы. Эквивалентные API @VisibleForTesting в OnBackPressedDispatcher также были обновлены.
  • Конструктор OnBackPressedDispatcher теперь принимает необязательный экземпляр Consumer<Boolean> , который позволяет владельцам диспетчера получать обратный вызов всякий раз, когда количество включенных обратных вызовов изменяется с нуля на ненулевое или наоборот.

Исправления ошибок

Версия 1.8.0-альфа04

10 мая 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha04 , androidx.activity:activity-compose:1.8.0-alpha04 и androidx.activity:activity-ktx:1.8.0-alpha04 . Это было выпущено из внутренней ветки.

Исправления ошибок

Версия 1.8.0-альфа03

12 апреля 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha03 , androidx.activity:activity-compose:1.8.0-alpha03 и androidx.activity:activity-ktx:1.8.0-alpha03 . Это было выпущено из внутренней ветки.

Новые возможности

  • Добавлен ComponentActivity.setUpEdgeToEdge() для простой настройки отображения от края до края с обратной совместимостью.

Изменения API

  • ComponentActivity.onBackPressed() устарел в пользу API для обратной обработки. Теперь разработчикам следует использовать OnBackPressedDispatcher , а не переопределять этот метод. ( Ibce2f , б/271596918 )
  • ComponentDialog и ComponentActivity теперь содержат общедоступный API initViewTreeOwners() который будет использоваться для инициализации всех владельцев дерева представлений перед настройкой представления содержимого. ( Ibdce0 , б/261314581 )

Исправления ошибок

  • Исправлена ​​проблема, из-за которой фрагменты неправильно признавали недействительными MenuHosts и приводили к неожиданному поведению других меню в действии. ( I9404e , б/244336571 )

Другие изменения

  • ActivityResultRegister теперь использует Kotlin Random вместо Java. ( I4d98f , б/272096025 )

Версия 1.8.0-альфа02

8 марта 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha02 , androidx.activity:activity-compose:1.8.0-alpha02 и androidx.activity:activity-ktx:1.8.0-alpha02 . Разработан из внутренней ветки.

Обновление зависимостей

Версия 1.8.0-альфа01

8 февраля 2023 г.

Выпущены androidx.activity:activity:1.8.0-alpha01 , androidx.activity:activity-compose:1.8.0-alpha01 и androidx.activity:activity-ktx:1.8.0-alpha01 . Это было построено из внутренней ветки.

Новые возможности

  • Класс OnBackPressedCallback теперь содержит новые обратные вызовы прогресса Predictive Back для обработки запуска жеста назад, выполнения на протяжении всего жеста и отмены жеста назад в дополнение к предыдущему обратному вызову handleOnBackPressed() , когда фиксируется жест назад.

Версия 1.7

Версия 1.7.2

24 мая 2023 г.

androidx.activity:activity:1.7.2 , androidx.activity:activity-compose:1.7.2 и androidx.activity:activity-ktx:1.7.2 выпущены. Версия 1.7.2 содержит эти коммиты.

Исправления ошибок

  • Исправлен сбой ReportDrawn при выходе из экрана перед вызовом report . ( Ic46f1 , б/260506820 )

Версия 1.7.1

19 апреля 2023 г.

androidx.activity:activity:1.7.1 , androidx.activity:activity-compose:1.7.1 и androidx.activity:activity-ktx:1.7.1 выпущены. Версия 1.7.1 содержит эти коммиты.

Исправления ошибок

  • ReportFullyDrawExecuter больше не протекает при использовании ComponentActivity с ActivityScenario . ( Id2ff2 , б/277434271 )

Версия 1.7.0

22 марта 2023 г.

androidx.activity:activity:1.7.0 , androidx.activity:activity-compose:1.7.0 и androidx.activity:activity-ktx:1.7.0 выпущены. Версия 1.7.0 содержит эти коммиты.

Важные изменения с версии 1.6.0

  • Контракты действий Photo Picker в PickVisualMedia и PickMultipleVisualMedia были обновлены и теперь содержат дополнительный запасной вариант на случай, если MediaStore.ACTION_PICK_IMAGES недоступен, что позволяет OEM-производителям и системным приложениям, таким как службы Google Play, обеспечивать единообразную работу Photo Picker на более широком диапазоне устройств Android и уровней API, реализуя резервное действие . Средство выбора фотографий будет использовать этот резервный вариант, если он доступен, прежде чем вернуться к использованию Intent.ACTION_OPEN_DOCUMENT , который продолжает поддерживать все устройства API 19 и более поздних версий.
  • ComponentDialog теперь реализует SavedStateRegistryOwner и имеет доступ к своему собственному SavedStateRegistry и устанавливает SavedStateRegistryOwner для своего ViewTree . Теперь можно использовать Jetpack Compose внутри ComponentDialog , поскольку он соответствует как LifecycleOwner , так и SavedStateRegistryOwner прикрепленным к окну через требования API ViewTree .
  • IntentSenderRequest.Builder.setFlags() теперь позволяет вам устанавливать несколько флагов из Intent , а не только один флаг.

Котлин-конвертация

Ряд классов Activity был преобразован в Kotlin. Все преобразованные классы по-прежнему сохраняют двоичную совместимость с предыдущими версиями. Следующие классы имеют изменения , несовместимые с исходным кодом для классов, написанных на Kotlin: ActivityResultRegistryOwner , OnBackPressedDispatcherOwner .

В таблице ниже представлены исходные преобразования для новой версии Activity:

Мероприятие 1.5 Мероприятие 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

Эти классы также были преобразованы в Kotlin, но остались совместимыми с исходным кодом: ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest и OnBackPressedDispatcher

API FullyDrawnReporter

ComponentActivity теперь предоставляет экземпляр FullyDrawnReporter , который позволяет нескольким компонентам сообщать, когда они готовы к взаимодействию. ComponentActivity будет ждать завершения работы всех компонентов, прежде чем вызывать reportFullyDrawn() от вашего имени. Эти API отвечают за требования к времени, и их не нужно вызывать как часть вызова onDraw .

Эти API рекомендуется включать:

  • Сигнализация среды выполнения Android после завершения запуска, чтобы гарантировать, что весь код, выполняемый во время многокадровой последовательности запуска, включен и имеет приоритет для фоновой компиляции.
  • Сигнализация Macrobenchmark и Play Vitals, когда ваше приложение следует считать полностью прорисованным для показателей запуска, чтобы вы могли отслеживать производительность.

Были добавлены три API-интерфейса Activity Compose, чтобы сделать более удобным использование FullyDrawnReporter из отдельных компонуемых объектов:

  • ReportDrawn указывает, что ваш составной объект немедленно готов к взаимодействию.
  • ReportDrawnWhen принимает предикат (т. е. list.count > 0 ), чтобы указать, когда ваш составной объект готов к взаимодействию.
  • ReportDrawnAfter принимает метод приостановки, который по завершении указывает, что вы готовы к взаимодействию.

Обновления зависимостей

Версия 1.7.0-rc01

8 марта 2023 г.

androidx.activity:activity:1.7.0-rc01 , androidx.activity:activity-compose:1.7.0-rc01 и androidx.activity:activity-ktx:1.7.0-rc01 выпущены. Версия 1.7.0-rc01 содержит эти коммиты.

Обновление зависимостей

Версия 1.7.0-бета02

22 февраля 2023 г.

Выпущены androidx.activity:activity:1.7.0-beta02 , androidx.activity:activity-compose:1.7.0-beta02 и androidx.activity:activity-ktx:1.7.0-beta02 . Версия 1.7.0-beta02 содержит эти коммиты.

Изменения API

  • Действия и дополнительные функции, используемые контрактами PickVisualMedia и PickMultipleVisualMedia в качестве запасного варианта на случай, если MediaStore.ACTION_PICK_IMAGES недоступен, теперь являются общедоступными константами, которые обеспечивают стабильность API для OEM-производителей и системных приложений, которые хотят обеспечить единообразную работу средства выбора фотографий. Реализация этого резервного варианта по-прежнему ограничена только системными приложениями. ( Icd320 )

Версия 1.7.0-бета01

8 февраля 2023 г.

Выпущены androidx.activity:activity:1.7.0-beta01 , androidx.activity:activity-compose:1.7.0-beta01 и androidx.activity:activity-ktx:1.7.0-beta01 . Версия 1.7.0-beta01 содержит эти коммиты.

Новые возможности

  • IntentSenderRequest.Builder.setFlags() теперь позволяет вам устанавливать несколько флагов из Intent , а не только один флаг. ( Iac04c )

Исправления ошибок

  • Альтернативный вариант PickVisualMedia на случай, если платформа Photo Picker недоступна, теперь корректно ограничивает обработку приложениями, установленными в системном образе устройства. ( Если8ае6 )

Котлин-преобразования

  • ActivityResultRegistryOwner теперь написан на Kotlin. Это изменение, несовместимое с исходным кодом для классов, написанных на Kotlin — теперь вам необходимо переопределить свойство activityResultRegistry , а не реализовывать предыдущую функцию getActivityResultRegistry() . ( I0b00e )
  • OnBackPressedDispatcherOwner теперь написан на Kotlin. Это изменение, несовместимое с исходным кодом для классов, написанных на Kotlin — теперь вам необходимо переопределить свойство onBackPressedDispatcher , а не реализовывать предыдущую функцию getOnBackPressedDispatcher . ( Ia277d )
  • ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest и OnBackPressedDispatcher теперь написаны на Kotlin. ( I1a73e , Iada92 , aosp/2410754 , I18ac7 , b/257291701 )

Версия 1.7.0-альфа04

25 января 2023 г.

Выпущены androidx.activity:activity:1.7.0-alpha04 , androidx.activity:activity-compose:1.7.0-alpha04 и androidx.activity:activity-ktx:1.7.0-alpha04 . Версия 1.7.0-alpha04 содержит эти коммиты.

Новые возможности

  • Контракты PickVisualMedia и PickMultipleVisualMedia Activity Result теперь будут использовать средство выбора фотографий, предоставляемое службами Google Play, если оно доступно, в тех случаях, когда средство выбора фотографий, предоставленное системой Android (например, MediaStore.ACTION_PICK_IMAGES ), недоступно. API isPhotoPickerAvailable() , который определяет только систему Android, предоставляемую Photo Picker, устарел. Рекомендуется использовать новый API isPhotoPickerAvailable(Context) , который возвращает значение, если доступен любой из средств выбора фотографий. ( I55be6 )

Версия 1.7.0-альфа03

11 января 2023 г.

Выпущены androidx.activity:activity:1.7.0-alpha03 , androidx.activity:activity-compose:1.7.0-alpha03 и androidx.activity:activity-ktx:1.7.0-alpha03 . Версия 1.7.0-alpha03 содержит эти коммиты.

Новые возможности

  • ComponentDialog теперь реализует SavedStateRegistryOwner и имеет доступ к своему собственному SavedStateRegistry и устанавливает SavedStateRegistryOwner для своего ViewTree. Теперь можно использовать Jetpack Compose внутри ComponentDialog , поскольку он соответствует как LifecycleOwner , так и SavedStateRegistryOwner прикрепленным к окну через требования API ViewTree. ( Idca17 , I73468 б/261162296 )

Изменения API

  • Добавлен составной элемент ReportDrawn , который немедленно помечает активность как готовую к вызову reportFullyDrawn . ( Ic5b14 , б/259687964 )

Котлин-преобразования

  • Классы ActvitiyResultCallback и OnBackPressedCallback были преобразованы в Kotlin с сохранением совместимости исходного кода и двоичного кода. ( Ifc5e5 , Ide1b0 , b/257291701 )

Версия 1.7.0-альфа02

24 октября 2022 г.

Выпущены androidx.activity:activity:1.7.0-alpha02 , androidx.activity:activity-compose:1.7.0-alpha02 и androidx.activity:activity-ktx:1.7.0-alpha02 . Версия 1.7.0-alpha02 содержит эти коммиты.

Исправления ошибок

  • Из действия 1.6.1 : исправлена ​​проблема, из-за которой контракт результата действия PickMultipleVisualMedia не запускался на устройствах Android R при использовании значения по умолчанию для maxItems . ( Ие2776 , б/249182130 )

Версия 1.7.0-альфа01

5 октября 2022 г.

Выпущены androidx.activity:activity:1.7.0-alpha01 , androidx.activity:activity-compose:1.7.0-alpha01 и androidx.activity:activity-ktx:1.7.0-alpha01 . Версия 1.7.0-alpha01 содержит эти коммиты.

API FullyDrawnReporter

ComponentActivity теперь предоставляет экземпляр FullyDrawnReporter , который позволяет нескольким компонентам сообщать, когда они готовы к взаимодействию. ComponentActivity будет ждать завершения работы всех компонентов, прежде чем вызывать reportFullyDrawn() от вашего имени. Эти API отвечают за требования к времени, и их не нужно вызывать как часть вызова onDraw .

Эти API рекомендуется включать:

  • Сигнализация среды выполнения Android после завершения запуска, чтобы гарантировать, что весь код, выполняемый во время многокадровой последовательности запуска, включен и имеет приоритет для фоновой компиляции.
  • Сигнализация Macrobenchmark и Play Vitals, когда ваше приложение следует считать полностью прорисованным для показателей запуска, чтобы вы могли отслеживать производительность.

Были добавлены два API-интерфейса Activity Compose, чтобы сделать более удобным использование FullyDrawnReporter из отдельных компонуемых объектов:

  • ReportDrawnWhen принимает предикат (т. е. list.count > 0 ), чтобы указать, когда ваш составной объект готов к взаимодействию.
  • ReportDrawnAfter принимает метод приостановки, который по завершении указывает, что вы готовы к взаимодействию.

Версия 1.6.1

Версия 1.6.1

24 октября 2022 г.

androidx.activity:activity:1.6.1 , androidx.activity:activity-compose:1.6.1 и androidx.activity:activity-ktx:1.6.1 выпущены. Версия 1.6.1 содержит эти коммиты.

Исправления ошибок

  • Исправлена ​​проблема, из-за которой контракт результата активности PickMultipleVisualMedia не запускался на устройствах Android R при использовании значения по умолчанию для maxItems . ( Ие2776 , б/249182130 )

Версия 1.6.0

Версия 1.6.0

21 сентября 2022 г.

androidx.activity:activity:1.6.0 , androidx.activity:activity-compose:1.6.0 и androidx.activity:activity-ktx:1.6.0 выпущены. Версия 1.6.0 содержит эти коммиты.

Важные изменения с версии 1.5.0

  • Добавлены ActivityResultContracts.PickVisualMedia и ActivityResultContracts.PickMultipleVisualMedia для предоставления обратно совместимого контракта, который использует MediaStore.ACTION_PICK_IMAGES , когда средство выбора фотографий доступно, и Intent.ACTION_OPEN_DOCUMENT когда оно недоступно.
  • OnBackInvokedCallback в Android 13 интегрирован в OnBackPressedDispatchers , предоставляемый ComponentActivity и ComponentDialog . Это гарантирует, что все API, созданные на OnBackPressedDispatcher будут работать при включении прогнозируемого жеста назад .

Версия 1.6.0-rc02

7 сентября 2022 г.

androidx.activity:activity:1.6.0-rc02 , androidx.activity:activity-compose:1.6.0-rc02 и androidx.activity:activity-ktx:1.6.0-rc02 выпущены. Версия 1.6.0-rc02 содержит эти коммиты.

Исправления ошибок

  • OnBackPressedDispatcher теперь регистрирует OnBackInvokedCallback с помощью PRIORITY_DEFAULT вместо PRIORITY_OVERLAY . ( I3901f )
  • Классы, расширяющие ComponentActivity теперь всегда будут отправлять оба своих обратных вызова onMultiWindowModeChanged() . ( Ic4d85 )
  • ActivityResultRegistry больше не вернет результат в ActivityResultCallback , когда launch вызовов бросает любое Exception , а обратный вызов был зарегистрирован без LifecycleOwner . ( IA7FF7 , B/238350794 )
  • ComponentActivity теперь будет правильно отправлять вызовы меню без необходимости вызов супер функции в вашей деятельности. ( IE33C5 , B/238057118 )

Обновление зависимости

Версия 1.6.0-rc01

24 августа 2022 года

androidx.activity:activity:1.6.0-rc01 , androidx.activity:activity-compose:1.6.0-rc01 и androidx.activity:activity-ktx:1.6.0-rc01 выпускаются. Версия 1.6.0-rc01 содержит эти коммиты.

Исправления ошибок

  • Инициализация OnBackPressedDispatcher больше не будет вызывать ClassVerificationError и при использовании версий SDK до 33. ( IC32E1 )
  • Классы, которые переопределяют ComponentActivity onPictureInPictureModeChanged() обратный вызов, теперь всегда будут отправлены их обратные вызовы. ( Ib7fdb )

Версия 1.6.0-бета01

10 августа 2022 года

androidx.activity:activity:1.6.0-beta01 , androidx.activity:activity-compose:1.6.0-beta01 и androidx.activity:activity-ktx:1.6.0-beta01 . Версия 1.6.0-beta01 содержит эти коммиты.

Изменения API

  • Оценка устарела методы startActivityForResult и startIntentSenderForResult на ComponentActivity с @NonNull , потому что прохождение null всегда привело к аварии. ( ID2A25 , B/231476082 )

Исправления ошибок

  • Из деятельности 1.5.1 : ActivityResultRegistry больше не вернет результат в ActivityResultCallback , когда launch вызовов бросает любое Exception , а обратный вызов был зарегистрирован без LifecycleOwner . ( IA7FF7 , B/238350794 )
  • Из деятельности 1.5.1 : ComponentActivity теперь будет должным образом отправлять вызовы меню в onPrepareOptionMenu() , onCreateOptionsMenu() и onOptionsItemSelected() переопределяется без необходимости вызовать супер функции. ( IE33C5 , B/238057118 )

Обновление зависимости

Версия 1.6.0-альфа05

15 июня 2022 года

androidx.activity:activity:1.6.0-alpha05 , androidx.activity:activity-compose:1.6.0-alpha05 и androidx.activity:activity-ktx:1.6.0-alpha05 . Версия 1.6.0-Alpha05 была разработана в частном филиале перед выпуском и не имеет общественных коммитов.

Изменения API

  • minCompileSdk сейчас 33, чтобы соответствовать TIRAMISU BETA 3 SDK

Исправления ошибок

  • Фиксированный сбой на более старых устройствах при прохождении проверки расширения SDK для PickVisualMedia ActivityResultContract , чтобы теперь он должен работать с ACTION_OPEN_DOCUMENT на устройствах под управлением Android 10 и ниже.

Версия 1.6.0-альфа04

18 мая 2022 года

androidx.activity:activity:1.6.0-alpha04 и androidx.activity:activity-ktx:1.6.0-alpha04 выпускаются.

Исправления ошибок

  • Исправлена ​​ошибка в PickVisualMediaRequest , где попытка создать запрос, либо через строитель, так и функцию Kotlin верхнего уровня, приведет к переполнению стека.
  • Интегрировал OnBackInvokedCallback в Android 13 Dev Beta 2 в OnBackPressedDispatcher , предоставленный ComponentDialog . Это гарантирует, что все API, основанные на OnBackPressedDispatcher , работая при включении прогнозирующего жеста .

Версия 1.6.0-альфа03

27 апреля 2022 года

androidx.activity:activity:1.6.0-alpha03 , androidx.activity:activity-compose:1.6.0-alpha03 и androidx.activity:activity-ktx:1.6.0-alpha03 выпускаются.

  • Примечание. Эта версия будет компилироваться только против разработчика Android 13 Beta 1 SDK.

Новые возможности

  • Добавлены ActivityResultContracts.PickVisualMedia и ActivityResultContracts.PickMultipleVisualMedia для предоставления обратного совместимого договора, который использует MediaStore.ACTION_PICK_IMAGES , когда доступен сборщик фото и Intent.ACTION_OPEN_DOCUMENT когда он недоступен.
  • Интегрировал OnBackInvokedCallback в Android 13 Dev Beta 1 в OnBackPressedDispatcher , предоставленный ComponentActivity . Это гарантирует, что все API, основанные на OnBackPressedDispatcher , работая при включении прогнозирующего жеста .

Версия 1.6.0-альфа01

23 марта 2022 года

androidx.activity:activity:1.6.0-alpha01 , androidx.activity:activity-compose:1.6.0-alpha01 и androidx.activity:activity-ktx:1.6.0-alpha01 высвобождаются.

  • Примечание. Эта версия будет компилироваться только против разработчика Android 13 Preview 2 SDK.

Новые возможности

  • Интегрированные изменения в Android 13 Dev Preview 2 в ComponentActivity .

Версия 1.5.1

Версия 1.5.1

27 июля 2022 года

androidx.activity:activity:1.5.1 , androidx.activity:activity-compose:1.5.1 , и androidx.activity:activity-ktx:1.5.1 выпускаются. Версия 1.5.1 содержит эти коммиты.

Исправления ошибок

  • ActivityResultRegistry больше не вернет результат в ActivityResultCallback , когда вызов launch() вызовет любое Exception , а обратный вызов был зарегистрирован без LifecycleOwner . ( IA7FF7 , B/238350794 )

  • ComponentActivity теперь будет правильно отправлять вызовы меню в onPrepareOptionMenu() , onCreateOptionsMenu() и onOptionsItemSelected() переопределения без необходимости вызовать супер функцию. ( IE33C5 , B/238057118 )

Обновление зависимости

Версия 1.5.0

Версия 1.5.0

29 июня 2022 года

androidx.activity:activity:1.5.0 , androidx.activity:activity-compose:1.5.0 , и androidx.activity:activity-ktx:1.5.0 выпускаются. Версия 1.5.0 содержит эти коммиты.

Важные изменения с 1.4.0

  • ComponentDialog - ComponentDialog - это подкласс Dialog , который включает в себя OnBackPressedDispatcher , который будет вызван при нажатии кнопки «Система» и диалоговое окно. Важно отметить, что этот подкласс также устанавливает ViewTreeOnBackPressedDispatcherOwner , позволяя представлениям общий способ получить правильный диспетчер, независимо от того, существует ли он в ComponentActivity или ComponentDialog .
  • Интерфейсы обратного вызова - ComponentActivity теперь реализует набор модульных интерфейсов обратного вызова, которые можно использовать вместо Activity вызовов. Эти интерфейсы включают в себя следующее: OnNewIntentProvider , OnConfigurationChangedProvider , OnTrimMemoryProvider , OnPictureInPictureModeChangedProvider , OnMultiWindowModeChangedProvider
  • CreationExtras Integration - ComponentActivity теперь имеет возможность обеспечить бездействие ViewModelProvider.Factory через LifeCycle 2.5.0 ' CreationExtras .

Другие изменения

  • Конструктор без параметров для ActivityResultContracts.CreateDocument был устарел и заменен новым конструктором, который принимает конкретный тип MIME (например, «Image/png»), как требуется Intent.ACTION_CREATE_DOCUMENT .

Версия 1.5.0-rc01

11 мая 2022 года

androidx.activity:activity:1.5.0-rc01 , androidx.activity:activity-compose:1.5.0-rc01 и androidx.activity:activity-ktx:1.5.0-rc01 высвобождаются без изменений из 1.5.0-бита01. Версия 1.5.0-rc01 содержит эти коммиты.

Версия 1.5.0-бета01

20 апреля 2022 года

androidx.activity:activity:1.5.0-beta01 , androidx.activity:activity-compose:1.5.0-beta01 и androidx.activity:activity-ktx:1.5.0-beta01 выпускаются. Версия 1.5.0-beta01 содержит эти коммиты.

Обновления зависимости

Версия 1.5.0-Alpha05

6 апреля 2022 года

androidx.activity:activity:1.5.0-alpha05 , androidx.activity:activity-compose:1.5.0-alpha05 и androidx.activity:activity-ktx:1.5.0-alpha05 . Версия 1.5.0-Alpha05 содержит эти коммиты.

Исправления ошибок

  • ComponentActivity onPanelClosed() теперь также вызывает Super onPanelClosed() , решает проблему, при которой метод onContextMenuClosed не будет вызван. ( IB6F77 )

Версия 1.5.0-альфа04

23 марта 2022 года

androidx.activity:activity:1.5.0-alpha04 , androidx.activity:activity-compose:1.5.0-alpha04 и androidx.activity:activity-ktx:1.5.0-alpha04 . Версия 1.5.0-alpha04 содержит эти коммиты.

Исправления ошибок

  • SavedStateViewFactory теперь поддерживает использование CreationExtras даже если он был инициализирован с помощью SavedStateRegistryOwner . Если предоставляются дополнения, инициализированные аргументы игнорируются. ( I6c43b , b/224844583 )

Версия 1.5.0-Alpha03

23 февраля 2022 года

androidx.activity:activity:1.5.0-alpha03 , androidx.activity:activity-compose:1.5.0-alpha03 и androidx.activity:activity-ktx:1.5.0-alpha03 . Версия 1.5.0-Alpha03 содержит эти коммиты.

Изменения API

  • Теперь вы можете перенести CreationExtras в действие by viewModels() ( i6a3e6 , b/217600303 )

Версия 1.5.0-Alpha02

9 февраля 2022 года

androidx.activity:activity:1.5.0-alpha02 , androidx.activity:activity-compose:1.5.0-alpha02 и androidx.activity:activity-ktx:1.5.0-alpha02 . Версия 1.5.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ComponentActivity теперь реализует интерфейс OnPictureInPictureModeChangedProvider , позволяющий любому компоненту получать события изменения в картинке в картине. ( I9f567 )
  • ComponentActivity теперь реализует интерфейс OnMultiWindowModeChangedProvider , чтобы позволить любому компоненту принимать события изменения режима с несколькими окнами. ( I62d91 )

Версия 1.5.0-Alpha01

26 января 2022 года

androidx.activity:activity:1.5.0-alpha01 , androidx.activity:activity-compose:1.5.0-alpha01 и androidx.activity:activity-ktx:1.5.0-alpha01 . Версия 1.5.0-Alpha01 содержит эти коммиты.

Новые возможности

  • ComponentActivity теперь интегрируется с ViewModel CreationExtras, введенным в рамках жизненного цикла 2.5.0-alpha01 . ( IE7E00 , B/207012584 )
  • Добавлен ComponentDialog , подкласс Dialog , который включает в себя OnBackPressedDispatcher , который будет вызван, когда кнопка «Окна» нажатится, когда диалог виден. Важно отметить, что этот подкласс также устанавливает ViewTreeOnBackPressedDispatcherOwner , позволяя представлениям общий способ получить правильный диспетчер, независимо от того, существует ли он в ComponentActivity или ComponentDialog . ( I8a1bc )
  • ComponentActivity теперь реализует новый интерфейс OnNewIntentProvider , чтобы позволить любому компоненту получать эти события. ( If1f8b )
  • ComponentActivity теперь реализует новый интерфейс OnConfigurationChangedProvider , чтобы позволить любому компоненту получать эти события. ( If623b )
  • ComponentActivity теперь реализует новый интерфейс OnTrimMemoryProvider , чтобы позволить любому компоненту получать эти события. ( IA9295 )

Изменения API

  • Конструктор без параметров для ActivityResultContracts.CreateDocument был устарел и заменен новым конструктором, который принимает конкретный тип MIME (например, "image/png" ), как требуется Intent.ACTION_CREATE_DOCUMENT . ( I2bec6 )
  • OnBackPressedDispatcherOwner связанный с представлением, теперь может быть получен через ViewTreeOnBackPressedDispatcherOwner , а не полагаться на состав Context . ( I74685 )

Исправления ошибок

  • Исправлена ​​сбоем при доступе к ViewModel в первый раз из обратного вызовов registerForActivityResult() или обратных вызовов в LifecycleObserver , добавленную в рамках init ComponentActivity . ( IFE83F )

Версия 1.4.0

Версия 1.4.0

27 октября 2021 года

androidx.activity:activity:1.4.0 , androidx.activity:activity-compose:1.4.0 , и androidx.activity:activity-ktx:1.4.0 выпускаются. Версия 1.4.0 содержит эти коммиты.

Важные изменения с 1.3.0

  • Androidx ComponentActivity теперь реализует интерфейс MenuHost . Это позволяет любому компоненту добавлять элементы меню в ActionBar , добавив в действие экземпляр MenuProvider . Каждое MenuProvider можно добавить с помощью Lifecycle , который автоматически контролирует видимость этих пунктов меню на основе состояния Lifecycle и обрабатывать удаление MenuProvider , когда Lifecycle уничтожен.
  • Класс ActivityResultContract был переписан в Kotlin, чтобы гарантировать, что разработчики, пишущие пользовательские контракты в Kotlin, могут определить правильную нулясь для их классов ввода и вывода.
  • Класс ActivityResultContracts и его контракты были переписаны в Котлине, чтобы обеспечить надлежащую нуль.

Версия 1.4.0-RC01

13 октября 2021 года

androidx.activity:activity:1.4.0-rc01 , androidx.activity:activity-compose:1.4.0-rc01 и androidx.activity:activity-ktx:1.4.0-rc01 высвобождаются. Версия 1.4.0-RC01 содержит эти коммиты.

Исправления ошибок

  • ActivityResultRegistry больше не вернет результат в ActivityResultCallback , когда launch вызовов бросает любое Exception . ( IF4F91 , B/200845664 )

Версия 1.4.0-бета01

29 сентября 2021 года

androidx.activity:activity:1.4.0-beta01 , androidx.activity:activity-compose:1.4.0-beta01 и androidx.activity:activity-ktx:1.4.0-beta01 выпускаются. Версия 1.4.0-бета01 содержит эти коммиты.

Изменения API

  • Исправлена ​​тип для ActivityResultContracts.OpenMultipleDocuments и ActivityResultContracts.GetMultipleContents , которые заставили затем использовать выходной тип List<? extends Uri> при использовании кода из языка программирования Java. ( If71de )
  • Общественные константы в рамках ActivityResultContracts.StartActivityForResult , ActivityResultContracts.StartIntentSenderForResult и ActivityResultContracts.RequestMultiplePermissions теперь доступны при использовании Kotlin через свои ныне Companion объекты. ( AOSP/1832555 )

Обновления документации

  • Сообщение об испаке для API, которые теперь обрабатывают API -интерфейсы результатов деятельности , а именно startActivityForResult , startIntentSenderForResult , onActivityResult , requestPermissions и onRequestPermissionsResult , все были расширены с более подробной информацией. ( CCE80F )

Версия 1.4.0-Alpha02

15 сентября 2021 года

androidx.activity:activity:1.4.0-alpha02 , androidx.activity:activity-compose:1.4.0-alpha02 и androidx.activity:activity-ktx:1.4.0-alpha02 . Версия 1.4.0-Alpha02 содержит эти коммиты.

Новые возможности

  • Артефакт activity-compose в настоящее время содержит ошибку Lint LaunchDuringComposition , которая мешает вам вызвать метод launch ActivityResultLauncher как часть композиции, поскольку композиция должна быть свободна от побочного эффекта. Используйте API для обработки побочных эффектов . ( 7C2BBE , B/191347220 )

Изменения API

  • Класс ActivityResultContract был переписан в Kotlin, чтобы гарантировать, что разработчики, пишущие пользовательские контракты в Kotlin, могут определить правильную нулясь для их классов ввода и вывода. ( I8a8f5 )
  • Класс ActivityResultContracts и его контракты были переписаны в Котлине, чтобы обеспечить надлежащую нуль. ( I69802 )

Версия 1.4.0-Alpha01

1 сентября 2021 года

androidx.activity:activity:1.4.0-alpha01 , androidx.activity:activity-compose:1.4.0-alpha01 и androidx.activity:activity-ktx:1.4.0-alpha01 . Версия 1.4.0-Alpha01 содержит эти коммиты.

Новые возможности

  • Androidx ComponentActivity теперь реализует интерфейс MenuHost . Это позволяет любому компоненту добавлять элементы меню в ActionBar , добавив экземпляр MenuProvider в действие. Каждое MenuProvider можно добавить с помощью Lifecycle , который автоматически контролирует видимость этих пунктов меню на основе состояния Lifecycle и обрабатывать удаление MenuProvider , когда Lifecycle уничтожен. ( I3b608 ):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

Поведение изменяется

  • ActivityResultRegistry теперь будет выбросить IllegalStateException при попытке позвонить launch() на ActivityResultLauncher , который не зарегистрирован или который не был зарегистрирован. ( IDA75D , B/192567522 )

Внешний вклад

  • Спасибо Dmitrilc за исправление опечатки в документации ActivityResult . ( #221 )

Версия 1.3.1

Версия 1.3.1

4 августа 2021 года

androidx.activity:activity:1.3.1 , androidx.activity:activity-compose:1.3.1 , и androidx.activity:activity-ktx:1.3.1 выпускаются. Версия 1.3.1 содержит эти коммиты.

Обновления зависимости

  • Деятельность теперь зависит от котлина 1.5.21 .
  • СООБЩЕНИЕ СОЗДАНИЯ В настоящее время зависит от составления 1.0.1 .

Версия 1.3.0

Версия 1.3.0

28 июля 2021 года

androidx.activity:activity:1.3.0 , androidx.activity:activity-compose:1.3.0 , и androidx.activity:activity-ktx:1.3.0 выпускаются. Версия 1.3.0 содержит эти коммиты.

Важные изменения с 1.2.0

  • Активное сочинение артефакт - Артефакт activity-compose обеспечивает метод расширения setContent для размещения вашего JetPack Compose UI в действии и сочинять конкретные обертки для взаимодействия с API ComponentActivity для обработки кнопки «Система» и API -интерфейсы результатов активности. Смотрите документацию для более подробной информации.
  • CaptureVideo Contract - CaptureVideo ActivityResultContract заменяет теперь устаревший контракт TakeVideo и возвращает логический обозначение успеха, который работает во многих приложениях для камеры.
  • Отслеживание подсказки для изображения в картине -Пользователи activity-ktx теперь могут использовать метод Activity trackPipAnimationHintView для автоматического восстановления PictureInPictureParams с новой позицией представления, поскольку он меняет положение относительно окна.

Версия 1.3.0-RC02

14 июля 2021 года

androidx.activity:activity:1.3.0-rc02 , androidx.activity:activity-compose:1.3.0-rc02 и androidx.activity:activity-ktx:1.3.0-rc02 высвобождаются. Версия 1.3.0-RC02 содержит эти коммиты.

Исправления ошибок

  • Обратные вызовы ActivityResultRegistry теперь должным образом сохраняются и восстанавливаются, поэтому обратные вызовы не дублируются в сохранении. ( I97816 , B/191893160 )

Версия 1.3.0-RC01

1 июля 2021 года

androidx.activity:activity:1.3.0-rc01 , androidx.activity:activity-compose:1.3.0-rc01 и androidx.activity:activity-ktx:1.3.0-rc01 высвобождаются без изменений из 1.3.0-beta02 . Версия 1.3.0-RC01 содержит эти коммиты.

Версия 1.3.0-бета02

16 июня 2021 года

androidx.activity:activity:1.3.0-beta02 , androidx.activity:activity-compose:1.3.0-beta02 и androidx.activity:activity-ktx:1.3.0-beta02 выпускаются. Версия 1.3.0-бета02 содержит эти коммиты.

Обновленная activity-compose , чтобы зависеть от составления 1.0.0-beta09 . androidx.compose.ui:ui-test-junit4 теперь имеет зависимость от времени компиляции от activity-compose .

Версия 1.3.0-бета01

2 июня 2021 года

androidx.activity:activity:1.3.0-beta01 , androidx.activity:activity-compose:1.3.0-beta01 и androidx.activity:activity-ktx:1.3.0-beta01 выпускаются. Версия 1.3.0-бета01 содержит эти коммиты.

Изменения API

  • Ранее устаревший метод @Composable registerForActivityResult() был удален. Пожалуйста, используйте rememberLauncherForActivityResult() . ( IC39D3 )

Версия 1.3.0-Alpha08

18 мая 2021 года

androidx.activity:activity:1.3.0-alpha08 , androidx.activity:activity-compose:1.3.0-alpha08 и androidx.activity:activity-ktx:1.3.0-alpha08 . Версия 1.3.0-Alpha08 содержит эти коммиты.

Новые возможности

  • Новый CaptureVideo ActivityResultContract возвращает логическое значение для вашей ActivityResultCallback , что указывает, было ли ваше видео успешно сохранено в данном URI. Это заменяет устаревший контракт TakeVideo , поскольку приложения камеры очень редко поддерживают возвращение растровой карты миниатюры, что делает результат бесполезным. ( IE21F2 , B/185938070 )
  • Добавлен новый API Activity#setPipAnimationHintView , чтобы обновить подсказку источника Pipparams, когда перемещается представление. ( I9063d )

Изменения API

  • Функция rememberLauncherForActivityResult теперь возвращает пусковую установку, которая осуждает функцию unregister() - регистрация и нерегистрирование пусковой установки автоматически обрабатывается rememberLauncherForActivityResult . ( I2443e )

Составьте совместимость

  • androidx.activity:activity-compose:1.3.0-alpha08 совместим только с Compose Version 1.0.0-beta07 и выше.

Версия 1.3.0-Alpha07

21 апреля 2021 года

androidx.activity:activity:1.3.0-alpha07 , androidx.activity:activity-compose:1.3.0-alpha07 и androidx.activity:activity-ktx:1.3.0-alpha07 . Версия 1.3.0-Alpha07 содержит эти коммиты.

Исправления ошибок

  • rememberLauncherForActivityResult теперь возвращает стабильную ссылку на тот же экземпляр ActivityResultLauncher , даже если контракт изменяется из -за переоборудования. ( Id2d6d )
  • Использование нестабильных версий фрагментов выше 1.3.0 больше не будет бросить ложную положительную ошибку ворса, говорящая вам на 1.3.0 . ( AOSP/1670206 , B/184847092 )

Версия 1.3.0-Alpha06

7 апреля 2021 года

androidx.activity:activity:1.3.0-alpha06 , androidx.activity:activity-compose:1.3.0-alpha06 и androidx.activity:activity-ktx:1.3.0-alpha06 . Версия 1.3.0-Alpha06 содержит эти коммиты.

Изменения API

  • API registerForActivityResult() был переименован, чтобы rememberLauncherForActivityResult() чтобы лучше указать, что возвращаемый ActivityResultLauncher - это управляемый объект, который запоминается от вашего имени. Попытка назвать unregister возвращаемой ActivityResultLauncher теперь вынесет ошибку. ( I2bb6d )
  • LocalOnBackPressedDispatcherOwner.current и LocalActivityResultRegistryOwner.current теперь возвращает нулевое значение, чтобы лучше определить, доступно ли оно в текущей композиции. API, которые требуют тех API, таких как BackHandler и rememberLauncherForActivityResult() , соответственно, теперь принесут более описательную ошибку, если базовый владелец не найден. NavHost теперь работает, даже когда OnBackPressedDispatcherOwner не найден, в этом случае при предварительном просмотре NavHost . ( I7d8b4 )

Исправления ошибок

  • BackHandler теперь будет правильно перехватывать задними прессами в случае STOPPED деятельности, затем STARTED снова, а другие обратные вызовы были добавлены с жизненным циклом. ( I71de6 , b/182284739 )
  • Использование расширения метода launch() с помощью пользовательского ActivityResultContract , которое имеет Unit ввода, больше не будет вызывать NullPointerException ( I76282 , B/183837954 )

Версия 1.3.0-Alpha05

24 марта 2021 года

androidx.activity:activity:1.3.0-alpha05 , androidx.activity:activity-compose:1.3.0-alpha05 и androidx.activity:activity-ktx:1.3.0-alpha05 . Версия 1.3.0-Alpha05 содержит эти коммиты.

Исправления ошибок

  • Из действия 1.2.2 : Исправлена ​​проблема в InvalidFragmentVersionForActivityResult Lint Проверка, которая привела к ложноположительному положительному при использованию фрагмента 1.3.1 или выше. ( I54da1 , b/182388985 )
  • Из деятельности 1.2.2 : ComponentActivity теперь позволяет избежать ClassNotFoundException при запуске Intent от ActivityResultContract , который ранее считался дополнительным в другом Intent . ( IEFF05 , B/182906230 )

Обновления зависимости

Версия 1.3.0-Alpha04

10 марта 2021 года

androidx.activity:activity:1.3.0-alpha04 , androidx.activity:activity-compose:1.3.0-alpha04 и androidx.activity:activity-ktx:1.3.0-alpha04 . Версия 1.3.0-Alpha04 содержит эти коммиты.

Исправления ошибок

  • Из деятельности 1.2.1 : RequestMultiplePermissions теперь всегда возвращает результаты для всех запрошенных разрешений вместо только разрешений, которые ранее не были предоставлены. ( I50bc3 , b/180884668 )
  • Из деятельности 1.2.1 : ActivityResultRegistry теперь гарантирует, что запросы в процессе launch() будут возвращать свои результаты, даже если вы unregister() снова register() с тем же ключом. ( I9ef34 , b/181267562 )
  • Activity Compose больше не добавляет тестовых зависимостей к классовой дороге. ( IFD8B3 )
  • Исправлена ​​проблема с BackHandler , в которой ранее onBack Lambda все еще использовалась после переоборудования. ( 8EB5EB )

Версия 1.3.0-Alpha03

24 февраля 2021 года

androidx.activity:activity:1.3.0-alpha03 , androidx.activity:activity-compose:1.3.0-alpha03 и androidx.activity:activity-ktx:1.3.0-alpha03 . Версия 1.3.0-Alpha03 содержит эти коммиты.

Новые возможности

  • В настоящее время существует композиционная функция registerForActivityResult для получения результатов деятельности в рамках композибельных продуктов. ( IA7851 , B/172690553 )

Изменения API

  • LocalOnBackPressedDispatcherOwner теперь имеет provides функции, которые можно использовать с CompositionLocalProvider , заменив API asProvidableCompositionLocal() . ( I45d24 )

Версия 1.3.0-Alpha02

10 февраля 2021 года

androidx.activity:activity:1.3.0-alpha02 , androidx.activity:activity-compose:1.3.0-alpha02 и androidx.activity:activity-ktx:1.3.0-alpha02 высвобождаются. Версия 1.3.0-Alpha02 содержит эти коммиты.

Исправления ошибок

  • Исправлена ​​проблема в активности составьте 1.3.0-alpha01 , которая вызывает NoSuchMethodError: No static method setContent Excontent при использовании Compose 1.0.0-alpha12 . Все пользователи композиции должны зависеть от 1.3.0-alpha02 и выше. ( B/179911234 )

Изменения API

  • API BackHandler может использоваться для того, чтобы позволить композиции для перехвата системы обратной связи. ( I58ed5 , b/172154006 )

Версия 1.3.0-Alpha01

10 февраля 2021 года

androidx.activity:activity:1.3.0-alpha01 , androidx.activity:activity-compose:1.3.0-alpha01 и androidx.activity:activity-ktx:1.3.0-alpha01 . Версия 1.3.0-Alpha01 содержит эти коммиты.

Новые возможности

  • Новый артефакт activity-compose обеспечивает JetPack сочинять конкретных помощников для API-интерфейсов androidx.activity .
    • ComponentActivity.setContent перешел от androidx.compose.ui.platform.setContent в androidx.activity.compose.setContent . ( ICF416 )

Известные проблемы

  • Использование Activity Compose 1.3.0-alpha01 и библиотеки, которые зависят от этого, таких как androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 , приведет к исключению NoSuchMethodError: No static method setContent . ( B/179911234 )

Версия 1.2.4

Версия 1.2.4

21 июля 2021 года

androidx.activity:activity:1.2.4 и androidx.activity:activity-ktx:1.2.4 выпускаются. Версия 1.2.4 содержит эти коммиты.

Исправления ошибок

  • Из деятельности 1.3.0-rc02 : обратные вызовы ActivityResultregistry теперь должным образом сохраняются и восстанавливаются, поэтому обратные вызовы не дублируются в сохранении. ( I97816 , B/191893160 )

Версия 1.2.3

Версия 1.2.3

5 мая 2021 года

androidx.activity:activity:1.2.3 и androidx.activity:activity-ktx:1.2.3 выпускаются. Версия 1.2.3 содержит эти коммиты.

Исправления ошибок

  • Использование расширения метода launch() с помощью пользовательского ActivityResultContract , которое имеет Unit ввода, больше не будет вызывать NullPointerException ( I76282 , B/183837954 )
  • Исправлена ​​ложная ошибка положительного ворса, в котором говорилось, что вы используете фрагмент 1.3.0 при использовании моментального снимка, альфа, бета -версии или RC строительства более новой версии фрагментов. ( F4A57E , B/184847092 )

Версия 1.2.2

Версия 1.2.2

24 марта 2021 года

androidx.activity:activity:1.2.2 и androidx.activity:activity-ktx:1.2.2 выпускаются. Версия 1.2.2 содержит эти коммиты.

Исправления ошибок

  • Исправлена ​​проблема в InvalidFragmentVersionForActivityResult Lint Проверка, которая привела к ложному положительному при использованию фрагмента 1.3.1 или выше. ( I54da1 , b/182388985 )
  • ComponentActivity теперь избегает ClassNotFoundException при запуске Intent от ActivityResultContract , который ранее считался дополнительным в другом Intent . ( IEFF05 , B/182906230 )

Обновления зависимости

Версия 1.2.1

Версия 1.2.1

10 марта 2021 года

androidx.activity:activity:1.2.1 и androidx.activity:activity-ktx:1.2.1 выпускаются. Версия 1.2.1 содержит эти коммиты.

Исправления ошибок

  • RequestMultiplePermissions теперь всегда возвращает результаты для всех запрошенных разрешений, а не только разрешения, которые ранее не были предоставлены. ( I50bc3 , b/180884668 )
  • ActivityResultRegistry теперь гарантирует, что в процессе launch() запросы запуска () будут возвращать свои результаты, даже если вы unregister() , то снова register() с тем же ключом. ( I9ef34 , b/181267562 )

Версия 1.2.0

Версия 1.2.0

10 февраля 2021 года

androidx.activity:activity:1.2.0 и androidx.activity:activity-ktx:1.2.0 выпускаются. Версия 1.2.0 содержит эти коммиты.

Основные изменения с 1.1.0

  • API -интерфейс результатов деятельности : ComponentActivity в настоящее время обеспечивает ActivityResultRegistry , которая позволяет вам обрабатывать startActivityForResult() + onActivityResult() , а также requestPermissions() + onRequestPermissionsResult() потоки без переоценки в вашей деятельности или фрагментах, повышает безопасность типа с помощью ActivityResultContract и обеспечивает крючки для тестирования. Смотрите обновленную получение результата от деятельности .
  • ContextAware : ComponentActivity теперь реализует ContextAware , позволяя вам добавить один или несколько экземпляров OnContextAvailableListener , которые получат обратный вызов перед базовой Activity.onCreate() .

    • Приостановление расширения Kotlin withContextAvailable() позволяет запустить блок, не связанный с SUSPENDING, когда контекст становится доступным, и вернуть результат.
    • Этот API используется FragmentActivity в фрагменте 1.3.0 для восстановления состояния FragmentManager . Любые слушатели, добавленные к подклассам FragmentActivity будут работать после этого слушателя.
    • Этот API используется AppCompatActivity в AppCompat 1.3.0-Alpha02 или выше. Любые слушатели, добавленные к подклассам AppCompatActivity будут работать после этого слушателя.
  • Поддержка ViewTree : ComponentActivity теперь поддерживает ViewTreeLifecycleOwner.get(View) LifecycleOwner 1.1.0 ViewTreeViewModelStoreOwner.get(View) ViewModelStoreOwner ViewTreeSavedStateRegistryOwner 2.3.0 SavedStateRegistryOwner для любых представлений, непосредственно добавленных к ComponentActivity .

  • Отчетный отчетмон () Backport - Метод Activity reportFullyDrawn() был возвращен в ComponentActivity чтобы работать на всех уровнях API, исправляя сбой на API 19 и добавляя трассировку для этого метода для всех уровней API.

Версия 1.2.0-RC01

16 декабря 2020 года

androidx.activity:activity:1.2.0-rc01 и androidx.activity:activity-ktx:1.2.0-rc01 выпускаются. Версия 1.2.0-RC01 содержит эти коммиты.

Исправления ошибок

  • ActivityResultRegistry теперь всегда восстанавливает точное состояние, которое было сохранено. ( Idd56b )
  • Добавить трассировку в ComponentActivity.reportFullyDrawn .

Внешний вклад

  • ComponentActivity теперь переопределяет reportFullyDrawn() , позволяя его вызвать на все уровни API и исправлять сбой при вызове этого метода без соответствующего разрешения системы на устройствах API 19. Спасибо Саймон Шиллер! ( B/163239764 , #103 )

Версия 1.2.0-бета02

2 декабря 2020 года

androidx.activity:activity:1.2.0-beta02 и androidx.activity:activity-ktx:1.2.0-beta02 выпускаются. Версия 1.2.0-бета02 содержит эти коммиты.

Исправления ошибок

  • Исправлена ​​проблема, в которой API результата активности не будет ждать STARTED жизненного цикла до получения результатов при регистрации в Lifecycle . ( I109ea )

Внешний вклад

  • Обновлено документацию для launch() , чтобы явно назвать, что она может бросить ActivityNotFoundException . Спасибо, Михал, Зелиньски! ( AOSP/1493580 )

Версия 1.2.0-бета01

1 октября 2020 года

androidx.activity:activity:1.2.0-beta01 и androidx.activity:activity-ktx:1.2.0-beta01 выпускаются. Версия 1.2.0-бета01 содержит эти коммиты.

Исправления ошибок

  • ActivityResultRegistry теперь случайным образом генерирует целые числа, пока не найдет тот, который не раскрывается для использования в качестве register() , что предотвращает возможное переполнение целого числа, вызванное увеличением кодов запросов. ( B/168779518 )

  • Наблюдатели Lifecycle должным образом удаляются при вызове unregister() на ActivityResultLauncher . ( B/165608393 )

Поведение изменяется

  • ActivityResultRegistry теперь бросает IllegalStateException , когда попытка позвонить в register() с LifecycleOwner , чей Lifecycle уже достиг STARTED . ( B/165435866 )

Документация обновлена

  • ContextAware документация ссылается на LifecycleOwner , чтобы выделить обратные вызовы Lifecycle в качестве подходящего места для событий создания и разрушения. ( AOSP/1414152 )

Версия 1.2.0-Alpha08

19 августа 2020 года

androidx.activity:activity:1.2.0-alpha08 и androidx.activity:activity-ktx:1.2.0-alpha08 выпускаются. Версия 1.2.0-Alpha08 содержит эти коммиты.

Новые возможности

  • ComponentActivity теперь реализует ContextAware , позволяя добавлять один или несколько экземпляров OnContextAvailableListener , которые получат обратный вызов перед базовой Activity.onCreate() . ( B/161390636 )
    • Приостановление расширения Kotlin withContextAvailable() позволяет запустить блок, не связанный с SUSPENDING, когда контекст становится доступным, и вернуть результат. ( I8290c )
    • Этот API используется FragmentActivity в фрагменте 1.3.0-Alpha08 для восстановления состояния FragmentManager . Любые слушатели, добавленные к подклассам FragmentActivity будут работать после этого слушателя. ( I513da )
    • Этот API используется AppCompatActivity в AppCompat 1.3.0-Alpha02 . Любые слушатели, добавленные к подклассам AppCompatActivity будут работать после этого слушателя. ( I513da )

Исправления ошибок

  • Исправлена ​​проблема с проверкой LINT ActivityResultFragmentVersionDetector , которая заставила его сломаться при использовании Lint 27.1.0 или выше. ( B/162155191 )

Версия 1.2.0-Alpha07

22 июля 2020 года

androidx.activity:activity:1.2.0-alpha07 и androidx.activity:activity-ktx:1.2.0-alpha07 выпускаются. Версия 1.2.0-Alpha07 содержит эти коммиты.

Новые возможности

  • Добавлена ​​новая InvalidFragmentVersionForActivityResult Lint Проверка, которая проверяет, что вы используете фрагмент 1.3.0-alpha07 при использовании API результата активности , избегая сбоев времени выполнения из-за проблем «неверного запроса» и запросов на разрешение на разрешение на не функционирование, вызванные использованием более старых версий фрагментов. ( B/152554847 )

Внешний вклад

  • Исправлено ArrayIndexOutOfBoundsException при анализе результатов для договора результатов деятельности RequestPermission . ( I8f9e3 , b/161057605 )

Версия 1.2.0-Alpha06

10 июня 2020 года

androidx.activity:activity:1.2.0-alpha06 и androidx.activity:activity-ktx:1.2.0-alpha06 выпускаются. Версия 1.2.0-Alpha06 содержит эти коммиты.

Новые возможности

  • Теперь вы можете уничтожить класс ActivityResult в Котлине, чтобы напрямую получить доступ к коду requestCode и intent . ( B/157212935 )
  • ActivityResultLauncher теперь позволяет вам получить ActivityResultContract , который использовался для регистрации пусковой установки. ( B/156875743 )

Изменения API

  • Перерывные изменения : метод invoke() на ActivityResultRegistry был переименован в onLaunch() . ( B/157496491 )
  • Контракт OpenMultipleDocuments теперь возвращает пустой список вместо null в зарегистрированный обратный вызов, если результат не возвращается. ( B/157348014 )

Версия 1.2.0-Alpha05

20 мая 2020 года

androidx.activity:activity:1.2.0-alpha05 и androidx.activity:activity-ktx:1.2.0-alpha05 выпускаются. Версия 1.2.0-Alpha05 содержит эти коммиты.

Новые возможности

Изменения API

  • The TakePicture contract now returns a boolean indicating success rather than a thumbnail Bitmap as this was very rarely supported by camera apps when writing the image to the provided Uri . ( b/154302879 )
  • The invoke() extensions on ActivityResultLauncher have been removed in favor of explicitly using launch() to better indicate that these are asynchronous operations. Kotlin extensions for launch have been added to the androidx.activity.result package for ActivityResultLauncher<Void> and ActivityResultLauncher<Unit> that remove the need to pass in null or Unit , respectively, mirroring that behavior from the previously invoke() extensions. ( aosp/1304674 , aosp/1304675 )
  • The IntentSenderRequest.Builder methods for setFlagsMask() and setFlagsValues() has been combined into a single setFlags() method. ( aosp/1302111 )

Исправления ошибок

  • When registering an ActivityResultCallback with a LifecycleOwner , fixed an issue where the callback would be triggered before the state reaches STARTED . ( aosp/1309744 )

Behavior Changes

  • The ActivityResultRegistry now generates request codes starting at 0xFFFF rather than at 0 , preventing overlap when using startActivityForResult() or requestPermissions() in an activity. ( aosp/1302324 )

Версия 1.2.0-Alpha04

April 29, 2020

androidx.activity:activity:1.2.0-alpha04 and androidx.activity:activity-ktx:1.2.0-alpha04 are released. Версия 1.2.0-Alpha04 содержит эти коммиты.

Новые возможности

  • Added a contract that can call startIntentSenderForResult to the ActivityResult APIs. ( b/153007517 )

Изменения API

  • The prepareCall() method has been renamed to registerForActivityResult() , both on ComponentActivity here and in Fragment 1.3.0-alpha04 . ( aosp/1278717 )
  • The GetContents , OpenDocuments , and RequestPermissions contracts have been renamed to GetMultipleContents , OpenMultipleDocuments , and RequestMultiplePermissions , respectively. ( aosp/1280161 )
  • ComponentActivity now implements the ActivityResultRegisteryOwner interface. ( aosp/1290888 )
  • - The startActivityForResult() / onActivityResult() and onRequestPermissionsResult() APIs on ComponentActivity have been deprecated. Please use the Activity Result APIs . ( b/154751887 )

Исправления ошибок

  • When using the GetMultipleContents and OpenMultipleDocuments contracts and selecting a single item, it is now correctly returned to your callback. ( b/152941153 )

Версия 1.2.0-Alpha03

April 1, 2020

androidx.activity:activity:1.2.0-alpha03 and androidx.activity:activity-ktx:1.2.0-alpha03 are released. Версия 1.2.0-Alpha03 содержит эти коммиты.

Новые возможности

  • Added the TakeVideo , PickContact , GetContent , GetContents , OpenDocument , OpenDocuments , OpenDocumentTree , and CreateDocument contracts to the set of pre-built contracts provided by ActivityResultContracts . ( aosp/1262482 , aosp/1266916 , aosp/1268960 )
  • The Activity Result APIs now support launching an activity for result with an optional ActivityOptionsCompat . ( b/151860054 )

Изменения API

  • The TakePicture contract now takes a Uri input for where the image should be stored. The previous contract that does not take any input has been renamed to TakePicturePreview . ( aosp/1262482 )
  • The registerActivityResultCallback() method on ActivityResultRegistry has been renamed to register() . ( aosp/1267621 )
  • The dispose() method on ActivityResultLauncher has been renamed to unregister() and the unregisterResultCallback() on ActivityResultRegistry has been removed. ( aosp/1267621 )
  • The createIntent() method of ActivityResultContact now takes a Context in addition to the input to make it possible to create explicit Intents. ( aosp/1238800 )
  • An ActivityResultContract can now override getSynchronousResult() to deliver a result without calling startActivityForResult . This is used by the RequestPermission and RequestPermissions contracts to correctly deliver a 'granted' status if the requested permissions are already granted. ( b/151110799 )
  • The previously available Dial contract has been removed as that Intent is not meant to be used with startActivityForResult() . ( aosp/1266916 )
  • Many of the Activity Result APIs not meant to be extended are now final . This includes getActivityResultRegistry() , the prepareCall() methods, all methods of ActivityResultRegistry except invoke() , and a number of the default contracts that do not support optional extras. ( b/152439361 )

Исправления ошибок

  • Fixed a NullPointerException in ActivityResultRegistry when attempting to deliver results to a callback that has not yet been re-registered after a configuration change; ActivityResultRegistry now holds onto these pending results and delivers them when the callback is re-registered. ( b/152137004 )

Версия 1.2.0-Alpha02

March 18, 2020

androidx.activity:activity:1.2.0-alpha02 and androidx.activity:activity-ktx:1.2.0-alpha02 are released. Версия 1.2.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ActivityResultRegistry : ComponentActivity now provides an ActivityResultRegistry that lets you handle the startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity . ( b/125158199 )

Версия 1.2.0-Alpha01

March 4, 2020

androidx.activity:activity:1.2.0-alpha01 and androidx.activity:activity-ktx:1.2.0-alpha01 are released. Версия 1.2.0-Alpha01 содержит эти коммиты.

Новые возможности

  • Added support for the ViewTreeLifecycleOwner.get(View) API added in Lifecycle 2.3.0-alpha01 such that it will return the Activity as the LifecycleOwner for any Views directly added to the Activity. ( aosp/1182955 )

Исправления ошибок

  • Fixed a regression introduced in Activity 1.1.0 when running on older versions of the platform where onBackPressed() would cause an IllegalStateException due to a bug in the android.app.FragmentManager . ( b/146290338 )

Версия 1.1.0

Версия 1.1.0

January 22, 2020

androidx.activity:activity:1.1.0 is released. Версия 1.1.0 содержит эти коммиты .

Важные изменения с версии 1.0.0

  • Lifecycle ViewModel SavedState Integration : SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity or its subclasses.

Версия 1.1.0-RC03

December 4, 2019

androidx.activity:activity:1.1.0-rc03 and androidx.activity:activity-ktx:1.1.0-rc03 are released. Version 1.1.0-rc03 contains these commits .

Dependency changes

  • Activity now depends on Lifecycle 2.2.0-rc03 and Lifecycle ViewModel SavedState 1.0.0-rc03 .

Version 1.1.0-rc02

November 7, 2019

androidx.activity:activity:1.1.0-rc02 and androidx.activity:activity-ktx:1.1.0-rc02 are released. Version 1.1.0-rc02 contains these commits .

Dependency changes

  • Activity now depends on lifecycle 2.2.0-rc02 .

Версия 1.1.0-rc01

October 23, 2019

androidx.activity:activity:1.1.0-rc01 and androidx.activity:activity-ktx:1.1.0-rc01 are released with no changes from 1.1.0-beta01 . Версия 1.1.0-rc01 содержит эти коммиты .

Версия 1.1.0-бета01

October 9, 2019

androidx.activity:activity:1.1.0-beta01 and androidx.activity:activity-ktx:1.1.0-beta01 are released. Версия 1.1.0-beta01 содержит эти коммиты .

Dependency changes

  • Activity now depends on SavedState 1.0.0 stable.

Версия 1.1.0-Alpha03

September 5, 2019

androidx.activity:activity:1.1.0-alpha03 and androidx.activity:activity-ktx:1.1.0-alpha03 are released. The commits included in this version can be found here .

New features

  • Activity now depends on Core 1.1.0 stable.

Исправления ошибок

Версия 1.1.0-Alpha02

August 7, 2019

androidx.activity:activity:1.1.0-alpha02 and androidx.activity:activity-ktx:1.1.0-alpha02 are released. The commits included in this version can be found here .

New features

  • SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity ( b/135716331 )

Версия 1.1.0-альфа01

July 2, 2019

androidx.activity:activity:1.1.0-alpha01 and androidx.activity:activity-ktx:1.1.0-alpha01 are released. The commits included in this version can be found here .

New features

  • activity now depends on Lifecycle 2.2.0-alpha02 . ( aosp/1007817 )
  • activity-ktx added a dependency on lifecycle-runtime-ktx ; you no longer need to explicitly add it to your dependencies when using activity-ktx or libraries that depend on activity-ktx (such as fragment-ktx ). ( aosp/987162 )

Версия 1.0.0

Версия 1.0.0

September 5, 2019

androidx.activity:activity:1.0.0 and androidx.activity:activity-ktx:1.0.0 are released. The commits included in this version can be found here .

Major Features of 1.0.0

  • ComponentActivity : ComponentActivity serves as the new base class for FragmentActivity in Fragment 1.1.0 and, by extension, AppCompatActivity in AppCompat 1.1.0 .
  • activity-ktx : The activity-ktx module includes a by viewModels Kotlin property extension for accessing ViewModels. This module is automatically included when you include fragment-ktx from Fragment 1.1.0 .
  • OnBackPressedDispatcher : As a composable alternative to overriding onBackPressed() , you can now register a OnBackPressedCallback from any LifecycleOwner (such as a fragment) to intercept system back button events. A lambda with receiver version addCallback has been added to activity-ktx . See Provide custom back navigation documentation for more details.
  • onRetainCustomNonConfigurationInstance deprecation : the onRetainCustomNonConfigurationInstance() and the related getLastCustomNonConfigurationInstance() APIs have been deprecated. It is strongly recommended to use ViewModels to store non-configuration state as they offer a composable solution suitable for any ViewModelStoreOwner that makes the ownership of the retained objects clear and provides an onCleared() callback for cleaning up resources when the activity is finally destroyed.

Версия 1.0.0-RC01

July 2, 2019

androidx.activity:activity:1.0.0-rc01 and androidx.activity:activity-ktx:1.0.0-rc01 are released with no changes from 1.0.0-beta01 . The commits included in this version can be found here .

Версия 1.0.0-бета01

June 5, 2019

androidx.activity::activity:1.0.0-beta01 and androidx.activity:activity-ktx:1.0.0-beta01 are released with no changes from 1.0.0-alpha08 . The commits included in this version can be found here .

Version 1.0.0-alpha08

May 7, 2019

androidx.activity:activity:1.0.0-alpha08 and androidx.activity:activity-ktx:1.0.0-alpha08 are released. The commits included in this version can be found here .

API changes

  • Breaking change: The previously deprecated addOnBackPressedCallback and removeOnBackPressedCallback methods on ComponentActivity have been removed. aosp/953857
  • The setEnabled() and isEnabled() methods of OnBackPressedCallback are now final. b/131416833
  • The remove() method of OnBackPressedCallback is now final. aosp/952720
  • OnBackPressedDispatcher now has public constructors, allowing you to construct your own instances for testing, etc. aosp/953431
  • onBackPressed() for ComponentActivity is now explicitly marked as @MainThread aosp/952721

Исправления ошибок

  • Fixed a ConcurrentModificationException when calling remove() from within the handleOnBackPressed() method of a OnBackPressedCalback that was added with a LifecycleOwner . b/131765095

Version 1.0.0-alpha07

April 25th, 2019

androidx.activity:activity:1.0.0-alpha07 and androidx.activity:activity-ktx:1.0.0-alpha07 are released. The commits included in this version can be found here .

API changes

This release makes significant changes to the handling of the onBackPressed() . See the updated custom back documentation for more details.

  • The methods for OnBackPressedCallback and OnBackPressedDispatcher have been marked as @MainThread . ( aosp/943813 )
  • The handleOnBackPressed() method no longer returns a boolean . Instead, OnBackPressedCallback is now an abstract class that can be enabled or disabled - only when the new isEnabled() method returns true will handleOnBackPressed() be called, in which you must handle the back button. ( aosp/944518 )
  • The addCallback methods of OnBackPressedDispatcher no longer return a Cancellable instance. OnBackPressedCallback now contain a remove() method that fulfill this functionality, allowing you to call remove() during handleOnBackPressed() . ( aosp/944519 ) ( aosp/946316 )
  • activity-ktx now contains a receiver scoped callback for addCallback that accepts a lamdba that implements handleOnBackPressed() and has access to isEnabled and remove() ( aosp/944520 )

Version 1.0.0-alpha06

April 3rd, 2019

androidx.activity:activity:1.0.0-alpha06 and androidx.activity:activity-ktx:1.0.0-alpha06 are released. The commits included in this version can be found here .

API changes

  • ComponentActivity now contain a second constructor that takes a @LayoutRes int , which replaces the previous behavior of annotating your AppCompatActivity class with @ContentView . This approach works in both app and library modules. ( b/128352521 )
  • The OnBackPressedCallback related APIs on ComponentActivity have been deprecated in favor of the new OnBackPressedDispatcher , retrievable via getOnBackPressedDispatcher() . ( aosp/922523 )
  • Methods to add a new OnBackPressedCallback to the OnBackPressedDispatcher now return a Cancellable object, allowing removal of the callback without requiring an explicit reference to the OnBackPressedDispatcher . ( aosp/922523 )
  • Adding a OnBackPressedCallback with an associated LifecycleOwner now results in adding and removing the OnBackPressedCallback as the Lifecycle is started and stopped, respectively. ( aosp/922523 )

Версия 1.0.0-альфа05

March 13th, 2019

androidx.activity:activity:1.0.0-alpha05 and androidx.activity:activity-ktx:1.0.0-alpha05 are released. The full list of commits included in this release can be found here .

New features

  • @ContentView annotation lookups are now cached ( b/123709449 )

Версия 1.0.0-альфа04

January 30, 2019

androidx.activity:activity 1.0.0-alpha04 and androidx.activity:activity-ktx 1.0.0-alpha04 are released.

New features

  • Added support for the @ContentView class annotation that allows you to indicate which layout XML file should be inflated as an alternative to using setContentView() . ( aosp/837619 )

API changes

  • Added a note that getViewModelStore() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/837619 )

Исправления ошибок

  • The activity module now depends on version 2.1.0-alpha02 of ViewModel to match the activity-ktx module's dependency.

Version 1.0.0-alpha03

December 17, 2018

androidx.activity 1.0.0-alpha03 is released.

New features

  • ComponentActivity now implements BundleSavedStateRegistryOwner and depends on the newly released SavedState library [ aosp/815133 ]
  • ComponentActivity now works around an Android framework bug that would cause InputMethodManager to leak the last focused view [ b/37122102 ]

Версия 1.0.0-альфа02

December 3, 2018

API changes

  • Added a note that getLifecycle() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/815834 )

Версия 1.0.0-альфа01

November 5, 2018

androidx.activity 1.0.0-alpha01 introduces ComponentActivity , a new base class of the existing FragmentActivity and AppCompatActivity .

New features

  • You can now register an OnBackPressedCallback via addOnBackPressedCallback to receive onBackPressed() callbacks without needing to override the method in your activity.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModel s from a ComponentActivity .
  • Pending input events (such as clicks) are now canceled in onStop() .

API changes

  • The implementation of LifecycleOwner and ViewModelStoreOwner have been moved from FragmentActivity to ComponentActivity .
  • onRetainCustomNonConfigurationInstance has been deprecated. Use a ViewModel for storing objects that need to survive configuration changes.
,

Активность

Access composable APIs built on top of Activity.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
9 апреля 2025 г. 1.10.1 - 1.11.0-beta01 -

Объявление зависимостей

To add a dependency on Activity, you must add the Google Maven repository to your project. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    def activity_version = "1.10.1"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Котлин

dependencies {
    val activity_version = "1.10.1"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Version 1.11

Version 1.11.0-beta01

9 апреля 2025 г.

androidx.activity:activity:1.11.0-beta01 , androidx.activity:activity-compose:1.11.0-beta01 , and androidx.activity:activity-ktx:1.11.0-beta01 are released. Version 1.11.0-beta01 contains these commits .

Version 1.11.0-alpha02

26 марта 2025 г.

androidx.activity:activity:1.11.0-alpha02 , androidx.activity:activity-compose:1.11.0-alpha02 , and androidx.activity:activity-ktx:1.11.0-alpha02 are released. Version 1.11.0-alpha02 contains these commits .

Изменения API

  • Integrated the new EDGE_NONE and frameTimeMillis from Android 16 Beta03 into the BackEventCompat provided by OnBackPressedCallback 's handleOnBackStarted and handleOnBackProgressed functions.

Обновления зависимости

Version 1.11.0-alpha01

12 марта 2025 г.

androidx.activity:activity:1.11.0-alpha01 , androidx.activity:activity-compose:1.11.0-alpha01 , and androidx.activity:activity-ktx:1.11.0-alpha01 are released. Version 1.11.0-alpha01 contains these commits .

Новые возможности

  • Added MediaCapabilities API to PickVisualMediaRequest to let applications specify its media capabilities, such as supported HDR Types. ( Ic3ee7 )

Version 1.10

Version 1.10.1

26 февраля 2025 г.

androidx.activity:activity:1.10.1 , androidx.activity:activity-compose:1.10.1 , and androidx.activity:activity-ktx:1.10.1 are released. Version 1.10.1 contains these commits .

Исправления ошибок

  • ViewTree OnBackPressedDispatcherOwners and FullyDrawnReporterOwners can now be resolved through disjoint parents of a view, such as a ViewOverlay . See the release notes of core or the documentation in ViewTree.setViewTreeDisjointParent for more information on disjoint view parents. ( Ie7750 )

Version 1.10.0

15 января 2025 г.

androidx.activity:activity:1.10.0 , androidx.activity:activity-compose:1.10.0 , and androidx.activity:activity-ktx:1.10.0 are released. Version 1.10.0 contains these commits .

Important changes since 1.9.0

  • PhotoPicker now allows picking images in order and choosing which tab (either albums or images) should be initially visible.
  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts that trigger the Photo Picker no longer directly delegates to Google Play services if the system Photo picker is not available, but uses the public ACTION_SYSTEM_FALLBACK_PICK_IMAGES action and related extras to provide a consistent Photo Picker experience to OEMs and system apps as a fallback.
  • New LocalActivity composition local that provides the Activity for the current scope, removing the need for developers to get an Activity from the LocalContext .

Version 1.10.0-rc01

11 декабря 2024 г.

androidx.activity:activity:1.10.0-rc01 , androidx.activity:activity-compose:1.10.0-rc01 , and androidx.activity:activity-ktx:1.10.0-rc01 are released. Version 1.10.0-rc01 contains these commits .

Исправления ошибок

  • Fixed an issue where changing the enabled state while the PredictiveBackHandler is currently active would short circuit the callback immediately. It will now finish the current callback regardless of the enabled status changes. ( Ib8719 )

Version 1.10.0-beta01

13 ноября 2024 г.

androidx.activity:activity:1.10.0-beta01 , androidx.activity:activity-compose:1.10.0-beta01 , and androidx.activity:activity-ktx:1.10.0-beta01 are released with no changes since the last alpha. Version 1.10.0-beta01 contains these commits .

Version 1.10.0-alpha03

30 октября 2024 г.

androidx.activity:activity:1.10.0-alpha03 , androidx.activity:activity-compose:1.10.0-alpha03 , and androidx.activity:activity-ktx:1.10.0-alpha03 are released. Version 1.10.0-alpha03 contains these commits .

Изменения API

  • Added a new LocalActivity composition local that provides the Activity for the current scope, removing the need for developers to get an Activity from the LocalContext . It also comes with a new lint rule that checks when the LocalContext is incorrectly being cast to an Activity . ( I7746a , b/283009666 )

Исправления ошибок

  • From Activity 1.9.3 : PredictiveBackHandler will no longer fire it's callback after the handler has been disabled. This will fix an issue where the NavHost from Navigation Compose would throw an IndexOutOfBoundsException . ( I3f75e , b/365027664 , b/340202286 )

Dependency Update

Version 1.10.0-alpha02

4 сентября 2024 г.

androidx.activity:activity:1.10.0-alpha02 , androidx.activity:activity-compose:1.10.0-alpha02 , and androidx.activity:activity-ktx:1.10.0-alpha02 are released. Version 1.10.0-alpha02 contains these commits .

Behavior Changes

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts that trigger the Photo Picker no longer directly delegates to Google Play services if the system Photo picker is not available, but uses the public ACTION_SYSTEM_FALLBACK_PICK_IMAGES action and related extras to provide a consistent Photo Picker experience to OEMs and system apps as a fallback. This should have no effect on the user experience for devices that have a recent version of Google Play services. ( I3513d )

Исправления ошибок

  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( I9496c , b/345472586 )
  • From Activity 1.9.2 : Fixed an issue where the Activity Compose PredictiveBackHandler API would continue to handle the system back gesture on the frame it was disabled, which could result in libraries like Navigation Compose to handle back even with an empty back stack, resulting in it throwing an IndexOutOfBoundsException . ( Ie3301 , b/340202286 )
  • From Activity 1.9.1 : Fixed an issue with PredictiveBackHandler where after doing system back, attempting to do onBackPressed from the OnBackPressedDispatcher would fail. ( I5f1f8 )

Version 1.10.0-alpha01

26 июня 2024 г.

androidx.activity:activity:1.10.0-alpha01 , androidx.activity:activity-compose:1.10.0-alpha01 , and androidx.activity:activity-ktx:1.10.0-alpha01 are released. This version is developed in an internal branch.

Новые возможности

  • Added support for new PhotoPicker features introduced in Android V including being able to pick images in order and choose which tab (either albums or images) should be initially visible.

Version 1.9

Version 1.9.3

16 октября 2024 г.

androidx.activity:activity:1.9.3 , androidx.activity:activity-compose:1.9.3 , and androidx.activity:activity-ktx:1.9.3 are released. Version 1.9.3 contains these commits .

Исправления ошибок

  • PredictiveBackHandler will no longer fire it's callback after the handler has been disabled. This will fix an issue where the NavHost from Navigation Compose would throw an IndexOutOfBoundsException . ( I3f75e , b/340202286 )

Version 1.9.2

4 сентября 2024 г.

androidx.activity:activity:1.9.2 , androidx.activity:activity-compose:1.9.2 , and androidx.activity:activity-ktx:1.9.2 are released. Version 1.9.2 contains these lthcocommits .

Исправления ошибок

  • Fixed an issue where the Activity Compose PredictiveBackHandler API would continue to handle the system back gesture on the frame it was disabled, which could result in libraries like Navigation Compose to handle back even with an empty back stack, resulting in it throwing an IndexOutOfBoundsException . ( Ie3301 , b/340202286 )

Version 1.9.1

24 июля 2024 г.

androidx.activity:activity:1.9.1 , androidx.activity:activity-compose:1.9.1 , and androidx.activity:activity-ktx:1.9.1 are released. Version 1.9.1 contains these commits .

Исправления ошибок

  • Fixed an issue with PredictiveBackHandler where after doing system back, attempting to do onBackPressed from the OnBackPressedDispatcher would fail. ( I5f1f8 )

Version 1.9.0

17 апреля 2024 г.

androidx.activity:activity:1.9.0 , androidx.activity:activity-compose:1.9.0 , and androidx.activity:activity-ktx:1.9.0 are released. Version 1.9.0 contains these commits .

Important changes since 1.8.0

  • ComponentActivity now implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint events.
  • The OnBackPressedCallback , BackHandler , and PredictiveBackHandler APIs now warn when calling onBackPressedDispatcher.onBackPressed() when handling back as that will always break the Predictive Back Animation . See the best practices guide for more details.
  • The remainder of the Activity APIs have been rewritten in Kotlin and all extensions previously available in activity-ktx have been moved to activity . activity-ktx is now completely empty.
    • As part of the conversion of ActivityResultLauncher to Kotlin, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin.

Version 1.9.0-rc01

3 апреля 2024 г.

androidx.activity:activity:1.9.0-rc01 , androidx.activity:activity-compose:1.9.0-rc01 , and androidx.activity:activity-ktx:1.9.0-rc01 are released. Version 1.9.0-rc01 contains these commits .

Dependency update

Version 1.9.0-beta01

20 марта 2024 г.

androidx.activity:activity:1.9.0-beta01 , androidx.activity:activity-compose:1.9.0-beta01 , and androidx.activity:activity-ktx:1.9.0-beta01 are released. Version 1.9.0-beta01 contains these commits .

Исправления ошибок

  • Fixed an Activity startup performance regression introduced in Activity 1.9.0-alpha02 caused by calling the OnBackPressedDispatcher as part of the creation of the Activity. ( Ie75e3 )

Version 1.9.0-alpha03

7 февраля 2024 г.

androidx.activity:activity:1.9.0-alpha03 , androidx.activity:activity-compose:1.9.0-alpha03 , and androidx.activity:activity-ktx:1.9.0-alpha03 are released. Version 1.9.0-alpha03 contains these commits.

Lint Warning

Исправления ошибок

  • If a back event is sent from the system started during an already running Predictive Back Gesture, the currently running Predictive Back Gesture is canceled and the new back event takes over to begin a new Predictive Back Gesture. ( I3482e )
  • Fixed a crash when accessing the onBackPressedDispatcher from a ComponentActivity for the first time from a background thread. It is now safe to access the onBackPressedDispatcher on any thread. ( I79955 )

Version 1.9.0-alpha02

24 января 2024 г.

androidx.activity:activity:1.9.0-alpha02 , androidx.activity:activity-compose:1.9.0-alpha02 , and androidx.activity:activity-ktx:1.9.0-alpha02 are released. Version 1.9.0-alpha02 contains these commits.

Kotlin Conversions

  • ActivityResultRegistry has been rewritten in Kotlin. This ensures that the nullability of the generics on the contract passed to register will correctly be passed through to the ActivityResultLauncher returned to you. ( I121f0 )
  • ActivityResult has been rewritten in Kotlin. The ActivityResult Kotlin extensions that support destructuring into the resultCode and data fields have been moved from activity-ktx to activity . ( I0565a )
  • The Kotlin extensions of by viewModels() for ComponentActivity and trackPipAnimationHintView have been moved from activity-ktx to activity . The activity-ktx artifact is now completely empty. ( I0a444 )

Исправления ошибок

  • The enableEdgeToEdge API now draws around any display cutouts. ( a3644b , b/311173461 )
  • From Activity 1.8.2 : Fixed the extra passed to the Photo Picker Activity Contract's ACTION_SYSTEM_FALLBACK_PICK_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, rather than using the extra with the key "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. ( I96a00 )

Version 1.9.0-alpha01

29 ноября 2023 г.

androidx.activity:activity:1.9.0-alpha01 , androidx.activity:activity-compose:1.9.0-alpha01 , and androidx.activity:activity-ktx:1.9.0-alpha01 are released. Version 1.9.0-alpha01 contains these commits.

Новые возможности

  • ComponentActivity now implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint events. ( I54892 )

Изменения API

  • ComponentActivity has been rewritten in Kotlin. ( I14f31 )
  • ActivityResultCaller has been rewritten in Kotlin. ( Ib02e4 )
  • ActivityResultLauncher has been rewritten in Kotlin. As part of that conversion, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin. ( Id4615 )
  • PickVisualMediaRequest now has the same minimum API level of 19 as the PickVisualMedia Activity Result contract. ( Id6e21 )

Dependency Update

Версия 1.8

Version 1.8.2

13 декабря 2023 г.

androidx.activity:activity:1.8.2 , androidx.activity:activity-compose:1.8.2 , and androidx.activity:activity-ktx:1.8.2 are released. Version 1.8.2 contains these commits.

Исправления ошибок

  • Fixed the extra passed to the Photo Picker Activity Contract's ACTION_SYSTEM_FALLBACK_PICK_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, rather than using the extra with the key "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. ( I96a00 )

Version 1.8.1

15 ноября 2023 г.

androidx.activity:activity:1.8.1 , androidx.activity:activity-compose:1.8.1 , and androidx.activity:activity-ktx:1.8.1 are released. Version 1.8.1 contains these commits.

Исправления ошибок

  • OnBackPressedDispatcher now continues to dispatch to the correct OnBackPressedCallback even after a new OnBackPressedCallback is added while the back gesture is being handled. ( Id0ff6 )

Version 1.8.0

4 октября 2023 г.

androidx.activity:activity:1.8.0 , androidx.activity:activity-compose:1.8.0 , and androidx.activity:activity-ktx:1.8.0 are released. Version 1.8.0 contains these commits.

Important changes since 1.7.0

  • Predictive Back - The OnBackPressedCallback now offers new Predictive Back callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previous handleOnBackPressed() callback for when the back gesture is committed. This also comes with the PredictiveBackHandler Composable to handle predictive back gesture events in Activity Compose. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

ComponentActivity.onBackPressed() has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher , rather than overriding this method.

  • EdgeToEdge - ComponentActivity.enableEdgeToEdge() has been added to easily set up the edge-to-edge display in a backward-compatible manner.

Версия 1.8.0-rc01

20 сентября 2023 г.

androidx.activity:activity:1.8.0-rc01 , androidx.activity:activity-compose:1.8.0-rc01 , and androidx.activity:activity-ktx:1.8.0-rc01 are released. Version 1.8.0-rc01 contains these commits.

Версия 1.8.0-бета01

6 сентября 2023 г.

androidx.activity:activity:1.8.0-beta01 , androidx.activity:activity-compose:1.8.0-beta01 , and androidx.activity:activity-ktx:1.8.0-beta01 are released. Version 1.8.0-beta01 contains these commits.

Documentation Improvement

  • Improved the documentation of BackEventCompat . ( aosp/2722254 )

Версия 1.8.0-альфа07

23 августа 2023 г.

androidx.activity:activity:1.8.0-alpha07 , androidx.activity:activity-compose:1.8.0-alpha07 , and androidx.activity:activity-ktx:1.8.0-alpha07 are released. Version 1.8.0-alpha07 contains these commits.

Новые возможности

  • Activity Compose has added a new PredictiveBackHandler Composable to handle predictive back gesture events. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:

    PredictiveBackHandler { progress: Flow<BackEventCompat> ->
      // code for gesture back started
      try {
        progress.collect { backEvent ->
        // code for progress
      }
      // code for completion
      } catch (e: CancellationException) {
        // code for cancellation
      }
    }
    

    It also comes with a compile time warning via lint rule to ensure the Flow calls collect() . ( Id2773 , b/294884345 )

  • The onBackPressedDispatcher in ComponentActivity is now initialized lazily so that it is only created when required. ( I0bf8e )

Исправления ошибок

  • ComponentActivity will no longer show a NPE on Android 13 when it gets an onBackPressed() callback and the Activity has already been DESTROYED . ( Idb055 , b/291869278 )
  • Removed usages of experimental isAtLeastU() API ( Ie9117 , b/289269026 )

Версия 1.8.0-альфа06

21 июня 2023 г.

androidx.activity:activity:1.8.0-alpha06 , androidx.activity:activity-compose:1.8.0-alpha06 , and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.

Новые возможности

  • The OnBackPressedDispatcher now correctly cancels any callbacks that are removed during a Predictive Back Gesture. ( I3f90f )

Изменения API

  • When passing SystemBarStyle.auto to the enableEdgeToEdge API, you can now override the detectDarkMode lambda parameter to provide custom logic for detecting night mode. ( aosp/2546393 , b/278263793 )

Версия 1.8.0-альфа05

7 июня 2023 г.

androidx.activity:activity:1.8.0-alpha05 , androidx.activity:activity-compose:1.8.0-alpha05 , and androidx.activity:activity-ktx:1.8.0-alpha05 are released. This version is developed in an internal branch.

Изменения API

  • Activity now provides a BackEventCompat class that serves as a backward compatible version of BackEvent that is decoupled from the framework BackEvent class.
  • Breaking change: The handleOnBackStarted and handleOnBackProgressed methods of OnBackPressedCallback now receive an androidx.activity.BackEventCompat instance rather than a framework android.window.BackEvent class. The equivalent @VisibleForTesting APIs on OnBackPressedDispatcher have also been updated.
  • The constructor for OnBackPressedDispatcher now takes an optional Consumer<Boolean> instance that allows the owners of the dispatcher to receive a callback whenever the number of enabled callbacks changes from zero to non-zero or vice versa.

Исправления ошибок

Версия 1.8.0-альфа04

10 мая 2023 г.

androidx.activity:activity:1.8.0-alpha04 , androidx.activity:activity-compose:1.8.0-alpha04 , and androidx.activity:activity-ktx:1.8.0-alpha04 are released. This was released from an internal branch.

Исправления ошибок

Версия 1.8.0-альфа03

April 12, 2023

androidx.activity:activity:1.8.0-alpha03 , androidx.activity:activity-compose:1.8.0-alpha03 , and androidx.activity:activity-ktx:1.8.0-alpha03 are released. This was released from an internal branch.

Новые возможности

  • Added ComponentActivity.setUpEdgeToEdge() to easily set up the edge-to-edge display in a backward-compatible manner.

Изменения API

  • ComponentActivity.onBackPressed() has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher , rather than overriding this method. ( Ibce2f , b/271596918 )
  • ComponentDialog and ComponentActivity now contain public API initViewTreeOwners() to be used to initialize all view tree owners before setting the content view. ( Ibdce0 , b/261314581 )

Исправления ошибок

  • Fixed an issue where Fragments were incorrectly invalidating MenuHosts and causing other menus in the Activity to have unexpected behavior. ( I9404e , b/244336571 )

Other Changes

  • The ActivityResultRegister now uses Kotlin Random instead of Java. ( I4d98f , b/272096025 )

Версия 1.8.0-альфа02

8 марта 2023 года

androidx.activity:activity:1.8.0-alpha02 , androidx.activity:activity-compose:1.8.0-alpha02 , and androidx.activity:activity-ktx:1.8.0-alpha02 are released. Developed from an internal branch.

Dependency update

Версия 1.8.0-альфа01

8 февраля 2023 г.

androidx.activity:activity:1.8.0-alpha01 , androidx.activity:activity-compose:1.8.0-alpha01 , and androidx.activity:activity-ktx:1.8.0-alpha01 are released. This was built from an internal branch.

Новые возможности

  • The OnBackPressedCallback class now contains new Predictive Back progress callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previous handleOnBackPressed() callback for when the back gesture is committed.

Версия 1.7

Версия 1.7.2

24 мая 2023 г.

androidx.activity:activity:1.7.2 , androidx.activity:activity-compose:1.7.2 , and androidx.activity:activity-ktx:1.7.2 are released. Version 1.7.2 contains these commits.

Исправления ошибок

  • Fix ReportDrawn crashing when navigating away from a screen before report is called. ( Ic46f1 , b/260506820 )

Версия 1.7.1

19 апреля 2023 года

androidx.activity:activity:1.7.1 , androidx.activity:activity-compose:1.7.1 , and androidx.activity:activity-ktx:1.7.1 are released. Version 1.7.1 contains these commits.

Исправления ошибок

  • The ReportFullyDrawExecuter no longer leaks when using ComponentActivity with ActivityScenario . ( Id2ff2 , b/277434271 )

Версия 1.7.0

22 марта 2023 года

androidx.activity:activity:1.7.0 , androidx.activity:activity-compose:1.7.0 , and androidx.activity:activity-ktx:1.7.0 are released. Version 1.7.0 contains these commits.

Важные изменения с версии 1.6.0

  • The Photo Picker activity contracts in PickVisualMedia and PickMultipleVisualMedia have been updated to contain an additional fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable that allows OEMs and system apps, such as Google Play services, to provide a consistent Photo Picker experience on a wider range of Android devices and API levels by implementing the fallback action . The Photo Picker will use this fallback if it is available before falling back to using Intent.ACTION_OPEN_DOCUMENT , which remains to support all API 19 and higher devices.
  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree . It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements.
  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent , rather than only a single flag.

Kotlin Conversion

A number of Activity classes have been converted to Kotlin. All converted classes still retain their binary compatibility with previous versions. The following classes have source incompatible changes for classes written in Kotlin: ActivityResultRegistryOwner , OnBackPressedDispatcherOwner .

The table below provides the source conversions for the new version of Activity:

Activity 1.5 Activity 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

These classes were also converted to Kotlin, but remain source compatible: ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest , and OnBackPressedDispatcher

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Three Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawn indicates that your composable is immediately ready for interaction.
  • ReportDrawnWhen takes a predicate (ie, list.count > 0 ) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Обновления зависимости

Версия 1.7.0-rc01

8 марта 2023 года

androidx.activity:activity:1.7.0-rc01 , androidx.activity:activity-compose:1.7.0-rc01 , and androidx.activity:activity-ktx:1.7.0-rc01 are released. Version 1.7.0-rc01 contains these commits.

Dependency update

Версия 1.7.0-бета02

22 февраля 2023 года

androidx.activity:activity:1.7.0-beta02 , androidx.activity:activity-compose:1.7.0-beta02 , and androidx.activity:activity-ktx:1.7.0-beta02 are released. Version 1.7.0-beta02 contains these commits.

Изменения API

  • The action and extra used by the PickVisualMedia and PickMultipleVisualMedia contracts as a fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable are now public constants that provide API stability to OEMs and system apps that want to provide a consistent Photo Picker experience. The implementation of this fallback is still limited to only system apps. ( Icd320 )

Версия 1.7.0-бета01

8 февраля 2023 г.

androidx.activity:activity:1.7.0-beta01 , androidx.activity:activity-compose:1.7.0-beta01 , and androidx.activity:activity-ktx:1.7.0-beta01 are released. Version 1.7.0-beta01 contains these commits.

Новые возможности

  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent , rather than only a single flag. ( Iac04c )

Исправления ошибок

  • The fallback for PickVisualMedia for when the framework Photo Picker is unavailable now correctly limits the handling to apps installed in the device's system image. ( If8ae6 )

Kotlin Conversions

  • ActivityResultRegistryOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now override the activityResultRegistry property rather than implementing the previous getActivityResultRegistry() function. ( I0b00e )
  • OnBackPressedDispatcherOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now override the onBackPressedDispatcher property rather than implementing the previous getOnBackPressedDispatcher function. ( Ia277d )
  • ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest and OnBackPressedDispatcher are now written in Kotlin. ( I1a73e , Iada92 , aosp/2410754 , I18ac7 , b/257291701 )

Версия 1.7.0-альфа04

25 января 2023 года

androidx.activity:activity:1.7.0-alpha04 , androidx.activity:activity-compose:1.7.0-alpha04 , and androidx.activity:activity-ktx:1.7.0-alpha04 are released. Version 1.7.0-alpha04 contains these commits.

Новые возможности

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts will now use a Google Play services provided Photo Picker where available in cases where the Android system provided Photo Picker (eg, MediaStore.ACTION_PICK_IMAGES ) is not available. The isPhotoPickerAvailable() API that only detects the Android system provided Photo Picker has been deprecated. It is recommended to use the new isPhotoPickerAvailable(Context) API, which will return if either Photo Picker is available. ( I55be6 )

Версия 1.7.0-альфа03

11 января 2023 г.

androidx.activity:activity:1.7.0-alpha03 , androidx.activity:activity-compose:1.7.0-alpha03 , and androidx.activity:activity-ktx:1.7.0-alpha03 are released. Версия 1.7.0-alpha03 содержит эти коммиты.

Новые возможности

  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree. It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements. ( Idca17 , I73468 b/261162296 )

Изменения API

  • Added a ReportDrawn composable that immediately marks the activity as ready to call reportFullyDrawn . ( Ic5b14 , b/259687964 )

Kotlin Conversions

  • The ActvitiyResultCallback and OnBackPressedCallback classes have both been converted to Kotlin while maintaining source and binary compatibility. ( Ifc5e5 , Ide1b0 , b/257291701 )

Версия 1.7.0-альфа02

24 октября 2022 года

androidx.activity:activity:1.7.0-alpha02 , androidx.activity:activity-compose:1.7.0-alpha02 , and androidx.activity:activity-ktx:1.7.0-alpha02 are released. Версия 1.7.0-alpha02 содержит эти коммиты.

Исправления ошибок

  • From Activity 1.6.1 : Fixed an issue with the PickMultipleVisualMedia Activity Result contract not launching on Android R devices when using the default value for maxItems . ( Ie2776 , b/249182130 )

Версия 1.7.0-альфа01

5 октября 2022 г.

androidx.activity:activity:1.7.0-alpha01 , androidx.activity:activity-compose:1.7.0-alpha01 , and androidx.activity:activity-ktx:1.7.0-alpha01 are released. Версия 1.7.0-alpha01 содержит эти коммиты.

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Two Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawnWhen takes a predicate (ie, list.count > 0 ) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Версия 1.6.1

Версия 1.6.1

24 октября 2022 года

androidx.activity:activity:1.6.1 , androidx.activity:activity-compose:1.6.1 , and androidx.activity:activity-ktx:1.6.1 are released. Версия 1.6.1 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue with the PickMultipleVisualMedia Activity Result contract not launching on Android R devices when using the default value for maxItems . ( Ie2776 , b/249182130 )

Версия 1.6.0

Версия 1.6.0

21 сентября 2022 года

androidx.activity:activity:1.6.0 , androidx.activity:activity-compose:1.6.0 , and androidx.activity:activity-ktx:1.6.0 are released. Версия 1.6.0 содержит эти коммиты.

Важные изменения с версии 1.5.0

  • Added ActivityResultContracts.PickVisualMedia and ActivityResultContracts.PickMultipleVisualMedia for providing a backward compatible contract that uses MediaStore.ACTION_PICK_IMAGES when the Photo Picker is available and Intent.ACTION_OPEN_DOCUMENT when it is not available.
  • Integrated the OnBackInvokedCallback in Android 13 into the OnBackPressedDispatchers provided by ComponentActivity and ComponentDialog . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Version 1.6.0-rc02

7 сентября 2022 г.

androidx.activity:activity:1.6.0-rc02 , androidx.activity:activity-compose:1.6.0-rc02 , and androidx.activity:activity-ktx:1.6.0-rc02 are released. Version 1.6.0-rc02 contains these commits.

Исправления ошибок

  • OnBackPressedDispatcher now registers the OnBackInvokedCallback with the PRIORITY_DEFAULT instead of PRIORITY_OVERLAY . ( I3901f )
  • Classes that extend ComponentActivity will now always have both of their onMultiWindowModeChanged() callbacks dispatched. ( Ic4d85 )
  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )
  • ComponentActivity will now properly dispatch menu calls without the need to call the super function in your activity. ( Ie33c5 , b/238057118 )

Dependency Update

Версия 1.6.0-rc01

24 августа 2022 года

androidx.activity:activity:1.6.0-rc01 , androidx.activity:activity-compose:1.6.0-rc01 , and androidx.activity:activity-ktx:1.6.0-rc01 are released. Версия 1.6.0-rc01 содержит эти коммиты.

Исправления ошибок

  • Initializing an OnBackPressedDispatcher will no longer cause ClassVerificationError s when using SDK versions prior to 33. ( Ic32e1 )
  • Classes that override ComponentActivity 's onPictureInPictureModeChanged() callback will now always have their callbacks dispatched. ( Ib7fdb )

Версия 1.6.0-бета01

10 августа 2022 года

androidx.activity:activity:1.6.0-beta01 , androidx.activity:activity-compose:1.6.0-beta01 , and androidx.activity:activity-ktx:1.6.0-beta01 are released. Версия 1.6.0-beta01 содержит эти коммиты.

Изменения API

  • Marked the deprecated startActivityForResult and startIntentSenderForResult methods on ComponentActivity with @NonNull because passing null has always resulted in a crash. ( Id2a25 , b/231476082 )

Исправления ошибок

  • From Activity 1.5.1 : The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )
  • From Activity 1.5.1 : ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu() , onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. ( Ie33c5 , b/238057118 )

Dependency Update

Версия 1.6.0-альфа05

15 июня 2022 года

androidx.activity:activity:1.6.0-alpha05 , androidx.activity:activity-compose:1.6.0-alpha05 , and androidx.activity:activity-ktx:1.6.0-alpha05 are released. Version 1.6.0-alpha05 was developed in a private pre-release branch and has no public commits.

Изменения API

  • minCompileSdk is now 33 to align with Tiramisu Beta 3 SDK

Исправления ошибок

  • Fixed crash on older devices when doing SDK extension check for the PickVisualMedia ActivityResultContract so that it should now work with ACTION_OPEN_DOCUMENT on devices running Android 10 and lower.

Версия 1.6.0-альфа04

18 мая 2022 года

androidx.activity:activity:1.6.0-alpha04 and androidx.activity:activity-ktx:1.6.0-alpha04 are released.

Исправления ошибок

  • Fixed an error in PickVisualMediaRequest where attempting to create a request, either via the Builder or the top level Kotlin function, would result in a stack overflow.
  • Integrated the OnBackInvokedCallback in Android 13 Dev Beta 2 into the OnBackPressedDispatcher provided by ComponentDialog . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Версия 1.6.0-альфа03

April 27, 2022

androidx.activity:activity:1.6.0-alpha03 , androidx.activity:activity-compose:1.6.0-alpha03 , and androidx.activity:activity-ktx:1.6.0-alpha03 are released.

  • Note: This version will only compile against the Android 13 Developer Beta 1 SDK.

Новые возможности

  • Added ActivityResultContracts.PickVisualMedia and ActivityResultContracts.PickMultipleVisualMedia for providing a backward compatible contract that uses MediaStore.ACTION_PICK_IMAGES when the Photo Picker is available and Intent.ACTION_OPEN_DOCUMENT when it is not available.
  • Integrated the OnBackInvokedCallback in Android 13 Dev Beta 1 into the OnBackPressedDispatcher provided by ComponentActivity . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Версия 1.6.0-альфа01

23 марта 2022 года

androidx.activity:activity:1.6.0-alpha01 , androidx.activity:activity-compose:1.6.0-alpha01 , and androidx.activity:activity-ktx:1.6.0-alpha01 are released.

  • Note: This version will only compile against the Android 13 Developer Preview 2 SDK.

Новые возможности

  • Integrated changes in Android 13 Dev Preview 2 into ComponentActivity .

Версия 1.5.1

Версия 1.5.1

27 июля 2022 года

androidx.activity:activity:1.5.1 , androidx.activity:activity-compose:1.5.1 , and androidx.activity:activity-ktx:1.5.1 are released. Версия 1.5.1 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch() call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )

  • ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu() , onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. ( Ie33c5 , b/238057118 )

Dependency update

Версия 1.5.0

Версия 1.5.0

29 июня 2022 года

androidx.activity:activity:1.5.0 , androidx.activity:activity-compose:1.5.0 , and androidx.activity:activity-ktx:1.5.0 are released. Версия 1.5.0 содержит эти коммиты.

Important changes since 1.4.0

  • ComponentDialog - ComponentDialog is a subclass of Dialog that includes an OnBackPressedDispatcher that will be called when the system back button is pressed and the dialog is visible. Importantly, this subclass also sets the ViewTreeOnBackPressedDispatcherOwner , allowing views a generic way to retrieve the correct dispatcher whether it exists in a ComponentActivity or a ComponentDialog .
  • Callback Interfaces - ComponentActivity now implements a set of modular callback interfaces that can be used instead of the Activity callbacks. These interfaces include the following: OnNewIntentProvider , OnConfigurationChangedProvider , OnTrimMemoryProvider , OnPictureInPictureModeChangedProvider , OnMultiWindowModeChangedProvider
  • CreationExtras Integration - ComponentActivity now has the ability to provide a stateless ViewModelProvider.Factory via Lifecycle 2.5.0 's CreationExtras .

Другие изменения

  • The no parameter constructor for ActivityResultContracts.CreateDocument has been deprecated and replaced with a new constructor that takes a concrete mime type (eg, "image/png") as is required by Intent.ACTION_CREATE_DOCUMENT .

Версия 1.5.0-rc01

11 мая 2022 года

androidx.activity:activity:1.5.0-rc01 , androidx.activity:activity-compose:1.5.0-rc01 , and androidx.activity:activity-ktx:1.5.0-rc01 are released with no changes from 1.5.0-beta01. Версия 1.5.0-rc01 содержит эти коммиты.

Версия 1.5.0-бета01

20 апреля 2022 года

androidx.activity:activity:1.5.0-beta01 , androidx.activity:activity-compose:1.5.0-beta01 , and androidx.activity:activity-ktx:1.5.0-beta01 are released. Версия 1.5.0-beta01 содержит эти коммиты.

Dependency updates

Version 1.5.0-alpha05

6 апреля 2022 года

androidx.activity:activity:1.5.0-alpha05 , androidx.activity:activity-compose:1.5.0-alpha05 , and androidx.activity:activity-ktx:1.5.0-alpha05 are released. Version 1.5.0-alpha05 contains these commits.

Исправления ошибок

  • ComponentActivity 's onPanelClosed() now calls the super onPanelClosed() as well, fixing an issue where the onContextMenuClosed method would not be called. ( Ib6f77 )

Версия 1.5.0-альфа04

23 марта 2022 года

androidx.activity:activity:1.5.0-alpha04 , androidx.activity:activity-compose:1.5.0-alpha04 , and androidx.activity:activity-ktx:1.5.0-alpha04 are released. Версия 1.5.0-alpha04 содержит эти коммиты.

Исправления ошибок

  • SavedStateViewFactory now supports using CreationExtras even when it was initialized with a SavedStateRegistryOwner . If extras are provided, the initialized arguments are ignored. ( I6c43b , b/224844583 )

Версия 1.5.0-Alpha03

23 февраля 2022 года

androidx.activity:activity:1.5.0-alpha03 , androidx.activity:activity-compose:1.5.0-alpha03 , and androidx.activity:activity-ktx:1.5.0-alpha03 are released. Версия 1.5.0-Alpha03 содержит эти коммиты.

Изменения API

  • You can now pass CreationExtras to the activity by viewModels() function ( I6a3e6 , b/217600303 )

Версия 1.5.0-Alpha02

9 февраля 2022 года

androidx.activity:activity:1.5.0-alpha02 , androidx.activity:activity-compose:1.5.0-alpha02 , and androidx.activity:activity-ktx:1.5.0-alpha02 are released. Версия 1.5.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ComponentActivity now implements the OnPictureInPictureModeChangedProvider interface to allow any component to receive picture-in-picture mode change events. ( I9f567 )
  • ComponentActivity now implements the OnMultiWindowModeChangedProvider interface to allow any component to receive multi-window mode change events. ( I62d91 )

Версия 1.5.0-Alpha01

26 января 2022 года

androidx.activity:activity:1.5.0-alpha01 , androidx.activity:activity-compose:1.5.0-alpha01 , and androidx.activity:activity-ktx:1.5.0-alpha01 are released. Версия 1.5.0-Alpha01 содержит эти коммиты.

Новые возможности

  • ComponentActivity now integrates with ViewModel CreationExtras, introduced as part of Lifecycle 2.5.0-alpha01 . ( Ie7e00 , b/207012584 )
  • Added ComponentDialog , a subclass of Dialog that includes an OnBackPressedDispatcher that will be called when the system back button is pressed when the dialog is visible. Importantly, this subclass also sets the ViewTreeOnBackPressedDispatcherOwner , allowing views a generic way to retrieve the correct dispatcher whether it exists in a ComponentActivity or a ComponentDialog . ( I8a1bc )
  • ComponentActivity now implements the new OnNewIntentProvider interface to allow any component to receive these events. ( If1f8b )
  • ComponentActivity now implements the new OnConfigurationChangedProvider interface to allow any component to receive these events. ( If623b )
  • ComponentActivity now implements the new OnTrimMemoryProvider interface to allow any component to receive these events. ( Ia9295 )

Изменения API

  • The no parameter constructor for ActivityResultContracts.CreateDocument has been deprecated and replaced with a new constructor that takes a concrete mime type (eg, "image/png" ) as is required by Intent.ACTION_CREATE_DOCUMENT . ( I2bec6 )
  • The OnBackPressedDispatcherOwner associated with a View can now be retrieved via the ViewTreeOnBackPressedDispatcherOwner , rather than relying on casting the Context . ( I74685 )

Исправления ошибок

  • Fixed a crash when accessing a ViewModel for the very first time from a registerForActivityResult() callback or the callbacks to a LifecycleObserver added as part of init of a ComponentActivity . ( Ife83f )

Версия 1.4.0

Версия 1.4.0

27 октября 2021 года

androidx.activity:activity:1.4.0 , androidx.activity:activity-compose:1.4.0 , and androidx.activity:activity-ktx:1.4.0 are released. Версия 1.4.0 содержит эти коммиты.

Важные изменения с 1.3.0

  • AndroidX ComponentActivity now implements the MenuHost interface. This allows any component to add menu items to the ActionBar by adding a MenuProvider instance to the activity. Each MenuProvider can optionally be added with a Lifecycle that will automatically control the visibility of those menu items based on the Lifecycle state and handle the removal of the MenuProvider when the Lifecycle is destroyed.
  • The ActivityResultContract class has been rewritten in Kotlin to ensure that developers writing custom contracts in Kotlin can define the correct nullability for their input and output classes.
  • The ActivityResultContracts class and its contracts have been rewritten in Kotlin to ensure the proper nullability.

Версия 1.4.0-RC01

13 октября 2021 года

androidx.activity:activity:1.4.0-rc01 , androidx.activity:activity-compose:1.4.0-rc01 , and androidx.activity:activity-ktx:1.4.0-rc01 are released. Версия 1.4.0-RC01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception . ( If4f91 , b/200845664 )

Версия 1.4.0-бета01

29 сентября 2021 года

androidx.activity:activity:1.4.0-beta01 , androidx.activity:activity-compose:1.4.0-beta01 , and androidx.activity:activity-ktx:1.4.0-beta01 are released. Версия 1.4.0-бета01 содержит эти коммиты.

Изменения API

  • Fixed the type for the ActivityResultContracts.OpenMultipleDocuments and ActivityResultContracts.GetMultipleContents that caused then to use an output type of List<? extends Uri> when using the code from the Java programming language. ( If71de )
  • Public constants within the ActivityResultContracts.StartActivityForResult , ActivityResultContracts.StartIntentSenderForResult , and ActivityResultContracts.RequestMultiplePermissions classes are now accessible when using Kotlin via their now public Companion objects. ( aosp/1832555 )

Documentation Updates

  • The deprecation message for APIs now handled by the Activity Result APIs , namely startActivityForResult , startIntentSenderForResult , onActivityResult , requestPermissions , and onRequestPermissionsResult , have all been expanded with more details. ( cce80f )

Версия 1.4.0-Alpha02

15 сентября 2021 года

androidx.activity:activity:1.4.0-alpha02 , androidx.activity:activity-compose:1.4.0-alpha02 , and androidx.activity:activity-ktx:1.4.0-alpha02 are released. Версия 1.4.0-Alpha02 содержит эти коммиты.

Новые возможности

  • The activity-compose artifact now contains a LaunchDuringComposition lint error that prevents you from calling the launch method of ActivityResultLauncher as part of composition as composition should be side-effect free. Use the APIs for handling side-effects . ( 7c2bbe , b/191347220 )

Изменения API

  • The ActivityResultContract class has been rewritten in Kotlin to ensure that developers writing custom contracts in Kotlin can define the correct nullability for their input and output classes. ( I8a8f5 )
  • The ActivityResultContracts class and its contracts have been rewritten in Kotlin to ensure the proper nullability. ( I69802 )

Версия 1.4.0-Alpha01

1 сентября 2021 года

androidx.activity:activity:1.4.0-alpha01 , androidx.activity:activity-compose:1.4.0-alpha01 , and androidx.activity:activity-ktx:1.4.0-alpha01 are released. Версия 1.4.0-Alpha01 содержит эти коммиты.

Новые возможности

  • AndroidX ComponentActivity now implements the MenuHost interface.. This allows any component to add menu items to the ActionBar by adding a MenuProvider instance to the activity. Each MenuProvider can optionally be added with a Lifecycle that will automatically control the visibility of those menu items based on the Lifecycle state and handle the removal of the MenuProvider when the Lifecycle is destroyed. ( I3b608 ):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

Behavior Changes

  • The ActivityResultRegistry will now throw an IllegalStateException when attempting to call launch() on an ActivityResultLauncher that has not be registered or that has been unregistered. ( Ida75d , b/192567522 )

Внешний вклад

  • Thanks dmitrilc for fixing a typo in the ActivityResult documentation. ( #221 )

Версия 1.3.1

Версия 1.3.1

4 августа 2021 года

androidx.activity:activity:1.3.1 , androidx.activity:activity-compose:1.3.1 , and androidx.activity:activity-ktx:1.3.1 are released. Версия 1.3.1 содержит эти коммиты.

Dependency updates

  • Activity now depends on Kotlin 1.5.21 .
  • Activity Compose now depends on Compose 1.0.1 .

Версия 1.3.0

Версия 1.3.0

28 июля 2021 года

androidx.activity:activity:1.3.0 , androidx.activity:activity-compose:1.3.0 , and androidx.activity:activity-ktx:1.3.0 are released. Версия 1.3.0 содержит эти коммиты.

Важные изменения с 1.2.0

  • Activity Compose artifact - The activity-compose artifact provides the setContent extension method for hosting your Jetpack Compose UI in an activity and Compose specific wrappers for interacting with the ComponentActivity APIs for handling the system back button and the Activity Result APIs. See the documentation for more details.
  • CaptureVideo contract - The CaptureVideo ActivityResultContract replaces the now deprecated TakeVideo contract and returns a boolean denoting success that works across many camera apps.
  • Picture-In-Picture Hint View Tracking - Users of activity-ktx can now use the trackPipAnimationHintView extension method on Activity to automatically rebuild the PictureInPictureParams with the new position of the view as it changes position relative to the window.

Version 1.3.0-rc02

14 июля 2021 года

androidx.activity:activity:1.3.0-rc02 , androidx.activity:activity-compose:1.3.0-rc02 , and androidx.activity:activity-ktx:1.3.0-rc02 are released. Version 1.3.0-rc02 contains these commits.

Исправления ошибок

  • The ActivityResultRegistry callbacks are now properly saved and restored so callbacks are not duplicated in the savedState. ( I97816 , b/191893160 )

Версия 1.3.0-RC01

1 июля 2021 года

androidx.activity:activity:1.3.0-rc01 , androidx.activity:activity-compose:1.3.0-rc01 , and androidx.activity:activity-ktx:1.3.0-rc01 are released with no changes from 1.3.0-beta02 . Версия 1.3.0-RC01 содержит эти коммиты.

Версия 1.3.0-бета02

16 июня 2021 года

androidx.activity:activity:1.3.0-beta02 , androidx.activity:activity-compose:1.3.0-beta02 , and androidx.activity:activity-ktx:1.3.0-beta02 are released. Версия 1.3.0-бета02 содержит эти коммиты.

Updated activity-compose to depend on Compose 1.0.0-beta09 . androidx.compose.ui:ui-test-junit4 now has a compile time dependency on activity-compose .

Версия 1.3.0-бета01

2 июня 2021 года

androidx.activity:activity:1.3.0-beta01 , androidx.activity:activity-compose:1.3.0-beta01 , and androidx.activity:activity-ktx:1.3.0-beta01 are released. Версия 1.3.0-бета01 содержит эти коммиты.

Изменения API

  • The previously deprecated @Composable registerForActivityResult() method has been removed. Please use rememberLauncherForActivityResult() . ( Ic39d3 )

Version 1.3.0-alpha08

May 18, 2021

androidx.activity:activity:1.3.0-alpha08 , androidx.activity:activity-compose:1.3.0-alpha08 , and androidx.activity:activity-ktx:1.3.0-alpha08 are released. Version 1.3.0-alpha08 contains these commits.

Новые возможности

  • The new CaptureVideo ActivityResultContract returns a boolean to your ActivityResultCallback indicating if your video was successfully saved to the given URI. This replaces the now deprecated TakeVideo contract as camera apps very rarely supported returning a thumbnail bitmap, making the result unhelpful. ( Ie21f2 , b/185938070 )
  • Added new API Activity#setPipAnimationHintView to update the PipParams' source rect hint whenever the view moves. ( I9063d )

Изменения API

  • The rememberLauncherForActivityResult function now returns a launcher that deprecates the unregister() function - registration and unregistering the launcher is handled automatically by rememberLauncherForActivityResult . ( I2443e )

Compose Compatibility

  • androidx.activity:activity-compose:1.3.0-alpha08 is only compatible with Compose version 1.0.0-beta07 and above.

Version 1.3.0-alpha07

April 21, 2021

androidx.activity:activity:1.3.0-alpha07 , androidx.activity:activity-compose:1.3.0-alpha07 , and androidx.activity:activity-ktx:1.3.0-alpha07 are released. Version 1.3.0-alpha07 contains these commits.

Исправления ошибок

  • rememberLauncherForActivityResult now returns a stable reference to the same ActivityResultLauncher instance even if the contract changes due to recompositions. ( Id2d6d )
  • Using unstable versions of Fragments above 1.3.0 will no longer throw a false positive lint error telling you to use 1.3.0 . ( aosp/1670206 , b/184847092 )

Version 1.3.0-alpha06

April 7, 2021

androidx.activity:activity:1.3.0-alpha06 , androidx.activity:activity-compose:1.3.0-alpha06 , and androidx.activity:activity-ktx:1.3.0-alpha06 are released. Version 1.3.0-alpha06 contains these commits.

Изменения API

  • The registerForActivityResult() API has been renamed to rememberLauncherForActivityResult() to better indicate that the returned ActivityResultLauncher is a managed object that is remembered on your behalf. Attempting to call unregister the returned ActivityResultLauncher will now throw an error. ( I2bb6d )
  • LocalOnBackPressedDispatcherOwner.current and LocalActivityResultRegistryOwner.current now return a nullable value to better determine whether it is available in the current composition. APIs that requires those APIs, such as BackHandler and rememberLauncherForActivityResult() , respectively, will now throw a more descriptive error if the underlying owner is not found. NavHost now works even when an OnBackPressedDispatcherOwner is not found, such is the case when previewing the NavHost . ( I7d8b4 )

Исправления ошибок

  • The BackHandler will now properly intercept back presses in the event that the Activity is STOPPED , then STARTED again, and other callbacks were added with a LifecycleOwner. ( I71de6 , b/182284739 )
  • Using the launch() method extension with a custom ActivityResultContract that has a Unit input will no longer cause a NullPointerException ( I76282 , b/183837954 )

Version 1.3.0-alpha05

March 24, 2021

androidx.activity:activity:1.3.0-alpha05 , androidx.activity:activity-compose:1.3.0-alpha05 , and androidx.activity:activity-ktx:1.3.0-alpha05 are released. Version 1.3.0-alpha05 contains these commits.

Исправления ошибок

  • From Activity 1.2.2 : Fixed an issue in the InvalidFragmentVersionForActivityResult lint check that led to a false positive when using Fragment 1.3.1 or higher. ( I54da1 , b/182388985 )
  • From Activity 1.2.2 : ComponentActivity now avoids a ClassNotFoundException when launching an Intent from an ActivityResultContract that was previously held as an extra in another Intent . ( Ieff05 , b/182906230 )

Обновления зависимости

Version 1.3.0-alpha04

March 10, 2021

androidx.activity:activity:1.3.0-alpha04 , androidx.activity:activity-compose:1.3.0-alpha04 , and androidx.activity:activity-ktx:1.3.0-alpha04 are released. Version 1.3.0-alpha04 contains these commits.

Исправления ошибок

  • From Activity 1.2.1 : RequestMultiplePermissions now always returns results for all requested permissions instead of only permissions that weren't previously granted. ( I50bc3 , b/180884668 )
  • From Activity 1.2.1 : ActivityResultRegistry now ensures that in progress launch() requests will return their results even if you unregister() , then register() again with the same key. ( I9ef34 , b/181267562 )
  • Activity Compose no longer adds test dependencies to the runtime classpath. ( Ifd8b3 )
  • Fixed an issue with BackHandler where the previously set onBack lambda was still being used after recomposition. ( 8eb5eb )

Версия 1.3.0-Alpha03

February 24, 2021

androidx.activity:activity:1.3.0-alpha03 , androidx.activity:activity-compose:1.3.0-alpha03 , and androidx.activity:activity-ktx:1.3.0-alpha03 are released. Версия 1.3.0-Alpha03 содержит эти коммиты.

Новые возможности

  • There is a now a Composable registerForActivityResult function for getting results from activities within composables. ( Ia7851 , b/172690553 )

Изменения API

  • LocalOnBackPressedDispatcherOwner now has a provides functions that can be used with CompositionLocalProvider , replacing the asProvidableCompositionLocal() API. ( I45d24 )

Версия 1.3.0-Alpha02

February 10, 2021

androidx.activity:activity:1.3.0-alpha02 , androidx.activity:activity-compose:1.3.0-alpha02 , and androidx.activity:activity-ktx:1.3.0-alpha02 are released. Версия 1.3.0-Alpha02 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue in Activity Compose 1.3.0-alpha01 that causes a NoSuchMethodError: No static method setContent exception when using Compose 1.0.0-alpha12 . All Compose users should depend on 1.3.0-alpha02 and above. ( b/179911234 )

Изменения API

  • The BackHandler API can be used to allow a Composable to intercept the system back button. ( I58ed5 , b/172154006 )

Версия 1.3.0-Alpha01

February 10, 2021

androidx.activity:activity:1.3.0-alpha01 , androidx.activity:activity-compose:1.3.0-alpha01 , and androidx.activity:activity-ktx:1.3.0-alpha01 are released. Версия 1.3.0-Alpha01 содержит эти коммиты.

Новые возможности

  • The new activity-compose artifact provides Jetpack Compose specific helpers for androidx.activity specific APIs.
    • ComponentActivity.setContent has moved from androidx.compose.ui.platform.setContent to androidx.activity.compose.setContent . ( Icf416 )

Известные проблемы

  • Using Activity Compose 1.3.0-alpha01 and libraries that depend on it, such as androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 , will result in a NoSuchMethodError: No static method setContent exception. ( b/179911234 )

Version 1.2.4

Version 1.2.4

July 21, 2021

androidx.activity:activity:1.2.4 and androidx.activity:activity-ktx:1.2.4 are released. Version 1.2.4 contains these commits.

Исправления ошибок

Version 1.2.3

Version 1.2.3

May 5, 2021

androidx.activity:activity:1.2.3 and androidx.activity:activity-ktx:1.2.3 are released. Version 1.2.3 contains these commits.

Исправления ошибок

  • Using the launch() method extension with a custom ActivityResultContract that has a Unit input will no longer cause a NullPointerException ( I76282 , b/183837954 )
  • Fixed a false positive lint error telling you to use Fragment 1.3.0 when using an snapshot, alpha, beta, or RC build of a newer version of Fragments. ( f4a57e , b/184847092 )

Version 1.2.2

Version 1.2.2

March 24, 2021

androidx.activity:activity:1.2.2 and androidx.activity:activity-ktx:1.2.2 are released. Version 1.2.2 contains these commits.

Исправления ошибок

  • Fixed an issue in the InvalidFragmentVersionForActivityResult lint check that led to a false positive when using Fragment 1.3.1 or higher. ( I54da1 , b/182388985 )
  • ComponentActivity now avoids a ClassNotFoundException when launching an Intent from an ActivityResultContract that was previously held as an extra in another Intent . ( Ieff05 , b/182906230 )

Обновления зависимости

Версия 1.2.1

Версия 1.2.1

March 10, 2021

androidx.activity:activity:1.2.1 and androidx.activity:activity-ktx:1.2.1 are released. Версия 1.2.1 содержит эти коммиты.

Исправления ошибок

  • RequestMultiplePermissions now always returns results for all requested permissions instead of only permissions that weren't previously granted. ( I50bc3 , b/180884668 )
  • ActivityResultRegistry now ensures that in progress launch() requests will return their results even if you unregister() , then register() again with the same key. ( I9ef34 , b/181267562 )

Версия 1.2.0

Версия 1.2.0

February 10, 2021

androidx.activity:activity:1.2.0 and androidx.activity:activity-ktx:1.2.0 are released. Версия 1.2.0 содержит эти коммиты.

Major changes since 1.1.0

  • Activity Result APIs : ComponentActivity now provides an ActivityResultRegistry that lets you handle startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity .
  • ContextAware : ComponentActivity now implements ContextAware , allowing you to add one or more OnContextAvailableListener instances which will receive a callback before the base Activity.onCreate() .

    • A suspending Kotlin extension withContextAvailable() allows you to run a non-suspending block when the Context becomes available and return a result.
    • This API is used by FragmentActivity in Fragment 1.3.0 to restore the state of the FragmentManager . Any listeners added to subclasses of FragmentActivity will run after that listener.
    • This API is used by AppCompatActivity in AppCompat 1.3.0-alpha02 or higher. Any listeners added to subclasses of AppCompatActivity will run after that listener.
  • ViewTree Support : ComponentActivity now supports the ViewTreeLifecycleOwner.get(View) , ViewTreeViewModelStoreOwner.get(View) , and ViewTreeSavedStateRegistryOwner APIs added in Lifecycle 2.3.0 and SavedState 1.1.0 such that it will return the Activity as the LifecycleOwner , ViewModelStoreOwner , and SavedStateRegistryOwner for any Views directly added to the ComponentActivity .

  • reportFullyDrawn() backport - The Activity method of reportFullyDrawn() has been backported in ComponentActivity to work on all API levels, fixing a crash on API 19 and adding tracing for this method for all API levels.

Версия 1.2.0-RC01

December 16, 2020

androidx.activity:activity:1.2.0-rc01 and androidx.activity:activity-ktx:1.2.0-rc01 are released. Версия 1.2.0-RC01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry now always restores the exact state that was saved. ( Idd56b )
  • Add tracing to ComponentActivity.reportFullyDrawn ( Ic7632 )

Внешний вклад

  • ComponentActivity now overrides reportFullyDrawn() , allowing it to be called on all API levels and fixing a crash when calling this method without the appropriate system permission on API 19 devices. Thanks Simon Schiller! ( b/163239764 , #103 )

Версия 1.2.0-бета02

December 2, 2020

androidx.activity:activity:1.2.0-beta02 and androidx.activity:activity-ktx:1.2.0-beta02 are released. Версия 1.2.0-бета02 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue where the Activity Result API would not wait for the Lifecycle to be STARTED before delivering results when registered with a Lifecycle . ( I109ea )

Внешний вклад

  • Updated the documentation for launch() to explicitly call out that it can throw an ActivityNotFoundException . Thanks Michał Zieliński! ( aosp/1493580 )

Версия 1.2.0-бета01

October 1, 2020

androidx.activity:activity:1.2.0-beta01 and androidx.activity:activity-ktx:1.2.0-beta01 are released. Версия 1.2.0-бета01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry now randomly generates integers until it finds one that is unallocated to use as a request code register() , thus preventing the possible integer overflow caused by incrementing request codes. ( b/168779518 )

  • Lifecycle observers are properly removed when calling unregister() on an ActivityResultLauncher . ( b/165608393 )

Behavior Changes

  • The ActivityResultRegistry now throws an IllegalStateException when attempting to call register() with a LifecycleOwner whose Lifecycle has already reached STARTED . ( b/165435866 )

Documentation Updated

  • ContextAware documentation links to LifecycleOwner to highlight Lifecycle callbacks as the appropriate place for creation and destruction events. ( aosp/1414152 )

Версия 1.2.0-Alpha08

August 19, 2020

androidx.activity:activity:1.2.0-alpha08 and androidx.activity:activity-ktx:1.2.0-alpha08 are released. Версия 1.2.0-Alpha08 содержит эти коммиты.

Новые возможности

  • ComponentActivity now implements ContextAware , allowing you to add one or more OnContextAvailableListener instances which will receive a callback before the base Activity.onCreate() . ( b/161390636 )
    • A suspending Kotlin extension withContextAvailable() allows you to run a non-suspending block when the Context becomes available and return a result. ( I8290c )
    • This API is used by FragmentActivity in Fragment 1.3.0-alpha08 to restore the state of the FragmentManager . Any listeners added to subclasses of FragmentActivity will run after that listener. ( I513da )
    • This API is used by AppCompatActivity in AppCompat 1.3.0-alpha02 . Any listeners added to subclasses of AppCompatActivity will run after that listener. ( I513da )

Исправления ошибок

  • Fixed an issue with the ActivityResultFragmentVersionDetector Lint check that caused it to break when using Lint 27.1.0 or higher. ( b/162155191 )

Версия 1.2.0-Alpha07

July 22, 2020

androidx.activity:activity:1.2.0-alpha07 and androidx.activity:activity-ktx:1.2.0-alpha07 are released. Версия 1.2.0-Alpha07 содержит эти коммиты.

Новые возможности

  • Added a new InvalidFragmentVersionForActivityResult lint check that verifies that you are using Fragment 1.3.0-alpha07 when using the Activity Result API , avoiding runtime crashes due to “invalid request code” issues and non-functioning permission requests caused by using older versions of Fragments. ( b/152554847 )

Внешний вклад

  • Fixed an ArrayIndexOutOfBoundsException when parsing the results for the RequestPermission Activity Result contract. ( I8f9e3 , b/161057605 )

Версия 1.2.0-Alpha06

June 10, 2020

androidx.activity:activity:1.2.0-alpha06 and androidx.activity:activity-ktx:1.2.0-alpha06 are released. Версия 1.2.0-Alpha06 содержит эти коммиты.

Новые возможности

  • You can now destructure the ActivityResult class in kotlin to directly access the requestCode and intent . ( b/157212935 )
  • ActivityResultLauncher now allows you to get the ActivityResultContract that was used to register the launcher. ( b/156875743 )

Изменения API

  • Breaking change : The invoke() method on ActivityResultRegistry has been renamed to onLaunch() . ( b/157496491 )
  • The OpenMultipleDocuments contract now returns an empty list instead of null to the registered callback if no result is returned. ( b/157348014 )

Версия 1.2.0-Alpha05

May 20, 2020

androidx.activity:activity:1.2.0-alpha05 and androidx.activity:activity-ktx:1.2.0-alpha05 are released. Версия 1.2.0-Alpha05 содержит эти коммиты.

Новые возможности

Изменения API

  • The TakePicture contract now returns a boolean indicating success rather than a thumbnail Bitmap as this was very rarely supported by camera apps when writing the image to the provided Uri . ( b/154302879 )
  • The invoke() extensions on ActivityResultLauncher have been removed in favor of explicitly using launch() to better indicate that these are asynchronous operations. Kotlin extensions for launch have been added to the androidx.activity.result package for ActivityResultLauncher<Void> and ActivityResultLauncher<Unit> that remove the need to pass in null or Unit , respectively, mirroring that behavior from the previously invoke() extensions. ( aosp/1304674 , aosp/1304675 )
  • The IntentSenderRequest.Builder methods for setFlagsMask() and setFlagsValues() has been combined into a single setFlags() method. ( aosp/1302111 )

Исправления ошибок

  • When registering an ActivityResultCallback with a LifecycleOwner , fixed an issue where the callback would be triggered before the state reaches STARTED . ( aosp/1309744 )

Behavior Changes

  • The ActivityResultRegistry now generates request codes starting at 0xFFFF rather than at 0 , preventing overlap when using startActivityForResult() or requestPermissions() in an activity. ( aosp/1302324 )

Версия 1.2.0-Alpha04

April 29, 2020

androidx.activity:activity:1.2.0-alpha04 and androidx.activity:activity-ktx:1.2.0-alpha04 are released. Версия 1.2.0-Alpha04 содержит эти коммиты.

Новые возможности

  • Added a contract that can call startIntentSenderForResult to the ActivityResult APIs. ( b/153007517 )

Изменения API

  • The prepareCall() method has been renamed to registerForActivityResult() , both on ComponentActivity here and in Fragment 1.3.0-alpha04 . ( aosp/1278717 )
  • The GetContents , OpenDocuments , and RequestPermissions contracts have been renamed to GetMultipleContents , OpenMultipleDocuments , and RequestMultiplePermissions , respectively. ( aosp/1280161 )
  • ComponentActivity now implements the ActivityResultRegisteryOwner interface. ( aosp/1290888 )
  • - The startActivityForResult() / onActivityResult() and onRequestPermissionsResult() APIs on ComponentActivity have been deprecated. Please use the Activity Result APIs . ( b/154751887 )

Исправления ошибок

  • When using the GetMultipleContents and OpenMultipleDocuments contracts and selecting a single item, it is now correctly returned to your callback. ( b/152941153 )

Версия 1.2.0-Alpha03

April 1, 2020

androidx.activity:activity:1.2.0-alpha03 and androidx.activity:activity-ktx:1.2.0-alpha03 are released. Версия 1.2.0-Alpha03 содержит эти коммиты.

Новые возможности

  • Added the TakeVideo , PickContact , GetContent , GetContents , OpenDocument , OpenDocuments , OpenDocumentTree , and CreateDocument contracts to the set of pre-built contracts provided by ActivityResultContracts . ( aosp/1262482 , aosp/1266916 , aosp/1268960 )
  • The Activity Result APIs now support launching an activity for result with an optional ActivityOptionsCompat . ( b/151860054 )

Изменения API

  • The TakePicture contract now takes a Uri input for where the image should be stored. The previous contract that does not take any input has been renamed to TakePicturePreview . ( aosp/1262482 )
  • The registerActivityResultCallback() method on ActivityResultRegistry has been renamed to register() . ( aosp/1267621 )
  • The dispose() method on ActivityResultLauncher has been renamed to unregister() and the unregisterResultCallback() on ActivityResultRegistry has been removed. ( aosp/1267621 )
  • The createIntent() method of ActivityResultContact now takes a Context in addition to the input to make it possible to create explicit Intents. ( aosp/1238800 )
  • An ActivityResultContract can now override getSynchronousResult() to deliver a result without calling startActivityForResult . This is used by the RequestPermission and RequestPermissions contracts to correctly deliver a 'granted' status if the requested permissions are already granted. ( b/151110799 )
  • The previously available Dial contract has been removed as that Intent is not meant to be used with startActivityForResult() . ( aosp/1266916 )
  • Many of the Activity Result APIs not meant to be extended are now final . This includes getActivityResultRegistry() , the prepareCall() methods, all methods of ActivityResultRegistry except invoke() , and a number of the default contracts that do not support optional extras. ( b/152439361 )

Исправления ошибок

  • Fixed a NullPointerException in ActivityResultRegistry when attempting to deliver results to a callback that has not yet been re-registered after a configuration change; ActivityResultRegistry now holds onto these pending results and delivers them when the callback is re-registered. ( b/152137004 )

Версия 1.2.0-Alpha02

March 18, 2020

androidx.activity:activity:1.2.0-alpha02 and androidx.activity:activity-ktx:1.2.0-alpha02 are released. Версия 1.2.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ActivityResultRegistry : ComponentActivity now provides an ActivityResultRegistry that lets you handle the startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity . ( b/125158199 )

Версия 1.2.0-Alpha01

March 4, 2020

androidx.activity:activity:1.2.0-alpha01 and androidx.activity:activity-ktx:1.2.0-alpha01 are released. Версия 1.2.0-Alpha01 содержит эти коммиты.

Новые возможности

  • Added support for the ViewTreeLifecycleOwner.get(View) API added in Lifecycle 2.3.0-alpha01 such that it will return the Activity as the LifecycleOwner for any Views directly added to the Activity. ( aosp/1182955 )

Исправления ошибок

  • Fixed a regression introduced in Activity 1.1.0 when running on older versions of the platform where onBackPressed() would cause an IllegalStateException due to a bug in the android.app.FragmentManager . ( b/146290338 )

Версия 1.1.0

Версия 1.1.0

January 22, 2020

androidx.activity:activity:1.1.0 is released. Версия 1.1.0 содержит эти коммиты .

Важные изменения с версии 1.0.0

  • Lifecycle ViewModel SavedState Integration : SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity or its subclasses.

Версия 1.1.0-RC03

December 4, 2019

androidx.activity:activity:1.1.0-rc03 and androidx.activity:activity-ktx:1.1.0-rc03 are released. Version 1.1.0-rc03 contains these commits .

Dependency changes

  • Activity now depends on Lifecycle 2.2.0-rc03 and Lifecycle ViewModel SavedState 1.0.0-rc03 .

Version 1.1.0-rc02

November 7, 2019

androidx.activity:activity:1.1.0-rc02 and androidx.activity:activity-ktx:1.1.0-rc02 are released. Version 1.1.0-rc02 contains these commits .

Dependency changes

  • Activity now depends on lifecycle 2.2.0-rc02 .

Версия 1.1.0-rc01

October 23, 2019

androidx.activity:activity:1.1.0-rc01 and androidx.activity:activity-ktx:1.1.0-rc01 are released with no changes from 1.1.0-beta01 . Версия 1.1.0-rc01 содержит эти коммиты .

Версия 1.1.0-бета01

October 9, 2019

androidx.activity:activity:1.1.0-beta01 and androidx.activity:activity-ktx:1.1.0-beta01 are released. Версия 1.1.0-beta01 содержит эти коммиты .

Dependency changes

  • Activity now depends on SavedState 1.0.0 stable.

Версия 1.1.0-Alpha03

September 5, 2019

androidx.activity:activity:1.1.0-alpha03 and androidx.activity:activity-ktx:1.1.0-alpha03 are released. The commits included in this version can be found here .

New features

  • Activity now depends on Core 1.1.0 stable.

Исправления ошибок

Версия 1.1.0-Alpha02

August 7, 2019

androidx.activity:activity:1.1.0-alpha02 and androidx.activity:activity-ktx:1.1.0-alpha02 are released. The commits included in this version can be found here .

New features

  • SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity ( b/135716331 )

Версия 1.1.0-альфа01

July 2, 2019

androidx.activity:activity:1.1.0-alpha01 and androidx.activity:activity-ktx:1.1.0-alpha01 are released. The commits included in this version can be found here .

New features

  • activity now depends on Lifecycle 2.2.0-alpha02 . ( aosp/1007817 )
  • activity-ktx added a dependency on lifecycle-runtime-ktx ; you no longer need to explicitly add it to your dependencies when using activity-ktx or libraries that depend on activity-ktx (such as fragment-ktx ). ( aosp/987162 )

Версия 1.0.0

Версия 1.0.0

September 5, 2019

androidx.activity:activity:1.0.0 and androidx.activity:activity-ktx:1.0.0 are released. The commits included in this version can be found here .

Major Features of 1.0.0

  • ComponentActivity : ComponentActivity serves as the new base class for FragmentActivity in Fragment 1.1.0 and, by extension, AppCompatActivity in AppCompat 1.1.0 .
  • activity-ktx : The activity-ktx module includes a by viewModels Kotlin property extension for accessing ViewModels. This module is automatically included when you include fragment-ktx from Fragment 1.1.0 .
  • OnBackPressedDispatcher : As a composable alternative to overriding onBackPressed() , you can now register a OnBackPressedCallback from any LifecycleOwner (such as a fragment) to intercept system back button events. A lambda with receiver version addCallback has been added to activity-ktx . See Provide custom back navigation documentation for more details.
  • onRetainCustomNonConfigurationInstance deprecation : the onRetainCustomNonConfigurationInstance() and the related getLastCustomNonConfigurationInstance() APIs have been deprecated. It is strongly recommended to use ViewModels to store non-configuration state as they offer a composable solution suitable for any ViewModelStoreOwner that makes the ownership of the retained objects clear and provides an onCleared() callback for cleaning up resources when the activity is finally destroyed.

Версия 1.0.0-RC01

July 2, 2019

androidx.activity:activity:1.0.0-rc01 and androidx.activity:activity-ktx:1.0.0-rc01 are released with no changes from 1.0.0-beta01 . The commits included in this version can be found here .

Версия 1.0.0-бета01

June 5, 2019

androidx.activity::activity:1.0.0-beta01 and androidx.activity:activity-ktx:1.0.0-beta01 are released with no changes from 1.0.0-alpha08 . The commits included in this version can be found here .

Version 1.0.0-alpha08

May 7, 2019

androidx.activity:activity:1.0.0-alpha08 and androidx.activity:activity-ktx:1.0.0-alpha08 are released. The commits included in this version can be found here .

API changes

  • Breaking change: The previously deprecated addOnBackPressedCallback and removeOnBackPressedCallback methods on ComponentActivity have been removed. aosp/953857
  • The setEnabled() and isEnabled() methods of OnBackPressedCallback are now final. b/131416833
  • The remove() method of OnBackPressedCallback is now final. aosp/952720
  • OnBackPressedDispatcher now has public constructors, allowing you to construct your own instances for testing, etc. aosp/953431
  • onBackPressed() for ComponentActivity is now explicitly marked as @MainThread aosp/952721

Исправления ошибок

  • Fixed a ConcurrentModificationException when calling remove() from within the handleOnBackPressed() method of a OnBackPressedCalback that was added with a LifecycleOwner . b/131765095

Version 1.0.0-alpha07

April 25th, 2019

androidx.activity:activity:1.0.0-alpha07 and androidx.activity:activity-ktx:1.0.0-alpha07 are released. The commits included in this version can be found here .

API changes

This release makes significant changes to the handling of the onBackPressed() . See the updated custom back documentation for more details.

  • The methods for OnBackPressedCallback and OnBackPressedDispatcher have been marked as @MainThread . ( aosp/943813 )
  • The handleOnBackPressed() method no longer returns a boolean . Instead, OnBackPressedCallback is now an abstract class that can be enabled or disabled - only when the new isEnabled() method returns true will handleOnBackPressed() be called, in which you must handle the back button. ( aosp/944518 )
  • The addCallback methods of OnBackPressedDispatcher no longer return a Cancellable instance. OnBackPressedCallback now contain a remove() method that fulfill this functionality, allowing you to call remove() during handleOnBackPressed() . ( aosp/944519 ) ( aosp/946316 )
  • activity-ktx now contains a receiver scoped callback for addCallback that accepts a lamdba that implements handleOnBackPressed() and has access to isEnabled and remove() ( aosp/944520 )

Version 1.0.0-alpha06

April 3rd, 2019

androidx.activity:activity:1.0.0-alpha06 and androidx.activity:activity-ktx:1.0.0-alpha06 are released. The commits included in this version can be found here .

API changes

  • ComponentActivity now contain a second constructor that takes a @LayoutRes int , which replaces the previous behavior of annotating your AppCompatActivity class with @ContentView . This approach works in both app and library modules. ( b/128352521 )
  • The OnBackPressedCallback related APIs on ComponentActivity have been deprecated in favor of the new OnBackPressedDispatcher , retrievable via getOnBackPressedDispatcher() . ( aosp/922523 )
  • Methods to add a new OnBackPressedCallback to the OnBackPressedDispatcher now return a Cancellable object, allowing removal of the callback without requiring an explicit reference to the OnBackPressedDispatcher . ( aosp/922523 )
  • Adding a OnBackPressedCallback with an associated LifecycleOwner now results in adding and removing the OnBackPressedCallback as the Lifecycle is started and stopped, respectively. ( aosp/922523 )

Версия 1.0.0-альфа05

March 13th, 2019

androidx.activity:activity:1.0.0-alpha05 and androidx.activity:activity-ktx:1.0.0-alpha05 are released. The full list of commits included in this release can be found here .

New features

  • @ContentView annotation lookups are now cached ( b/123709449 )

Версия 1.0.0-альфа04

January 30, 2019

androidx.activity:activity 1.0.0-alpha04 and androidx.activity:activity-ktx 1.0.0-alpha04 are released.

New features

  • Added support for the @ContentView class annotation that allows you to indicate which layout XML file should be inflated as an alternative to using setContentView() . ( aosp/837619 )

API changes

  • Added a note that getViewModelStore() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/837619 )

Исправления ошибок

  • The activity module now depends on version 2.1.0-alpha02 of ViewModel to match the activity-ktx module's dependency.

Version 1.0.0-alpha03

December 17, 2018

androidx.activity 1.0.0-alpha03 is released.

New features

  • ComponentActivity now implements BundleSavedStateRegistryOwner and depends on the newly released SavedState library [ aosp/815133 ]
  • ComponentActivity now works around an Android framework bug that would cause InputMethodManager to leak the last focused view [ b/37122102 ]

Версия 1.0.0-альфа02

December 3, 2018

API changes

  • Added a note that getLifecycle() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/815834 )

Версия 1.0.0-альфа01

November 5, 2018

androidx.activity 1.0.0-alpha01 introduces ComponentActivity , a new base class of the existing FragmentActivity and AppCompatActivity .

New features

  • You can now register an OnBackPressedCallback via addOnBackPressedCallback to receive onBackPressed() callbacks without needing to override the method in your activity.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModel s from a ComponentActivity .
  • Pending input events (such as clicks) are now canceled in onStop() .

API changes

  • The implementation of LifecycleOwner and ViewModelStoreOwner have been moved from FragmentActivity to ComponentActivity .
  • onRetainCustomNonConfigurationInstance has been deprecated. Use a ViewModel for storing objects that need to survive configuration changes.
,

Активность

Access composable APIs built on top of Activity.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
9 апреля 2025 г. 1.10.1 - 1.11.0-beta01 -

Объявление зависимостей

To add a dependency on Activity, you must add the Google Maven repository to your project. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    def activity_version = "1.10.1"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Котлин

dependencies {
    val activity_version = "1.10.1"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Version 1.11

Version 1.11.0-beta01

9 апреля 2025 г.

androidx.activity:activity:1.11.0-beta01 , androidx.activity:activity-compose:1.11.0-beta01 , and androidx.activity:activity-ktx:1.11.0-beta01 are released. Version 1.11.0-beta01 contains these commits .

Version 1.11.0-alpha02

26 марта 2025 г.

androidx.activity:activity:1.11.0-alpha02 , androidx.activity:activity-compose:1.11.0-alpha02 , and androidx.activity:activity-ktx:1.11.0-alpha02 are released. Version 1.11.0-alpha02 contains these commits .

Изменения API

  • Integrated the new EDGE_NONE and frameTimeMillis from Android 16 Beta03 into the BackEventCompat provided by OnBackPressedCallback 's handleOnBackStarted and handleOnBackProgressed functions.

Обновления зависимости

Version 1.11.0-alpha01

12 марта 2025 г.

androidx.activity:activity:1.11.0-alpha01 , androidx.activity:activity-compose:1.11.0-alpha01 , and androidx.activity:activity-ktx:1.11.0-alpha01 are released. Version 1.11.0-alpha01 contains these commits .

Новые возможности

  • Added MediaCapabilities API to PickVisualMediaRequest to let applications specify its media capabilities, such as supported HDR Types. ( Ic3ee7 )

Version 1.10

Version 1.10.1

26 февраля 2025 г.

androidx.activity:activity:1.10.1 , androidx.activity:activity-compose:1.10.1 , and androidx.activity:activity-ktx:1.10.1 are released. Version 1.10.1 contains these commits .

Исправления ошибок

  • ViewTree OnBackPressedDispatcherOwners and FullyDrawnReporterOwners can now be resolved through disjoint parents of a view, such as a ViewOverlay . See the release notes of core or the documentation in ViewTree.setViewTreeDisjointParent for more information on disjoint view parents. ( Ie7750 )

Version 1.10.0

15 января 2025 г.

androidx.activity:activity:1.10.0 , androidx.activity:activity-compose:1.10.0 , and androidx.activity:activity-ktx:1.10.0 are released. Version 1.10.0 contains these commits .

Important changes since 1.9.0

  • PhotoPicker now allows picking images in order and choosing which tab (either albums or images) should be initially visible.
  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts that trigger the Photo Picker no longer directly delegates to Google Play services if the system Photo picker is not available, but uses the public ACTION_SYSTEM_FALLBACK_PICK_IMAGES action and related extras to provide a consistent Photo Picker experience to OEMs and system apps as a fallback.
  • New LocalActivity composition local that provides the Activity for the current scope, removing the need for developers to get an Activity from the LocalContext .

Version 1.10.0-rc01

11 декабря 2024 г.

androidx.activity:activity:1.10.0-rc01 , androidx.activity:activity-compose:1.10.0-rc01 , and androidx.activity:activity-ktx:1.10.0-rc01 are released. Version 1.10.0-rc01 contains these commits .

Исправления ошибок

  • Fixed an issue where changing the enabled state while the PredictiveBackHandler is currently active would short circuit the callback immediately. It will now finish the current callback regardless of the enabled status changes. ( Ib8719 )

Version 1.10.0-beta01

13 ноября 2024 г.

androidx.activity:activity:1.10.0-beta01 , androidx.activity:activity-compose:1.10.0-beta01 , and androidx.activity:activity-ktx:1.10.0-beta01 are released with no changes since the last alpha. Version 1.10.0-beta01 contains these commits .

Version 1.10.0-alpha03

30 октября 2024 г.

androidx.activity:activity:1.10.0-alpha03 , androidx.activity:activity-compose:1.10.0-alpha03 , and androidx.activity:activity-ktx:1.10.0-alpha03 are released. Version 1.10.0-alpha03 contains these commits .

Изменения API

  • Added a new LocalActivity composition local that provides the Activity for the current scope, removing the need for developers to get an Activity from the LocalContext . It also comes with a new lint rule that checks when the LocalContext is incorrectly being cast to an Activity . ( I7746a , b/283009666 )

Исправления ошибок

  • From Activity 1.9.3 : PredictiveBackHandler will no longer fire it's callback after the handler has been disabled. This will fix an issue where the NavHost from Navigation Compose would throw an IndexOutOfBoundsException . ( I3f75e , b/365027664 , b/340202286 )

Dependency Update

Version 1.10.0-alpha02

4 сентября 2024 г.

androidx.activity:activity:1.10.0-alpha02 , androidx.activity:activity-compose:1.10.0-alpha02 , and androidx.activity:activity-ktx:1.10.0-alpha02 are released. Version 1.10.0-alpha02 contains these commits .

Behavior Changes

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts that trigger the Photo Picker no longer directly delegates to Google Play services if the system Photo picker is not available, but uses the public ACTION_SYSTEM_FALLBACK_PICK_IMAGES action and related extras to provide a consistent Photo Picker experience to OEMs and system apps as a fallback. This should have no effect on the user experience for devices that have a recent version of Google Play services. ( I3513d )

Исправления ошибок

  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( I9496c , b/345472586 )
  • From Activity 1.9.2 : Fixed an issue where the Activity Compose PredictiveBackHandler API would continue to handle the system back gesture on the frame it was disabled, which could result in libraries like Navigation Compose to handle back even with an empty back stack, resulting in it throwing an IndexOutOfBoundsException . ( Ie3301 , b/340202286 )
  • From Activity 1.9.1 : Fixed an issue with PredictiveBackHandler where after doing system back, attempting to do onBackPressed from the OnBackPressedDispatcher would fail. ( I5f1f8 )

Version 1.10.0-alpha01

26 июня 2024 г.

androidx.activity:activity:1.10.0-alpha01 , androidx.activity:activity-compose:1.10.0-alpha01 , and androidx.activity:activity-ktx:1.10.0-alpha01 are released. This version is developed in an internal branch.

Новые возможности

  • Added support for new PhotoPicker features introduced in Android V including being able to pick images in order and choose which tab (either albums or images) should be initially visible.

Version 1.9

Version 1.9.3

16 октября 2024 г.

androidx.activity:activity:1.9.3 , androidx.activity:activity-compose:1.9.3 , and androidx.activity:activity-ktx:1.9.3 are released. Version 1.9.3 contains these commits .

Исправления ошибок

  • PredictiveBackHandler will no longer fire it's callback after the handler has been disabled. This will fix an issue where the NavHost from Navigation Compose would throw an IndexOutOfBoundsException . ( I3f75e , b/340202286 )

Version 1.9.2

4 сентября 2024 г.

androidx.activity:activity:1.9.2 , androidx.activity:activity-compose:1.9.2 , and androidx.activity:activity-ktx:1.9.2 are released. Version 1.9.2 contains these lthcocommits .

Исправления ошибок

  • Fixed an issue where the Activity Compose PredictiveBackHandler API would continue to handle the system back gesture on the frame it was disabled, which could result in libraries like Navigation Compose to handle back even with an empty back stack, resulting in it throwing an IndexOutOfBoundsException . ( Ie3301 , b/340202286 )

Version 1.9.1

24 июля 2024 г.

androidx.activity:activity:1.9.1 , androidx.activity:activity-compose:1.9.1 , and androidx.activity:activity-ktx:1.9.1 are released. Version 1.9.1 contains these commits .

Исправления ошибок

  • Fixed an issue with PredictiveBackHandler where after doing system back, attempting to do onBackPressed from the OnBackPressedDispatcher would fail. ( I5f1f8 )

Version 1.9.0

17 апреля 2024 г.

androidx.activity:activity:1.9.0 , androidx.activity:activity-compose:1.9.0 , and androidx.activity:activity-ktx:1.9.0 are released. Version 1.9.0 contains these commits .

Important changes since 1.8.0

  • ComponentActivity now implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint events.
  • The OnBackPressedCallback , BackHandler , and PredictiveBackHandler APIs now warn when calling onBackPressedDispatcher.onBackPressed() when handling back as that will always break the Predictive Back Animation . See the best practices guide for more details.
  • The remainder of the Activity APIs have been rewritten in Kotlin and all extensions previously available in activity-ktx have been moved to activity . activity-ktx is now completely empty.
    • As part of the conversion of ActivityResultLauncher to Kotlin, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin.

Version 1.9.0-rc01

3 апреля 2024 г.

androidx.activity:activity:1.9.0-rc01 , androidx.activity:activity-compose:1.9.0-rc01 , and androidx.activity:activity-ktx:1.9.0-rc01 are released. Version 1.9.0-rc01 contains these commits .

Dependency update

Version 1.9.0-beta01

20 марта 2024 г.

androidx.activity:activity:1.9.0-beta01 , androidx.activity:activity-compose:1.9.0-beta01 , and androidx.activity:activity-ktx:1.9.0-beta01 are released. Version 1.9.0-beta01 contains these commits .

Исправления ошибок

  • Fixed an Activity startup performance regression introduced in Activity 1.9.0-alpha02 caused by calling the OnBackPressedDispatcher as part of the creation of the Activity. ( Ie75e3 )

Version 1.9.0-alpha03

7 февраля 2024 г.

androidx.activity:activity:1.9.0-alpha03 , androidx.activity:activity-compose:1.9.0-alpha03 , and androidx.activity:activity-ktx:1.9.0-alpha03 are released. Version 1.9.0-alpha03 contains these commits.

Lint Warning

Исправления ошибок

  • If a back event is sent from the system started during an already running Predictive Back Gesture, the currently running Predictive Back Gesture is canceled and the new back event takes over to begin a new Predictive Back Gesture. ( I3482e )
  • Fixed a crash when accessing the onBackPressedDispatcher from a ComponentActivity for the first time from a background thread. It is now safe to access the onBackPressedDispatcher on any thread. ( I79955 )

Version 1.9.0-alpha02

24 января 2024 г.

androidx.activity:activity:1.9.0-alpha02 , androidx.activity:activity-compose:1.9.0-alpha02 , and androidx.activity:activity-ktx:1.9.0-alpha02 are released. Version 1.9.0-alpha02 contains these commits.

Kotlin Conversions

  • ActivityResultRegistry has been rewritten in Kotlin. This ensures that the nullability of the generics on the contract passed to register will correctly be passed through to the ActivityResultLauncher returned to you. ( I121f0 )
  • ActivityResult has been rewritten in Kotlin. The ActivityResult Kotlin extensions that support destructuring into the resultCode and data fields have been moved from activity-ktx to activity . ( I0565a )
  • The Kotlin extensions of by viewModels() for ComponentActivity and trackPipAnimationHintView have been moved from activity-ktx to activity . The activity-ktx artifact is now completely empty. ( I0a444 )

Исправления ошибок

  • The enableEdgeToEdge API now draws around any display cutouts. ( a3644b , b/311173461 )
  • From Activity 1.8.2 : Fixed the extra passed to the Photo Picker Activity Contract's ACTION_SYSTEM_FALLBACK_PICK_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, rather than using the extra with the key "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. ( I96a00 )

Version 1.9.0-alpha01

29 ноября 2023 г.

androidx.activity:activity:1.9.0-alpha01 , androidx.activity:activity-compose:1.9.0-alpha01 , and androidx.activity:activity-ktx:1.9.0-alpha01 are released. Version 1.9.0-alpha01 contains these commits.

Новые возможности

  • ComponentActivity now implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint events. ( I54892 )

Изменения API

  • ComponentActivity has been rewritten in Kotlin. ( I14f31 )
  • ActivityResultCaller has been rewritten in Kotlin. ( Ib02e4 )
  • ActivityResultLauncher has been rewritten in Kotlin. As part of that conversion, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin. ( Id4615 )
  • PickVisualMediaRequest now has the same minimum API level of 19 as the PickVisualMedia Activity Result contract. ( Id6e21 )

Dependency Update

Версия 1.8

Version 1.8.2

13 декабря 2023 г.

androidx.activity:activity:1.8.2 , androidx.activity:activity-compose:1.8.2 , and androidx.activity:activity-ktx:1.8.2 are released. Version 1.8.2 contains these commits.

Исправления ошибок

  • Fixed the extra passed to the Photo Picker Activity Contract's ACTION_SYSTEM_FALLBACK_PICK_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, rather than using the extra with the key "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. ( I96a00 )

Version 1.8.1

15 ноября 2023 г.

androidx.activity:activity:1.8.1 , androidx.activity:activity-compose:1.8.1 , and androidx.activity:activity-ktx:1.8.1 are released. Version 1.8.1 contains these commits.

Исправления ошибок

  • OnBackPressedDispatcher now continues to dispatch to the correct OnBackPressedCallback even after a new OnBackPressedCallback is added while the back gesture is being handled. ( Id0ff6 )

Version 1.8.0

4 октября 2023 г.

androidx.activity:activity:1.8.0 , androidx.activity:activity-compose:1.8.0 , and androidx.activity:activity-ktx:1.8.0 are released. Version 1.8.0 contains these commits.

Important changes since 1.7.0

  • Predictive Back - The OnBackPressedCallback now offers new Predictive Back callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previous handleOnBackPressed() callback for when the back gesture is committed. This also comes with the PredictiveBackHandler Composable to handle predictive back gesture events in Activity Compose. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

ComponentActivity.onBackPressed() has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher , rather than overriding this method.

  • EdgeToEdge - ComponentActivity.enableEdgeToEdge() has been added to easily set up the edge-to-edge display in a backward-compatible manner.

Версия 1.8.0-rc01

20 сентября 2023 г.

androidx.activity:activity:1.8.0-rc01 , androidx.activity:activity-compose:1.8.0-rc01 , and androidx.activity:activity-ktx:1.8.0-rc01 are released. Version 1.8.0-rc01 contains these commits.

Версия 1.8.0-бета01

6 сентября 2023 г.

androidx.activity:activity:1.8.0-beta01 , androidx.activity:activity-compose:1.8.0-beta01 , and androidx.activity:activity-ktx:1.8.0-beta01 are released. Version 1.8.0-beta01 contains these commits.

Documentation Improvement

  • Improved the documentation of BackEventCompat . ( aosp/2722254 )

Версия 1.8.0-альфа07

23 августа 2023 г.

androidx.activity:activity:1.8.0-alpha07 , androidx.activity:activity-compose:1.8.0-alpha07 , and androidx.activity:activity-ktx:1.8.0-alpha07 are released. Version 1.8.0-alpha07 contains these commits.

Новые возможности

  • Activity Compose has added a new PredictiveBackHandler Composable to handle predictive back gesture events. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:

    PredictiveBackHandler { progress: Flow<BackEventCompat> ->
      // code for gesture back started
      try {
        progress.collect { backEvent ->
        // code for progress
      }
      // code for completion
      } catch (e: CancellationException) {
        // code for cancellation
      }
    }
    

    It also comes with a compile time warning via lint rule to ensure the Flow calls collect() . ( Id2773 , b/294884345 )

  • The onBackPressedDispatcher in ComponentActivity is now initialized lazily so that it is only created when required. ( I0bf8e )

Исправления ошибок

  • ComponentActivity will no longer show a NPE on Android 13 when it gets an onBackPressed() callback and the Activity has already been DESTROYED . ( Idb055 , b/291869278 )
  • Removed usages of experimental isAtLeastU() API ( Ie9117 , b/289269026 )

Версия 1.8.0-альфа06

21 июня 2023 г.

androidx.activity:activity:1.8.0-alpha06 , androidx.activity:activity-compose:1.8.0-alpha06 , and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.

Новые возможности

  • The OnBackPressedDispatcher now correctly cancels any callbacks that are removed during a Predictive Back Gesture. ( I3f90f )

Изменения API

  • When passing SystemBarStyle.auto to the enableEdgeToEdge API, you can now override the detectDarkMode lambda parameter to provide custom logic for detecting night mode. ( aosp/2546393 , b/278263793 )

Версия 1.8.0-альфа05

7 июня 2023 г.

androidx.activity:activity:1.8.0-alpha05 , androidx.activity:activity-compose:1.8.0-alpha05 , and androidx.activity:activity-ktx:1.8.0-alpha05 are released. This version is developed in an internal branch.

Изменения API

  • Activity now provides a BackEventCompat class that serves as a backward compatible version of BackEvent that is decoupled from the framework BackEvent class.
  • Breaking change: The handleOnBackStarted and handleOnBackProgressed methods of OnBackPressedCallback now receive an androidx.activity.BackEventCompat instance rather than a framework android.window.BackEvent class. The equivalent @VisibleForTesting APIs on OnBackPressedDispatcher have also been updated.
  • The constructor for OnBackPressedDispatcher now takes an optional Consumer<Boolean> instance that allows the owners of the dispatcher to receive a callback whenever the number of enabled callbacks changes from zero to non-zero or vice versa.

Исправления ошибок

Версия 1.8.0-альфа04

10 мая 2023 г.

androidx.activity:activity:1.8.0-alpha04 , androidx.activity:activity-compose:1.8.0-alpha04 , and androidx.activity:activity-ktx:1.8.0-alpha04 are released. This was released from an internal branch.

Исправления ошибок

Версия 1.8.0-альфа03

April 12, 2023

androidx.activity:activity:1.8.0-alpha03 , androidx.activity:activity-compose:1.8.0-alpha03 , and androidx.activity:activity-ktx:1.8.0-alpha03 are released. This was released from an internal branch.

Новые возможности

  • Added ComponentActivity.setUpEdgeToEdge() to easily set up the edge-to-edge display in a backward-compatible manner.

Изменения API

  • ComponentActivity.onBackPressed() has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher , rather than overriding this method. ( Ibce2f , b/271596918 )
  • ComponentDialog and ComponentActivity now contain public API initViewTreeOwners() to be used to initialize all view tree owners before setting the content view. ( Ibdce0 , b/261314581 )

Исправления ошибок

  • Fixed an issue where Fragments were incorrectly invalidating MenuHosts and causing other menus in the Activity to have unexpected behavior. ( I9404e , b/244336571 )

Other Changes

  • The ActivityResultRegister now uses Kotlin Random instead of Java. ( I4d98f , b/272096025 )

Версия 1.8.0-альфа02

8 марта 2023 года

androidx.activity:activity:1.8.0-alpha02 , androidx.activity:activity-compose:1.8.0-alpha02 , and androidx.activity:activity-ktx:1.8.0-alpha02 are released. Developed from an internal branch.

Dependency update

Версия 1.8.0-альфа01

8 февраля 2023 г.

androidx.activity:activity:1.8.0-alpha01 , androidx.activity:activity-compose:1.8.0-alpha01 , and androidx.activity:activity-ktx:1.8.0-alpha01 are released. This was built from an internal branch.

Новые возможности

  • The OnBackPressedCallback class now contains new Predictive Back progress callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previous handleOnBackPressed() callback for when the back gesture is committed.

Версия 1.7

Версия 1.7.2

24 мая 2023 г.

androidx.activity:activity:1.7.2 , androidx.activity:activity-compose:1.7.2 , and androidx.activity:activity-ktx:1.7.2 are released. Version 1.7.2 contains these commits.

Исправления ошибок

  • Fix ReportDrawn crashing when navigating away from a screen before report is called. ( Ic46f1 , b/260506820 )

Версия 1.7.1

19 апреля 2023 года

androidx.activity:activity:1.7.1 , androidx.activity:activity-compose:1.7.1 , and androidx.activity:activity-ktx:1.7.1 are released. Version 1.7.1 contains these commits.

Исправления ошибок

  • The ReportFullyDrawExecuter no longer leaks when using ComponentActivity with ActivityScenario . ( Id2ff2 , b/277434271 )

Версия 1.7.0

22 марта 2023 года

androidx.activity:activity:1.7.0 , androidx.activity:activity-compose:1.7.0 , and androidx.activity:activity-ktx:1.7.0 are released. Version 1.7.0 contains these commits.

Важные изменения с версии 1.6.0

  • The Photo Picker activity contracts in PickVisualMedia and PickMultipleVisualMedia have been updated to contain an additional fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable that allows OEMs and system apps, such as Google Play services, to provide a consistent Photo Picker experience on a wider range of Android devices and API levels by implementing the fallback action . The Photo Picker will use this fallback if it is available before falling back to using Intent.ACTION_OPEN_DOCUMENT , which remains to support all API 19 and higher devices.
  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree . It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements.
  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent , rather than only a single flag.

Kotlin Conversion

A number of Activity classes have been converted to Kotlin. All converted classes still retain their binary compatibility with previous versions. The following classes have source incompatible changes for classes written in Kotlin: ActivityResultRegistryOwner , OnBackPressedDispatcherOwner .

The table below provides the source conversions for the new version of Activity:

Activity 1.5 Activity 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

These classes were also converted to Kotlin, but remain source compatible: ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest , and OnBackPressedDispatcher

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Three Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawn indicates that your composable is immediately ready for interaction.
  • ReportDrawnWhen takes a predicate (ie, list.count > 0 ) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Обновления зависимости

Версия 1.7.0-rc01

8 марта 2023 года

androidx.activity:activity:1.7.0-rc01 , androidx.activity:activity-compose:1.7.0-rc01 , and androidx.activity:activity-ktx:1.7.0-rc01 are released. Version 1.7.0-rc01 contains these commits.

Dependency update

Версия 1.7.0-бета02

22 февраля 2023 года

androidx.activity:activity:1.7.0-beta02 , androidx.activity:activity-compose:1.7.0-beta02 , and androidx.activity:activity-ktx:1.7.0-beta02 are released. Version 1.7.0-beta02 contains these commits.

Изменения API

  • The action and extra used by the PickVisualMedia and PickMultipleVisualMedia contracts as a fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable are now public constants that provide API stability to OEMs and system apps that want to provide a consistent Photo Picker experience. The implementation of this fallback is still limited to only system apps. ( Icd320 )

Версия 1.7.0-бета01

8 февраля 2023 г.

androidx.activity:activity:1.7.0-beta01 , androidx.activity:activity-compose:1.7.0-beta01 , and androidx.activity:activity-ktx:1.7.0-beta01 are released. Version 1.7.0-beta01 contains these commits.

Новые возможности

  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent , rather than only a single flag. ( Iac04c )

Исправления ошибок

  • The fallback for PickVisualMedia for when the framework Photo Picker is unavailable now correctly limits the handling to apps installed in the device's system image. ( If8ae6 )

Kotlin Conversions

  • ActivityResultRegistryOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now override the activityResultRegistry property rather than implementing the previous getActivityResultRegistry() function. ( I0b00e )
  • OnBackPressedDispatcherOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now override the onBackPressedDispatcher property rather than implementing the previous getOnBackPressedDispatcher function. ( Ia277d )
  • ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest and OnBackPressedDispatcher are now written in Kotlin. ( I1a73e , Iada92 , aosp/2410754 , I18ac7 , b/257291701 )

Версия 1.7.0-альфа04

25 января 2023 года

androidx.activity:activity:1.7.0-alpha04 , androidx.activity:activity-compose:1.7.0-alpha04 , and androidx.activity:activity-ktx:1.7.0-alpha04 are released. Version 1.7.0-alpha04 contains these commits.

Новые возможности

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts will now use a Google Play services provided Photo Picker where available in cases where the Android system provided Photo Picker (eg, MediaStore.ACTION_PICK_IMAGES ) is not available. The isPhotoPickerAvailable() API that only detects the Android system provided Photo Picker has been deprecated. It is recommended to use the new isPhotoPickerAvailable(Context) API, which will return if either Photo Picker is available. ( I55be6 )

Версия 1.7.0-альфа03

11 января 2023 г.

androidx.activity:activity:1.7.0-alpha03 , androidx.activity:activity-compose:1.7.0-alpha03 , and androidx.activity:activity-ktx:1.7.0-alpha03 are released. Версия 1.7.0-alpha03 содержит эти коммиты.

Новые возможности

  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree. It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements. ( Idca17 , I73468 b/261162296 )

Изменения API

  • Added a ReportDrawn composable that immediately marks the activity as ready to call reportFullyDrawn . ( Ic5b14 , b/259687964 )

Kotlin Conversions

  • The ActvitiyResultCallback and OnBackPressedCallback classes have both been converted to Kotlin while maintaining source and binary compatibility. ( Ifc5e5 , Ide1b0 , b/257291701 )

Версия 1.7.0-альфа02

24 октября 2022 года

androidx.activity:activity:1.7.0-alpha02 , androidx.activity:activity-compose:1.7.0-alpha02 , and androidx.activity:activity-ktx:1.7.0-alpha02 are released. Версия 1.7.0-alpha02 содержит эти коммиты.

Исправления ошибок

  • From Activity 1.6.1 : Fixed an issue with the PickMultipleVisualMedia Activity Result contract not launching on Android R devices when using the default value for maxItems . ( Ie2776 , b/249182130 )

Версия 1.7.0-альфа01

5 октября 2022 г.

androidx.activity:activity:1.7.0-alpha01 , androidx.activity:activity-compose:1.7.0-alpha01 , and androidx.activity:activity-ktx:1.7.0-alpha01 are released. Версия 1.7.0-alpha01 содержит эти коммиты.

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Two Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawnWhen takes a predicate (ie, list.count > 0 ) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Версия 1.6.1

Версия 1.6.1

24 октября 2022 года

androidx.activity:activity:1.6.1 , androidx.activity:activity-compose:1.6.1 , and androidx.activity:activity-ktx:1.6.1 are released. Версия 1.6.1 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue with the PickMultipleVisualMedia Activity Result contract not launching on Android R devices when using the default value for maxItems . ( Ie2776 , b/249182130 )

Версия 1.6.0

Версия 1.6.0

21 сентября 2022 года

androidx.activity:activity:1.6.0 , androidx.activity:activity-compose:1.6.0 , and androidx.activity:activity-ktx:1.6.0 are released. Версия 1.6.0 содержит эти коммиты.

Важные изменения с версии 1.5.0

  • Added ActivityResultContracts.PickVisualMedia and ActivityResultContracts.PickMultipleVisualMedia for providing a backward compatible contract that uses MediaStore.ACTION_PICK_IMAGES when the Photo Picker is available and Intent.ACTION_OPEN_DOCUMENT when it is not available.
  • Integrated the OnBackInvokedCallback in Android 13 into the OnBackPressedDispatchers provided by ComponentActivity and ComponentDialog . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Version 1.6.0-rc02

7 сентября 2022 г.

androidx.activity:activity:1.6.0-rc02 , androidx.activity:activity-compose:1.6.0-rc02 , and androidx.activity:activity-ktx:1.6.0-rc02 are released. Version 1.6.0-rc02 contains these commits.

Исправления ошибок

  • OnBackPressedDispatcher now registers the OnBackInvokedCallback with the PRIORITY_DEFAULT instead of PRIORITY_OVERLAY . ( I3901f )
  • Classes that extend ComponentActivity will now always have both of their onMultiWindowModeChanged() callbacks dispatched. ( Ic4d85 )
  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )
  • ComponentActivity will now properly dispatch menu calls without the need to call the super function in your activity. ( Ie33c5 , b/238057118 )

Dependency Update

Версия 1.6.0-rc01

24 августа 2022 года

androidx.activity:activity:1.6.0-rc01 , androidx.activity:activity-compose:1.6.0-rc01 , and androidx.activity:activity-ktx:1.6.0-rc01 are released. Версия 1.6.0-rc01 содержит эти коммиты.

Исправления ошибок

  • Initializing an OnBackPressedDispatcher will no longer cause ClassVerificationError s when using SDK versions prior to 33. ( Ic32e1 )
  • Classes that override ComponentActivity 's onPictureInPictureModeChanged() callback will now always have their callbacks dispatched. ( Ib7fdb )

Версия 1.6.0-бета01

10 августа 2022 года

androidx.activity:activity:1.6.0-beta01 , androidx.activity:activity-compose:1.6.0-beta01 , and androidx.activity:activity-ktx:1.6.0-beta01 are released. Версия 1.6.0-beta01 содержит эти коммиты.

Изменения API

  • Marked the deprecated startActivityForResult and startIntentSenderForResult methods on ComponentActivity with @NonNull because passing null has always resulted in a crash. ( Id2a25 , b/231476082 )

Исправления ошибок

  • From Activity 1.5.1 : The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )
  • From Activity 1.5.1 : ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu() , onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. ( Ie33c5 , b/238057118 )

Dependency Update

Версия 1.6.0-альфа05

15 июня 2022 года

androidx.activity:activity:1.6.0-alpha05 , androidx.activity:activity-compose:1.6.0-alpha05 , and androidx.activity:activity-ktx:1.6.0-alpha05 are released. Version 1.6.0-alpha05 was developed in a private pre-release branch and has no public commits.

Изменения API

  • minCompileSdk is now 33 to align with Tiramisu Beta 3 SDK

Исправления ошибок

  • Fixed crash on older devices when doing SDK extension check for the PickVisualMedia ActivityResultContract so that it should now work with ACTION_OPEN_DOCUMENT on devices running Android 10 and lower.

Версия 1.6.0-альфа04

18 мая 2022 года

androidx.activity:activity:1.6.0-alpha04 and androidx.activity:activity-ktx:1.6.0-alpha04 are released.

Исправления ошибок

  • Fixed an error in PickVisualMediaRequest where attempting to create a request, either via the Builder or the top level Kotlin function, would result in a stack overflow.
  • Integrated the OnBackInvokedCallback in Android 13 Dev Beta 2 into the OnBackPressedDispatcher provided by ComponentDialog . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Версия 1.6.0-альфа03

April 27, 2022

androidx.activity:activity:1.6.0-alpha03 , androidx.activity:activity-compose:1.6.0-alpha03 , and androidx.activity:activity-ktx:1.6.0-alpha03 are released.

  • Note: This version will only compile against the Android 13 Developer Beta 1 SDK.

Новые возможности

  • Added ActivityResultContracts.PickVisualMedia and ActivityResultContracts.PickMultipleVisualMedia for providing a backward compatible contract that uses MediaStore.ACTION_PICK_IMAGES when the Photo Picker is available and Intent.ACTION_OPEN_DOCUMENT when it is not available.
  • Integrated the OnBackInvokedCallback in Android 13 Dev Beta 1 into the OnBackPressedDispatcher provided by ComponentActivity . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Версия 1.6.0-альфа01

23 марта 2022 года

androidx.activity:activity:1.6.0-alpha01 , androidx.activity:activity-compose:1.6.0-alpha01 , and androidx.activity:activity-ktx:1.6.0-alpha01 are released.

  • Note: This version will only compile against the Android 13 Developer Preview 2 SDK.

Новые возможности

  • Integrated changes in Android 13 Dev Preview 2 into ComponentActivity .

Версия 1.5.1

Версия 1.5.1

27 июля 2022 года

androidx.activity:activity:1.5.1 , androidx.activity:activity-compose:1.5.1 , and androidx.activity:activity-ktx:1.5.1 are released. Версия 1.5.1 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch() call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )

  • ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu() , onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. ( Ie33c5 , b/238057118 )

Dependency update

Версия 1.5.0

Версия 1.5.0

29 июня 2022 года

androidx.activity:activity:1.5.0 , androidx.activity:activity-compose:1.5.0 , and androidx.activity:activity-ktx:1.5.0 are released. Версия 1.5.0 содержит эти коммиты.

Important changes since 1.4.0

  • ComponentDialog - ComponentDialog is a subclass of Dialog that includes an OnBackPressedDispatcher that will be called when the system back button is pressed and the dialog is visible. Importantly, this subclass also sets the ViewTreeOnBackPressedDispatcherOwner , allowing views a generic way to retrieve the correct dispatcher whether it exists in a ComponentActivity or a ComponentDialog .
  • Callback Interfaces - ComponentActivity now implements a set of modular callback interfaces that can be used instead of the Activity callbacks. These interfaces include the following: OnNewIntentProvider , OnConfigurationChangedProvider , OnTrimMemoryProvider , OnPictureInPictureModeChangedProvider , OnMultiWindowModeChangedProvider
  • CreationExtras Integration - ComponentActivity now has the ability to provide a stateless ViewModelProvider.Factory via Lifecycle 2.5.0 's CreationExtras .

Другие изменения

  • The no parameter constructor for ActivityResultContracts.CreateDocument has been deprecated and replaced with a new constructor that takes a concrete mime type (eg, "image/png") as is required by Intent.ACTION_CREATE_DOCUMENT .

Версия 1.5.0-rc01

11 мая 2022 года

androidx.activity:activity:1.5.0-rc01 , androidx.activity:activity-compose:1.5.0-rc01 , and androidx.activity:activity-ktx:1.5.0-rc01 are released with no changes from 1.5.0-beta01. Версия 1.5.0-rc01 содержит эти коммиты.

Версия 1.5.0-бета01

20 апреля 2022 года

androidx.activity:activity:1.5.0-beta01 , androidx.activity:activity-compose:1.5.0-beta01 , and androidx.activity:activity-ktx:1.5.0-beta01 are released. Версия 1.5.0-beta01 содержит эти коммиты.

Dependency updates

Version 1.5.0-alpha05

6 апреля 2022 года

androidx.activity:activity:1.5.0-alpha05 , androidx.activity:activity-compose:1.5.0-alpha05 , and androidx.activity:activity-ktx:1.5.0-alpha05 are released. Version 1.5.0-alpha05 contains these commits.

Исправления ошибок

  • ComponentActivity 's onPanelClosed() now calls the super onPanelClosed() as well, fixing an issue where the onContextMenuClosed method would not be called. ( Ib6f77 )

Версия 1.5.0-альфа04

23 марта 2022 года

androidx.activity:activity:1.5.0-alpha04 , androidx.activity:activity-compose:1.5.0-alpha04 , and androidx.activity:activity-ktx:1.5.0-alpha04 are released. Версия 1.5.0-alpha04 содержит эти коммиты.

Исправления ошибок

  • SavedStateViewFactory now supports using CreationExtras even when it was initialized with a SavedStateRegistryOwner . If extras are provided, the initialized arguments are ignored. ( I6c43b , b/224844583 )

Версия 1.5.0-Alpha03

23 февраля 2022 года

androidx.activity:activity:1.5.0-alpha03 , androidx.activity:activity-compose:1.5.0-alpha03 , and androidx.activity:activity-ktx:1.5.0-alpha03 are released. Версия 1.5.0-Alpha03 содержит эти коммиты.

Изменения API

  • You can now pass CreationExtras to the activity by viewModels() function ( I6a3e6 , b/217600303 )

Версия 1.5.0-Alpha02

9 февраля 2022 года

androidx.activity:activity:1.5.0-alpha02 , androidx.activity:activity-compose:1.5.0-alpha02 , and androidx.activity:activity-ktx:1.5.0-alpha02 are released. Версия 1.5.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ComponentActivity now implements the OnPictureInPictureModeChangedProvider interface to allow any component to receive picture-in-picture mode change events. ( I9f567 )
  • ComponentActivity now implements the OnMultiWindowModeChangedProvider interface to allow any component to receive multi-window mode change events. ( I62d91 )

Версия 1.5.0-Alpha01

26 января 2022 года

androidx.activity:activity:1.5.0-alpha01 , androidx.activity:activity-compose:1.5.0-alpha01 , and androidx.activity:activity-ktx:1.5.0-alpha01 are released. Версия 1.5.0-Alpha01 содержит эти коммиты.

Новые возможности

  • ComponentActivity now integrates with ViewModel CreationExtras, introduced as part of Lifecycle 2.5.0-alpha01 . ( Ie7e00 , b/207012584 )
  • Added ComponentDialog , a subclass of Dialog that includes an OnBackPressedDispatcher that will be called when the system back button is pressed when the dialog is visible. Importantly, this subclass also sets the ViewTreeOnBackPressedDispatcherOwner , allowing views a generic way to retrieve the correct dispatcher whether it exists in a ComponentActivity or a ComponentDialog . ( I8a1bc )
  • ComponentActivity now implements the new OnNewIntentProvider interface to allow any component to receive these events. ( If1f8b )
  • ComponentActivity now implements the new OnConfigurationChangedProvider interface to allow any component to receive these events. ( If623b )
  • ComponentActivity now implements the new OnTrimMemoryProvider interface to allow any component to receive these events. ( Ia9295 )

Изменения API

  • The no parameter constructor for ActivityResultContracts.CreateDocument has been deprecated and replaced with a new constructor that takes a concrete mime type (eg, "image/png" ) as is required by Intent.ACTION_CREATE_DOCUMENT . ( I2bec6 )
  • The OnBackPressedDispatcherOwner associated with a View can now be retrieved via the ViewTreeOnBackPressedDispatcherOwner , rather than relying on casting the Context . ( I74685 )

Исправления ошибок

  • Fixed a crash when accessing a ViewModel for the very first time from a registerForActivityResult() callback or the callbacks to a LifecycleObserver added as part of init of a ComponentActivity . ( Ife83f )

Версия 1.4.0

Версия 1.4.0

27 октября 2021 года

androidx.activity:activity:1.4.0 , androidx.activity:activity-compose:1.4.0 , and androidx.activity:activity-ktx:1.4.0 are released. Версия 1.4.0 содержит эти коммиты.

Важные изменения с 1.3.0

  • AndroidX ComponentActivity now implements the MenuHost interface. This allows any component to add menu items to the ActionBar by adding a MenuProvider instance to the activity. Each MenuProvider can optionally be added with a Lifecycle that will automatically control the visibility of those menu items based on the Lifecycle state and handle the removal of the MenuProvider when the Lifecycle is destroyed.
  • The ActivityResultContract class has been rewritten in Kotlin to ensure that developers writing custom contracts in Kotlin can define the correct nullability for their input and output classes.
  • The ActivityResultContracts class and its contracts have been rewritten in Kotlin to ensure the proper nullability.

Версия 1.4.0-RC01

13 октября 2021 года

androidx.activity:activity:1.4.0-rc01 , androidx.activity:activity-compose:1.4.0-rc01 , and androidx.activity:activity-ktx:1.4.0-rc01 are released. Версия 1.4.0-RC01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception . ( If4f91 , b/200845664 )

Версия 1.4.0-бета01

29 сентября 2021 года

androidx.activity:activity:1.4.0-beta01 , androidx.activity:activity-compose:1.4.0-beta01 , and androidx.activity:activity-ktx:1.4.0-beta01 are released. Версия 1.4.0-бета01 содержит эти коммиты.

Изменения API

  • Fixed the type for the ActivityResultContracts.OpenMultipleDocuments and ActivityResultContracts.GetMultipleContents that caused then to use an output type of List<? extends Uri> when using the code from the Java programming language. ( If71de )
  • Public constants within the ActivityResultContracts.StartActivityForResult , ActivityResultContracts.StartIntentSenderForResult , and ActivityResultContracts.RequestMultiplePermissions classes are now accessible when using Kotlin via their now public Companion objects. ( aosp/1832555 )

Documentation Updates

  • The deprecation message for APIs now handled by the Activity Result APIs , namely startActivityForResult , startIntentSenderForResult , onActivityResult , requestPermissions , and onRequestPermissionsResult , have all been expanded with more details. ( cce80f )

Версия 1.4.0-Alpha02

15 сентября 2021 года

androidx.activity:activity:1.4.0-alpha02 , androidx.activity:activity-compose:1.4.0-alpha02 , and androidx.activity:activity-ktx:1.4.0-alpha02 are released. Версия 1.4.0-Alpha02 содержит эти коммиты.

Новые возможности

  • The activity-compose artifact now contains a LaunchDuringComposition lint error that prevents you from calling the launch method of ActivityResultLauncher as part of composition as composition should be side-effect free. Use the APIs for handling side-effects . ( 7c2bbe , b/191347220 )

Изменения API

  • The ActivityResultContract class has been rewritten in Kotlin to ensure that developers writing custom contracts in Kotlin can define the correct nullability for their input and output classes. ( I8a8f5 )
  • The ActivityResultContracts class and its contracts have been rewritten in Kotlin to ensure the proper nullability. ( I69802 )

Версия 1.4.0-Alpha01

1 сентября 2021 года

androidx.activity:activity:1.4.0-alpha01 , androidx.activity:activity-compose:1.4.0-alpha01 , and androidx.activity:activity-ktx:1.4.0-alpha01 are released. Версия 1.4.0-Alpha01 содержит эти коммиты.

Новые возможности

  • AndroidX ComponentActivity now implements the MenuHost interface.. This allows any component to add menu items to the ActionBar by adding a MenuProvider instance to the activity. Each MenuProvider can optionally be added with a Lifecycle that will automatically control the visibility of those menu items based on the Lifecycle state and handle the removal of the MenuProvider when the Lifecycle is destroyed. ( I3b608 ):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

Behavior Changes

  • The ActivityResultRegistry will now throw an IllegalStateException when attempting to call launch() on an ActivityResultLauncher that has not be registered or that has been unregistered. ( Ida75d , b/192567522 )

Внешний вклад

  • Thanks dmitrilc for fixing a typo in the ActivityResult documentation. ( #221 )

Версия 1.3.1

Версия 1.3.1

4 августа 2021 года

androidx.activity:activity:1.3.1 , androidx.activity:activity-compose:1.3.1 , and androidx.activity:activity-ktx:1.3.1 are released. Версия 1.3.1 содержит эти коммиты.

Dependency updates

  • Activity now depends on Kotlin 1.5.21 .
  • Activity Compose now depends on Compose 1.0.1 .

Версия 1.3.0

Версия 1.3.0

28 июля 2021 года

androidx.activity:activity:1.3.0 , androidx.activity:activity-compose:1.3.0 , and androidx.activity:activity-ktx:1.3.0 are released. Версия 1.3.0 содержит эти коммиты.

Важные изменения с 1.2.0

  • Activity Compose artifact - The activity-compose artifact provides the setContent extension method for hosting your Jetpack Compose UI in an activity and Compose specific wrappers for interacting with the ComponentActivity APIs for handling the system back button and the Activity Result APIs. See the documentation for more details.
  • CaptureVideo contract - The CaptureVideo ActivityResultContract replaces the now deprecated TakeVideo contract and returns a boolean denoting success that works across many camera apps.
  • Picture-In-Picture Hint View Tracking - Users of activity-ktx can now use the trackPipAnimationHintView extension method on Activity to automatically rebuild the PictureInPictureParams with the new position of the view as it changes position relative to the window.

Version 1.3.0-rc02

14 июля 2021 года

androidx.activity:activity:1.3.0-rc02 , androidx.activity:activity-compose:1.3.0-rc02 , and androidx.activity:activity-ktx:1.3.0-rc02 are released. Version 1.3.0-rc02 contains these commits.

Исправления ошибок

  • The ActivityResultRegistry callbacks are now properly saved and restored so callbacks are not duplicated in the savedState. ( I97816 , b/191893160 )

Версия 1.3.0-RC01

1 июля 2021 года

androidx.activity:activity:1.3.0-rc01 , androidx.activity:activity-compose:1.3.0-rc01 , and androidx.activity:activity-ktx:1.3.0-rc01 are released with no changes from 1.3.0-beta02 . Версия 1.3.0-RC01 содержит эти коммиты.

Версия 1.3.0-бета02

16 июня 2021 года

androidx.activity:activity:1.3.0-beta02 , androidx.activity:activity-compose:1.3.0-beta02 , and androidx.activity:activity-ktx:1.3.0-beta02 are released. Версия 1.3.0-бета02 содержит эти коммиты.

Updated activity-compose to depend on Compose 1.0.0-beta09 . androidx.compose.ui:ui-test-junit4 now has a compile time dependency on activity-compose .

Версия 1.3.0-бета01

2 июня 2021 года

androidx.activity:activity:1.3.0-beta01 , androidx.activity:activity-compose:1.3.0-beta01 , and androidx.activity:activity-ktx:1.3.0-beta01 are released. Версия 1.3.0-бета01 содержит эти коммиты.

Изменения API

  • The previously deprecated @Composable registerForActivityResult() method has been removed. Please use rememberLauncherForActivityResult() . ( Ic39d3 )

Version 1.3.0-alpha08

May 18, 2021

androidx.activity:activity:1.3.0-alpha08 , androidx.activity:activity-compose:1.3.0-alpha08 , and androidx.activity:activity-ktx:1.3.0-alpha08 are released. Version 1.3.0-alpha08 contains these commits.

Новые возможности

  • The new CaptureVideo ActivityResultContract returns a boolean to your ActivityResultCallback indicating if your video was successfully saved to the given URI. This replaces the now deprecated TakeVideo contract as camera apps very rarely supported returning a thumbnail bitmap, making the result unhelpful. ( Ie21f2 , b/185938070 )
  • Added new API Activity#setPipAnimationHintView to update the PipParams' source rect hint whenever the view moves. ( I9063d )

Изменения API

  • The rememberLauncherForActivityResult function now returns a launcher that deprecates the unregister() function - registration and unregistering the launcher is handled automatically by rememberLauncherForActivityResult . ( I2443e )

Compose Compatibility

  • androidx.activity:activity-compose:1.3.0-alpha08 is only compatible with Compose version 1.0.0-beta07 and above.

Version 1.3.0-alpha07

April 21, 2021

androidx.activity:activity:1.3.0-alpha07 , androidx.activity:activity-compose:1.3.0-alpha07 , and androidx.activity:activity-ktx:1.3.0-alpha07 are released. Version 1.3.0-alpha07 contains these commits.

Исправления ошибок

  • rememberLauncherForActivityResult now returns a stable reference to the same ActivityResultLauncher instance even if the contract changes due to recompositions. ( Id2d6d )
  • Using unstable versions of Fragments above 1.3.0 will no longer throw a false positive lint error telling you to use 1.3.0 . ( aosp/1670206 , b/184847092 )

Version 1.3.0-alpha06

April 7, 2021

androidx.activity:activity:1.3.0-alpha06 , androidx.activity:activity-compose:1.3.0-alpha06 , and androidx.activity:activity-ktx:1.3.0-alpha06 are released. Version 1.3.0-alpha06 contains these commits.

Изменения API

  • The registerForActivityResult() API has been renamed to rememberLauncherForActivityResult() to better indicate that the returned ActivityResultLauncher is a managed object that is remembered on your behalf. Attempting to call unregister the returned ActivityResultLauncher will now throw an error. ( I2bb6d )
  • LocalOnBackPressedDispatcherOwner.current and LocalActivityResultRegistryOwner.current now return a nullable value to better determine whether it is available in the current composition. APIs that requires those APIs, such as BackHandler and rememberLauncherForActivityResult() , respectively, will now throw a more descriptive error if the underlying owner is not found. NavHost now works even when an OnBackPressedDispatcherOwner is not found, such is the case when previewing the NavHost . ( I7d8b4 )

Исправления ошибок

  • The BackHandler will now properly intercept back presses in the event that the Activity is STOPPED , then STARTED again, and other callbacks were added with a LifecycleOwner. ( I71de6 , b/182284739 )
  • Using the launch() method extension with a custom ActivityResultContract that has a Unit input will no longer cause a NullPointerException ( I76282 , b/183837954 )

Version 1.3.0-alpha05

March 24, 2021

androidx.activity:activity:1.3.0-alpha05 , androidx.activity:activity-compose:1.3.0-alpha05 , and androidx.activity:activity-ktx:1.3.0-alpha05 are released. Version 1.3.0-alpha05 contains these commits.

Исправления ошибок

  • From Activity 1.2.2 : Fixed an issue in the InvalidFragmentVersionForActivityResult lint check that led to a false positive when using Fragment 1.3.1 or higher. ( I54da1 , b/182388985 )
  • From Activity 1.2.2 : ComponentActivity now avoids a ClassNotFoundException when launching an Intent from an ActivityResultContract that was previously held as an extra in another Intent . ( Ieff05 , b/182906230 )

Обновления зависимости

Version 1.3.0-alpha04

March 10, 2021

androidx.activity:activity:1.3.0-alpha04 , androidx.activity:activity-compose:1.3.0-alpha04 , and androidx.activity:activity-ktx:1.3.0-alpha04 are released. Version 1.3.0-alpha04 contains these commits.

Исправления ошибок

  • From Activity 1.2.1 : RequestMultiplePermissions now always returns results for all requested permissions instead of only permissions that weren't previously granted. ( I50bc3 , b/180884668 )
  • From Activity 1.2.1 : ActivityResultRegistry now ensures that in progress launch() requests will return their results even if you unregister() , then register() again with the same key. ( I9ef34 , b/181267562 )
  • Activity Compose no longer adds test dependencies to the runtime classpath. ( Ifd8b3 )
  • Fixed an issue with BackHandler where the previously set onBack lambda was still being used after recomposition. ( 8eb5eb )

Версия 1.3.0-Alpha03

February 24, 2021

androidx.activity:activity:1.3.0-alpha03 , androidx.activity:activity-compose:1.3.0-alpha03 , and androidx.activity:activity-ktx:1.3.0-alpha03 are released. Версия 1.3.0-Alpha03 содержит эти коммиты.

Новые возможности

  • There is a now a Composable registerForActivityResult function for getting results from activities within composables. ( Ia7851 , b/172690553 )

Изменения API

  • LocalOnBackPressedDispatcherOwner now has a provides functions that can be used with CompositionLocalProvider , replacing the asProvidableCompositionLocal() API. ( I45d24 )

Версия 1.3.0-Alpha02

February 10, 2021

androidx.activity:activity:1.3.0-alpha02 , androidx.activity:activity-compose:1.3.0-alpha02 , and androidx.activity:activity-ktx:1.3.0-alpha02 are released. Версия 1.3.0-Alpha02 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue in Activity Compose 1.3.0-alpha01 that causes a NoSuchMethodError: No static method setContent exception when using Compose 1.0.0-alpha12 . All Compose users should depend on 1.3.0-alpha02 and above. ( b/179911234 )

Изменения API

  • The BackHandler API can be used to allow a Composable to intercept the system back button. ( I58ed5 , b/172154006 )

Версия 1.3.0-Alpha01

February 10, 2021

androidx.activity:activity:1.3.0-alpha01 , androidx.activity:activity-compose:1.3.0-alpha01 , and androidx.activity:activity-ktx:1.3.0-alpha01 are released. Версия 1.3.0-Alpha01 содержит эти коммиты.

Новые возможности

  • The new activity-compose artifact provides Jetpack Compose specific helpers for androidx.activity specific APIs.
    • ComponentActivity.setContent has moved from androidx.compose.ui.platform.setContent to androidx.activity.compose.setContent . ( Icf416 )

Известные проблемы

  • Using Activity Compose 1.3.0-alpha01 and libraries that depend on it, such as androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 , will result in a NoSuchMethodError: No static method setContent exception. ( b/179911234 )

Version 1.2.4

Version 1.2.4

July 21, 2021

androidx.activity:activity:1.2.4 and androidx.activity:activity-ktx:1.2.4 are released. Version 1.2.4 contains these commits.

Исправления ошибок

Version 1.2.3

Version 1.2.3

May 5, 2021

androidx.activity:activity:1.2.3 and androidx.activity:activity-ktx:1.2.3 are released. Version 1.2.3 contains these commits.

Исправления ошибок

  • Using the launch() method extension with a custom ActivityResultContract that has a Unit input will no longer cause a NullPointerException ( I76282 , b/183837954 )
  • Fixed a false positive lint error telling you to use Fragment 1.3.0 when using an snapshot, alpha, beta, or RC build of a newer version of Fragments. ( f4a57e , b/184847092 )

Version 1.2.2

Version 1.2.2

March 24, 2021

androidx.activity:activity:1.2.2 and androidx.activity:activity-ktx:1.2.2 are released. Version 1.2.2 contains these commits.

Исправления ошибок

  • Fixed an issue in the InvalidFragmentVersionForActivityResult lint check that led to a false positive when using Fragment 1.3.1 or higher. ( I54da1 , b/182388985 )
  • ComponentActivity now avoids a ClassNotFoundException when launching an Intent from an ActivityResultContract that was previously held as an extra in another Intent . ( Ieff05 , b/182906230 )

Обновления зависимости

Версия 1.2.1

Версия 1.2.1

March 10, 2021

androidx.activity:activity:1.2.1 and androidx.activity:activity-ktx:1.2.1 are released. Версия 1.2.1 содержит эти коммиты.

Исправления ошибок

  • RequestMultiplePermissions now always returns results for all requested permissions instead of only permissions that weren't previously granted. ( I50bc3 , b/180884668 )
  • ActivityResultRegistry now ensures that in progress launch() requests will return their results even if you unregister() , then register() again with the same key. ( I9ef34 , b/181267562 )

Версия 1.2.0

Версия 1.2.0

February 10, 2021

androidx.activity:activity:1.2.0 and androidx.activity:activity-ktx:1.2.0 are released. Версия 1.2.0 содержит эти коммиты.

Major changes since 1.1.0

  • Activity Result APIs : ComponentActivity now provides an ActivityResultRegistry that lets you handle startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity .
  • ContextAware : ComponentActivity now implements ContextAware , allowing you to add one or more OnContextAvailableListener instances which will receive a callback before the base Activity.onCreate() .

    • A suspending Kotlin extension withContextAvailable() allows you to run a non-suspending block when the Context becomes available and return a result.
    • This API is used by FragmentActivity in Fragment 1.3.0 to restore the state of the FragmentManager . Any listeners added to subclasses of FragmentActivity will run after that listener.
    • This API is used by AppCompatActivity in AppCompat 1.3.0-alpha02 or higher. Any listeners added to subclasses of AppCompatActivity will run after that listener.
  • ViewTree Support : ComponentActivity now supports the ViewTreeLifecycleOwner.get(View) , ViewTreeViewModelStoreOwner.get(View) , and ViewTreeSavedStateRegistryOwner APIs added in Lifecycle 2.3.0 and SavedState 1.1.0 such that it will return the Activity as the LifecycleOwner , ViewModelStoreOwner , and SavedStateRegistryOwner for any Views directly added to the ComponentActivity .

  • reportFullyDrawn() backport - The Activity method of reportFullyDrawn() has been backported in ComponentActivity to work on all API levels, fixing a crash on API 19 and adding tracing for this method for all API levels.

Версия 1.2.0-RC01

December 16, 2020

androidx.activity:activity:1.2.0-rc01 and androidx.activity:activity-ktx:1.2.0-rc01 are released. Версия 1.2.0-RC01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry now always restores the exact state that was saved. ( Idd56b )
  • Add tracing to ComponentActivity.reportFullyDrawn ( Ic7632 )

Внешний вклад

  • ComponentActivity now overrides reportFullyDrawn() , allowing it to be called on all API levels and fixing a crash when calling this method without the appropriate system permission on API 19 devices. Thanks Simon Schiller! ( b/163239764 , #103 )

Версия 1.2.0-бета02

December 2, 2020

androidx.activity:activity:1.2.0-beta02 and androidx.activity:activity-ktx:1.2.0-beta02 are released. Версия 1.2.0-бета02 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue where the Activity Result API would not wait for the Lifecycle to be STARTED before delivering results when registered with a Lifecycle . ( I109ea )

Внешний вклад

  • Updated the documentation for launch() to explicitly call out that it can throw an ActivityNotFoundException . Thanks Michał Zieliński! ( aosp/1493580 )

Версия 1.2.0-бета01

October 1, 2020

androidx.activity:activity:1.2.0-beta01 and androidx.activity:activity-ktx:1.2.0-beta01 are released. Версия 1.2.0-бета01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry now randomly generates integers until it finds one that is unallocated to use as a request code register() , thus preventing the possible integer overflow caused by incrementing request codes. ( b/168779518 )

  • Lifecycle observers are properly removed when calling unregister() on an ActivityResultLauncher . ( b/165608393 )

Behavior Changes

  • The ActivityResultRegistry now throws an IllegalStateException when attempting to call register() with a LifecycleOwner whose Lifecycle has already reached STARTED . ( b/165435866 )

Documentation Updated

  • ContextAware documentation links to LifecycleOwner to highlight Lifecycle callbacks as the appropriate place for creation and destruction events. ( aosp/1414152 )

Версия 1.2.0-Alpha08

August 19, 2020

androidx.activity:activity:1.2.0-alpha08 and androidx.activity:activity-ktx:1.2.0-alpha08 are released. Версия 1.2.0-Alpha08 содержит эти коммиты.

Новые возможности

  • ComponentActivity now implements ContextAware , allowing you to add one or more OnContextAvailableListener instances which will receive a callback before the base Activity.onCreate() . ( b/161390636 )
    • A suspending Kotlin extension withContextAvailable() allows you to run a non-suspending block when the Context becomes available and return a result. ( I8290c )
    • This API is used by FragmentActivity in Fragment 1.3.0-alpha08 to restore the state of the FragmentManager . Any listeners added to subclasses of FragmentActivity will run after that listener. ( I513da )
    • This API is used by AppCompatActivity in AppCompat 1.3.0-alpha02 . Any listeners added to subclasses of AppCompatActivity will run after that listener. ( I513da )

Исправления ошибок

  • Fixed an issue with the ActivityResultFragmentVersionDetector Lint check that caused it to break when using Lint 27.1.0 or higher. ( b/162155191 )

Версия 1.2.0-Alpha07

July 22, 2020

androidx.activity:activity:1.2.0-alpha07 and androidx.activity:activity-ktx:1.2.0-alpha07 are released. Версия 1.2.0-Alpha07 содержит эти коммиты.

Новые возможности

  • Added a new InvalidFragmentVersionForActivityResult lint check that verifies that you are using Fragment 1.3.0-alpha07 when using the Activity Result API , avoiding runtime crashes due to “invalid request code” issues and non-functioning permission requests caused by using older versions of Fragments. ( b/152554847 )

Внешний вклад

  • Fixed an ArrayIndexOutOfBoundsException when parsing the results for the RequestPermission Activity Result contract. ( I8f9e3 , b/161057605 )

Версия 1.2.0-Alpha06

June 10, 2020

androidx.activity:activity:1.2.0-alpha06 and androidx.activity:activity-ktx:1.2.0-alpha06 are released. Версия 1.2.0-Alpha06 содержит эти коммиты.

Новые возможности

  • You can now destructure the ActivityResult class in kotlin to directly access the requestCode and intent . ( b/157212935 )
  • ActivityResultLauncher now allows you to get the ActivityResultContract that was used to register the launcher. ( b/156875743 )

Изменения API

  • Breaking change : The invoke() method on ActivityResultRegistry has been renamed to onLaunch() . ( b/157496491 )
  • The OpenMultipleDocuments contract now returns an empty list instead of null to the registered callback if no result is returned. ( b/157348014 )

Версия 1.2.0-Alpha05

May 20, 2020

androidx.activity:activity:1.2.0-alpha05 and androidx.activity:activity-ktx:1.2.0-alpha05 are released. Версия 1.2.0-Alpha05 содержит эти коммиты.

Новые возможности

Изменения API

  • The TakePicture contract now returns a boolean indicating success rather than a thumbnail Bitmap as this was very rarely supported by camera apps when writing the image to the provided Uri . ( b/154302879 )
  • The invoke() extensions on ActivityResultLauncher have been removed in favor of explicitly using launch() to better indicate that these are asynchronous operations. Kotlin extensions for launch have been added to the androidx.activity.result package for ActivityResultLauncher<Void> and ActivityResultLauncher<Unit> that remove the need to pass in null or Unit , respectively, mirroring that behavior from the previously invoke() extensions. ( aosp/1304674 , aosp/1304675 )
  • The IntentSenderRequest.Builder methods for setFlagsMask() and setFlagsValues() has been combined into a single setFlags() method. ( aosp/1302111 )

Исправления ошибок

  • When registering an ActivityResultCallback with a LifecycleOwner , fixed an issue where the callback would be triggered before the state reaches STARTED . ( aosp/1309744 )

Behavior Changes

  • The ActivityResultRegistry now generates request codes starting at 0xFFFF rather than at 0 , preventing overlap when using startActivityForResult() or requestPermissions() in an activity. ( aosp/1302324 )

Версия 1.2.0-Alpha04

April 29, 2020

androidx.activity:activity:1.2.0-alpha04 and androidx.activity:activity-ktx:1.2.0-alpha04 are released. Версия 1.2.0-Alpha04 содержит эти коммиты.

Новые возможности

  • Added a contract that can call startIntentSenderForResult to the ActivityResult APIs. ( b/153007517 )

Изменения API

  • The prepareCall() method has been renamed to registerForActivityResult() , both on ComponentActivity here and in Fragment 1.3.0-alpha04 . ( aosp/1278717 )
  • The GetContents , OpenDocuments , and RequestPermissions contracts have been renamed to GetMultipleContents , OpenMultipleDocuments , and RequestMultiplePermissions , respectively. ( aosp/1280161 )
  • ComponentActivity now implements the ActivityResultRegisteryOwner interface. ( aosp/1290888 )
  • - The startActivityForResult() / onActivityResult() and onRequestPermissionsResult() APIs on ComponentActivity have been deprecated. Please use the Activity Result APIs . ( b/154751887 )

Исправления ошибок

  • When using the GetMultipleContents and OpenMultipleDocuments contracts and selecting a single item, it is now correctly returned to your callback. ( b/152941153 )

Версия 1.2.0-Alpha03

April 1, 2020

androidx.activity:activity:1.2.0-alpha03 and androidx.activity:activity-ktx:1.2.0-alpha03 are released. Версия 1.2.0-Alpha03 содержит эти коммиты.

Новые возможности

  • Added the TakeVideo , PickContact , GetContent , GetContents , OpenDocument , OpenDocuments , OpenDocumentTree , and CreateDocument contracts to the set of pre-built contracts provided by ActivityResultContracts . ( aosp/1262482 , aosp/1266916 , aosp/1268960 )
  • The Activity Result APIs now support launching an activity for result with an optional ActivityOptionsCompat . ( b/151860054 )

Изменения API

  • The TakePicture contract now takes a Uri input for where the image should be stored. The previous contract that does not take any input has been renamed to TakePicturePreview . ( aosp/1262482 )
  • The registerActivityResultCallback() method on ActivityResultRegistry has been renamed to register() . ( aosp/1267621 )
  • The dispose() method on ActivityResultLauncher has been renamed to unregister() and the unregisterResultCallback() on ActivityResultRegistry has been removed. ( aosp/1267621 )
  • The createIntent() method of ActivityResultContact now takes a Context in addition to the input to make it possible to create explicit Intents. ( aosp/1238800 )
  • An ActivityResultContract can now override getSynchronousResult() to deliver a result without calling startActivityForResult . This is used by the RequestPermission and RequestPermissions contracts to correctly deliver a 'granted' status if the requested permissions are already granted. ( b/151110799 )
  • The previously available Dial contract has been removed as that Intent is not meant to be used with startActivityForResult() . ( aosp/1266916 )
  • Many of the Activity Result APIs not meant to be extended are now final . This includes getActivityResultRegistry() , the prepareCall() methods, all methods of ActivityResultRegistry except invoke() , and a number of the default contracts that do not support optional extras. ( b/152439361 )

Исправления ошибок

  • Fixed a NullPointerException in ActivityResultRegistry when attempting to deliver results to a callback that has not yet been re-registered after a configuration change; ActivityResultRegistry now holds onto these pending results and delivers them when the callback is re-registered. ( b/152137004 )

Версия 1.2.0-Alpha02

March 18, 2020

androidx.activity:activity:1.2.0-alpha02 and androidx.activity:activity-ktx:1.2.0-alpha02 are released. Версия 1.2.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ActivityResultRegistry : ComponentActivity now provides an ActivityResultRegistry that lets you handle the startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity . ( b/125158199 )

Версия 1.2.0-Alpha01

March 4, 2020

androidx.activity:activity:1.2.0-alpha01 and androidx.activity:activity-ktx:1.2.0-alpha01 are released. Версия 1.2.0-Alpha01 содержит эти коммиты.

Новые возможности

  • Added support for the ViewTreeLifecycleOwner.get(View) API added in Lifecycle 2.3.0-alpha01 such that it will return the Activity as the LifecycleOwner for any Views directly added to the Activity. ( aosp/1182955 )

Исправления ошибок

  • Fixed a regression introduced in Activity 1.1.0 when running on older versions of the platform where onBackPressed() would cause an IllegalStateException due to a bug in the android.app.FragmentManager . ( b/146290338 )

Версия 1.1.0

Версия 1.1.0

January 22, 2020

androidx.activity:activity:1.1.0 is released. Версия 1.1.0 содержит эти коммиты .

Важные изменения с версии 1.0.0

  • Lifecycle ViewModel SavedState Integration : SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity or its subclasses.

Версия 1.1.0-RC03

December 4, 2019

androidx.activity:activity:1.1.0-rc03 and androidx.activity:activity-ktx:1.1.0-rc03 are released. Version 1.1.0-rc03 contains these commits .

Dependency changes

  • Activity now depends on Lifecycle 2.2.0-rc03 and Lifecycle ViewModel SavedState 1.0.0-rc03 .

Version 1.1.0-rc02

November 7, 2019

androidx.activity:activity:1.1.0-rc02 and androidx.activity:activity-ktx:1.1.0-rc02 are released. Version 1.1.0-rc02 contains these commits .

Dependency changes

  • Activity now depends on lifecycle 2.2.0-rc02 .

Версия 1.1.0-rc01

October 23, 2019

androidx.activity:activity:1.1.0-rc01 and androidx.activity:activity-ktx:1.1.0-rc01 are released with no changes from 1.1.0-beta01 . Версия 1.1.0-rc01 содержит эти коммиты .

Версия 1.1.0-бета01

October 9, 2019

androidx.activity:activity:1.1.0-beta01 and androidx.activity:activity-ktx:1.1.0-beta01 are released. Версия 1.1.0-beta01 содержит эти коммиты .

Dependency changes

  • Activity now depends on SavedState 1.0.0 stable.

Версия 1.1.0-Alpha03

September 5, 2019

androidx.activity:activity:1.1.0-alpha03 and androidx.activity:activity-ktx:1.1.0-alpha03 are released. The commits included in this version can be found here .

New features

  • Activity now depends on Core 1.1.0 stable.

Исправления ошибок

Версия 1.1.0-Alpha02

August 7, 2019

androidx.activity:activity:1.1.0-alpha02 and androidx.activity:activity-ktx:1.1.0-alpha02 are released. The commits included in this version can be found here .

New features

  • SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity ( b/135716331 )

Версия 1.1.0-альфа01

July 2, 2019

androidx.activity:activity:1.1.0-alpha01 and androidx.activity:activity-ktx:1.1.0-alpha01 are released. The commits included in this version can be found here .

New features

  • activity now depends on Lifecycle 2.2.0-alpha02 . ( aosp/1007817 )
  • activity-ktx added a dependency on lifecycle-runtime-ktx ; you no longer need to explicitly add it to your dependencies when using activity-ktx or libraries that depend on activity-ktx (such as fragment-ktx ). ( aosp/987162 )

Версия 1.0.0

Версия 1.0.0

September 5, 2019

androidx.activity:activity:1.0.0 and androidx.activity:activity-ktx:1.0.0 are released. The commits included in this version can be found here .

Major Features of 1.0.0

  • ComponentActivity : ComponentActivity serves as the new base class for FragmentActivity in Fragment 1.1.0 and, by extension, AppCompatActivity in AppCompat 1.1.0 .
  • activity-ktx : The activity-ktx module includes a by viewModels Kotlin property extension for accessing ViewModels. This module is automatically included when you include fragment-ktx from Fragment 1.1.0 .
  • OnBackPressedDispatcher : As a composable alternative to overriding onBackPressed() , you can now register a OnBackPressedCallback from any LifecycleOwner (such as a fragment) to intercept system back button events. A lambda with receiver version addCallback has been added to activity-ktx . See Provide custom back navigation documentation for more details.
  • onRetainCustomNonConfigurationInstance deprecation : the onRetainCustomNonConfigurationInstance() and the related getLastCustomNonConfigurationInstance() APIs have been deprecated. It is strongly recommended to use ViewModels to store non-configuration state as they offer a composable solution suitable for any ViewModelStoreOwner that makes the ownership of the retained objects clear and provides an onCleared() callback for cleaning up resources when the activity is finally destroyed.

Версия 1.0.0-RC01

July 2, 2019

androidx.activity:activity:1.0.0-rc01 and androidx.activity:activity-ktx:1.0.0-rc01 are released with no changes from 1.0.0-beta01 . The commits included in this version can be found here .

Версия 1.0.0-бета01

June 5, 2019

androidx.activity::activity:1.0.0-beta01 and androidx.activity:activity-ktx:1.0.0-beta01 are released with no changes from 1.0.0-alpha08 . The commits included in this version can be found here .

Version 1.0.0-alpha08

May 7, 2019

androidx.activity:activity:1.0.0-alpha08 and androidx.activity:activity-ktx:1.0.0-alpha08 are released. The commits included in this version can be found here .

API changes

  • Breaking change: The previously deprecated addOnBackPressedCallback and removeOnBackPressedCallback methods on ComponentActivity have been removed. aosp/953857
  • The setEnabled() and isEnabled() methods of OnBackPressedCallback are now final. b/131416833
  • The remove() method of OnBackPressedCallback is now final. aosp/952720
  • OnBackPressedDispatcher now has public constructors, allowing you to construct your own instances for testing, etc. aosp/953431
  • onBackPressed() for ComponentActivity is now explicitly marked as @MainThread aosp/952721

Исправления ошибок

  • Fixed a ConcurrentModificationException when calling remove() from within the handleOnBackPressed() method of a OnBackPressedCalback that was added with a LifecycleOwner . b/131765095

Version 1.0.0-alpha07

April 25th, 2019

androidx.activity:activity:1.0.0-alpha07 and androidx.activity:activity-ktx:1.0.0-alpha07 are released. The commits included in this version can be found here .

API changes

This release makes significant changes to the handling of the onBackPressed() . See the updated custom back documentation for more details.

  • The methods for OnBackPressedCallback and OnBackPressedDispatcher have been marked as @MainThread . ( aosp/943813 )
  • The handleOnBackPressed() method no longer returns a boolean . Instead, OnBackPressedCallback is now an abstract class that can be enabled or disabled - only when the new isEnabled() method returns true will handleOnBackPressed() be called, in which you must handle the back button. ( aosp/944518 )
  • The addCallback methods of OnBackPressedDispatcher no longer return a Cancellable instance. OnBackPressedCallback now contain a remove() method that fulfill this functionality, allowing you to call remove() during handleOnBackPressed() . ( aosp/944519 ) ( aosp/946316 )
  • activity-ktx now contains a receiver scoped callback for addCallback that accepts a lamdba that implements handleOnBackPressed() and has access to isEnabled and remove() ( aosp/944520 )

Version 1.0.0-alpha06

April 3rd, 2019

androidx.activity:activity:1.0.0-alpha06 and androidx.activity:activity-ktx:1.0.0-alpha06 are released. The commits included in this version can be found here .

API changes

  • ComponentActivity now contain a second constructor that takes a @LayoutRes int , which replaces the previous behavior of annotating your AppCompatActivity class with @ContentView . This approach works in both app and library modules. ( b/128352521 )
  • The OnBackPressedCallback related APIs on ComponentActivity have been deprecated in favor of the new OnBackPressedDispatcher , retrievable via getOnBackPressedDispatcher() . ( aosp/922523 )
  • Methods to add a new OnBackPressedCallback to the OnBackPressedDispatcher now return a Cancellable object, allowing removal of the callback without requiring an explicit reference to the OnBackPressedDispatcher . ( aosp/922523 )
  • Adding a OnBackPressedCallback with an associated LifecycleOwner now results in adding and removing the OnBackPressedCallback as the Lifecycle is started and stopped, respectively. ( aosp/922523 )

Версия 1.0.0-альфа05

March 13th, 2019

androidx.activity:activity:1.0.0-alpha05 and androidx.activity:activity-ktx:1.0.0-alpha05 are released. The full list of commits included in this release can be found here .

New features

  • @ContentView annotation lookups are now cached ( b/123709449 )

Версия 1.0.0-альфа04

January 30, 2019

androidx.activity:activity 1.0.0-alpha04 and androidx.activity:activity-ktx 1.0.0-alpha04 are released.

New features

  • Added support for the @ContentView class annotation that allows you to indicate which layout XML file should be inflated as an alternative to using setContentView() . ( aosp/837619 )

API changes

  • Added a note that getViewModelStore() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/837619 )

Исправления ошибок

  • The activity module now depends on version 2.1.0-alpha02 of ViewModel to match the activity-ktx module's dependency.

Version 1.0.0-alpha03

December 17, 2018

androidx.activity 1.0.0-alpha03 is released.

New features

  • ComponentActivity now implements BundleSavedStateRegistryOwner and depends on the newly released SavedState library [ aosp/815133 ]
  • ComponentActivity now works around an Android framework bug that would cause InputMethodManager to leak the last focused view [ b/37122102 ]

Версия 1.0.0-альфа02

December 3, 2018

API changes

  • Added a note that getLifecycle() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/815834 )

Версия 1.0.0-альфа01

November 5, 2018

androidx.activity 1.0.0-alpha01 introduces ComponentActivity , a new base class of the existing FragmentActivity and AppCompatActivity .

New features

  • You can now register an OnBackPressedCallback via addOnBackPressedCallback to receive onBackPressed() callbacks without needing to override the method in your activity.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModel s from a ComponentActivity .
  • Pending input events (such as clicks) are now canceled in onStop() .

API changes

  • The implementation of LifecycleOwner and ViewModelStoreOwner have been moved from FragmentActivity to ComponentActivity .
  • onRetainCustomNonConfigurationInstance has been deprecated. Use a ViewModel for storing objects that need to survive configuration changes.
,

Активность

Access composable APIs built on top of Activity.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
9 апреля 2025 г. 1.10.1 - 1.11.0-beta01 -

Объявление зависимостей

To add a dependency on Activity, you must add the Google Maven repository to your project. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    def activity_version = "1.10.1"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Котлин

dependencies {
    val activity_version = "1.10.1"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Version 1.11

Version 1.11.0-beta01

9 апреля 2025 г.

androidx.activity:activity:1.11.0-beta01 , androidx.activity:activity-compose:1.11.0-beta01 , and androidx.activity:activity-ktx:1.11.0-beta01 are released. Version 1.11.0-beta01 contains these commits .

Version 1.11.0-alpha02

26 марта 2025 г.

androidx.activity:activity:1.11.0-alpha02 , androidx.activity:activity-compose:1.11.0-alpha02 , and androidx.activity:activity-ktx:1.11.0-alpha02 are released. Version 1.11.0-alpha02 contains these commits .

Изменения API

  • Integrated the new EDGE_NONE and frameTimeMillis from Android 16 Beta03 into the BackEventCompat provided by OnBackPressedCallback 's handleOnBackStarted and handleOnBackProgressed functions.

Обновления зависимости

Version 1.11.0-alpha01

12 марта 2025 г.

androidx.activity:activity:1.11.0-alpha01 , androidx.activity:activity-compose:1.11.0-alpha01 , and androidx.activity:activity-ktx:1.11.0-alpha01 are released. Version 1.11.0-alpha01 contains these commits .

Новые возможности

  • Added MediaCapabilities API to PickVisualMediaRequest to let applications specify its media capabilities, such as supported HDR Types. ( Ic3ee7 )

Version 1.10

Version 1.10.1

26 февраля 2025 г.

androidx.activity:activity:1.10.1 , androidx.activity:activity-compose:1.10.1 , and androidx.activity:activity-ktx:1.10.1 are released. Version 1.10.1 contains these commits .

Исправления ошибок

  • ViewTree OnBackPressedDispatcherOwners and FullyDrawnReporterOwners can now be resolved through disjoint parents of a view, such as a ViewOverlay . See the release notes of core or the documentation in ViewTree.setViewTreeDisjointParent for more information on disjoint view parents. ( Ie7750 )

Version 1.10.0

15 января 2025 г.

androidx.activity:activity:1.10.0 , androidx.activity:activity-compose:1.10.0 , and androidx.activity:activity-ktx:1.10.0 are released. Version 1.10.0 contains these commits .

Important changes since 1.9.0

  • PhotoPicker now allows picking images in order and choosing which tab (either albums or images) should be initially visible.
  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts that trigger the Photo Picker no longer directly delegates to Google Play services if the system Photo picker is not available, but uses the public ACTION_SYSTEM_FALLBACK_PICK_IMAGES action and related extras to provide a consistent Photo Picker experience to OEMs and system apps as a fallback.
  • New LocalActivity composition local that provides the Activity for the current scope, removing the need for developers to get an Activity from the LocalContext .

Version 1.10.0-rc01

11 декабря 2024 г.

androidx.activity:activity:1.10.0-rc01 , androidx.activity:activity-compose:1.10.0-rc01 , and androidx.activity:activity-ktx:1.10.0-rc01 are released. Version 1.10.0-rc01 contains these commits .

Исправления ошибок

  • Fixed an issue where changing the enabled state while the PredictiveBackHandler is currently active would short circuit the callback immediately. It will now finish the current callback regardless of the enabled status changes. ( Ib8719 )

Version 1.10.0-beta01

13 ноября 2024 г.

androidx.activity:activity:1.10.0-beta01 , androidx.activity:activity-compose:1.10.0-beta01 , and androidx.activity:activity-ktx:1.10.0-beta01 are released with no changes since the last alpha. Version 1.10.0-beta01 contains these commits .

Version 1.10.0-alpha03

30 октября 2024 г.

androidx.activity:activity:1.10.0-alpha03 , androidx.activity:activity-compose:1.10.0-alpha03 , and androidx.activity:activity-ktx:1.10.0-alpha03 are released. Version 1.10.0-alpha03 contains these commits .

Изменения API

  • Added a new LocalActivity composition local that provides the Activity for the current scope, removing the need for developers to get an Activity from the LocalContext . It also comes with a new lint rule that checks when the LocalContext is incorrectly being cast to an Activity . ( I7746a , b/283009666 )

Исправления ошибок

  • From Activity 1.9.3 : PredictiveBackHandler will no longer fire it's callback after the handler has been disabled. This will fix an issue where the NavHost from Navigation Compose would throw an IndexOutOfBoundsException . ( I3f75e , b/365027664 , b/340202286 )

Dependency Update

Version 1.10.0-alpha02

4 сентября 2024 г.

androidx.activity:activity:1.10.0-alpha02 , androidx.activity:activity-compose:1.10.0-alpha02 , and androidx.activity:activity-ktx:1.10.0-alpha02 are released. Version 1.10.0-alpha02 contains these commits .

Behavior Changes

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts that trigger the Photo Picker no longer directly delegates to Google Play services if the system Photo picker is not available, but uses the public ACTION_SYSTEM_FALLBACK_PICK_IMAGES action and related extras to provide a consistent Photo Picker experience to OEMs and system apps as a fallback. This should have no effect on the user experience for devices that have a recent version of Google Play services. ( I3513d )

Исправления ошибок

  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( I9496c , b/345472586 )
  • From Activity 1.9.2 : Fixed an issue where the Activity Compose PredictiveBackHandler API would continue to handle the system back gesture on the frame it was disabled, which could result in libraries like Navigation Compose to handle back even with an empty back stack, resulting in it throwing an IndexOutOfBoundsException . ( Ie3301 , b/340202286 )
  • From Activity 1.9.1 : Fixed an issue with PredictiveBackHandler where after doing system back, attempting to do onBackPressed from the OnBackPressedDispatcher would fail. ( I5f1f8 )

Version 1.10.0-alpha01

26 июня 2024 г.

androidx.activity:activity:1.10.0-alpha01 , androidx.activity:activity-compose:1.10.0-alpha01 , and androidx.activity:activity-ktx:1.10.0-alpha01 are released. This version is developed in an internal branch.

Новые возможности

  • Added support for new PhotoPicker features introduced in Android V including being able to pick images in order and choose which tab (either albums or images) should be initially visible.

Version 1.9

Version 1.9.3

16 октября 2024 г.

androidx.activity:activity:1.9.3 , androidx.activity:activity-compose:1.9.3 , and androidx.activity:activity-ktx:1.9.3 are released. Version 1.9.3 contains these commits .

Исправления ошибок

  • PredictiveBackHandler will no longer fire it's callback after the handler has been disabled. This will fix an issue where the NavHost from Navigation Compose would throw an IndexOutOfBoundsException . ( I3f75e , b/340202286 )

Version 1.9.2

4 сентября 2024 г.

androidx.activity:activity:1.9.2 , androidx.activity:activity-compose:1.9.2 , and androidx.activity:activity-ktx:1.9.2 are released. Version 1.9.2 contains these lthcocommits .

Исправления ошибок

  • Fixed an issue where the Activity Compose PredictiveBackHandler API would continue to handle the system back gesture on the frame it was disabled, which could result in libraries like Navigation Compose to handle back even with an empty back stack, resulting in it throwing an IndexOutOfBoundsException . ( Ie3301 , b/340202286 )

Version 1.9.1

24 июля 2024 г.

androidx.activity:activity:1.9.1 , androidx.activity:activity-compose:1.9.1 , and androidx.activity:activity-ktx:1.9.1 are released. Version 1.9.1 contains these commits .

Исправления ошибок

  • Fixed an issue with PredictiveBackHandler where after doing system back, attempting to do onBackPressed from the OnBackPressedDispatcher would fail. ( I5f1f8 )

Version 1.9.0

17 апреля 2024 г.

androidx.activity:activity:1.9.0 , androidx.activity:activity-compose:1.9.0 , and androidx.activity:activity-ktx:1.9.0 are released. Version 1.9.0 contains these commits .

Important changes since 1.8.0

  • ComponentActivity now implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint events.
  • The OnBackPressedCallback , BackHandler , and PredictiveBackHandler APIs now warn when calling onBackPressedDispatcher.onBackPressed() when handling back as that will always break the Predictive Back Animation . See the best practices guide for more details.
  • The remainder of the Activity APIs have been rewritten in Kotlin and all extensions previously available in activity-ktx have been moved to activity . activity-ktx is now completely empty.
    • As part of the conversion of ActivityResultLauncher to Kotlin, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin.

Version 1.9.0-rc01

3 апреля 2024 г.

androidx.activity:activity:1.9.0-rc01 , androidx.activity:activity-compose:1.9.0-rc01 , and androidx.activity:activity-ktx:1.9.0-rc01 are released. Version 1.9.0-rc01 contains these commits .

Dependency update

Version 1.9.0-beta01

20 марта 2024 г.

androidx.activity:activity:1.9.0-beta01 , androidx.activity:activity-compose:1.9.0-beta01 , and androidx.activity:activity-ktx:1.9.0-beta01 are released. Version 1.9.0-beta01 contains these commits .

Исправления ошибок

  • Fixed an Activity startup performance regression introduced in Activity 1.9.0-alpha02 caused by calling the OnBackPressedDispatcher as part of the creation of the Activity. ( Ie75e3 )

Version 1.9.0-alpha03

7 февраля 2024 г.

androidx.activity:activity:1.9.0-alpha03 , androidx.activity:activity-compose:1.9.0-alpha03 , and androidx.activity:activity-ktx:1.9.0-alpha03 are released. Version 1.9.0-alpha03 contains these commits.

Lint Warning

Исправления ошибок

  • If a back event is sent from the system started during an already running Predictive Back Gesture, the currently running Predictive Back Gesture is canceled and the new back event takes over to begin a new Predictive Back Gesture. ( I3482e )
  • Fixed a crash when accessing the onBackPressedDispatcher from a ComponentActivity for the first time from a background thread. It is now safe to access the onBackPressedDispatcher on any thread. ( I79955 )

Version 1.9.0-alpha02

24 января 2024 г.

androidx.activity:activity:1.9.0-alpha02 , androidx.activity:activity-compose:1.9.0-alpha02 , and androidx.activity:activity-ktx:1.9.0-alpha02 are released. Version 1.9.0-alpha02 contains these commits.

Kotlin Conversions

  • ActivityResultRegistry has been rewritten in Kotlin. This ensures that the nullability of the generics on the contract passed to register will correctly be passed through to the ActivityResultLauncher returned to you. ( I121f0 )
  • ActivityResult has been rewritten in Kotlin. The ActivityResult Kotlin extensions that support destructuring into the resultCode and data fields have been moved from activity-ktx to activity . ( I0565a )
  • The Kotlin extensions of by viewModels() for ComponentActivity and trackPipAnimationHintView have been moved from activity-ktx to activity . The activity-ktx artifact is now completely empty. ( I0a444 )

Исправления ошибок

  • The enableEdgeToEdge API now draws around any display cutouts. ( a3644b , b/311173461 )
  • From Activity 1.8.2 : Fixed the extra passed to the Photo Picker Activity Contract's ACTION_SYSTEM_FALLBACK_PICK_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, rather than using the extra with the key "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. ( I96a00 )

Version 1.9.0-alpha01

29 ноября 2023 г.

androidx.activity:activity:1.9.0-alpha01 , androidx.activity:activity-compose:1.9.0-alpha01 , and androidx.activity:activity-ktx:1.9.0-alpha01 are released. Version 1.9.0-alpha01 contains these commits.

Новые возможности

  • ComponentActivity now implements OnUserLeaveHintProvider to allow components to callbacks for onUserLeaveHint events. ( I54892 )

Изменения API

  • ComponentActivity has been rewritten in Kotlin. ( I14f31 )
  • ActivityResultCaller has been rewritten in Kotlin. ( Ib02e4 )
  • ActivityResultLauncher has been rewritten in Kotlin. As part of that conversion, the getContract method is now an abstract Kotlin property. This is a binary compatible change, but source breaking if your implementation of ActivityResultLauncher is written in Kotlin. ( Id4615 )
  • PickVisualMediaRequest now has the same minimum API level of 19 as the PickVisualMedia Activity Result contract. ( Id6e21 )

Dependency Update

Версия 1.8

Version 1.8.2

13 декабря 2023 г.

androidx.activity:activity:1.8.2 , androidx.activity:activity-compose:1.8.2 , and androidx.activity:activity-ktx:1.8.2 are released. Version 1.8.2 contains these commits.

Исправления ошибок

  • Fixed the extra passed to the Photo Picker Activity Contract's ACTION_SYSTEM_FALLBACK_PICK_IMAGES to correctly pass it the EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX key, rather than using the extra with the key "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" . It is strongly recommended if you are an OEM who implements a system fallback Photo Picker to support both extras to ensure the widest compatibility. ( I96a00 )

Version 1.8.1

15 ноября 2023 г.

androidx.activity:activity:1.8.1 , androidx.activity:activity-compose:1.8.1 , and androidx.activity:activity-ktx:1.8.1 are released. Version 1.8.1 contains these commits.

Исправления ошибок

  • OnBackPressedDispatcher now continues to dispatch to the correct OnBackPressedCallback even after a new OnBackPressedCallback is added while the back gesture is being handled. ( Id0ff6 )

Version 1.8.0

4 октября 2023 г.

androidx.activity:activity:1.8.0 , androidx.activity:activity-compose:1.8.0 , and androidx.activity:activity-ktx:1.8.0 are released. Version 1.8.0 contains these commits.

Important changes since 1.7.0

  • Predictive Back - The OnBackPressedCallback now offers new Predictive Back callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previous handleOnBackPressed() callback for when the back gesture is committed. This also comes with the PredictiveBackHandler Composable to handle predictive back gesture events in Activity Compose. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

ComponentActivity.onBackPressed() has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher , rather than overriding this method.

  • EdgeToEdge - ComponentActivity.enableEdgeToEdge() has been added to easily set up the edge-to-edge display in a backward-compatible manner.

Версия 1.8.0-rc01

20 сентября 2023 г.

androidx.activity:activity:1.8.0-rc01 , androidx.activity:activity-compose:1.8.0-rc01 , and androidx.activity:activity-ktx:1.8.0-rc01 are released. Version 1.8.0-rc01 contains these commits.

Версия 1.8.0-бета01

6 сентября 2023 г.

androidx.activity:activity:1.8.0-beta01 , androidx.activity:activity-compose:1.8.0-beta01 , and androidx.activity:activity-ktx:1.8.0-beta01 are released. Version 1.8.0-beta01 contains these commits.

Documentation Improvement

  • Improved the documentation of BackEventCompat . ( aosp/2722254 )

Версия 1.8.0-альфа07

23 августа 2023 г.

androidx.activity:activity:1.8.0-alpha07 , androidx.activity:activity-compose:1.8.0-alpha07 , and androidx.activity:activity-ktx:1.8.0-alpha07 are released. Version 1.8.0-alpha07 contains these commits.

Новые возможности

  • Activity Compose has added a new PredictiveBackHandler Composable to handle predictive back gesture events. It provides a Flow of BackEventCompat objects that must be collected in the suspending lamba you provide:

    PredictiveBackHandler { progress: Flow<BackEventCompat> ->
      // code for gesture back started
      try {
        progress.collect { backEvent ->
        // code for progress
      }
      // code for completion
      } catch (e: CancellationException) {
        // code for cancellation
      }
    }
    

    It also comes with a compile time warning via lint rule to ensure the Flow calls collect() . ( Id2773 , b/294884345 )

  • The onBackPressedDispatcher in ComponentActivity is now initialized lazily so that it is only created when required. ( I0bf8e )

Исправления ошибок

  • ComponentActivity will no longer show a NPE on Android 13 when it gets an onBackPressed() callback and the Activity has already been DESTROYED . ( Idb055 , b/291869278 )
  • Removed usages of experimental isAtLeastU() API ( Ie9117 , b/289269026 )

Версия 1.8.0-альфа06

21 июня 2023 г.

androidx.activity:activity:1.8.0-alpha06 , androidx.activity:activity-compose:1.8.0-alpha06 , and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.

Новые возможности

  • The OnBackPressedDispatcher now correctly cancels any callbacks that are removed during a Predictive Back Gesture. ( I3f90f )

Изменения API

  • When passing SystemBarStyle.auto to the enableEdgeToEdge API, you can now override the detectDarkMode lambda parameter to provide custom logic for detecting night mode. ( aosp/2546393 , b/278263793 )

Версия 1.8.0-альфа05

7 июня 2023 г.

androidx.activity:activity:1.8.0-alpha05 , androidx.activity:activity-compose:1.8.0-alpha05 , and androidx.activity:activity-ktx:1.8.0-alpha05 are released. This version is developed in an internal branch.

Изменения API

  • Activity now provides a BackEventCompat class that serves as a backward compatible version of BackEvent that is decoupled from the framework BackEvent class.
  • Breaking change: The handleOnBackStarted and handleOnBackProgressed methods of OnBackPressedCallback now receive an androidx.activity.BackEventCompat instance rather than a framework android.window.BackEvent class. The equivalent @VisibleForTesting APIs on OnBackPressedDispatcher have also been updated.
  • The constructor for OnBackPressedDispatcher now takes an optional Consumer<Boolean> instance that allows the owners of the dispatcher to receive a callback whenever the number of enabled callbacks changes from zero to non-zero or vice versa.

Исправления ошибок

Версия 1.8.0-альфа04

10 мая 2023 г.

androidx.activity:activity:1.8.0-alpha04 , androidx.activity:activity-compose:1.8.0-alpha04 , and androidx.activity:activity-ktx:1.8.0-alpha04 are released. This was released from an internal branch.

Исправления ошибок

Версия 1.8.0-альфа03

April 12, 2023

androidx.activity:activity:1.8.0-alpha03 , androidx.activity:activity-compose:1.8.0-alpha03 , and androidx.activity:activity-ktx:1.8.0-alpha03 are released. This was released from an internal branch.

Новые возможности

  • Added ComponentActivity.setUpEdgeToEdge() to easily set up the edge-to-edge display in a backward-compatible manner.

Изменения API

  • ComponentActivity.onBackPressed() has now been deprecated in favor of the APIs for handling back. Developers should now utilize the OnBackPressedDispatcher , rather than overriding this method. ( Ibce2f , b/271596918 )
  • ComponentDialog and ComponentActivity now contain public API initViewTreeOwners() to be used to initialize all view tree owners before setting the content view. ( Ibdce0 , b/261314581 )

Исправления ошибок

  • Fixed an issue where Fragments were incorrectly invalidating MenuHosts and causing other menus in the Activity to have unexpected behavior. ( I9404e , b/244336571 )

Other Changes

  • The ActivityResultRegister now uses Kotlin Random instead of Java. ( I4d98f , b/272096025 )

Версия 1.8.0-альфа02

8 марта 2023 года

androidx.activity:activity:1.8.0-alpha02 , androidx.activity:activity-compose:1.8.0-alpha02 , and androidx.activity:activity-ktx:1.8.0-alpha02 are released. Developed from an internal branch.

Dependency update

Версия 1.8.0-альфа01

8 февраля 2023 г.

androidx.activity:activity:1.8.0-alpha01 , androidx.activity:activity-compose:1.8.0-alpha01 , and androidx.activity:activity-ktx:1.8.0-alpha01 are released. This was built from an internal branch.

Новые возможности

  • The OnBackPressedCallback class now contains new Predictive Back progress callbacks for handling the back gesture starting, progress throughout the gesture, and the back gesture being canceled in addition to the previous handleOnBackPressed() callback for when the back gesture is committed.

Версия 1.7

Версия 1.7.2

24 мая 2023 г.

androidx.activity:activity:1.7.2 , androidx.activity:activity-compose:1.7.2 , and androidx.activity:activity-ktx:1.7.2 are released. Version 1.7.2 contains these commits.

Исправления ошибок

  • Fix ReportDrawn crashing when navigating away from a screen before report is called. ( Ic46f1 , b/260506820 )

Версия 1.7.1

19 апреля 2023 года

androidx.activity:activity:1.7.1 , androidx.activity:activity-compose:1.7.1 , and androidx.activity:activity-ktx:1.7.1 are released. Version 1.7.1 contains these commits.

Исправления ошибок

  • The ReportFullyDrawExecuter no longer leaks when using ComponentActivity with ActivityScenario . ( Id2ff2 , b/277434271 )

Версия 1.7.0

22 марта 2023 года

androidx.activity:activity:1.7.0 , androidx.activity:activity-compose:1.7.0 , and androidx.activity:activity-ktx:1.7.0 are released. Version 1.7.0 contains these commits.

Важные изменения с версии 1.6.0

  • The Photo Picker activity contracts in PickVisualMedia and PickMultipleVisualMedia have been updated to contain an additional fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable that allows OEMs and system apps, such as Google Play services, to provide a consistent Photo Picker experience on a wider range of Android devices and API levels by implementing the fallback action . The Photo Picker will use this fallback if it is available before falling back to using Intent.ACTION_OPEN_DOCUMENT , which remains to support all API 19 and higher devices.
  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree . It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements.
  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent , rather than only a single flag.

Kotlin Conversion

A number of Activity classes have been converted to Kotlin. All converted classes still retain their binary compatibility with previous versions. The following classes have source incompatible changes for classes written in Kotlin: ActivityResultRegistryOwner , OnBackPressedDispatcherOwner .

The table below provides the source conversions for the new version of Activity:

Activity 1.5 Activity 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

These classes were also converted to Kotlin, but remain source compatible: ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest , and OnBackPressedDispatcher

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Three Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawn indicates that your composable is immediately ready for interaction.
  • ReportDrawnWhen takes a predicate (ie, list.count > 0 ) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Обновления зависимости

Версия 1.7.0-rc01

8 марта 2023 года

androidx.activity:activity:1.7.0-rc01 , androidx.activity:activity-compose:1.7.0-rc01 , and androidx.activity:activity-ktx:1.7.0-rc01 are released. Version 1.7.0-rc01 contains these commits.

Dependency update

Версия 1.7.0-бета02

22 февраля 2023 года

androidx.activity:activity:1.7.0-beta02 , androidx.activity:activity-compose:1.7.0-beta02 , and androidx.activity:activity-ktx:1.7.0-beta02 are released. Version 1.7.0-beta02 contains these commits.

Изменения API

  • The action and extra used by the PickVisualMedia and PickMultipleVisualMedia contracts as a fallback for when MediaStore.ACTION_PICK_IMAGES is unavailable are now public constants that provide API stability to OEMs and system apps that want to provide a consistent Photo Picker experience. The implementation of this fallback is still limited to only system apps. ( Icd320 )

Версия 1.7.0-бета01

8 февраля 2023 г.

androidx.activity:activity:1.7.0-beta01 , androidx.activity:activity-compose:1.7.0-beta01 , and androidx.activity:activity-ktx:1.7.0-beta01 are released. Version 1.7.0-beta01 contains these commits.

Новые возможности

  • IntentSenderRequest.Builder.setFlags() now allows you to set multiple flags from Intent , rather than only a single flag. ( Iac04c )

Исправления ошибок

  • The fallback for PickVisualMedia for when the framework Photo Picker is unavailable now correctly limits the handling to apps installed in the device's system image. ( If8ae6 )

Kotlin Conversions

  • ActivityResultRegistryOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now override the activityResultRegistry property rather than implementing the previous getActivityResultRegistry() function. ( I0b00e )
  • OnBackPressedDispatcherOwner is now written in Kotlin. This is a source incompatible change for those classes written in Kotlin - you must now override the onBackPressedDispatcher property rather than implementing the previous getOnBackPressedDispatcher function. ( Ia277d )
  • ContextAware , ContextAwareHelper , OnContextAvailableListener , IntentSenderRequest and OnBackPressedDispatcher are now written in Kotlin. ( I1a73e , Iada92 , aosp/2410754 , I18ac7 , b/257291701 )

Версия 1.7.0-альфа04

25 января 2023 года

androidx.activity:activity:1.7.0-alpha04 , androidx.activity:activity-compose:1.7.0-alpha04 , and androidx.activity:activity-ktx:1.7.0-alpha04 are released. Version 1.7.0-alpha04 contains these commits.

Новые возможности

  • The PickVisualMedia and PickMultipleVisualMedia Activity Result contracts will now use a Google Play services provided Photo Picker where available in cases where the Android system provided Photo Picker (eg, MediaStore.ACTION_PICK_IMAGES ) is not available. The isPhotoPickerAvailable() API that only detects the Android system provided Photo Picker has been deprecated. It is recommended to use the new isPhotoPickerAvailable(Context) API, which will return if either Photo Picker is available. ( I55be6 )

Версия 1.7.0-альфа03

11 января 2023 г.

androidx.activity:activity:1.7.0-alpha03 , androidx.activity:activity-compose:1.7.0-alpha03 , and androidx.activity:activity-ktx:1.7.0-alpha03 are released. Версия 1.7.0-alpha03 содержит эти коммиты.

Новые возможности

  • ComponentDialog now implements SavedStateRegistryOwner and has access to its own SavedStateRegistry and sets the SavedStateRegistryOwner for its ViewTree. It is now possible to use Jetpack Compose within a ComponentDialog as it meets both the LifecycleOwner and SavedStateRegistryOwner attached to the Window via the ViewTree APIs requirements. ( Idca17 , I73468 b/261162296 )

Изменения API

  • Added a ReportDrawn composable that immediately marks the activity as ready to call reportFullyDrawn . ( Ic5b14 , b/259687964 )

Kotlin Conversions

  • The ActvitiyResultCallback and OnBackPressedCallback classes have both been converted to Kotlin while maintaining source and binary compatibility. ( Ifc5e5 , Ide1b0 , b/257291701 )

Версия 1.7.0-альфа02

24 октября 2022 года

androidx.activity:activity:1.7.0-alpha02 , androidx.activity:activity-compose:1.7.0-alpha02 , and androidx.activity:activity-ktx:1.7.0-alpha02 are released. Версия 1.7.0-alpha02 содержит эти коммиты.

Исправления ошибок

  • From Activity 1.6.1 : Fixed an issue with the PickMultipleVisualMedia Activity Result contract not launching on Android R devices when using the default value for maxItems . ( Ie2776 , b/249182130 )

Версия 1.7.0-альфа01

5 октября 2022 г.

androidx.activity:activity:1.7.0-alpha01 , androidx.activity:activity-compose:1.7.0-alpha01 , and androidx.activity:activity-ktx:1.7.0-alpha01 are released. Версия 1.7.0-alpha01 содержит эти коммиты.

FullyDrawnReporter APIs

ComponentActivity now provides a FullyDrawnReporter instance that allows multiple components to report when they are ready for interaction. ComponentActivity will wait for all components to complete before calling reportFullyDrawn() on your behalf. These APIs take care of the timing requirements for you and do not need to be called as part of an onDraw call.

These APIs are encouraged to enable:

  • Signaling the Android Runtime when startup completes, to ensure all of the code run during a multi-frame startup sequence is included and prioritized for background compilation.
  • Signaling Macrobenchmark and Play Vitals when your application should be considered fully drawn for startup metrics, so you can track performance.

Two Activity Compose APIs have been added to make it more convenient to use the FullyDrawnReporter from individual composables:

  • ReportDrawnWhen takes a predicate (ie, list.count > 0 ) to indicate when your composable is ready for interaction.
  • ReportDrawnAfter takes a suspending method that, when it completes, indicates that you are ready for interaction.

Версия 1.6.1

Версия 1.6.1

24 октября 2022 года

androidx.activity:activity:1.6.1 , androidx.activity:activity-compose:1.6.1 , and androidx.activity:activity-ktx:1.6.1 are released. Версия 1.6.1 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue with the PickMultipleVisualMedia Activity Result contract not launching on Android R devices when using the default value for maxItems . ( Ie2776 , b/249182130 )

Версия 1.6.0

Версия 1.6.0

21 сентября 2022 года

androidx.activity:activity:1.6.0 , androidx.activity:activity-compose:1.6.0 , and androidx.activity:activity-ktx:1.6.0 are released. Версия 1.6.0 содержит эти коммиты.

Важные изменения с версии 1.5.0

  • Added ActivityResultContracts.PickVisualMedia and ActivityResultContracts.PickMultipleVisualMedia for providing a backward compatible contract that uses MediaStore.ACTION_PICK_IMAGES when the Photo Picker is available and Intent.ACTION_OPEN_DOCUMENT when it is not available.
  • Integrated the OnBackInvokedCallback in Android 13 into the OnBackPressedDispatchers provided by ComponentActivity and ComponentDialog . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Version 1.6.0-rc02

7 сентября 2022 г.

androidx.activity:activity:1.6.0-rc02 , androidx.activity:activity-compose:1.6.0-rc02 , and androidx.activity:activity-ktx:1.6.0-rc02 are released. Version 1.6.0-rc02 contains these commits.

Исправления ошибок

  • OnBackPressedDispatcher now registers the OnBackInvokedCallback with the PRIORITY_DEFAULT instead of PRIORITY_OVERLAY . ( I3901f )
  • Classes that extend ComponentActivity will now always have both of their onMultiWindowModeChanged() callbacks dispatched. ( Ic4d85 )
  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )
  • ComponentActivity will now properly dispatch menu calls without the need to call the super function in your activity. ( Ie33c5 , b/238057118 )

Dependency Update

Версия 1.6.0-rc01

24 августа 2022 года

androidx.activity:activity:1.6.0-rc01 , androidx.activity:activity-compose:1.6.0-rc01 , and androidx.activity:activity-ktx:1.6.0-rc01 are released. Версия 1.6.0-rc01 содержит эти коммиты.

Исправления ошибок

  • Initializing an OnBackPressedDispatcher will no longer cause ClassVerificationError s when using SDK versions prior to 33. ( Ic32e1 )
  • Classes that override ComponentActivity 's onPictureInPictureModeChanged() callback will now always have their callbacks dispatched. ( Ib7fdb )

Версия 1.6.0-бета01

10 августа 2022 года

androidx.activity:activity:1.6.0-beta01 , androidx.activity:activity-compose:1.6.0-beta01 , and androidx.activity:activity-ktx:1.6.0-beta01 are released. Версия 1.6.0-beta01 содержит эти коммиты.

Изменения API

  • Marked the deprecated startActivityForResult and startIntentSenderForResult methods on ComponentActivity with @NonNull because passing null has always resulted in a crash. ( Id2a25 , b/231476082 )

Исправления ошибок

  • From Activity 1.5.1 : The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )
  • From Activity 1.5.1 : ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu() , onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. ( Ie33c5 , b/238057118 )

Dependency Update

Версия 1.6.0-альфа05

15 июня 2022 года

androidx.activity:activity:1.6.0-alpha05 , androidx.activity:activity-compose:1.6.0-alpha05 , and androidx.activity:activity-ktx:1.6.0-alpha05 are released. Version 1.6.0-alpha05 was developed in a private pre-release branch and has no public commits.

Изменения API

  • minCompileSdk is now 33 to align with Tiramisu Beta 3 SDK

Исправления ошибок

  • Fixed crash on older devices when doing SDK extension check for the PickVisualMedia ActivityResultContract so that it should now work with ACTION_OPEN_DOCUMENT on devices running Android 10 and lower.

Версия 1.6.0-альфа04

18 мая 2022 года

androidx.activity:activity:1.6.0-alpha04 and androidx.activity:activity-ktx:1.6.0-alpha04 are released.

Исправления ошибок

  • Fixed an error in PickVisualMediaRequest where attempting to create a request, either via the Builder or the top level Kotlin function, would result in a stack overflow.
  • Integrated the OnBackInvokedCallback in Android 13 Dev Beta 2 into the OnBackPressedDispatcher provided by ComponentDialog . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Версия 1.6.0-альфа03

April 27, 2022

androidx.activity:activity:1.6.0-alpha03 , androidx.activity:activity-compose:1.6.0-alpha03 , and androidx.activity:activity-ktx:1.6.0-alpha03 are released.

  • Note: This version will only compile against the Android 13 Developer Beta 1 SDK.

Новые возможности

  • Added ActivityResultContracts.PickVisualMedia and ActivityResultContracts.PickMultipleVisualMedia for providing a backward compatible contract that uses MediaStore.ACTION_PICK_IMAGES when the Photo Picker is available and Intent.ACTION_OPEN_DOCUMENT when it is not available.
  • Integrated the OnBackInvokedCallback in Android 13 Dev Beta 1 into the OnBackPressedDispatcher provided by ComponentActivity . This ensures that all APIs built on OnBackPressedDispatcher work when enabling a predictive back gesture .

Версия 1.6.0-альфа01

23 марта 2022 года

androidx.activity:activity:1.6.0-alpha01 , androidx.activity:activity-compose:1.6.0-alpha01 , and androidx.activity:activity-ktx:1.6.0-alpha01 are released.

  • Note: This version will only compile against the Android 13 Developer Preview 2 SDK.

Новые возможности

  • Integrated changes in Android 13 Dev Preview 2 into ComponentActivity .

Версия 1.5.1

Версия 1.5.1

27 июля 2022 года

androidx.activity:activity:1.5.1 , androidx.activity:activity-compose:1.5.1 , and androidx.activity:activity-ktx:1.5.1 are released. Версия 1.5.1 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch() call throws any Exception and the callback was registered without a LifecycleOwner . ( Ia7ff7 , b/238350794 )

  • ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu() , onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. ( Ie33c5 , b/238057118 )

Dependency update

Версия 1.5.0

Версия 1.5.0

29 июня 2022 года

androidx.activity:activity:1.5.0 , androidx.activity:activity-compose:1.5.0 , and androidx.activity:activity-ktx:1.5.0 are released. Версия 1.5.0 содержит эти коммиты.

Important changes since 1.4.0

  • ComponentDialog - ComponentDialog is a subclass of Dialog that includes an OnBackPressedDispatcher that will be called when the system back button is pressed and the dialog is visible. Importantly, this subclass also sets the ViewTreeOnBackPressedDispatcherOwner , allowing views a generic way to retrieve the correct dispatcher whether it exists in a ComponentActivity or a ComponentDialog .
  • Callback Interfaces - ComponentActivity now implements a set of modular callback interfaces that can be used instead of the Activity callbacks. These interfaces include the following: OnNewIntentProvider , OnConfigurationChangedProvider , OnTrimMemoryProvider , OnPictureInPictureModeChangedProvider , OnMultiWindowModeChangedProvider
  • CreationExtras Integration - ComponentActivity now has the ability to provide a stateless ViewModelProvider.Factory via Lifecycle 2.5.0 's CreationExtras .

Другие изменения

  • The no parameter constructor for ActivityResultContracts.CreateDocument has been deprecated and replaced with a new constructor that takes a concrete mime type (eg, "image/png") as is required by Intent.ACTION_CREATE_DOCUMENT .

Версия 1.5.0-rc01

11 мая 2022 года

androidx.activity:activity:1.5.0-rc01 , androidx.activity:activity-compose:1.5.0-rc01 , and androidx.activity:activity-ktx:1.5.0-rc01 are released with no changes from 1.5.0-beta01. Версия 1.5.0-rc01 содержит эти коммиты.

Версия 1.5.0-бета01

20 апреля 2022 года

androidx.activity:activity:1.5.0-beta01 , androidx.activity:activity-compose:1.5.0-beta01 , and androidx.activity:activity-ktx:1.5.0-beta01 are released. Версия 1.5.0-beta01 содержит эти коммиты.

Dependency updates

Version 1.5.0-alpha05

6 апреля 2022 года

androidx.activity:activity:1.5.0-alpha05 , androidx.activity:activity-compose:1.5.0-alpha05 , and androidx.activity:activity-ktx:1.5.0-alpha05 are released. Version 1.5.0-alpha05 contains these commits.

Исправления ошибок

  • ComponentActivity 's onPanelClosed() now calls the super onPanelClosed() as well, fixing an issue where the onContextMenuClosed method would not be called. ( Ib6f77 )

Версия 1.5.0-альфа04

23 марта 2022 года

androidx.activity:activity:1.5.0-alpha04 , androidx.activity:activity-compose:1.5.0-alpha04 , and androidx.activity:activity-ktx:1.5.0-alpha04 are released. Версия 1.5.0-alpha04 содержит эти коммиты.

Исправления ошибок

  • SavedStateViewFactory now supports using CreationExtras even when it was initialized with a SavedStateRegistryOwner . If extras are provided, the initialized arguments are ignored. ( I6c43b , b/224844583 )

Версия 1.5.0-Alpha03

23 февраля 2022 года

androidx.activity:activity:1.5.0-alpha03 , androidx.activity:activity-compose:1.5.0-alpha03 , and androidx.activity:activity-ktx:1.5.0-alpha03 are released. Версия 1.5.0-Alpha03 содержит эти коммиты.

Изменения API

  • You can now pass CreationExtras to the activity by viewModels() function ( I6a3e6 , b/217600303 )

Версия 1.5.0-Alpha02

9 февраля 2022 года

androidx.activity:activity:1.5.0-alpha02 , androidx.activity:activity-compose:1.5.0-alpha02 , and androidx.activity:activity-ktx:1.5.0-alpha02 are released. Версия 1.5.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ComponentActivity now implements the OnPictureInPictureModeChangedProvider interface to allow any component to receive picture-in-picture mode change events. ( I9f567 )
  • ComponentActivity now implements the OnMultiWindowModeChangedProvider interface to allow any component to receive multi-window mode change events. ( I62d91 )

Версия 1.5.0-Alpha01

26 января 2022 года

androidx.activity:activity:1.5.0-alpha01 , androidx.activity:activity-compose:1.5.0-alpha01 , and androidx.activity:activity-ktx:1.5.0-alpha01 are released. Версия 1.5.0-Alpha01 содержит эти коммиты.

Новые возможности

  • ComponentActivity now integrates with ViewModel CreationExtras, introduced as part of Lifecycle 2.5.0-alpha01 . ( Ie7e00 , b/207012584 )
  • Added ComponentDialog , a subclass of Dialog that includes an OnBackPressedDispatcher that will be called when the system back button is pressed when the dialog is visible. Importantly, this subclass also sets the ViewTreeOnBackPressedDispatcherOwner , allowing views a generic way to retrieve the correct dispatcher whether it exists in a ComponentActivity or a ComponentDialog . ( I8a1bc )
  • ComponentActivity now implements the new OnNewIntentProvider interface to allow any component to receive these events. ( If1f8b )
  • ComponentActivity now implements the new OnConfigurationChangedProvider interface to allow any component to receive these events. ( If623b )
  • ComponentActivity now implements the new OnTrimMemoryProvider interface to allow any component to receive these events. ( Ia9295 )

Изменения API

  • The no parameter constructor for ActivityResultContracts.CreateDocument has been deprecated and replaced with a new constructor that takes a concrete mime type (eg, "image/png" ) as is required by Intent.ACTION_CREATE_DOCUMENT . ( I2bec6 )
  • The OnBackPressedDispatcherOwner associated with a View can now be retrieved via the ViewTreeOnBackPressedDispatcherOwner , rather than relying on casting the Context . ( I74685 )

Исправления ошибок

  • Fixed a crash when accessing a ViewModel for the very first time from a registerForActivityResult() callback or the callbacks to a LifecycleObserver added as part of init of a ComponentActivity . ( Ife83f )

Версия 1.4.0

Версия 1.4.0

27 октября 2021 года

androidx.activity:activity:1.4.0 , androidx.activity:activity-compose:1.4.0 , and androidx.activity:activity-ktx:1.4.0 are released. Версия 1.4.0 содержит эти коммиты.

Важные изменения с 1.3.0

  • AndroidX ComponentActivity now implements the MenuHost interface. This allows any component to add menu items to the ActionBar by adding a MenuProvider instance to the activity. Each MenuProvider can optionally be added with a Lifecycle that will automatically control the visibility of those menu items based on the Lifecycle state and handle the removal of the MenuProvider when the Lifecycle is destroyed.
  • The ActivityResultContract class has been rewritten in Kotlin to ensure that developers writing custom contracts in Kotlin can define the correct nullability for their input and output classes.
  • The ActivityResultContracts class and its contracts have been rewritten in Kotlin to ensure the proper nullability.

Версия 1.4.0-RC01

13 октября 2021 года

androidx.activity:activity:1.4.0-rc01 , androidx.activity:activity-compose:1.4.0-rc01 , and androidx.activity:activity-ktx:1.4.0-rc01 are released. Версия 1.4.0-RC01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch call throws any Exception . ( If4f91 , b/200845664 )

Версия 1.4.0-бета01

29 сентября 2021 года

androidx.activity:activity:1.4.0-beta01 , androidx.activity:activity-compose:1.4.0-beta01 , and androidx.activity:activity-ktx:1.4.0-beta01 are released. Версия 1.4.0-бета01 содержит эти коммиты.

Изменения API

  • Fixed the type for the ActivityResultContracts.OpenMultipleDocuments and ActivityResultContracts.GetMultipleContents that caused then to use an output type of List<? extends Uri> when using the code from the Java programming language. ( If71de )
  • Public constants within the ActivityResultContracts.StartActivityForResult , ActivityResultContracts.StartIntentSenderForResult , and ActivityResultContracts.RequestMultiplePermissions classes are now accessible when using Kotlin via their now public Companion objects. ( aosp/1832555 )

Documentation Updates

  • The deprecation message for APIs now handled by the Activity Result APIs , namely startActivityForResult , startIntentSenderForResult , onActivityResult , requestPermissions , and onRequestPermissionsResult , have all been expanded with more details. ( cce80f )

Версия 1.4.0-Alpha02

15 сентября 2021 года

androidx.activity:activity:1.4.0-alpha02 , androidx.activity:activity-compose:1.4.0-alpha02 , and androidx.activity:activity-ktx:1.4.0-alpha02 are released. Версия 1.4.0-Alpha02 содержит эти коммиты.

Новые возможности

  • The activity-compose artifact now contains a LaunchDuringComposition lint error that prevents you from calling the launch method of ActivityResultLauncher as part of composition as composition should be side-effect free. Use the APIs for handling side-effects . ( 7c2bbe , b/191347220 )

Изменения API

  • The ActivityResultContract class has been rewritten in Kotlin to ensure that developers writing custom contracts in Kotlin can define the correct nullability for their input and output classes. ( I8a8f5 )
  • The ActivityResultContracts class and its contracts have been rewritten in Kotlin to ensure the proper nullability. ( I69802 )

Версия 1.4.0-Alpha01

1 сентября 2021 года

androidx.activity:activity:1.4.0-alpha01 , androidx.activity:activity-compose:1.4.0-alpha01 , and androidx.activity:activity-ktx:1.4.0-alpha01 are released. Версия 1.4.0-Alpha01 содержит эти коммиты.

Новые возможности

  • AndroidX ComponentActivity now implements the MenuHost interface.. This allows any component to add menu items to the ActionBar by adding a MenuProvider instance to the activity. Each MenuProvider can optionally be added with a Lifecycle that will automatically control the visibility of those menu items based on the Lifecycle state and handle the removal of the MenuProvider when the Lifecycle is destroyed. ( I3b608 ):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

Behavior Changes

  • The ActivityResultRegistry will now throw an IllegalStateException when attempting to call launch() on an ActivityResultLauncher that has not be registered or that has been unregistered. ( Ida75d , b/192567522 )

Внешний вклад

  • Thanks dmitrilc for fixing a typo in the ActivityResult documentation. ( #221 )

Версия 1.3.1

Версия 1.3.1

4 августа 2021 года

androidx.activity:activity:1.3.1 , androidx.activity:activity-compose:1.3.1 , and androidx.activity:activity-ktx:1.3.1 are released. Версия 1.3.1 содержит эти коммиты.

Dependency updates

  • Activity now depends on Kotlin 1.5.21 .
  • Activity Compose now depends on Compose 1.0.1 .

Версия 1.3.0

Версия 1.3.0

28 июля 2021 года

androidx.activity:activity:1.3.0 , androidx.activity:activity-compose:1.3.0 , and androidx.activity:activity-ktx:1.3.0 are released. Версия 1.3.0 содержит эти коммиты.

Важные изменения с 1.2.0

  • Activity Compose artifact - The activity-compose artifact provides the setContent extension method for hosting your Jetpack Compose UI in an activity and Compose specific wrappers for interacting with the ComponentActivity APIs for handling the system back button and the Activity Result APIs. See the documentation for more details.
  • CaptureVideo contract - The CaptureVideo ActivityResultContract replaces the now deprecated TakeVideo contract and returns a boolean denoting success that works across many camera apps.
  • Picture-In-Picture Hint View Tracking - Users of activity-ktx can now use the trackPipAnimationHintView extension method on Activity to automatically rebuild the PictureInPictureParams with the new position of the view as it changes position relative to the window.

Version 1.3.0-rc02

14 июля 2021 года

androidx.activity:activity:1.3.0-rc02 , androidx.activity:activity-compose:1.3.0-rc02 , and androidx.activity:activity-ktx:1.3.0-rc02 are released. Version 1.3.0-rc02 contains these commits.

Исправления ошибок

  • The ActivityResultRegistry callbacks are now properly saved and restored so callbacks are not duplicated in the savedState. ( I97816 , b/191893160 )

Версия 1.3.0-RC01

1 июля 2021 года

androidx.activity:activity:1.3.0-rc01 , androidx.activity:activity-compose:1.3.0-rc01 , and androidx.activity:activity-ktx:1.3.0-rc01 are released with no changes from 1.3.0-beta02 . Версия 1.3.0-RC01 содержит эти коммиты.

Версия 1.3.0-бета02

16 июня 2021 года

androidx.activity:activity:1.3.0-beta02 , androidx.activity:activity-compose:1.3.0-beta02 , and androidx.activity:activity-ktx:1.3.0-beta02 are released. Версия 1.3.0-бета02 содержит эти коммиты.

Updated activity-compose to depend on Compose 1.0.0-beta09 . androidx.compose.ui:ui-test-junit4 now has a compile time dependency on activity-compose .

Версия 1.3.0-бета01

2 июня 2021 года

androidx.activity:activity:1.3.0-beta01 , androidx.activity:activity-compose:1.3.0-beta01 , and androidx.activity:activity-ktx:1.3.0-beta01 are released. Версия 1.3.0-бета01 содержит эти коммиты.

Изменения API

  • The previously deprecated @Composable registerForActivityResult() method has been removed. Please use rememberLauncherForActivityResult() . ( Ic39d3 )

Version 1.3.0-alpha08

May 18, 2021

androidx.activity:activity:1.3.0-alpha08 , androidx.activity:activity-compose:1.3.0-alpha08 , and androidx.activity:activity-ktx:1.3.0-alpha08 are released. Version 1.3.0-alpha08 contains these commits.

Новые возможности

  • The new CaptureVideo ActivityResultContract returns a boolean to your ActivityResultCallback indicating if your video was successfully saved to the given URI. This replaces the now deprecated TakeVideo contract as camera apps very rarely supported returning a thumbnail bitmap, making the result unhelpful. ( Ie21f2 , b/185938070 )
  • Added new API Activity#setPipAnimationHintView to update the PipParams' source rect hint whenever the view moves. ( I9063d )

Изменения API

  • The rememberLauncherForActivityResult function now returns a launcher that deprecates the unregister() function - registration and unregistering the launcher is handled automatically by rememberLauncherForActivityResult . ( I2443e )

Compose Compatibility

  • androidx.activity:activity-compose:1.3.0-alpha08 is only compatible with Compose version 1.0.0-beta07 and above.

Version 1.3.0-alpha07

April 21, 2021

androidx.activity:activity:1.3.0-alpha07 , androidx.activity:activity-compose:1.3.0-alpha07 , and androidx.activity:activity-ktx:1.3.0-alpha07 are released. Version 1.3.0-alpha07 contains these commits.

Исправления ошибок

  • rememberLauncherForActivityResult now returns a stable reference to the same ActivityResultLauncher instance even if the contract changes due to recompositions. ( Id2d6d )
  • Using unstable versions of Fragments above 1.3.0 will no longer throw a false positive lint error telling you to use 1.3.0 . ( aosp/1670206 , b/184847092 )

Version 1.3.0-alpha06

April 7, 2021

androidx.activity:activity:1.3.0-alpha06 , androidx.activity:activity-compose:1.3.0-alpha06 , and androidx.activity:activity-ktx:1.3.0-alpha06 are released. Version 1.3.0-alpha06 contains these commits.

Изменения API

  • The registerForActivityResult() API has been renamed to rememberLauncherForActivityResult() to better indicate that the returned ActivityResultLauncher is a managed object that is remembered on your behalf. Attempting to call unregister the returned ActivityResultLauncher will now throw an error. ( I2bb6d )
  • LocalOnBackPressedDispatcherOwner.current and LocalActivityResultRegistryOwner.current now return a nullable value to better determine whether it is available in the current composition. APIs that requires those APIs, such as BackHandler and rememberLauncherForActivityResult() , respectively, will now throw a more descriptive error if the underlying owner is not found. NavHost now works even when an OnBackPressedDispatcherOwner is not found, such is the case when previewing the NavHost . ( I7d8b4 )

Исправления ошибок

  • The BackHandler will now properly intercept back presses in the event that the Activity is STOPPED , then STARTED again, and other callbacks were added with a LifecycleOwner. ( I71de6 , b/182284739 )
  • Using the launch() method extension with a custom ActivityResultContract that has a Unit input will no longer cause a NullPointerException ( I76282 , b/183837954 )

Version 1.3.0-alpha05

March 24, 2021

androidx.activity:activity:1.3.0-alpha05 , androidx.activity:activity-compose:1.3.0-alpha05 , and androidx.activity:activity-ktx:1.3.0-alpha05 are released. Version 1.3.0-alpha05 contains these commits.

Исправления ошибок

  • From Activity 1.2.2 : Fixed an issue in the InvalidFragmentVersionForActivityResult lint check that led to a false positive when using Fragment 1.3.1 or higher. ( I54da1 , b/182388985 )
  • From Activity 1.2.2 : ComponentActivity now avoids a ClassNotFoundException when launching an Intent from an ActivityResultContract that was previously held as an extra in another Intent . ( Ieff05 , b/182906230 )

Обновления зависимости

Version 1.3.0-alpha04

March 10, 2021

androidx.activity:activity:1.3.0-alpha04 , androidx.activity:activity-compose:1.3.0-alpha04 , and androidx.activity:activity-ktx:1.3.0-alpha04 are released. Version 1.3.0-alpha04 contains these commits.

Исправления ошибок

  • From Activity 1.2.1 : RequestMultiplePermissions now always returns results for all requested permissions instead of only permissions that weren't previously granted. ( I50bc3 , b/180884668 )
  • From Activity 1.2.1 : ActivityResultRegistry now ensures that in progress launch() requests will return their results even if you unregister() , then register() again with the same key. ( I9ef34 , b/181267562 )
  • Activity Compose no longer adds test dependencies to the runtime classpath. ( Ifd8b3 )
  • Fixed an issue with BackHandler where the previously set onBack lambda was still being used after recomposition. ( 8eb5eb )

Версия 1.3.0-Alpha03

February 24, 2021

androidx.activity:activity:1.3.0-alpha03 , androidx.activity:activity-compose:1.3.0-alpha03 , and androidx.activity:activity-ktx:1.3.0-alpha03 are released. Версия 1.3.0-Alpha03 содержит эти коммиты.

Новые возможности

  • There is a now a Composable registerForActivityResult function for getting results from activities within composables. ( Ia7851 , b/172690553 )

Изменения API

  • LocalOnBackPressedDispatcherOwner now has a provides functions that can be used with CompositionLocalProvider , replacing the asProvidableCompositionLocal() API. ( I45d24 )

Версия 1.3.0-Alpha02

February 10, 2021

androidx.activity:activity:1.3.0-alpha02 , androidx.activity:activity-compose:1.3.0-alpha02 , and androidx.activity:activity-ktx:1.3.0-alpha02 are released. Версия 1.3.0-Alpha02 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue in Activity Compose 1.3.0-alpha01 that causes a NoSuchMethodError: No static method setContent exception when using Compose 1.0.0-alpha12 . All Compose users should depend on 1.3.0-alpha02 and above. ( b/179911234 )

Изменения API

  • The BackHandler API can be used to allow a Composable to intercept the system back button. ( I58ed5 , b/172154006 )

Версия 1.3.0-Alpha01

February 10, 2021

androidx.activity:activity:1.3.0-alpha01 , androidx.activity:activity-compose:1.3.0-alpha01 , and androidx.activity:activity-ktx:1.3.0-alpha01 are released. Версия 1.3.0-Alpha01 содержит эти коммиты.

Новые возможности

  • The new activity-compose artifact provides Jetpack Compose specific helpers for androidx.activity specific APIs.
    • ComponentActivity.setContent has moved from androidx.compose.ui.platform.setContent to androidx.activity.compose.setContent . ( Icf416 )

Известные проблемы

  • Using Activity Compose 1.3.0-alpha01 and libraries that depend on it, such as androidx.compose.ui:ui-test-junit4:1.0.0-alpha12 , will result in a NoSuchMethodError: No static method setContent exception. ( b/179911234 )

Version 1.2.4

Version 1.2.4

July 21, 2021

androidx.activity:activity:1.2.4 and androidx.activity:activity-ktx:1.2.4 are released. Version 1.2.4 contains these commits.

Исправления ошибок

Version 1.2.3

Version 1.2.3

May 5, 2021

androidx.activity:activity:1.2.3 and androidx.activity:activity-ktx:1.2.3 are released. Version 1.2.3 contains these commits.

Исправления ошибок

  • Using the launch() method extension with a custom ActivityResultContract that has a Unit input will no longer cause a NullPointerException ( I76282 , b/183837954 )
  • Fixed a false positive lint error telling you to use Fragment 1.3.0 when using an snapshot, alpha, beta, or RC build of a newer version of Fragments. ( f4a57e , b/184847092 )

Version 1.2.2

Version 1.2.2

March 24, 2021

androidx.activity:activity:1.2.2 and androidx.activity:activity-ktx:1.2.2 are released. Version 1.2.2 contains these commits.

Исправления ошибок

  • Fixed an issue in the InvalidFragmentVersionForActivityResult lint check that led to a false positive when using Fragment 1.3.1 or higher. ( I54da1 , b/182388985 )
  • ComponentActivity now avoids a ClassNotFoundException when launching an Intent from an ActivityResultContract that was previously held as an extra in another Intent . ( Ieff05 , b/182906230 )

Обновления зависимости

Версия 1.2.1

Версия 1.2.1

March 10, 2021

androidx.activity:activity:1.2.1 and androidx.activity:activity-ktx:1.2.1 are released. Версия 1.2.1 содержит эти коммиты.

Исправления ошибок

  • RequestMultiplePermissions now always returns results for all requested permissions instead of only permissions that weren't previously granted. ( I50bc3 , b/180884668 )
  • ActivityResultRegistry now ensures that in progress launch() requests will return their results even if you unregister() , then register() again with the same key. ( I9ef34 , b/181267562 )

Версия 1.2.0

Версия 1.2.0

February 10, 2021

androidx.activity:activity:1.2.0 and androidx.activity:activity-ktx:1.2.0 are released. Версия 1.2.0 содержит эти коммиты.

Major changes since 1.1.0

  • Activity Result APIs : ComponentActivity now provides an ActivityResultRegistry that lets you handle startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity .
  • ContextAware : ComponentActivity now implements ContextAware , allowing you to add one or more OnContextAvailableListener instances which will receive a callback before the base Activity.onCreate() .

    • A suspending Kotlin extension withContextAvailable() allows you to run a non-suspending block when the Context becomes available and return a result.
    • This API is used by FragmentActivity in Fragment 1.3.0 to restore the state of the FragmentManager . Any listeners added to subclasses of FragmentActivity will run after that listener.
    • This API is used by AppCompatActivity in AppCompat 1.3.0-alpha02 or higher. Any listeners added to subclasses of AppCompatActivity will run after that listener.
  • ViewTree Support : ComponentActivity now supports the ViewTreeLifecycleOwner.get(View) , ViewTreeViewModelStoreOwner.get(View) , and ViewTreeSavedStateRegistryOwner APIs added in Lifecycle 2.3.0 and SavedState 1.1.0 such that it will return the Activity as the LifecycleOwner , ViewModelStoreOwner , and SavedStateRegistryOwner for any Views directly added to the ComponentActivity .

  • reportFullyDrawn() backport - The Activity method of reportFullyDrawn() has been backported in ComponentActivity to work on all API levels, fixing a crash on API 19 and adding tracing for this method for all API levels.

Версия 1.2.0-RC01

December 16, 2020

androidx.activity:activity:1.2.0-rc01 and androidx.activity:activity-ktx:1.2.0-rc01 are released. Версия 1.2.0-RC01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry now always restores the exact state that was saved. ( Idd56b )
  • Add tracing to ComponentActivity.reportFullyDrawn ( Ic7632 )

Внешний вклад

  • ComponentActivity now overrides reportFullyDrawn() , allowing it to be called on all API levels and fixing a crash when calling this method without the appropriate system permission on API 19 devices. Thanks Simon Schiller! ( b/163239764 , #103 )

Версия 1.2.0-бета02

December 2, 2020

androidx.activity:activity:1.2.0-beta02 and androidx.activity:activity-ktx:1.2.0-beta02 are released. Версия 1.2.0-бета02 содержит эти коммиты.

Исправления ошибок

  • Fixed an issue where the Activity Result API would not wait for the Lifecycle to be STARTED before delivering results when registered with a Lifecycle . ( I109ea )

Внешний вклад

  • Updated the documentation for launch() to explicitly call out that it can throw an ActivityNotFoundException . Thanks Michał Zieliński! ( aosp/1493580 )

Версия 1.2.0-бета01

October 1, 2020

androidx.activity:activity:1.2.0-beta01 and androidx.activity:activity-ktx:1.2.0-beta01 are released. Версия 1.2.0-бета01 содержит эти коммиты.

Исправления ошибок

  • The ActivityResultRegistry now randomly generates integers until it finds one that is unallocated to use as a request code register() , thus preventing the possible integer overflow caused by incrementing request codes. ( b/168779518 )

  • Lifecycle observers are properly removed when calling unregister() on an ActivityResultLauncher . ( b/165608393 )

Behavior Changes

  • The ActivityResultRegistry now throws an IllegalStateException when attempting to call register() with a LifecycleOwner whose Lifecycle has already reached STARTED . ( b/165435866 )

Documentation Updated

  • ContextAware documentation links to LifecycleOwner to highlight Lifecycle callbacks as the appropriate place for creation and destruction events. ( aosp/1414152 )

Версия 1.2.0-Alpha08

August 19, 2020

androidx.activity:activity:1.2.0-alpha08 and androidx.activity:activity-ktx:1.2.0-alpha08 are released. Версия 1.2.0-Alpha08 содержит эти коммиты.

Новые возможности

  • ComponentActivity now implements ContextAware , allowing you to add one or more OnContextAvailableListener instances which will receive a callback before the base Activity.onCreate() . ( b/161390636 )
    • A suspending Kotlin extension withContextAvailable() allows you to run a non-suspending block when the Context becomes available and return a result. ( I8290c )
    • This API is used by FragmentActivity in Fragment 1.3.0-alpha08 to restore the state of the FragmentManager . Any listeners added to subclasses of FragmentActivity will run after that listener. ( I513da )
    • This API is used by AppCompatActivity in AppCompat 1.3.0-alpha02 . Any listeners added to subclasses of AppCompatActivity will run after that listener. ( I513da )

Исправления ошибок

  • Fixed an issue with the ActivityResultFragmentVersionDetector Lint check that caused it to break when using Lint 27.1.0 or higher. ( b/162155191 )

Версия 1.2.0-Alpha07

July 22, 2020

androidx.activity:activity:1.2.0-alpha07 and androidx.activity:activity-ktx:1.2.0-alpha07 are released. Версия 1.2.0-Alpha07 содержит эти коммиты.

Новые возможности

  • Added a new InvalidFragmentVersionForActivityResult lint check that verifies that you are using Fragment 1.3.0-alpha07 when using the Activity Result API , avoiding runtime crashes due to “invalid request code” issues and non-functioning permission requests caused by using older versions of Fragments. ( b/152554847 )

Внешний вклад

  • Fixed an ArrayIndexOutOfBoundsException when parsing the results for the RequestPermission Activity Result contract. ( I8f9e3 , b/161057605 )

Версия 1.2.0-Alpha06

June 10, 2020

androidx.activity:activity:1.2.0-alpha06 and androidx.activity:activity-ktx:1.2.0-alpha06 are released. Версия 1.2.0-Alpha06 содержит эти коммиты.

Новые возможности

  • You can now destructure the ActivityResult class in kotlin to directly access the requestCode and intent . ( b/157212935 )
  • ActivityResultLauncher now allows you to get the ActivityResultContract that was used to register the launcher. ( b/156875743 )

Изменения API

  • Breaking change : The invoke() method on ActivityResultRegistry has been renamed to onLaunch() . ( b/157496491 )
  • The OpenMultipleDocuments contract now returns an empty list instead of null to the registered callback if no result is returned. ( b/157348014 )

Версия 1.2.0-Alpha05

May 20, 2020

androidx.activity:activity:1.2.0-alpha05 and androidx.activity:activity-ktx:1.2.0-alpha05 are released. Версия 1.2.0-Alpha05 содержит эти коммиты.

Новые возможности

Изменения API

  • The TakePicture contract now returns a boolean indicating success rather than a thumbnail Bitmap as this was very rarely supported by camera apps when writing the image to the provided Uri . ( b/154302879 )
  • The invoke() extensions on ActivityResultLauncher have been removed in favor of explicitly using launch() to better indicate that these are asynchronous operations. Kotlin extensions for launch have been added to the androidx.activity.result package for ActivityResultLauncher<Void> and ActivityResultLauncher<Unit> that remove the need to pass in null or Unit , respectively, mirroring that behavior from the previously invoke() extensions. ( aosp/1304674 , aosp/1304675 )
  • The IntentSenderRequest.Builder methods for setFlagsMask() and setFlagsValues() has been combined into a single setFlags() method. ( aosp/1302111 )

Исправления ошибок

  • When registering an ActivityResultCallback with a LifecycleOwner , fixed an issue where the callback would be triggered before the state reaches STARTED . ( aosp/1309744 )

Behavior Changes

  • The ActivityResultRegistry now generates request codes starting at 0xFFFF rather than at 0 , preventing overlap when using startActivityForResult() or requestPermissions() in an activity. ( aosp/1302324 )

Версия 1.2.0-Alpha04

April 29, 2020

androidx.activity:activity:1.2.0-alpha04 and androidx.activity:activity-ktx:1.2.0-alpha04 are released. Версия 1.2.0-Alpha04 содержит эти коммиты.

Новые возможности

  • Added a contract that can call startIntentSenderForResult to the ActivityResult APIs. ( b/153007517 )

Изменения API

  • The prepareCall() method has been renamed to registerForActivityResult() , both on ComponentActivity here and in Fragment 1.3.0-alpha04 . ( aosp/1278717 )
  • The GetContents , OpenDocuments , and RequestPermissions contracts have been renamed to GetMultipleContents , OpenMultipleDocuments , and RequestMultiplePermissions , respectively. ( aosp/1280161 )
  • ComponentActivity now implements the ActivityResultRegisteryOwner interface. ( aosp/1290888 )
  • - The startActivityForResult() / onActivityResult() and onRequestPermissionsResult() APIs on ComponentActivity have been deprecated. Please use the Activity Result APIs . ( b/154751887 )

Исправления ошибок

  • When using the GetMultipleContents and OpenMultipleDocuments contracts and selecting a single item, it is now correctly returned to your callback. ( b/152941153 )

Версия 1.2.0-Alpha03

April 1, 2020

androidx.activity:activity:1.2.0-alpha03 and androidx.activity:activity-ktx:1.2.0-alpha03 are released. Версия 1.2.0-Alpha03 содержит эти коммиты.

Новые возможности

  • Added the TakeVideo , PickContact , GetContent , GetContents , OpenDocument , OpenDocuments , OpenDocumentTree , and CreateDocument contracts to the set of pre-built contracts provided by ActivityResultContracts . ( aosp/1262482 , aosp/1266916 , aosp/1268960 )
  • The Activity Result APIs now support launching an activity for result with an optional ActivityOptionsCompat . ( b/151860054 )

Изменения API

  • The TakePicture contract now takes a Uri input for where the image should be stored. The previous contract that does not take any input has been renamed to TakePicturePreview . ( aosp/1262482 )
  • The registerActivityResultCallback() method on ActivityResultRegistry has been renamed to register() . ( aosp/1267621 )
  • The dispose() method on ActivityResultLauncher has been renamed to unregister() and the unregisterResultCallback() on ActivityResultRegistry has been removed. ( aosp/1267621 )
  • The createIntent() method of ActivityResultContact now takes a Context in addition to the input to make it possible to create explicit Intents. ( aosp/1238800 )
  • An ActivityResultContract can now override getSynchronousResult() to deliver a result without calling startActivityForResult . This is used by the RequestPermission and RequestPermissions contracts to correctly deliver a 'granted' status if the requested permissions are already granted. ( b/151110799 )
  • The previously available Dial contract has been removed as that Intent is not meant to be used with startActivityForResult() . ( aosp/1266916 )
  • Many of the Activity Result APIs not meant to be extended are now final . This includes getActivityResultRegistry() , the prepareCall() methods, all methods of ActivityResultRegistry except invoke() , and a number of the default contracts that do not support optional extras. ( b/152439361 )

Исправления ошибок

  • Fixed a NullPointerException in ActivityResultRegistry when attempting to deliver results to a callback that has not yet been re-registered after a configuration change; ActivityResultRegistry now holds onto these pending results and delivers them when the callback is re-registered. ( b/152137004 )

Версия 1.2.0-Alpha02

March 18, 2020

androidx.activity:activity:1.2.0-alpha02 and androidx.activity:activity-ktx:1.2.0-alpha02 are released. Версия 1.2.0-Alpha02 содержит эти коммиты.

Новые возможности

  • ActivityResultRegistry : ComponentActivity now provides an ActivityResultRegistry that lets you handle the startActivityForResult() + onActivityResult() as well as requestPermissions() + onRequestPermissionsResult() flows without overriding methods in your Activity or Fragment, brings increased type safety via ActivityResultContract , and provides hooks for testing these flows. See the updated Getting a Result from an Activity . ( b/125158199 )

Версия 1.2.0-Alpha01

March 4, 2020

androidx.activity:activity:1.2.0-alpha01 and androidx.activity:activity-ktx:1.2.0-alpha01 are released. Версия 1.2.0-Alpha01 содержит эти коммиты.

Новые возможности

  • Added support for the ViewTreeLifecycleOwner.get(View) API added in Lifecycle 2.3.0-alpha01 such that it will return the Activity as the LifecycleOwner for any Views directly added to the Activity. ( aosp/1182955 )

Исправления ошибок

  • Fixed a regression introduced in Activity 1.1.0 when running on older versions of the platform where onBackPressed() would cause an IllegalStateException due to a bug in the android.app.FragmentManager . ( b/146290338 )

Версия 1.1.0

Версия 1.1.0

January 22, 2020

androidx.activity:activity:1.1.0 is released. Версия 1.1.0 содержит эти коммиты .

Важные изменения с версии 1.0.0

  • Lifecycle ViewModel SavedState Integration : SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity or its subclasses.

Версия 1.1.0-RC03

December 4, 2019

androidx.activity:activity:1.1.0-rc03 and androidx.activity:activity-ktx:1.1.0-rc03 are released. Version 1.1.0-rc03 contains these commits .

Dependency changes

  • Activity now depends on Lifecycle 2.2.0-rc03 and Lifecycle ViewModel SavedState 1.0.0-rc03 .

Version 1.1.0-rc02

November 7, 2019

androidx.activity:activity:1.1.0-rc02 and androidx.activity:activity-ktx:1.1.0-rc02 are released. Version 1.1.0-rc02 contains these commits .

Dependency changes

  • Activity now depends on lifecycle 2.2.0-rc02 .

Версия 1.1.0-rc01

October 23, 2019

androidx.activity:activity:1.1.0-rc01 and androidx.activity:activity-ktx:1.1.0-rc01 are released with no changes from 1.1.0-beta01 . Версия 1.1.0-rc01 содержит эти коммиты .

Версия 1.1.0-бета01

October 9, 2019

androidx.activity:activity:1.1.0-beta01 and androidx.activity:activity-ktx:1.1.0-beta01 are released. Версия 1.1.0-beta01 содержит эти коммиты .

Dependency changes

  • Activity now depends on SavedState 1.0.0 stable.

Версия 1.1.0-Alpha03

September 5, 2019

androidx.activity:activity:1.1.0-alpha03 and androidx.activity:activity-ktx:1.1.0-alpha03 are released. The commits included in this version can be found here .

New features

  • Activity now depends on Core 1.1.0 stable.

Исправления ошибок

Версия 1.1.0-Alpha02

August 7, 2019

androidx.activity:activity:1.1.0-alpha02 and androidx.activity:activity-ktx:1.1.0-alpha02 are released. The commits included in this version can be found here .

New features

  • SavedStateViewModelFactory is now the default factory used when using by viewModels() , the ViewModelProvider constructor, or ViewModelProviders.of() with a ComponentActivity ( b/135716331 )

Версия 1.1.0-альфа01

July 2, 2019

androidx.activity:activity:1.1.0-alpha01 and androidx.activity:activity-ktx:1.1.0-alpha01 are released. The commits included in this version can be found here .

New features

  • activity now depends on Lifecycle 2.2.0-alpha02 . ( aosp/1007817 )
  • activity-ktx added a dependency on lifecycle-runtime-ktx ; you no longer need to explicitly add it to your dependencies when using activity-ktx or libraries that depend on activity-ktx (such as fragment-ktx ). ( aosp/987162 )

Версия 1.0.0

Версия 1.0.0

September 5, 2019

androidx.activity:activity:1.0.0 and androidx.activity:activity-ktx:1.0.0 are released. The commits included in this version can be found here .

Major Features of 1.0.0

  • ComponentActivity : ComponentActivity serves as the new base class for FragmentActivity in Fragment 1.1.0 and, by extension, AppCompatActivity in AppCompat 1.1.0 .
  • activity-ktx : The activity-ktx module includes a by viewModels Kotlin property extension for accessing ViewModels. This module is automatically included when you include fragment-ktx from Fragment 1.1.0 .
  • OnBackPressedDispatcher : As a composable alternative to overriding onBackPressed() , you can now register a OnBackPressedCallback from any LifecycleOwner (such as a fragment) to intercept system back button events. A lambda with receiver version addCallback has been added to activity-ktx . See Provide custom back navigation documentation for more details.
  • onRetainCustomNonConfigurationInstance deprecation : the onRetainCustomNonConfigurationInstance() and the related getLastCustomNonConfigurationInstance() APIs have been deprecated. It is strongly recommended to use ViewModels to store non-configuration state as they offer a composable solution suitable for any ViewModelStoreOwner that makes the ownership of the retained objects clear and provides an onCleared() callback for cleaning up resources when the activity is finally destroyed.

Версия 1.0.0-RC01

July 2, 2019

androidx.activity:activity:1.0.0-rc01 and androidx.activity:activity-ktx:1.0.0-rc01 are released with no changes from 1.0.0-beta01 . The commits included in this version can be found here .

Версия 1.0.0-бета01

June 5, 2019

androidx.activity::activity:1.0.0-beta01 and androidx.activity:activity-ktx:1.0.0-beta01 are released with no changes from 1.0.0-alpha08 . The commits included in this version can be found here .

Version 1.0.0-alpha08

May 7, 2019

androidx.activity:activity:1.0.0-alpha08 and androidx.activity:activity-ktx:1.0.0-alpha08 are released. The commits included in this version can be found here .

API changes

  • Breaking change: The previously deprecated addOnBackPressedCallback and removeOnBackPressedCallback methods on ComponentActivity have been removed. aosp/953857
  • The setEnabled() and isEnabled() methods of OnBackPressedCallback are now final. b/131416833
  • The remove() method of OnBackPressedCallback is now final. aosp/952720
  • OnBackPressedDispatcher now has public constructors, allowing you to construct your own instances for testing, etc. aosp/953431
  • onBackPressed() for ComponentActivity is now explicitly marked as @MainThread aosp/952721

Исправления ошибок

  • Fixed a ConcurrentModificationException when calling remove() from within the handleOnBackPressed() method of a OnBackPressedCalback that was added with a LifecycleOwner . b/131765095

Version 1.0.0-alpha07

April 25th, 2019

androidx.activity:activity:1.0.0-alpha07 and androidx.activity:activity-ktx:1.0.0-alpha07 are released. The commits included in this version can be found here .

API changes

This release makes significant changes to the handling of the onBackPressed() . See the updated custom back documentation for more details.

  • The methods for OnBackPressedCallback and OnBackPressedDispatcher have been marked as @MainThread . ( aosp/943813 )
  • The handleOnBackPressed() method no longer returns a boolean . Instead, OnBackPressedCallback is now an abstract class that can be enabled or disabled - only when the new isEnabled() method returns true will handleOnBackPressed() be called, in which you must handle the back button. ( aosp/944518 )
  • The addCallback methods of OnBackPressedDispatcher no longer return a Cancellable instance. OnBackPressedCallback now contain a remove() method that fulfill this functionality, allowing you to call remove() during handleOnBackPressed() . ( aosp/944519 ) ( aosp/946316 )
  • activity-ktx now contains a receiver scoped callback for addCallback that accepts a lamdba that implements handleOnBackPressed() and has access to isEnabled and remove() ( aosp/944520 )

Version 1.0.0-alpha06

April 3rd, 2019

androidx.activity:activity:1.0.0-alpha06 and androidx.activity:activity-ktx:1.0.0-alpha06 are released. The commits included in this version can be found here .

API changes

  • ComponentActivity now contain a second constructor that takes a @LayoutRes int , which replaces the previous behavior of annotating your AppCompatActivity class with @ContentView . This approach works in both app and library modules. ( b/128352521 )
  • The OnBackPressedCallback related APIs on ComponentActivity have been deprecated in favor of the new OnBackPressedDispatcher , retrievable via getOnBackPressedDispatcher() . ( aosp/922523 )
  • Methods to add a new OnBackPressedCallback to the OnBackPressedDispatcher now return a Cancellable object, allowing removal of the callback without requiring an explicit reference to the OnBackPressedDispatcher . ( aosp/922523 )
  • Adding a OnBackPressedCallback with an associated LifecycleOwner now results in adding and removing the OnBackPressedCallback as the Lifecycle is started and stopped, respectively. ( aosp/922523 )

Версия 1.0.0-альфа05

March 13th, 2019

androidx.activity:activity:1.0.0-alpha05 and androidx.activity:activity-ktx:1.0.0-alpha05 are released. The full list of commits included in this release can be found here .

New features

  • @ContentView annotation lookups are now cached ( b/123709449 )

Версия 1.0.0-альфа04

January 30, 2019

androidx.activity:activity 1.0.0-alpha04 and androidx.activity:activity-ktx 1.0.0-alpha04 are released.

New features

  • Added support for the @ContentView class annotation that allows you to indicate which layout XML file should be inflated as an alternative to using setContentView() . ( aosp/837619 )

API changes

  • Added a note that getViewModelStore() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/837619 )

Исправления ошибок

  • The activity module now depends on version 2.1.0-alpha02 of ViewModel to match the activity-ktx module's dependency.

Version 1.0.0-alpha03

December 17, 2018

androidx.activity 1.0.0-alpha03 is released.

New features

  • ComponentActivity now implements BundleSavedStateRegistryOwner and depends on the newly released SavedState library [ aosp/815133 ]
  • ComponentActivity now works around an Android framework bug that would cause InputMethodManager to leak the last focused view [ b/37122102 ]

Версия 1.0.0-альфа02

December 3, 2018

API changes

  • Added a note that getLifecycle() should not be overridden and will be made final in a future release. Please file a feature request if you are currently overriding this method. ( aosp/815834 )

Версия 1.0.0-альфа01

November 5, 2018

androidx.activity 1.0.0-alpha01 introduces ComponentActivity , a new base class of the existing FragmentActivity and AppCompatActivity .

New features

  • You can now register an OnBackPressedCallback via addOnBackPressedCallback to receive onBackPressed() callbacks without needing to override the method in your activity.
  • Added a new by viewModels() Kotlin property delegate for retrieving ViewModel s from a ComponentActivity .
  • Pending input events (such as clicks) are now canceled in onStop() .

API changes

  • The implementation of LifecycleOwner and ViewModelStoreOwner have been moved from FragmentActivity to ComponentActivity .
  • onRetainCustomNonConfigurationInstance has been deprecated. Use a ViewModel for storing objects that need to survive configuration changes.