النشاط

الوصول إلى واجهات برمجة التطبيقات القابلة للإنشاء والمستندة إلى Activity
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫23 سبتمبر 2026 1.13.0 - - 1.14.0-alpha03

تحديد الاعتماديات

لإضافة اعتمادية على Activity، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

dependencies {
    def activity_version = "1.13.0"

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

Kotlin

dependencies {
    val activity_version = "1.13.0"

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

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.14

الإصدار ‎1.14.0-alpha03

‫23 سبتمبر 2026

تم طرح ميزات androidx.activity:activity:1.14.0-alpha03 وandroidx.activity:activity-compose:1.14.0-alpha03 وandroidx.activity:activity-ktx:1.14.0-alpha03. يتضمّن الإصدار 1.14.0-alpha03 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • استخدِم WindowCompat#enableEdgeToEdge(Window) بدلاً من EdgeToEdge#enable() (Ibff3e)
  • تم إيقاف عمليات التحميل الزائد لحقل النص في Material 2 التي تقبل المَعلمات value, onValueChange نهائيًا. يُرجى الانتقال إلى التحميل الزائد الذي يستخدم TextFieldState لرفع حالته. (I6b841، b/556234973)

إصلاح الأخطاء

  • تم تعديل الاعتمادية androidx.lifecycle:lifecycle-runtime إلى الإصدار 2.10.0. هذا الإصدار مطلوب لتشغيل عمليات التحقّق من أخطاء lint المجمَّعة في وقت التشغيل لدورة الحياة مع الإصدار 9.5.0-alpha04 أو إصدار أحدث من "مكوّن Android الإضافي لبرنامج Gradle". (I99bfd، b/556807521)
  • يتيح ComponentActivity الجديد defaultViewModelArgs الآن إعدادات التشغيل المباشر أيضًا. (I10a08)

الإصدار ‎1.14.0-alpha02

‫9 سبتمبر 2026

تم طرح ميزات androidx.activity:activity:1.14.0-alpha02 وandroidx.activity:activity-compose:1.14.0-alpha02 وandroidx.activity:activity-ktx:1.14.0-alpha02. يتضمّن الإصدار 1.14.0-alpha02 هذه التعديلات.

إصلاح الأخطاء

  • تم تعديل compileSdk لمكتبات Compose إلى الإصدار 37.1. سيتطلّب ذلك تعديل compileSdk بشكل متعدٍّ لجميع التطبيقات والمكتبات التي تستخدم Compose. (I05b0f)

الإصدار ‎1.14.0-alpha01

‫26 أغسطس 2026

تم طرح ميزات androidx.activity:activity:1.14.0-alpha01 وandroidx.activity:activity-compose:1.14.0-alpha01 وandroidx.activity:activity-ktx:1.14.0-alpha01. يتضمّن الإصدار 1.14.0-alpha01 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • لم تعُد إضافات Intent تُضاف تلقائيًا إلى defaultViewModelCreationExtras للأنشطة التي تم تصديرها. يمكن لمطوّري الأنشطة التي تم تصديرها إلغاء defaultViewModelArgs لتقديم إضافات الهدف التي تم التحقّق من صحتها بشكلٍ صريح. (Id0cb6، b/213646066)
  • توفّر Activity الآن الدالتَين NavigationEventDispatcherOwner وOnBackPressedDispatcherOwner لإنشاء مثيلات للمكوّنات المعنية بسهولة. (I1d259، Iadd5c)
  • توفّر OnBackPressedDispatcher الآن إضافة asNavigationEventDispatcher لتحويلها بسهولة إلى NavigationEventDispatcher. (Id11cf)

الإصدار 1.13

الإصدار 1.13.0

‫11 مارس 2026

تم طرح ميزات androidx.activity:activity:1.13.0 وandroidx.activity:activity-compose:1.13.0 وandroidx.activity:activity-ktx:1.13.0. يتضمّن الإصدار 1.13.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.12.0:

  • تنفِّذ السمة ComponentActivity الآن الواجهة OnPictureInPictureUiStateChangedProvider، ما يعني أنّه يمكن دمجها الآن مع العنصر الجديد core:core-pip الذي يتيح لأي مكوّن تلقّي أحداث تغيير حالة واجهة المستخدم في وضع "نافذة ضمن النافذة".
  • يتم الآن إعادة استدعاء EdgeToEdge عند إجراء تغييرات في الإعدادات لضمان تعديل لون شريط حالة النظام بشكلٍ صحيح.

الإصدار ‎1.13.0-rc01

‫25 فبراير 2026

تم طرح ميزات androidx.activity:activity:1.13.0-rc01 وandroidx.activity:activity-compose:1.13.0-rc01 وandroidx.activity:activity-ktx:1.13.0-rc01. يتضمّن الإصدار 1.13.0-rc01 هذه التعديلات.

إصلاح الأخطاء

  • من النشاط 1.12.4: سيتم الآن تشغيل ActivityResultContracts "الصور والفيديوهات" بشكل صحيح عند استخدامه على الأجهزة التي تتضمّن آخر إصلاحات أمان URI. (I61201، b/433708587)

الإصدار ‎1.13.0-alpha01

‫14 يناير 2026

تم طرح ميزات androidx.activity:activity:1.13.0-alpha01 وandroidx.activity:activity-compose:1.13.0-alpha01 وandroidx.activity:activity-ktx:1.13.0-alpha01. يتضمّن الإصدار 1.13.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • يتم الآن إعادة استدعاء EdgeToEdge عند إجراء تغييرات في الإعدادات لضمان تعديل لون شريط الحالة في النظام بشكلٍ صحيح. (Id1381، b/364713509)

التغييرات في واجهة برمجة التطبيقات

  • تنفِّذ السمة ComponentActivity الآن الواجهة OnPictureInPictureUiStateChangedProvider، ما يعني أنّه يمكن دمجها الآن مع العنصر core:core-pip الجديد الذي يتيح لأي مكوّن تلقّي أحداث تغيير حالة واجهة المستخدم في وضع "نافذة ضمن النافذة". (I4df5c، b/441310308)

إصلاح الأخطاء

  • من الإصدار 1.12.2 من Activity: تم إصلاح مشكلة كانت تؤدي إلى تجاهل حالة Lifecycle عند ضبط isEnabled يدويًا على OnBackPressedCallback مدرِك لدورة الحياة، ما قد يؤدي إلى حدوث أعطال. (I7d898، b/461999811)

الإصدار 1.12

الإصدار 1.12.4

‫11 فبراير 2026

تم طرح ميزات androidx.activity:activity:1.12.4 وandroidx.activity:activity-compose:1.12.4 وandroidx.activity:activity-ktx:1.12.4. يتضمّن الإصدار 1.12.4 هذه التعديلات.

إصلاح الأخطاء

  • سيتم الآن تشغيل ActivityResultContracts "الصور والفيديوهات" بشكل صحيح عند استخدامه على الأجهزة التي تتضمّن أحدث إصلاحات أمان معرّف الموارد المنتظم (URI). (I61201، b/433708587)

الإصدار 1.12.3

‫28 يناير 2026

تم طرح ميزات androidx.activity:activity:1.12.3 وandroidx.activity:activity-compose:1.12.3 وandroidx.activity:activity-ktx:1.12.3. يتضمّن الإصدار 1.12.3 هذه التعديلات.

الإصدار 1.12.2

‫17 ديسمبر 2025

تم طرح ميزات androidx.activity:activity:1.12.2 وandroidx.activity:activity-compose:1.12.2 وandroidx.activity:activity-ktx:1.12.2. يتضمّن الإصدار 1.12.2 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح مشكلة كانت تؤدي إلى تجاهل حالة Lifecycle عند ضبط OnBackPressedCallback على isEnabled يدويًا، ما قد يتسبب في حدوث أعطال. (I7d898، b/461999811)

الإصدار 1.12.1

‫3 ديسمبر 2025

تم طرح ميزات androidx.activity:activity:1.12.1 وandroidx.activity:activity-compose:1.12.1 وandroidx.activity:activity-ktx:1.12.1. يتضمّن الإصدار 1.12.1 هذه التعديلات.

الاعتمادية المعدَّلة

الإصدار 1.12.0

‫19 نوفمبر 2025

تم طرح ميزات androidx.activity:activity:1.12.0 وandroidx.activity:activity-compose:1.12.0 وandroidx.activity:activity-ktx:1.12.0. يتضمّن الإصدار 1.12.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.11.0:

  • تعتمد مكتبة Androidx Activity الآن على مكتبة NavigationEvent الجديدة. ويشمل ذلك إمكانية استخدام NavigationEventDispatcher في ComponentActivity وComponentDialog. تمت إعادة كتابة واجهات برمجة التطبيقات OnBackPressed أيضًا استنادًا إلى واجهات برمجة التطبيقات NavigationEvent لضمان توافقها مع المكتبة السابقة.

الإصدار ‎1.12.0-rc01

‫5 نوفمبر 2025

تم طرح ميزات androidx.activity:activity:1.12.0-rc01 وandroidx.activity:activity-compose:1.12.0-rc01 وandroidx.activity:activity-ktx:1.12.0-rc01. يتضمّن الإصدار 1.12.0-rc01 هذه التعديلات.

إصلاح الأخطاء

  • إصلاح أخطاء وقت التشغيل في BackHandler وPredictiveBackHandler في التطبيقات التي تستخدم فئات Activity مخصّصة يمكن الآن استخدام هذه العناصر القابلة للإنشاء بأمان مع LocalOnBackPressedDispatcherOwner مع الحفاظ على ترتيب الإرسال في التطبيقات التي تتوافق مع NavigationEventDispatcherOwner. (I43873)

الإصدار ‎1.12.0-beta01

‫22 أكتوبر 2025

تم طرح ميزات androidx.activity:activity:1.12.0-beta01 وandroidx.activity:activity-compose:1.12.0-beta01 وandroidx.activity:activity-ktx:1.12.0-beta01. يتضمّن الإصدار 1.12.0-beta01 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • إضافة واجهة برمجة التطبيقات التجريبية ActivityFlags لإدارة تغييرات سلوك وقت التشغيل وعمليات نقل البيانات يتيح الخيار الأول ترتيبًا ثابتًا لـ OnBackPressedCallback، ما يجعل التنقّل للخلف أكثر قابلية للتوقّع عند حدوث تغييرات في مراحل النشاط. يمكن للمطوّرين إيقاف هذه الميزة من خلال ضبط ActivityFlags.isOnBackPressedLifecycleOrderMaintained = false. (I06bdf وId08bb وI439aa وb/422730945 وb/450533622)

تحديث الاعتمادية

  • تعديل الاعتماديات على مراحل النشاط إلى الإصدار 2.9.4 (Ic9fb2)

الإصدار ‎1.12.0-alpha09

‫24 سبتمبر 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha09 وandroidx.activity:activity-compose:1.12.0-alpha09 وandroidx.activity:activity-ktx:1.12.0-alpha09. يتضمّن الإصدار 1.12.0-alpha09 هذه التعديلات.

التغييرات في الاعتماديات

الإصدار ‎1.12.0-alpha08

‫10 سبتمبر 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha08 وandroidx.activity:activity-compose:1.12.0-alpha08 وandroidx.activity:activity-ktx:1.12.0-alpha08. يتضمّن الإصدار 1.12.0-alpha08 هذه التعديلات.

تحديث الاعتمادية

الإصدار ‎1.12.0-alpha07

‫27 أغسطس 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha07 وandroidx.activity:activity-compose:1.12.0-alpha07 وandroidx.activity:activity-ktx:1.12.0-alpha07. يتضمّن الإصدار 1.12.0-alpha07 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح مشكلة في EdgeToEdge على الإصدار 35 من واجهة برمجة التطبيقات، حيث تسبّبت طرق العرض غير المرئية في ظهور هوامش قياس غير متوقّعة. (If49ff)

تحديث الاعتمادية

الإصدار ‎1.12.0-alpha06

‫13 أغسطس 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha06 وandroidx.activity:activity-compose:1.12.0-alpha06 وandroidx.activity:activity-ktx:1.12.0-alpha06. يتضمّن الإصدار 1.12.0-alpha06 هذه التعديلات.

تعديل minSdk

  • تم نقل القيمة التلقائية minSdk لـ AndroidX من الإصدار 21 من واجهة برمجة التطبيقات إلى الإصدار 23 (Ibdfca، b/380448311، b/435705964، b/435705223)

تعديلات على المستندات

  • تم تعديل مستندات KDoc الخاصة بـ PredictiveBackHandler لتسليط الضوء على مشكلة معروفة في التوقيت، حيث قد تتم معالجة إيماءة في الإطار نفسه الذي تم فيه إيقافها. (I5be5c، b/431534103)
  • تم تعديل مستندات KDoc الخاصة بالرمزين BackHandler وPredictiveBackHandler للإشارة بوضوح إلى سلوك "الأولوية للتركيب الأخير" بالإضافة إلى اقتراح التركيب غير المشروط باستخدام العلامة enabled. (I7ab94)

تحديث الاعتمادية

الإصدار ‎1.12.0-alpha05

‫30 يوليو 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha05 وandroidx.activity:activity-compose:1.12.0-alpha05 وandroidx.activity:activity-ktx:1.12.0-alpha05. يتضمّن الإصدار 1.12.0-alpha05 هذه التعديلات.

تحديث الاعتمادية

الإصدار ‎1.12.0-alpha04

‫2 يوليو 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha04 وandroidx.activity:activity-compose:1.12.0-alpha04 وandroidx.activity:activity-ktx:1.12.0-alpha04. يتضمّن الإصدار 1.12.0-alpha04 هذه التعديلات.

التغييرات في الاعتماديات

الإصدار ‎1.12.0-alpha03

‫18 يونيو 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha03 وandroidx.activity:activity-compose:1.12.0-alpha03 وandroidx.activity:activity-ktx:1.12.0-alpha03. يتضمّن الإصدار 1.12.0-alpha03 هذه التعديلات.

إصلاح الأخطاء

  • يتم الآن تهيئة كل من OnBackPressedDispatcher وNavigationEventDispatcher بشكل غير مباشر في ComponentActivity. (I710e6)

  • تم إصلاح المشاكل في OnBackPressedDistpatcher التي كانت تؤدي إلى ما يلي:

    • سيتم إعلام آخر أداة إرسال تمّت إضافة OnBackPressedCallback إليها بحالة التفعيل (b/418715930)
    • تزيل OnBackPressedDispatcher دالة رد الاتصال غير الصحيحة عند استخدام الدالة addCallback التي تتضمّن دورة حياة. (b/422714753)
    • لا تزيل OnBackPressedDispatcher.remove() جميع مثيلات OnBackPressedCallback مسجَّلة. (b/423024414)

الإصدار ‎1.12.0-alpha02

‫4 يونيو 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha02 وandroidx.activity:activity-compose:1.12.0-alpha02 وandroidx.activity:activity-ktx:1.12.0-alpha02. يتضمّن الإصدار 1.12.0-alpha02 هذه التعديلات.

إصلاح الأخطاء

  • من NavigationEvent 1.0.0-alpha02: تم إصلاح ConcurrentModificationException كان من المحتمل أن يحدث عند استدعاء NavigationEventCallback.remove() بسبب تعديل قائمة العناصر القابلة للإغلاق الداخلية في الوقت نفسه. (I63066)

الإصدار ‎1.12.0-alpha01

‫20 مايو 2025

تم طرح ميزات androidx.activity:activity:1.12.0-alpha01 وandroidx.activity:activity-compose:1.12.0-alpha01 وandroidx.activity:activity-ktx:1.12.0-alpha01. يتضمّن الإصدار 1.12.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • تم دمج ComponentActivity وComponentDialog مع NavigationEvent 1.0.0-alpha01 من خلال واجهة برمجة التطبيقات NavigationEventDispatcherOwner. يمكنك الآن استرداد NavigationEventDispatcher من ComponentActivity من خلال الحقل navigationEventDispatcher. بما أنّه تمت إعادة كتابة OnBackPressedDispatcher فوق المكتبة الجديدة، من المفترض أن تستمر جميع الاستخدامات السابقة في العمل بشكل صحيح. يجب استخدام NavigationEventDispatcher وNavigationEventCallback من الآن فصاعدًا. (Ib8eed وI6cc44 وIb7724 وI9a0f7 وb/412597031 وb/415028038 وb/412596729 وb/412597140 وb/412596012)

الإصدار 1.11

الإصدار 1.11.0

‫10 سبتمبر 2025

تم طرح ميزات androidx.activity:activity:1.11.0 وandroidx.activity:activity-compose:1.11.0 وandroidx.activity:activity-ktx:1.11.0. يتضمّن الإصدار 1.11.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.10.0:

  • تمت إضافة واجهة برمجة التطبيقات MediaCapabilities إلى PickVisualMediaRequest للسماح للتطبيقات بتحديد إمكانات الوسائط، مثل أنواع HDR المتوافقة.
  • تم الآن تجميع النشاط باستخدام الإصدار 36 من واجهة برمجة التطبيقات.

الإصدار ‎1.11.0-rc01

‫23 أبريل 2025

تم طرح ميزات androidx.activity:activity:1.11.0-rc01 وandroidx.activity:activity-compose:1.11.0-rc01 وandroidx.activity:activity-ktx:1.11.0-rc01. يتضمّن الإصدار 1.11.0-rc01 هذه التعديلات.

الإصدار ‎1.11.0-beta01

‫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-alpha02

‫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 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تم دمج EDGE_NONE وframeTimeMillis الجديدَين من الإصدار التجريبي 03 من Android 16 في BackEventCompat الذي توفّره وظائف handleOnBackStarted وhandleOnBackProgressed في OnBackPressedCallback.

تحديثات الاعتماديات

  • تم الآن تجميع النشاط باستخدام الإصدار 36 من واجهة برمجة التطبيقات. (I510e8، b/301910674)

الإصدار ‎1.11.0-alpha01

‫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 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة واجهة برمجة التطبيقات MediaCapabilities إلى PickVisualMediaRequest للسماح للتطبيقات بتحديد إمكانات الوسائط، مثل أنواع 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 لنتائج الأنشطة اللذان يؤديان إلى تشغيل "أداة اختيار الصور" يفوّضان المهام مباشرةً إلى "خدمات Google Play" في حال عدم توفّر "أداة اختيار الصور" في النظام، بل يستخدمان الإجراء ACTION_SYSTEM_FALLBACK_PICK_IMAGES العام والإضافات ذات الصلة لتوفير تجربة متّسقة في "أداة اختيار الصور" لمصنّعي المعدات الأصلية وتطبيقات النظام كحلّ احتياطي.
  • LocalActivity محلّي جديد في Compose يوفّر 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-beta01

‫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-alpha03

‫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 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة عنصر LocalActivity جديد خاص بالمكوّن المحلي يوفّر Activity للنطاق الحالي، ما يغني المطوّرين عن الحصول على Activity من LocalContext. يتضمّن أيضًا قاعدة تدقيق جديدة تتحقّق من الحالات التي يتم فيها تحويل LocalContext بشكل غير صحيح إلى Activity. (I7746a، b/283009666)

إصلاح الأخطاء

  • من النشاط 1.9.3: لن يتم تشغيل PredictiveBackHandler بعد إيقاف المعالج. سيؤدي ذلك إلى حلّ مشكلة ظهور IndexOutOfBoundsException عند استخدام NavHost من Navigation Compose. (I3f75e وb/365027664 وb/340202286)

تحديث الاعتمادية

  • تعتمد ميزة Activity Compose الآن على الإصدار 1.7.0 من Compose Runtime (I7746a وb/283009666).

الإصدار ‎1.10.0-alpha02

‫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 لنتائج الأنشطة اللذان يؤديان إلى تشغيل "أداة اختيار الصور" يفوّضان المهام مباشرةً إلى "خدمات Google Play" في حال عدم توفّر "أداة اختيار الصور" في النظام، بل يستخدمان الإجراء ACTION_SYSTEM_FALLBACK_PICK_IMAGES العام والإضافات ذات الصلة لتوفير تجربة متّسقة في "أداة اختيار الصور" لمصنّعي المعدات الأصلية وتطبيقات النظام كحلّ احتياطي. من المفترض ألا يؤثر ذلك في تجربة المستخدم على الأجهزة التي تعمل بإصدار حديث من "خدمات Google Play". (I3513d)

إصلاح الأخطاء

  • تمت إزالة التحديد اليدوي للوصول إلى واجهات برمجة التطبيقات الجديدة للمنصة لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (مثل الإصدار 3.3 من R8)، وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون المكوّن الإضافي لنظام Gradle المتوافق مع Android‏ (AGP) بالتحديث إلى الإصدار 8.1 أو الإصدارات الأحدث من D8. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (I9496c، b/345472586)
  • من النشاط 1.9.2: تم إصلاح مشكلة استمرار واجهة برمجة التطبيقات Activity Compose PredictiveBackHandler في التعامل مع إيماءة الرجوع في النظام على الإطار الذي تم إيقافه، ما قد يؤدي إلى تعامل مكتبات مثل Navigation Compose مع الرجوع حتى مع عدم توفّر الأنشطة السابقة، ما يؤدي إلى عرض IndexOutOfBoundsException. (Ie3301، b/340202286)
  • من النشاط 1.9.1: تم إصلاح مشكلة في PredictiveBackHandler حيث إنّه بعد الرجوع إلى الخلف في النظام، ستتعذّر محاولة تنفيذ onBackPressed من OnBackPressedDispatcher. (I5f1f8)

الإصدار ‎1.10.0-alpha01

‫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 بعد إيقاف المعالج. سيؤدي ذلك إلى حلّ مشكلة ظهور IndexOutOfBoundsException عند استخدام NavHost من Navigation Compose. (I3f75e، b/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 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح مشكلة كانت تتسبب في استمرار واجهة برمجة التطبيقات Activity Compose PredictiveBackHandler في التعامل مع إيماءة الرجوع في النظام على الإطار الذي تم إيقافه، ما قد يؤدي إلى تعامل المكتبات، مثل Navigation Compose، مع الرجوع حتى مع عدم توفّر الأنشطة السابقة، ما يؤدي إلى عرض IndexOutOfBoundsException. (Ie3301، b/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.
  • تُصدر واجهات برمجة التطبيقات OnBackPressedCallback وBackHandler وPredictiveBackHandler الآن تحذيرًا عند استدعاء onBackPressedDispatcher.onBackPressed() أثناء معالجة الرجوع، لأنّ ذلك سيؤدي دائمًا إلى إيقاف الرسوم المتحركة الخاصة بميزة "الرجوع التوقّعي". راجِع دليل أفضل الممارسات لمزيد من التفاصيل.
  • تمت إعادة كتابة بقية واجهات برمجة التطبيقات الخاصة بالنشاط في 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-beta01

‫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 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح مشكلة انخفاض أداء بدء تشغيل النشاط التي تم تقديمها في Activity 1.9.0-alpha02 بسبب استدعاء OnBackPressedDispatcher كجزء من إنشاء النشاط. (Ie75e3)

الإصدار 1.9.0-alpha03

‫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 هذه التعديلات.

تحذير Lint

إصلاح الأخطاء

  • إذا تم إرسال حدث رجوع من النظام بدأ أثناء تنفيذ "إيماءة الرجوع التوقّعية"، سيتم إلغاء "إيماءة الرجوع التوقّعية" الجارية حاليًا وسيتولّى حدث الرجوع الجديد بدء "إيماءة رجوع توقّعية" جديدة. (I3482e)
  • تم إصلاح عُطل عند الوصول إلى onBackPressedDispatcher من ComponentActivity للمرة الأولى من سلسلة تعليمات في الخلفية. يمكنك الآن الوصول إلى onBackPressedDispatcher في أي سلسلة محادثات. (I79955)

الإصدار ‎1.9.0-alpha02

‫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 هذه التعديلات.

الإحالات الناجحة في Kotlin

  • تمت إعادة كتابة 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)

إصلاح الأخطاء

  • ترسم واجهة برمجة التطبيقات enableEdgeToEdge الآن حول أيّ فتحات عرض. (a3644b، b/311173461)
  • من النشاط 1.8.2: تم إصلاح البيانات الإضافية التي تم تمريرها إلى ACTION_SYSTEM_FALLBACK_PICK_IMAGES في عقد نشاط "أداة اختيار الصور" لتمرير المفتاح EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX بشكل صحيح، بدلاً من استخدام البيانات الإضافية مع المفتاح "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". ننصح بشدة باستخدام كليهما إذا كنت من مصنّعي المعدات الأصلية الذين يستخدمون "أداة اختيار الصور" الاحتياطية في النظام لضمان تحقيق أكبر قدر من التوافق. (I96a00)

الإصدار ‎1.9.0-alpha01

‫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)

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة كتابة ComponentActivity بلغة Kotlin. (I14f31)
  • تمت إعادة كتابة ActivityResultCaller بلغة Kotlin. (Ib02e4)
  • تمت إعادة كتابة ActivityResultLauncher بلغة Kotlin. في إطار عملية التحويل هذه، أصبحت الدالة getContract الآن سمة Kotlin مجرّدة. هذا تغيير متوافق مع الرمز الثنائي، ولكنّه يؤدي إلى تعذُّر تجميع الرمز إذا كان تنفيذ ActivityResultLauncher مكتوبًا بلغة Kotlin. (Id4615)
  • يستهدف الإصدار PickVisualMediaRequest الآن المستوى 19 من واجهة برمجة التطبيقات كحدّ أدنى، وهو المستوى نفسه الذي يستهدفه عقد PickVisualMedia Activity Result. (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 في Photo Picker Activity Contract لتمرير المفتاح EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX إليها بشكل صحيح، بدلاً من استخدام البيانات الإضافية مع المفتاح "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". ننصح بشدة باستخدام كليهما إذا كنت من مصنّعي المعدات الأصلية الذين ينفّذون "أداة اختيار الصور" الاحتياطية في النظام لضمان تحقيق أكبر قدر من التوافق. (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

  • إيماءة إظهار شاشة الرجوع: يوفّر OnBackPressedCallback الآن عمليات ردّ نداء جديدة خاصة بميزة "إيماءة إظهار شاشة الرجوع" للتعامل مع بدء إيماءة الرجوع والتقدّم خلال الإيماءة وإلغاء إيماءة الرجوع، بالإضافة إلى عملية ردّ النداء السابقة handleOnBackPressed() التي يتم تنفيذها عند تأكيد إيماءة الرجوع. يتضمّن ذلك أيضًا PredictiveBackHandler Composable للتعامل مع أحداث إيماءة إظهار شاشة الرجوع في Activity Compose. توفّر هذه السمة تدفقًا لعناصر BackEventCompat التي يجب جمعها في دالة lambda المعلقة التي تقدّمها:
  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() نهائيًا لصالح واجهات برمجة التطبيقات الخاصة بالتعامل مع الرجوع. على المطوّرين الآن استخدام OnBackPressedDispatcher بدلاً من تجاهل هذه الطريقة.

  • EdgeToEdge - تمت إضافة ComponentActivity.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-beta01

‫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. (aosp/2722254)

الإصدار ‎1.8.0-alpha07

‫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 دالة مركّبة جديدة للتعامل مع أحداث إيماءة إظهار شاشة الرجوع. يوفّر هذا التقرير Flow من عناصر BackEventCompat التي يجب جمعها في دالة lambda المعلقة التي تقدّمها:

    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، b/294884345)

  • تم الآن تهيئة onBackPressedDispatcher في ComponentActivity بشكل غير مباشر، وبالتالي لا يتم إنشاؤه إلا عند الحاجة. (I0bf8e)

إصلاح الأخطاء

  • لن يعرض تطبيق "ComponentActivity" خطأ NPE على Android 13 عند تلقّي ردّ onBackPressed() وعندما يكون النشاط قد تم DESTROYED. (Idb055، b/291869278)
  • تمت إزالة استخدامات واجهة برمجة التطبيقات التجريبية isAtLeastU() (Ie9117 وb/289269026)

الإصدار ‎1.8.0-alpha06

‫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)

التغييرات في واجهة برمجة التطبيقات

  • عند تمرير SystemBarStyle.auto إلى واجهة برمجة التطبيقات enableEdgeToEdge، يمكنك الآن تجاهل المَعلمة detectDarkMode lambda لتوفير منطق مخصّص لرصد الوضع الداكن. (aosp/2546393 وb/278263793)

الإصدار ‎1.8.0-alpha05

‫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. تم تطوير هذا الإصدار في فرع داخلي.

التغييرات في واجهة برمجة التطبيقات

  • توفّر Activity الآن فئة BackEventCompat تعمل كإصدار متوافق مع الإصدارات القديمة من BackEvent، وهي منفصلة عن فئة BackEvent في إطار العمل.
  • تغيير غير متوافق مع الإصدارات القديمة: تتلقّى الطريقتان handleOnBackStarted وhandleOnBackProgressed في OnBackPressedCallback الآن مثيلاً من androidx.activity.BackEventCompat بدلاً من الفئة android.window.BackEvent في إطار العمل. تم أيضًا تعديل واجهات برمجة التطبيقات المكافئة @VisibleForTesting على OnBackPressedDispatcher.
  • تتلقّى الدالة الإنشائية OnBackPressedDispatcher الآن مثيلاً اختياريًا من Consumer<Boolean> يتيح لمالكي أداة إرسال البيانات تلقّي ردّ عند تغيير عدد عمليات رد الاتصال المفعَّلة من صفر إلى قيمة غير صفرية أو العكس.

إصلاح الأخطاء

الإصدار ‎1.8.0-alpha04

‫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-alpha03

‫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() لتسهيل إعداد شاشة العرض من الحافة إلى الحافة بطريقة متوافقة مع الإصدارات القديمة.

التغييرات في واجهة برمجة التطبيقات

  • تم الآن إيقاف ComponentActivity.onBackPressed() نهائيًا لصالح واجهات برمجة التطبيقات الخاصة بالتعامل مع الرجوع. على المطوّرين الآن استخدام OnBackPressedDispatcher بدلاً من تجاهل هذه الطريقة. (Ibce2f، b/271596918)
  • يحتوي ComponentDialog وComponentActivity الآن على واجهة برمجة تطبيقات عامة initViewTreeOwners() يمكن استخدامها لضبط جميع مالكي شجرة العرض قبل ضبط عرض المحتوى. (Ibdce0، b/261314581)

إصلاح الأخطاء

  • تم إصلاح مشكلة كانت تؤدي إلى إبطال صحة MenuHost بشكل غير صحيح في "الأجزاء"، ما كان يتسبّب في سلوك غير متوقّع للقوائم الأخرى في "النشاط". (I9404e، b/244336571)

تغييرات أخرى

  • يستخدم ActivityResultRegister الآن Random من Kotlin بدلاً من Java. (I4d98f، b/272096025)

الإصدار ‎1.8.0-alpha02

‫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-alpha01

‫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 الآن على عمليات معاودة الاتصال الجديدة بشأن تقدّم ميزة "إيماءة إظهار شاشة الرجوع" للتعامل مع بدء إيماءة الرجوع والتقدّم خلال الإيماءة وإلغاء إيماءة الرجوع، بالإضافة إلى عملية معاودة الاتصال 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، b/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، b/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

  • تم تعديل عقود نشاط "أداة اختيار الصور" في PickVisualMedia وPickMultipleVisualMedia لتتضمّن خيارًا احتياطيًا إضافيًا في حال عدم توفّر MediaStore.ACTION_PICK_IMAGES، ما يتيح لمصنّعي المعدات الأصلية وتطبيقات النظام، مثل "خدمات Google Play"، تقديم تجربة متسقة لاستخدام "أداة اختيار الصور" على مجموعة أكبر من أجهزة Android ومستويات واجهة برمجة التطبيقات من خلال تنفيذ الإجراء الاحتياطي. ستستخدم "أداة اختيار الصور" هذا الخيار الاحتياطي إذا كان متاحًا قبل الرجوع إلى استخدام Intent.ACTION_OPEN_DOCUMENT، الذي يظل متوافقًا مع جميع الأجهزة التي تعمل بالإصدار 19 من واجهة برمجة التطبيقات والإصدارات الأحدث.
  • تستخدم ComponentDialog الآن SavedStateRegistryOwner ويمكنها الوصول إلى SavedStateRegistry الخاص بها وتحديد SavedStateRegistryOwner لـ ViewTree. يمكن الآن استخدام Jetpack Compose داخل ComponentDialog لأنّه يستوفي متطلبات LifecycleOwner وSavedStateRegistryOwner المرفقة بالنافذة من خلال واجهات برمجة التطبيقات ViewTree.
  • تتيح لك IntentSenderRequest.Builder.setFlags() الآن ضبط علامات متعدّدة من Intent، بدلاً من علامة واحدة فقط.

تحويل إلى Kotlin

تم تحويل عدد من فئات النشاط إلى Kotlin. تحتفظ جميع الفئات المحوَّلة بتوافقها الثنائي مع الإصدارات السابقة. تتضمّن الفئات التالية تغييرات غير متوافقة مع المصدر للفئات المكتوبة بلغة Kotlin: ActivityResultRegistryOwner وOnBackPressedDispatcherOwner.

يقدّم الجدول أدناه الإحالات الناجحة المصدر للإصدار الجديد من "النشاط":

النشاط 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

واجهات برمجة التطبيقات FullyDrawnReporter

توفّر السمة ComponentActivity الآن مثيلاً من FullyDrawnReporter يسمح لمكوّنات متعدّدة بالإبلاغ عن جاهزيتها للتفاعل. ستنتظر ComponentActivity إلى أن تكتمل جميع المكوّنات قبل استدعاء reportFullyDrawn() نيابةً عنك. تتولّى واجهات برمجة التطبيقات هذه متطلبات التوقيت نيابةً عنك، ولا يلزم استدعاؤها كجزء من طلب onDraw.

ننصح بتفعيل واجهات برمجة التطبيقات التالية:

  • إرسال إشارة إلى "وقت تشغيل Android" عند اكتمال عملية بدء التشغيل، وذلك لضمان تضمين جميع الرموز التي يتم تنفيذها أثناء تسلسل بدء التشغيل المتعدد اللقطات وتحديد أولويتها في عملية التجميع في الخلفية
  • إرسال إشارات إلى Macrobenchmark وPlay Vitals عندما يجب اعتبار تطبيقك مرسومًا بالكامل بالنسبة إلى مقاييس بدء التشغيل، ما يتيح لك تتبُّع الأداء

تمت إضافة ثلاث واجهات برمجة تطبيقات 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-beta02

‫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 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • إنّ الإجراء والبيانات الإضافية المستخدَمة في عقود PickVisualMedia وPickMultipleVisualMedia كحلّ احتياطي عندما لا يتوفّر MediaStore.ACTION_PICK_IMAGES هي الآن ثوابت عامة توفّر ثباتًا لواجهة برمجة التطبيقات لمصنّعي المعدات الأصلية وتطبيقات النظام التي تريد تقديم تجربة متّسقة في "أداة اختيار الصور". لا يزال استخدام هذا الخيار الاحتياطي مقتصرًا على تطبيقات النظام فقط. (Icd320)

الإصدار ‎1.7.0-beta01

‫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 كخيار احتياطي عندما لا يتوفّر إطار عمل "أداة اختيار الصور" على التطبيقات المثبَّتة في صورة نظام الجهاز. (If8ae6)

الإحالات الناجحة في Kotlin

  • تمت إعادة كتابة 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-alpha04

‫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 في أداة اختيار الصور التي توفّرها "خدمات Google Play" حيثما كان ذلك متاحًا في الحالات التي لا تتوفّر فيها أداة اختيار الصور التي يوفّرها نظام Android (مثل MediaStore.ACTION_PICK_IMAGES). تم إيقاف واجهة برمجة التطبيقات isPhotoPickerAvailable() نهائيًا، وهي التي ترصد فقط أداة اختيار الصور التي يوفّرها نظام التشغيل Android. يُنصح باستخدام واجهة برمجة التطبيقات الجديدة isPhotoPickerAvailable(Context)، والتي ستعرض ما إذا كانت "أداة اختيار الصور" متاحة. (I55be6)

الإصدار ‎1.7.0-alpha03

‫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 المرفقَين بـ Window من خلال متطلبات واجهات برمجة التطبيقات ViewTree. (Idca17، I73468 b/261162296)

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة دالة مركّبة ReportDrawn تضع علامة على النشاط فورًا للإشارة إلى أنّه جاهز لإجراء طلب reportFullyDrawn. (Ic5b14، b/259687964)

الإحالات الناجحة في Kotlin

  • تم تحويل الفئتين ActvitiyResultCallback وOnBackPressedCallback إلى Kotlin مع الحفاظ على التوافق مع المصدر والتوافق الثنائي. (Ifc5e5 وIde1b0 وb/257291701)

الإصدار ‎1.7.0-alpha02

‫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 Activity Result على أجهزة Android R عند استخدام القيمة التلقائية لـ maxItems. (Ie2776، b/249182130)

الإصدار 1.7.0-alpha01

‫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 هذه التعديلات.

واجهات برمجة التطبيقات FullyDrawnReporter

توفّر السمة ComponentActivity الآن مثيلاً من FullyDrawnReporter يسمح لمكوّنات متعدّدة بالإبلاغ عن جاهزيتها للتفاعل. ستنتظر ComponentActivity إلى أن تكتمل جميع المكوّنات قبل استدعاء reportFullyDrawn() نيابةً عنك. تتولّى واجهات برمجة التطبيقات هذه متطلبات التوقيت نيابةً عنك، ولا يلزم استدعاؤها كجزء من طلب onDraw.

ننصح بتفعيل واجهات برمجة التطبيقات التالية:

  • إرسال إشارة إلى "وقت تشغيل Android" عند اكتمال عملية بدء التشغيل، وذلك لضمان تضمين جميع الرموز التي يتم تنفيذها أثناء تسلسل بدء التشغيل المتعدد اللقطات وتحديد أولويتها في عملية التجميع في الخلفية
  • إرسال إشارات إلى Macrobenchmark وPlay Vitals عند اعتبار تطبيقك مرسومًا بالكامل بالنسبة إلى مقاييس بدء التشغيل، ما يتيح لك تتبُّع الأداء

تمت إضافة واجهتَي برمجة تطبيقات 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 Activity Result على أجهزة Android R عند استخدام القيمة التلقائية لـ 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 و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 في الإصدار 13 من نظام التشغيل Android مع OnBackPressedDispatchers المقدَّمة من ComponentActivity وComponentDialog. يضمن ذلك عمل جميع واجهات برمجة التطبيقات المستندة إلى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)
  • سيتم الآن دائمًا إرسال كلتا دالتَي الاستدعاء onMultiWindowModeChanged() في الصفوف التي تتضمّن ComponentActivity. (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)
  • سيتم الآن دائمًا إرسال عمليات رد الاتصال للصفوف التي تتجاهل عملية رد الاتصال onPictureInPictureModeChanged() الخاصة بـ ComponentActivity. (Ib7fdb)

الإصدار 1.6.0-beta01

‫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 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تم وضع علامة @NonNull على الطريقتَين المتوقّفتَين نهائيًا startActivityForResult وstartIntentSenderForResult في ComponentActivity لأنّ تمرير 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-alpha05

‫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 في فرع خاص قبل الإصدار العلني، وليس له عمليات إرسال علنية.

التغييرات في واجهة برمجة التطبيقات

  • أصبح minCompileSdk الآن 33 ليتوافق مع الإصدار التجريبي 3 من حزمة تطوير البرامج (SDK) لنظام التشغيل Tiramisu

إصلاح الأخطاء

  • تم إصلاح عُطل على الأجهزة القديمة عند إجراء عملية التحقّق من إضافة حزمة SDK إلى PickVisualMedia ActivityResultContract، وبالتالي من المفترض أن تعمل الآن مع ACTION_OPEN_DOCUMENT على الأجهزة التي تعمل بالإصدار Android 10 والإصدارات الأقدم.

الإصدار ‎1.6.0-alpha04

‫18 مايو 2022

تم طرح androidx.activity:activity:1.6.0-alpha04 وandroidx.activity:activity-ktx:1.6.0-alpha04.

إصلاح الأخطاء

  • تم إصلاح خطأ في PickVisualMediaRequest كان يؤدي إلى حدوث خطأ تجاوز سعة التخزين المؤقت عند محاولة إنشاء طلب، سواء من خلال "أداة الإنشاء" أو دالة Kotlin ذات المستوى الأعلى.
  • تم دمج OnBackInvokedCallback في الإصدار التجريبي الثاني من Android 13 للمطوّرين ضمن OnBackPressedDispatcher الذي توفّره ComponentDialog. يضمن ذلك عمل جميع واجهات برمجة التطبيقات المستندة إلى OnBackPressedDispatcher عند تفعيل إيماءة الرجوع التوقّعية.

الإصدار 1.6.0-alpha03

‫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.

  • ملاحظة: لن يتم تجميع هذا الإصدار إلا باستخدام حزمة تطوير البرامج (SDK) للإصدار التجريبي الأول من Android 13.

الميزات الجديدة

  • تمت إضافة ActivityResultContracts.PickVisualMedia وActivityResultContracts.PickMultipleVisualMedia لتوفير عقد متوافق مع الإصدارات القديمة يستخدم MediaStore.ACTION_PICK_IMAGES عندما تكون أداة اختيار الصور متاحة وIntent.ACTION_OPEN_DOCUMENT عندما لا تكون متاحة.
  • تم دمج OnBackInvokedCallback في الإصدار التجريبي الأول من Android 13 للمطوّرين مع OnBackPressedDispatcher الذي يوفّره ComponentActivity. يضمن ذلك عمل جميع واجهات برمجة التطبيقات المستندة إلى OnBackPressedDispatcher عند تفعيل إيماءة الرجوع التوقّعية.

الإصدار ‎1.6.0-alpha01

‫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.

  • ملاحظة: لن يتم تجميع هذا الإصدار إلا باستخدام حزمة تطوير البرامج (SDK) لإصدار "معاينة المطوّرين 2" من نظام التشغيل Android 13.

الميزات الجديدة

  • تم دمج التغييرات في الإصدار التجريبي الثاني من Android 13 في 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: يمكن الآن لـ ComponentActivity توفير ViewModelProvider.Factory بدون حالة من خلال CreationExtras في Lifecycle 2.5.0.

التغييرات الأخرى

  • تم إيقاف المنشئ الذي لا يحتوي على مَعلمات في 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-beta01. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.

الإصدار ‎1.5.0-beta01

‫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 هذه التعديلات.

إصلاح الأخطاء

  • يستدعي onPanelClosed() في ComponentActivity الآن onPanelClosed() الفائق أيضًا، ما يؤدي إلى حلّ مشكلة عدم استدعاء الطريقة onContextMenuClosed. (Ib6f77)

الإصدار ‎1.5.0-alpha04

‫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 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • يمكنك الآن تمرير 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، الذي تم تقديمه كجزء من Lifecycle 2.5.0-alpha01. (Ie7e00، b/207012584)
  • تمت إضافة ComponentDialog، وهي فئة فرعية من Dialog تتضمّن OnBackPressedDispatcher سيتم استدعاؤها عند الضغط على زر الرجوع في النظام عندما يكون مربّع الحوار مرئيًا. من المهم ملاحظة أنّ هذه الفئة الفرعية تضبط أيضًا ViewTreeOnBackPressedDispatcherOwner، ما يتيح طرقًا عامة للعناصر القابلة للعرض لاسترداد أداة الإرسال الصحيحة سواء كانت متوفّرة في ComponentActivity أو ComponentDialog. (I8a1bc)
  • تستخدم ComponentActivity الآن واجهة OnNewIntentProvider الجديدة للسماح لأي مكوّن بتلقّي هذه الأحداث. (If1f8b)
  • تستخدم ComponentActivity الآن واجهة OnConfigurationChangedProvider الجديدة للسماح لأي مكوّن بتلقّي هذه الأحداث. (If623b)
  • تستخدم ComponentActivity الآن واجهة OnTrimMemoryProvider الجديدة للسماح لأي مكوّن بتلقّي هذه الأحداث. (Ia9295)

التغييرات في واجهة برمجة التطبيقات

  • تم إيقاف نهائيًا المنشئ الذي لا يتضمّن مَعلمات للفئة ActivityResultContracts.CreateDocument واستبداله بمنشئ جديد يتضمّن نوع MIME ملموسًا (مثل "image/png") كما هو مطلوب في Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • يمكن الآن استرداد OnBackPressedDispatcherOwner المرتبط بعنصر View من خلال 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 وعقودها في Kotlin لضمان إمكانية قبول القيم الفارغة بشكلٍ صحيح.

الإصدار 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-beta01

‫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-beta01 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تم إصلاح نوع ActivityResultContracts.OpenMultipleDocuments و ActivityResultContracts.GetMultipleContents الذي تسبّب في استخدام نوع إخراج List<? extends Uri> عند استخدام الرمز من لغة البرمجة Java. (If71de)
  • يمكن الآن الوصول إلى الثوابت العامة ضمن الفئات ActivityResultContracts.StartActivityForResult وActivityResultContracts.StartIntentSenderForResult وActivityResultContracts.RequestMultiplePermissions عند استخدام Kotlin من خلال عناصر Companion العامة. (aosp/1832555)

تعديلات على المستندات

الإصدار 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 هذه التعديلات.

الميزات الجديدة

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة كتابة الفئة ActivityResultContract بلغة Kotlin لضمان أن يتمكّن المطوّرون الذين يكتبون عقودًا مخصّصة بلغة Kotlin من تحديد إمكانية قبول القيم الفارغة الصحيحة لفئات الإدخال والإخراج. (I8a8f5)
  • تمت إعادة كتابة فئة ActivityResultContracts وعقودها بلغة Kotlin لضمان إمكانية قبول القيم الفارغة بشكل صحيح. (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 في Kotlin.
  • تعتمد ميزة "إنشاء النشاط" الآن على 1.0.1 في Compose.

الإصدار 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: يوفّر العنصر activity-compose طريقة الإضافة setContent لاستضافة واجهة مستخدم Jetpack Compose في نشاط، بالإضافة إلى برامج تضمين خاصة بـ Compose للتفاعل مع واجهات برمجة التطبيقات ComponentActivity من أجل التعامل مع زر الرجوع في النظام وواجهات برمجة التطبيقات الخاصة بنتائج الأنشطة. يمكنك الاطّلاع على المستندات لمزيد من التفاصيل.
  • عقد CaptureVideo: يحلّ CaptureVideo ActivityResultContract محلّ العقد TakeVideo المتوقّف نهائيًا، ويعرض قيمة منطقية تشير إلى النجاح وتعمل على مستوى العديد من تطبيقات الكاميرا.
  • تتبُّع عرض تلميح "نافذة ضمن النافذة": يمكن لمستخدمي activity-ktx الآن استخدام طريقة الإضافة trackPipAnimationHintView على Activity لإعادة إنشاء 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 واستعادتها بشكل صحيح، وبالتالي لا يتم تكرار عمليات معاودة الاتصال في 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 وandroidx.activity:activity-ktx:1.3.0-rc01 بدون أي تغييرات منذ 1.3.0-beta02. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.

الإصدار ‎1.3.0-beta02

‫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-beta02 هذه التعديلات.

تم تعديل activity-compose ليعتمد على Compose 1.0.0-beta09. يحتوي androidx.compose.ui:ui-test-junit4 الآن على اعتماد وقت التجميع على activity-compose.

الإصدار 1.3.0-beta01

‫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-beta01 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تمت إزالة الطريقة @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)
  • تمت إضافة واجهة برمجة تطبيقات جديدة Activity#setPipAnimationHintView لتعديل تلميح مستطيل المصدر الخاص بـ PipParams كلما تحركت طريقة العرض. (I9063d)

التغييرات في واجهة برمجة التطبيقات

  • تعرض الدالة rememberLauncherForActivityResult الآن مشغّلاً يوقف الدالة unregister() نهائيًا، إذ تتولّى الدالة rememberLauncherForActivityResult تلقائيًا عملية تسجيل المشغّل وإلغاء تسجيله. (I2443e)

توافق Compose

  • لا تتوافق androidx.activity:activity-compose:1.3.0-alpha08 إلا مع الإصدار 1.0.0-beta07 من Compose والإصدارات الأحدث.

الإصدار 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)
  • لن يؤدي استخدام إصدارات غير ثابتة من Fragments أعلى من 1.3.0 إلى ظهور خطأ إيجابي خاطئ في أداة Lint يطلب منك استخدام 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 هذه التعديلات.

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة تسمية واجهة برمجة التطبيقات registerForActivityResult() إلى rememberLauncherForActivityResult() للإشارة بشكل أفضل إلى أنّ ActivityResultLauncher الذي يتم عرضه هو عنصر مُدار يتم تذكّره نيابةً عنك. ستؤدي محاولة استدعاء unregister ActivityResultLauncher الذي تم عرضه الآن إلى طرح خطأ. (I2bb6d)
  • تعرض الدالتان LocalOnBackPressedDispatcherOwner.current وLocalActivityResultRegistryOwner.current الآن قيمة تقبل القيم الخالية لتحديد ما إذا كانت السمة متاحة في التركيب الحالي. ستعرض الآن واجهات برمجة التطبيقات التي تتطلّب هذه الواجهات، مثل BackHandler وrememberLauncherForActivityResult()، خطأ أكثر تفصيلاً في حال عدم العثور على المالك الأساسي. تعمل NavHost الآن حتى في حال عدم العثور على OnBackPressedDispatcherOwner، كما هو الحال عند معاينة NavHost. (I7d8b4)

إصلاح الأخطاء

  • سيعترض BackHandler الآن بشكل صحيح على عمليات الضغط على زر الرجوع في حال كانت السمة Activity هي STOPPED، ثم STARTED مرة أخرى، وتمت إضافة عمليات ردّ نداء أخرى باستخدام LifecycleOwner. (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 أو الإصدارات الأحدث من Fragment. (I54da1، b/182388985)
  • من Activity 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)

التغييرات في واجهة برمجة التطبيقات

  • تتضمّن LocalOnBackPressedDispatcherOwner الآن وظائف provides يمكن استخدامها مع CompositionLocalProvider، ما يحلّ محل واجهة برمجة التطبيقات 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 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح مشكلة في Activity Compose 1.3.0-alpha01 تتسبّب في حدوث استثناء NoSuchMethodError: No static method setContent عند استخدام Compose 1.0.0-alpha12. يجب أن يعتمد جميع مستخدمي ميزة "أنا من كتب هذا" على الإصدار 1.3.0-alpha02 أو إصدار أحدث. (b/179911234)

التغييرات في واجهة برمجة التطبيقات

  • يمكن استخدام واجهة برمجة التطبيقات 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 Compose لواجهات برمجة التطبيقات الخاصة بـ 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 واستعادتها بشكل صحيح، وبالتالي لا يتم تكرار عمليات رد الاتصال في savedState. (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)
  • تم إصلاح خطأ lint إيجابي خاطئ يطلب منك استخدام Fragment 1.3.0 عند استخدام إصدار تجريبي أو أولي أو تجريبي أو إصدار مرشّح للإصدار من إصدار أحدث من Fragments. (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 أو إصدار أحدث من Fragment. (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

  • واجهات برمجة التطبيقات الخاصة بنتائج الأنشطة: يوفّر الإصدار ComponentActivity الآن ActivityResultRegistry يتيح لك التعامل مع startActivityForResult()+onActivityResult() بالإضافة إلى مسارات requestPermissions()+onRequestPermissionsResult() بدون إلغاء الطرق في النشاط أو الجزء، كما يوفّر أمانًا أكبر للأنواع من خلال ActivityResultContract، ويوفر خطافات لاختبار هذه المسارات. اطّلِع على الحصول على نتيجة من نشاط المعدَّل.
  • ContextAware: تنفّذ ComponentActivity الآن ContextAware، ما يتيح لك إضافة مثيل واحد أو أكثر من OnContextAvailableListener سيتلقّى عملية ردّ قبل Activity.onCreate() الأساسي.

    • تتيح لك إضافة Kotlin المعلقة withContextAvailable() تشغيل كتلة غير معلّقة عندما يصبح السياق متاحًا وعرض نتيجة.
    • تستخدم FragmentActivity هذه الواجهة في Fragment 1.3.0 لاستعادة حالة FragmentManager. سيتم تشغيل أي مستمعين تمت إضافتهم إلى فئات فرعية من FragmentActivity بعد هذا المستمع.
    • تستخدم AppCompatActivity واجهة برمجة التطبيقات هذه في AppCompat 1.3.0-alpha02 أو الإصدارات الأحدث. سيتم تشغيل أي مستمعين تمت إضافتهم إلى فئات فرعية من AppCompatActivity بعد هذا المستمع.
  • ViewTree Support: تتوافق ComponentActivity الآن مع واجهات برمجة التطبيقات ViewTreeLifecycleOwner.get(View) وViewTreeViewModelStoreOwner.get(View) وViewTreeSavedStateRegistryOwner التي تمت إضافتها في Lifecycle 2.3.0 وSavedState 1.1.0، بحيث تعرض النشاط كـ LifecycleOwner وViewModelStoreOwner وSavedStateRegistryOwner لأي طرق عرض تمت إضافتها مباشرةً إلى ComponentActivity.

  • إصدار قديم من reportFullyDrawn(): تم نقل طريقة Activity من reportFullyDrawn() إلى إصدار قديم في ComponentActivity لتعمل على جميع مستويات واجهة برمجة التطبيقات، ما يؤدي إلى إصلاح عُطل في المستوى 19 من واجهة برمجة التطبيقات وإضافة تتبُّع لهذه الطريقة في جميع مستويات واجهة برمجة التطبيقات.

الإصدار 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 (Ic7632)

المساهمة الخارجية

  • تتجاوز السمة ComponentActivity الآن السمة reportFullyDrawn()، ما يسمح بطلبها على جميع مستويات واجهة برمجة التطبيقات وإصلاح عُطل عند طلب هذه الطريقة بدون إذن النظام المناسب على الأجهزة التي تعمل بالإصدار 19 من واجهة برمجة التطبيقات. شكرًا "سيمون شيلر"! (b/163239764، #103)

الإصدار ‎1.2.0-beta02

‫2 ديسمبر 2020

تم طرح androidx.activity:activity:1.2.0-beta02 وandroidx.activity:activity-ktx:1.2.0-beta02. يتضمّن الإصدار 1.2.0-beta02 هذه التعديلات.

إصلاح الأخطاء

  • تم إصلاح مشكلة كانت تتسبّب في عدم انتظار واجهة برمجة التطبيقات Activity Result API حتى يصبح Lifecycle في الحالة STARTED قبل عرض النتائج عند التسجيل باستخدام Lifecycle. (I109ea)

المساهمة الخارجية

  • عدّلنا مستندات launch() لنوضّح بشكل صريح أنّه يمكن أن يعرض الخطأ ActivityNotFoundException. شكرًا "ميخاو زيليينسكي". (aosp/1493580)

الإصدار 1.2.0-beta01

‫1 أكتوبر 2020

تم طرح androidx.activity:activity:1.2.0-beta01 وandroidx.activity:activity-ktx:1.2.0-beta01. يتضمّن الإصدار 1.2.0-beta01 هذه التعديلات.

إصلاح الأخطاء

  • تُنشئ 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() تشغيل رمز غير معلّق عندما يصبح السياق متاحًا وعرض نتيجة. (I8290c)
    • تستخدم FragmentActivity هذه الواجهة في Fragment 1.3.0-alpha08 لاستعادة حالة FragmentManager. سيتم تنفيذ أي مستمعين تمت إضافتهم إلى فئات فرعية من FragmentActivity بعد تنفيذ هذا المستمع. (I513da)
    • تستخدم AppCompatActivity واجهة برمجة التطبيقات هذه في AppCompat 1.3.0-alpha02. سيتم تنفيذ أي مستمعين تمت إضافتهم إلى فئات فرعية من AppCompatActivity بعد تنفيذ هذا المستمع. (I513da)

إصلاح الأخطاء

  • تم إصلاح مشكلة في ActivityResultFragmentVersionDetector عملية التحقّق من Lint التي كانت تؤدي إلى تعطُّلها عند استخدام الإصدار 27.1.0 أو إصدار أحدث من Lint. (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 جديد يتحقّق من أنّك تستخدم Fragment 1.3.0-alpha07 عند استخدام Activity Result API، ما يمنع حدوث أعطال أثناء التشغيل بسبب مشاكل "رمز الطلب غير صالح" وطلبات الأذونات التي لا تعمل بسبب استخدام إصدارات قديمة من Fragment. (b/152554847)

المساهمة الخارجية

  • تم إصلاح ArrayIndexOutOfBoundsException عند تحليل النتائج الخاصة بعقد RequestPermission ActivityResult. (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 في Kotlin للوصول مباشرةً إلى requestCode وintent. (b/157212935)
  • يتيح لك ActivityResultLauncher الآن الحصول على ActivityResultContract الذي تم استخدامه لتسجيل مشغّل التطبيقات. (b/156875743)

التغييرات في واجهة برمجة التطبيقات

  • تغيير غير متوافق: تمت إعادة تسمية الطريقة 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 هذه التعديلات.

الميزات الجديدة

التغييرات في واجهة برمجة التطبيقات

  • تعرض TakePicture الآن boolean للإشارة إلى النجاح بدلاً من الصورة المصغّرة Bitmap، لأنّ تطبيقات الكاميرا نادرًا ما كانت تتيح كتابة الصورة في Uri المقدَّم. (b/154302879)
  • تمت إزالة الإضافات invoke() في ActivityResultLauncher لصالح استخدام launch() بشكلٍ صريح للإشارة بشكلٍ أفضل إلى أنّ هذه العمليات غير متزامنة. تمت إضافة إضافات Kotlin إلى launch في الحزمة androidx.activity.result لكل من ActivityResultLauncher<Void> وActivityResultLauncher<Unit>، ما يغني عن الحاجة إلى تمرير null أو Unit على التوالي، مع عكس هذا السلوك من الإضافات invoke() السابقة. (aosp/1304674 وaosp/1304675)
  • تم دمج طريقتَي IntentSenderRequest.Builder لكل من setFlagsMask() وsetFlagsValues() في طريقة setFlags() واحدة. (aosp/1302111)

إصلاح الأخطاء

  • عند تسجيل ActivityResultCallback باستخدام LifecycleOwner، تم إصلاح مشكلة كانت تؤدي إلى تشغيل دالة ردّ الاتصال قبل أن تصل الحالة إلى STARTED. (aosp/1309744)

التغييرات في السلوك

  • تُنشئ ActivityResultRegistry الآن رموز طلب تبدأ من 0xFFFF بدلاً من 0، ما يمنع التداخل عند استخدام startActivityForResult() أو requestPermissions() في أحد الأنشطة. (aosp/1302324)

الإصدار ‎1.2.0-alpha04

‫29 نيسان (أبريل) 2020

تم طرح androidx.activity:activity:1.2.0-alpha04 وandroidx.activity:activity-ktx:1.2.0-alpha04. يتضمّن الإصدار 1.2.0-alpha04 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة عقد يمكنه استدعاء startIntentSenderForResult إلى واجهات برمجة التطبيقات ActivityResult. (b/153007517)

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة تسمية الطريقة prepareCall() لتصبح registerForActivityResult()، وذلك على ComponentActivity هنا وفي Fragment 1.3.0-alpha04. (aosp/1278717)
  • تم تغيير أسماء عقود "GetContents" و"OpenDocuments" و"RequestPermissions" إلى "GetMultipleContents" و"OpenMultipleDocuments" و"RequestMultiplePermissions" على التوالي. (aosp/1280161)
  • تتضمّن ComponentActivity الآن واجهة ActivityResultRegisteryOwner. (aosp/1290888)
  • - تم إيقاف واجهتَي برمجة التطبيقات startActivityForResult()/onActivityResult() وonRequestPermissionsResult() على ComponentActivity. يُرجى استخدام واجهات برمجة التطبيقات لنتائج الأنشطة. (b/154751887)

إصلاح الأخطاء

  • عند استخدام العقدَين GetMultipleContents وOpenMultipleDocuments واختيار عنصر واحد، يتم الآن إرجاعه بشكل صحيح إلى دالة معاودة الاتصال. (b/152941153)

الإصدار ‎1.2.0-alpha03

1 نيسان (أبريل) 2020

تم طرح androidx.activity:activity:1.2.0-alpha03 وandroidx.activity:activity-ktx:1.2.0-alpha03. يتضمّن الإصدار 1.2.0-alpha03 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة العقود TakeVideo وPickContact وGetContent وGetContents وOpenDocument وOpenDocuments وOpenDocumentTree وCreateDocument إلى مجموعة العقود المُنشأة مسبقًا التي توفّرها ActivityResultContracts. (aosp/1262482 وaosp/1266916 وaosp/1268960)
  • تتيح واجهات برمجة التطبيقات Activity Result الآن إمكانية بدء نشاط للحصول على نتيجة باستخدام ActivityOptionsCompat اختيارية. (b/151860054)

التغييرات في واجهة برمجة التطبيقات

  • يتلقّى العقد TakePicture الآن إدخالاً Uri لتحديد مكان تخزين الصورة. تمت إعادة تسمية العقد السابق الذي لا يقبل أي إدخال إلى TakePicturePreview. (aosp/1262482)
  • تمت إعادة تسمية طريقة registerActivityResultCallback() في ActivityResultRegistry إلى register(). (aosp/1267621)
  • تمت إعادة تسمية الطريقة dispose() في ActivityResultLauncher إلى unregister()، كما تمت إزالة unregisterResultCallback() في ActivityResultRegistry. (aosp/1267621)
  • تتلقّى الطريقة createIntent() في ActivityResultContact الآن Context بالإضافة إلى الإدخال لإتاحة إنشاء أغراض ضمنية. (aosp/1238800)
  • يمكن الآن ActivityResultContract تجاوز getSynchronousResult() لتقديم نتيجة بدون استدعاء startActivityForResult. يتم استخدام هذا الحقل في العقدَين RequestPermission وRequestPermissions لعرض الحالة "ممنوحة" بشكل صحيح إذا كانت الأذونات المطلوبة ممنوحة مسبقًا. (b/151110799)
  • تمت إزالة العقد Dial الذي كان متاحًا سابقًا لأنّ Intent ليس مخصّصًا للاستخدام مع startActivityForResult(). (aosp/1266916)
  • أصبحت العديد من واجهات برمجة التطبيقات لنتائج الأنشطة التي لا يُفترض أن يتم توسيعها final. ويشمل ذلك getActivityResultRegistry() وطُرق prepareCall() وجميع طُرق ActivityResultRegistry باستثناء invoke() وعددًا من العقود التلقائية التي لا تتيح إضافات اختيارية. (b/152439361)

إصلاح الأخطاء

  • تم إصلاح NullPointerException في ActivityResultRegistry عند محاولة عرض النتائج في دالة ردّ لم تتم إعادة تسجيلها بعد تغيير الإعدادات. يحتفظ ActivityResultRegistry الآن بهذه النتائج المعلّقة ويعرضها عند إعادة تسجيل دالة الردّ. (b/152137004)

الإصدار 1.2.0-alpha02

‫18 مارس 2020

تم طرح androidx.activity:activity:1.2.0-alpha02 وandroidx.activity:activity-ktx:1.2.0-alpha02. يتضمّن الإصدار 1.2.0-alpha02 هذه التعديلات.

الميزات الجديدة

  • ActivityResultRegistry: يوفّر ComponentActivity الآن ActivityResultRegistry يتيح لك التعامل مع عمليات startActivityForResult()+onActivityResult() بالإضافة إلى عمليات requestPermissions()+onRequestPermissionsResult() بدون إلغاء الطرق في النشاط أو الجزء، كما يوفّر أمانًا أكبر للأنواع من خلال ActivityResultContract، ويوفر خطافات لاختبار هذه العمليات. اطّلِع على الحصول على نتيجة من نشاط المعدَّل. (b/125158199)

الإصدار 1.2.0-alpha01

‫4 مارس 2020

تم طرح androidx.activity:activity:1.2.0-alpha01 وandroidx.activity:activity-ktx:1.2.0-alpha01. يتضمّن الإصدار 1.2.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة دعم لواجهة برمجة التطبيقات ViewTreeLifecycleOwner.get(View) التي تمت إضافتها في دورة الحياة 2.3.0-alpha01، وذلك لكي تعرض النشاط على أنّه LifecycleOwner لأي طرق عرض تمت إضافتها مباشرةً إلى النشاط. (aosp/1182955)

إصلاح الأخطاء

  • تم إصلاح مشكلة تراجع تم رصدها في النشاط 1.1.0 عند التشغيل على إصدارات قديمة من النظام الأساسي حيث كان onBackPressed() يتسبّب في حدوث IllegalStateException بسبب خطأ في android.app.FragmentManager. (b/146290338)

الإصدار 1.1.0

الإصدار 1.1.0

‫22 يناير 2020

تم طرح androidx.activity:activity:1.1.0. يتضمّن الإصدار 1.1.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.0.0

  • دمج Lifecycle ViewModel SavedState: أصبح SavedStateViewModelFactory الآن المصنع التلقائي المستخدَم عند استخدام by viewModels() أو الدالة الإنشائية ViewModelProvider أو ViewModelProviders.of() مع ComponentActivity أو فئاتها الفرعية.

الإصدار ‎1.1.0-rc03

4 كانون الأول (ديسمبر) 2019

تم طرح androidx.activity:activity:1.1.0-rc03 وandroidx.activity:activity-ktx:1.1.0-rc03. يتضمّن الإصدار 1.1.0-rc03 هذه التعديلات.

التغييرات في الاعتماديات

  • يعتمد النشاط الآن على 2.2.0-rc03 Lifecycle و1.0.0-rc03 Lifecycle ViewModel SavedState.

الإصدار ‎1.1.0-rc02

‫7 نوفمبر 2019

تم طرح androidx.activity:activity:1.1.0-rc02 وandroidx.activity:activity-ktx:1.1.0-rc02. يتضمّن الإصدار 1.1.0-rc02 هذه التعديلات.

التغييرات في الاعتماديات

  • يعتمد النشاط الآن على دورة الحياة 2.2.0-rc02.

الإصدار 1.1.0-rc01

‫23 تشرين الأول (أكتوبر) 2019

تم إصدار androidx.activity:activity:1.1.0-rc01 وandroidx.activity:activity-ktx:1.1.0-rc01 بدون أي تغييرات منذ 1.1.0-beta01. يتضمّن الإصدار 1.1.0-rc01 هذه التعديلات.

الإصدار 1.1.0-beta01

‫9 أكتوبر 2019

تم طرح androidx.activity:activity:1.1.0-beta01 وandroidx.activity:activity-ktx:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 هذه التعديلات.

التغييرات في الاعتماديات

  • يعتمد النشاط الآن على الإصدار الثابت 1.0.0 من SavedState.

الإصدار ‎1.1.0-alpha03

‫5 سبتمبر 2019

تم طرح androidx.activity:activity:1.1.0-alpha03 وandroidx.activity:activity-ktx:1.1.0-alpha03. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

الميزات الجديدة

  • يعتمد النشاط الآن على الإصدار الثابت 1.1.0 من Core.

إصلاح الأخطاء

الإصدار ‎1.1.0-alpha02

‫7 أغسطس 2019

تم طرح androidx.activity:activity:1.1.0-alpha02 وandroidx.activity:activity-ktx:1.1.0-alpha02. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

الميزات الجديدة

  • أصبح SavedStateViewModelFactory الآن المصنع التلقائي المستخدَم عند استخدام by viewModels() أو أداة إنشاء ViewModelProvider أو ViewModelProviders.of() مع ComponentActivity (b/135716331)

الإصدار ‎1.1.0-alpha01

‫2 يوليو 2019

تم طرح androidx.activity:activity:1.1.0-alpha01 وandroidx.activity:activity-ktx:1.1.0-alpha01. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

الميزات الجديدة

  • يعتمد activity الآن على Lifecycle 2.2.0-alpha02. (aosp/1007817)
  • أضافت activity-ktx اعتمادًا على lifecycle-runtime-ktx، ولم يعُد عليك إضافته بشكل صريح إلى الاعتمادات عند استخدام activity-ktx أو المكتبات التي تعتمد على activity-ktx (مثل fragment-ktx). (aosp/987162)

الإصدار 1.0.0

الإصدار 1.0.0

‫5 سبتمبر 2019

تم طرح androidx.activity:activity:1.0.0 وandroidx.activity:activity-ktx:1.0.0. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

الميزات الرئيسية في الإصدار 1.0.0

  • ComponentActivity: ComponentActivity هي صنف أساسي جديد لـ FragmentActivity في Fragment 1.1.0، وبالتالي AppCompatActivity في AppCompat 1.1.0.
  • activity-ktx: يتضمّن الوحدة activity-ktx إضافة لخاصية Kotlin by viewModels تتيح الوصول إلى ViewModels. يتم تضمين هذه الوحدة تلقائيًا عند تضمين fragment-ktx من Fragment 1.1.0.
  • OnBackPressedDispatcher: كبديل دالة مركّبة لتجاوز onBackPressed()، يمكنك الآن تسجيل OnBackPressedCallback من أي LifecycleOwner (مثل جزء) لاعتراض أحداث زر الرجوع في النظام. تمت إضافة دالة lambda مع إصدار المستقبِل addCallback إلى activity-ktx. لمزيد من التفاصيل، يمكنك الاطّلاع على مستندات توفير التنقّل المخصّص للخلف.
  • إيقاف onRetainCustomNonConfigurationInstance نهائيًا: تم إيقاف واجهة برمجة التطبيقات onRetainCustomNonConfigurationInstance() وواجهات برمجة التطبيقات getLastCustomNonConfigurationInstance() ذات الصلة نهائيًا. يُنصح بشدة باستخدام ViewModels لتخزين الحالة غير المتعلّقة بالإعدادات، لأنّها تقدّم حلاً قابلاً للإنشاء ومناسبًا لأي ViewModelStoreOwner يوضّح ملكية العناصر المحتفظ بها ويوفّر معاودة الاتصال onCleared() لتنظيف الموارد عند إيقاف النشاط نهائيًا.

الإصدار ‎1.0.0-rc01

‫2 يوليو 2019

تم إصدار androidx.activity:activity:1.0.0-rc01 وandroidx.activity:activity-ktx:1.0.0-rc01 بدون أي تغييرات منذ 1.0.0-beta01. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

الإصدار 1.0.0-beta01

‫5 يونيو 2019

تم إصدار androidx.activity::activity:1.0.0-beta01 وandroidx.activity:activity-ktx:1.0.0-beta01 بدون أي تغييرات منذ 1.0.0-alpha08. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

الإصدار ‎1.0.0-alpha08

‫7 أيار (مايو) 2019

تم طرح androidx.activity:activity:1.0.0-alpha08 وandroidx.activity:activity-ktx:1.0.0-alpha08. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

تغييرات واجهة برمجة التطبيقات

  • تغيير غير متوافق: تمت إزالة الدالتَين addOnBackPressedCallback وremoveOnBackPressedCallback اللتَين تم إيقافهما نهائيًا سابقًا في ComponentActivity. aosp/953857
  • أصبحت طريقتَا setEnabled() وisEnabled() في OnBackPressedCallback نهائيتَين الآن. b/131416833
  • أصبحت طريقة remove() في OnBackPressedCallback نهائية الآن. aosp/952720
  • يتضمّن OnBackPressedDispatcher الآن طرق وضع تصميم عامة، ما يتيح لك إنشاء مثيلات خاصة بك للاختبار وغير ذلك. aosp/953431
  • تم الآن وضع العلامة @MainThread على onBackPressed() للإصدار ComponentActivity بشكل صريح aosp/952721

إصلاح الأخطاء

  • تم إصلاح ConcurrentModificationException عند استدعاء remove() من داخل طريقة handleOnBackPressed() لعنصر OnBackPressedCalback تمت إضافته باستخدام LifecycleOwner. b/131765095

الإصدار ‎1.0.0-alpha07

‫25 أبريل 2019

تم طرح androidx.activity:activity:1.0.0-alpha07 وandroidx.activity:activity-ktx:1.0.0-alpha07. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

تغييرات واجهة برمجة التطبيقات

يُجري هذا الإصدار تغييرات مهمة على طريقة التعامل مع onBackPressed(). لمزيد من التفاصيل، يمكنك الاطّلاع على مستندات ميزة "الرجوع المخصّص" المعدَّلة.

  • تم وضع علامة @MainThread على طرق OnBackPressedCallback وOnBackPressedDispatcher. (aosp/943813)
  • لم يعُد الإجراء handleOnBackPressed() يعرض boolean. بدلاً من ذلك، أصبحت OnBackPressedCallback الآن فئة مجرّدة يمكن تفعيلها أو إيقافها. ولن يتم استدعاء handleOnBackPressed() إلا عندما تعرض الطريقة الجديدة isEnabled() القيمة "صحيح"، وفي هذه الحالة يجب معالجة زر الرجوع. (aosp/944518)
  • لم تعُد طرق addCallback في OnBackPressedDispatcher تعرض مثيلاً من Cancellable. تحتوي OnBackPressedCallback الآن على طريقة remove() التي تؤدي هذه الوظيفة، ما يتيح لك استدعاء remove() أثناء handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • يحتوي activity-ktx الآن على دالة ردّ اتصال بنطاق جهاز الاستقبال لـ addCallback تقبل تعبير lambda ينفّذ handleOnBackPressed() ويمكنه الوصول إلى isEnabled وremove() (aosp/944520)

الإصدار ‎1.0.0-alpha06

‫3 أبريل 2019

تم طرح androidx.activity:activity:1.0.0-alpha06 وandroidx.activity:activity-ktx:1.0.0-alpha06. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.

تغييرات واجهة برمجة التطبيقات

  • يحتوي ComponentActivity الآن على دالة إنشاء ثانية تأخذ @LayoutRes int، ما يحلّ محل السلوك السابق المتمثل في إضافة التعليقات التوضيحية إلى فئة AppCompatActivity باستخدام @ContentView. يعمل هذا الأسلوب في كلّ من وحدات التطبيق والمكتبة. (b/128352521)
  • تم إيقاف واجهات برمجة التطبيقات ذات الصلة OnBackPressedCallback في ComponentActivity نهائيًا لصالح OnBackPressedDispatcher الجديدة التي يمكن استردادها من خلال getOnBackPressedDispatcher(). (aosp/922523)
  • إنّ طرق إضافة OnBackPressedCallback جديد إلى OnBackPressedDispatcher تعرض الآن عنصر Cancellable، ما يتيح إزالة وظيفة معاودة الاتصال بدون الحاجة إلى مرجع صريح إلى OnBackPressedDispatcher. (aosp/922523)
  • تؤدي إضافة OnBackPressedCallback مع LifecycleOwner مرتبطة بها الآن إلى إضافة OnBackPressedCallback وإزالتها عند بدء Lifecycle وإيقافه، على التوالي. (aosp/922523)

الإصدار ‎1.0.0-alpha05

‫13 مارس 2019

تم طرح androidx.activity:activity:1.0.0-alpha05 وandroidx.activity:activity-ktx:1.0.0-alpha05. يمكنك الاطّلاع على القائمة الكاملة للتعديلات المضمّنة في هذا الإصدار هنا.

الميزات الجديدة

  • تم الآن تخزين عمليات البحث عن التعليقات التوضيحية @ContentView مؤقتًا (b/123709449)

الإصدار ‎1.0.0-alpha04

30 من كانون الثاني (يناير) 2019

تم طرح androidx.activity:activity 1.0.0-alpha04 وandroidx.activity:activity-ktx 1.0.0-alpha04.

الميزات الجديدة

  • تمت إضافة إمكانية استخدام التعليق التوضيحي للفئة @ContentView الذي يتيح لك تحديد ملف XML للتصميم الذي يجب تضخيمه كبديل لاستخدام setContentView(). (aosp/837619)

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة ملاحظة تفيد بأنّه يجب عدم تجاهل getViewModelStore() وسيتم إتاحتها بشكل نهائي في إصدار مستقبلي. يُرجى تقديم طلب ميزة إذا كنت تتجاهل هذه الطريقة حاليًا. (aosp/837619)

إصلاح الأخطاء

  • تعتمد الوحدة activity الآن على الإصدار 2.1.0-alpha02 من ViewModel لتتطابق مع تبعية الوحدة activity-ktx.

الإصدار ‎1.0.0-alpha03

‫17 كانون الأول (ديسمبر) 2018

تم طرح androidx.activity 1.0.0-alpha03.

الميزات الجديدة

  • تتضمّن ComponentActivity الآن BundleSavedStateRegistryOwner وتعتمد على مكتبة SavedState التي تم إصدارها حديثًا [aosp/815133]
  • تعمل فئة ComponentActivity الآن على حلّ خطأ في إطار عمل Android كان يتسبّب في تسرُّب آخر عرض تم التركيز عليه في InputMethodManager [b/37122102].

الإصدار ‎1.0.0-alpha02

‫3 كانون الأول (ديسمبر) 2018

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة ملاحظة تفيد بأنّه يجب عدم تجاهل getLifecycle() وسيتم إتاحته final في إصدار مستقبلي. يُرجى تقديم طلب ميزة إذا كنت تتجاوز هذه الطريقة حاليًا. (aosp/815834)

الإصدار ‎1.0.0-alpha01

‫5 نوفمبر 2018

تقدّم androidx.activity 1.0.0-alpha01 ComponentActivity، وهي صنف أساسي جديد من الصنفين FragmentActivity وAppCompatActivity الحاليين.

الميزات الجديدة

  • يمكنك الآن تسجيل OnBackPressedCallback من خلال addOnBackPressedCallback لتلقّي عمليات رد الاتصال onBackPressed() بدون الحاجة إلى إلغاء الطريقة في نشاطك.
  • تمت إضافة تفويض جديد لسمة by viewModels() Kotlin من أجل استرداد ViewModel من ComponentActivity.
  • تم الآن إلغاء أحداث الإدخال المعلّقة (مثل النقرات) في onStop().

تغييرات واجهة برمجة التطبيقات

  • تم نقل عملية تنفيذ LifecycleOwner وViewModelStoreOwner من FragmentActivity إلى ComponentActivity.
  • تم إيقاف onRetainCustomNonConfigurationInstance نهائيًا. استخدِم ViewModel لتخزين العناصر التي يجب أن تظل متاحة عند إجراء تغييرات في الإعدادات.