WindowManager
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 22 Nisan 2026 | 1.5.1 | - | - | 1.6.0-alpha03 |
Bağımlılıkları bildirme
WindowManager'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { implementation "androidx.window:window:1.5.1" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.5.1" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.5.1" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.5.1" // For testing implementation "androidx.window:window-testing:1.5.1" }
Kotlin
dependencies { implementation("androidx.window:window:1.5.1") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.5.1") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.5.1") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.5.1") // For testing implementation("androidx.window:window-testing:1.5.1") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.6
Sürüm 1.6.0-alpha03
22 Nisan 2026
androidx.window:window-*:1.6.0-alpha03 iptal edilir. 1.6.0-alpha03 sürümü bu commit'leri içerir.
API Değişiklikleri
- Etkileşim durumu kontrolü için API'ler ekleyin. (I98a09, b/489793703)
- Özelliği tetiklerken davranışın daha net anlaşılması için
transferActivityToWindowArea,transferToWindowAreaolarak yeniden adlandırıldı. Bu işlem, kendisini isteyen süreçten daha uzun sürdüğü için bu yöntemle ilgili oturuma dayalı davranış da kaldırılır. (Ie7d6f, b/271644150, b/273807246, b/272064992, b/473870239) WindowMetricsalmak için güvenli yöntem ekleyin (I2adf8, b/449386176)- Daha anlaşılır olması için etkileşim moduna yönelik WM uzantılarındaki güncelleme yöntemleri. (I219a4, b/454438323)
WindowSizeClassSetsöğesini ızgara biçiminde oluşturmak için yardımcı yöntemler ekleyin. (I4d623, b/444174274)- Etkileşim modunu kullanmak için API ekleyin. (I9fef2, b/423990404)
- Geri çağırmaya dayalı işleyicileri doğrudan
WindowLayoutInfoöğesine ekleyin veWindowInfoTrackerCallbackAdapteröğesinin desteğini sonlandırın. (I1ff17, b/423990404) - Uzantılarda
WindowLayoutInfooluşturucusunun desteği sonlandırıldı. (I6ab65, b/423990404) - Etkileşim modunun raporlanması için uzantı desteği eklendi. (I66211, b/423990404)
Hata Düzeltmeleri
- Compose
compileSdk, API 37'ye güncellendi. Bu nedenle, Compose kullanılırken minimum AGP sürümü 9.2.0 olmalıdır. (Id45cd, b/413674743)
Sürüm 1.6.0-alpha01
19 Kasım 2025
androidx.window:window-*:1.6.0-alpha01 iptal edilir. 1.6.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
WindowSizeClassSetsöğesini ızgara biçiminde oluşturmak için yardımcı yöntemler ekleyin.
API Değişiklikleri
WindowSizeClassSetsöğesini ızgara biçiminde oluşturmak için yardımcı yöntemler ekleyin. (I4d623, b/444174274)
Sürüm 1.5
Sürüm 1.5.1
19 Kasım 2025
androidx.window:window-*:1.5.1 iptal edilir. 1.5.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Belirli cihazlarda (4d58979) meydana gelen
ClassCastExceptiondüzeltildi.
Sürüm 1.5.0
24 Eylül 2025
androidx.window:window-*:1.5.0 iptal edilir. 1.5.0 sürümü bu commit'leri içerir.
1.4.0 sürümünden beri yapılan önemli değişiklikler:
- Büyük ve çok büyük boyutlar için
WindowSizeClassayrılma noktaları ekleyin. (I40d85) WindowMetricshesaplamasını Uygulama Bağlamı'na genişletin. (I8eeeb, b/360934048)WindowLayoutInfoöğesine doğrudan erişimi etkinleştirmek için Getter sağlayın (Ie9513)- Yerleştirme durumunu otomatik olarak kaydetmek ve uygulama işlemi yeniden başlatıldığında yerleştirme durumunu otomatik olarak geri yüklemek için API'yi kullanıma sunma. (Ie0295)
- Deneysel
WindowInsetsAPI'si kaldırıldı. (I68a71)
Hata Düzeltmeleri
- Bazı durumlarda
EmbeddingRulefarklıhashCodedöndürme sorunu düzeltildi. (I748cc) - Cihaz uygulamasındaki hatalar nedeniyle
NullPointerExceptionoluşabilmesi sorunu düzeltildi. - Proguard'ın kullanılmayan sınıfları kaldırması nedeniyle
ActivityEmbeddinggüvenlik kontrollerimizin başarısız olduğu durum düzeltildi.
Harici Katkı
- Tüm KMP platformlarını
window-core'ya ekleyin (If3d7c)
Sürüm 1.5.0-rc01
27 Ağustos 2025
androidx.window:window-*:1.5.0-rc01 iptal edilir. 1.5.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Cihaz uygulamasındaki hatalar nedeniyle
NullPointerExceptionoluşabilmesi sorunu düzeltildi. - Proguard'ın kullanılmayan sınıfları kaldırması nedeniyle
ActivityEmbeddinggüvenlik kontrollerimizin başarısız olduğu durum düzeltildi.
Sürüm 1.5.0-beta02
13 Ağustos 2025
androidx.window:window-*:1.5.0-beta02 iptal edilir. 1.5.0-beta02 sürümü bu commit'leri içerir.
Yeni Özellikler
- Küçük hata düzeltmeleri.
Harici Katkı
- Tüm KMP platformlarını
window-core'ya ekleyin (If3d7c)
Sürüm 1.5.0-beta01
2 Temmuz 2025
androidx.window:window-*:1.5.0-beta01 iptal edilir. 1.5.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.5.0-alpha02
7 Mayıs 2025
androidx.window:window-*:1.5.0-alpha02 iptal edilir. 1.5.0-alpha02 sürümü bu commit'leri içerir.
API Değişiklikleri
- Büyük ve çok büyük boyutlar için
WindowSizeClassayrılma noktaları ekleyin. (I40d85) WindowMetricshesaplamasını Uygulama Bağlamı'na genişletin. (I8eeeb, b/360934048)WindowLayoutInfoöğesine doğrudan erişimi etkinleştirmek için Getter sağlayın (Ie9513)- Yerleştirme durumunu otomatik olarak kaydetmek ve uygulama işlemi yeniden başlatıldığında yerleştirme durumunu otomatik olarak geri yüklemek için API'yi kullanıma sunma. (Ie0295)
- Deneysel
WindowInsetsAPI'si kaldırıldı. (I68a71) - Birkaç oluşturucuyu gizleme (I87b8d)
Hata Düzeltmeleri
- Bazı durumlarda
EmbeddingRulefarklıhashCodedöndürme sorunu düzeltildi. (I748cc)
Sürüm 1.5.0-alpha01
12 Mart 2025
androidx.window:window-*:1.5.0-alpha01 iptal edilir. 1.5.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
- 1.5.0 sürümünün ilk yayınlanması.
Sürüm 1.4
Sürüm 1.4.0
20 Mayıs 2025
androidx.window:window-*:1.4.0 iptal edilir. 1.4.0 sürümü bu commit'leri içerir.
1.3.0 sürümünden beri yapılan önemli değişiklikler
- Etkinlik Yerleştirme
- Başlatma animasyonlarını özelleştirmeye yönelik API
- Etkileşimli Ayırıcı
ActivityStackSabitleme- Tam Ekran İletişim Kutusu Karartma
- Yerleştirilmiş Etkinlik Penceresi Bilgileri Geri Çağırma İşlemi
- Geliştirilmiş
ActivityStackYönetimi - Etkinliği belirtilen bir
ActivityStackiçine başlatma
WindowMetricsCalculator- Test edilebilirlik desteğini iyileştirme
WindowMetricswithDpveheightDpdeğerlerini hesaplamanın kolay yolları- Sınır kontrolünü
isAtLeastolarak güncelleyin ve yeni değerler eklemeyi desteklemek için alt sınırları kullanın.
WindowSizeClassWindowMetricstarihinden itibaren hesaplama yöntemi ekleyin.
WindowInfoTracker- Cihazda desteklenen duruşları algılamak için API ekleyin
Sürüm 1.4.0-rc02
23 Nisan 2025
androidx.window:window-*:1.4.0-rc02 iptal edilir. 1.4.0-rc02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ActivityEmbeddingiçin ProGuard kilitlenmesini düzeltin.
Sürüm 1.4.0-rc01
12 Mart 2025
androidx.window:window-*:1.4.0-rc01 iptal edilir. 1.4.0-rc01 sürümü bu commit'leri içerir.
Yeni Özellikler
WindowSizeClassAPI'sinde yapılan güncellemeler.- Etkinlik yerleştirme API'lerinde yapılan güncellemeler.
Sürüm 1.4.0-beta02
12 Şubat 2025
androidx.window:window-*:1.4.0-beta02 iptal edilir. 1.4.0-beta02 sürümü bu commit'leri içerir.
Yeni Özellikler
- Yalnızca mülkte bulunan ancak alıcıda bulunmayan bir ek açıklamayı düzeltin.
Sürüm 1.4.0-beta01
15 Ocak 2025
androidx.window:window-*:1.4.0-beta01 iptal edilir. 1.4.0-beta01 sürümü bu commit'leri içerir.
Yeni Özellikler
ActivityEmbeddinganimasyonlarının özelleştirilmesine izin vermek için API ekleyin.- Pencere metriklerinin sahtesini oluşturmaya izin vermek için
WindowMetricsCalculatortest API'lerini genişletin.
API Değişiklikleri
- Birkaç oluşturucuyu gizleme (I87b8d)
- Uygulamaların
ActivityEmbeddinganimasyonlarını özelleştirmesine izin ver (If31a8) watchosDeviceArm64KMP hedefi ve hedef kotlin 1.9 için destek eklendi (Icf15d, b/364652024).WindowMetricsCalculatorAPI'lerini kullanıma sunun. (I1cebf)
Hata Düzeltmeleri
- Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır:
-Xjspecify-annotations=strict(Bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir). (Ie69ac, b/326456246)
Sürüm 1.4.0-alpha05
16 Ekim 2024
androidx.window:window-*:1.4.0-alpha05 iptal edilir. 1.4.0-alpha05 sürümü bu onayları içerir.
Yeni Özellikler
WindowMetrics'denwidthDpveheightDpalmak için kolaylık işlevleri ekleyin.
API Değişiklikleri
WindowMetricsiçinwidthDpveheightDpekleyin. (Ide026)- Deneysel
WindowInsetsAPI'si kaldırıldı. (I68a71) - Sınır kontrolü yöntemi adlarını
isAtLeastolarak güncelleyin (Ib0ab7)
Sürüm 1.4.0-alpha04
2 Ekim 2024
androidx.window:window-*:1.4.0-alpha04 iptal edilir. 1.4.0-alpha04 sürümü bu commit'leri içerir.
API Değişiklikleri
WindowSizeClassdeğeriniWindowMetricsdeğerinden hesaplamak için bir yöntem eklendi. (874dba)- Netlik için
WindowSizeClassyöntemlerinicontainsWidthDp,containsHeightDpvecontainsWindowSizeDpolarak değiştirin. (fa760d) WindowAreaControlleröğesini soyut temel sınıfa dönüştürün. (I90893)
Hata Düzeltmeleri
- Test oluştururken göreli sınırlar için destek ekleyin
FoldingFeature. (2e6b3e) WindowSizeClassseçilirken karşılaşılan genel hatalar düzeltildi.
Sürüm 1.4.0-alpha03
18 Eylül 2024
androidx.window:window-*:1.4.0-alpha03 iptal edilir. 1.4.0-alpha03 sürümü bu commit'leri içerir.
Yeni Özellikler
WindowMetricsdeğerindenWindowSizeClassdeğerini elde etmek için bir yardımcı yöntem ekleyin. (I83f1f)isAtLeastöğesinicontainsBreakpointolarak yeniden adlandırın. (I85b47)- Kayan nokta sayıları kullanarak
computeWindowSizeClassöğesine aşırı yükleme ekleyin. (I3dcb2, b/364677934, b/364677802, b/364680886)
Hata Düzeltmeleri
- Varsayılan
WindowSizeClasskesme noktası kümesine eksik kesme noktaları ekleyin. - Bazı durumlarda kompakt boyutların doğru seçilmemesine neden olan hata düzeltildi.
Sürüm 1.4.0-alpha02
4 Eylül 2024
androidx.window:window-*:1.4.0-alpha02 iptal edilir. 1.4.0-alpha02 sürümü bu commit'leri içerir.
Yeni Özellikler
Özel WindowSizeClass desteği eklendi.
- Geliştiricilerin kendi oluşturucularını kullanabilmesi için
WindowSizeClassoluşturucusunu açın. - Geliştiricilerin bir dizi
WindowSizeClassdeğerini işleyebilmesi içinisAtLeastyardımcı yöntemler ekleyin. - Kümedeki en iyi eşleşmeyi hesaplamak için
Set<WindowSizeClass>'ya bir uzantı işlevi ekleyin. - Android'in önerdiği kesme noktaları için sabitler ekleyin.
- Android'in önerdiği ayırma noktalarına karşılık gelen ayırma noktası kümesini ekleyin.
API Değişiklikleri
WindowSizeClassiçin sınırlama yöntemi adlarını güncelleyin. (If89a6)- Gelecekte yeni kesme noktası değerleri eklemeyi desteklemek için
WindowSizeClassAPI'sini güncelleyin. Mutlak sınırlar yerine alt sınırları kullanırız ve geliştiricilerin birWindowSizeClassişlerken alt sınır kontrollerini kullanmasını öneririz. MevcutWindowWidthSizeClassveWindowHeightSizeClass, daha fazla geliştirilmeyecekleri için kullanımdan kaldırılacak. (I014ce)
Sürüm 1.4.0-alpha01
7 Ağustos 2024
androidx.window:window-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- ActivityStack Pinning, uygulamaların bir kapsayıcıdaki içeriği sabitlemesine ve gezinme işleminin diğer kapsayıcıdan bağımsız olmasına olanak tanır.
- Etkileşimli Ayırıcı, uygulamaların bölünmüş sunumda iki etkinlik arasında sabit veya sürüklenebilir bir ayırıcı göstermesine olanak tanır.
- Tam Ekran İletişim Kutusu Karartma, uygulamaların iletişim kutusu karartma alanını belirtmesine olanak tanır. Böylece, görev penceresinin tamamı veya yalnızca iletişim kutusunu gösteren kapsayıcı karartılabilir.
- Embedded Activity Window Info Callback, uygulamaların yerleştirilmiş etkinlik penceresiyle ilgili güncellemeleri sürekli olarak almasına olanak tanır.
- Animasyon Arka Planını Yerleştirme, uygulamaların animasyon arka planını belirtmesine olanak tanır. Bu sayede,
ActivityEmbeddingkullanıldığında geçiş animasyonunun kalitesi artırılır. - Geliştirilmiş ActivityStack Yönetimi,
ActivityEmbeddingkullanılırken uygulamalarınActivityStacksüzerinde daha fazla kontrol sahibi olmasını sağlar. Bu kontroller şunlardır: - Belirli bir
ActivityStackiçinde etkinlik başlatma ActivityStacktamamlanıyor
API Değişiklikleri
Yeni bir API
WindowInfoTracker#supportedPostures:- Cihazın katlanabilir cihazlar için TableTop modunu destekleyip desteklemediğini belirlemeye yönelik bir API. WindowAreaSessionPresenter#getWindow işlevini ekler
ActivityStacksabitlemeyi desteklemek için API'ler ekleyin:SplitPinRulesınıfSplitController#pinTopActivityStackSplitController#unpinTopActivityStack
Etkileşimli ayırıcıyı etkinleştirmek ve yapılandırmak için API'ler ekleyin
DividerAttributessınıfSplitAttributes.Builder#setDividerAttributes
İletişim kutuları için
EmbeddingConfigurationveDimAreaBehaviorayarlamak üzere API'ler ekleyin.EmbeddingConfigurationsınıfDimAreaBehaviorsınıfActivityEmbeddingController#setEmbeddingConfiguration
Yerleştirilmiş etkinlik penceresi bilgisi güncellemelerini almak için API'ler ekleme
EmbeddedActivityWindowInfosınıfActivityEmbeddingController#embeddedActivityWindowInfo
Yerleştirme animasyonunun arka planını ayarlamak için API'ler ekleme
EmbeddingAnimationBackgroundSplitAttributes.Builder#setAnimationBackground
ActivityStacksişlemini tamamlamak için API ekleyinActivityEmbeddingController#finishActivityStacks
Lansmanı ayarlamak için API'ler ekleyin
ActivityStackActivityEmbeddingOptions#setLaunchingActivityStack
Aşağıdaki API'ler kararlıdır ve artık deneysel değildir:
ActivityEmbeddingController#invalidateVisibleActivityStacks(SplitController#invalidateTopVisibleSplitAttributes konumundan taşındı)ActivityEmbeddingController#getActivityStackSplitController#updateSplitAttributes
1.4 için API'ler ekleyin. (I56774)
Hata Düzeltmeleri
- Oturum etkin olduğunda bazı cihazlarda ACTIVE yerine UNAVAILABLE değerinin döndürülmesine neden olan hata düzeltildi.
- Kararsız API desteği nedeniyle
vendorApiLeveldeğeri 2 olan cihazlardatransferActivityToWindowAreadesteği kaldırıldı. - Etkinlik yerleştirme sürüklenerek tam ekran yapılabilir ayırıcı için sürükleyerek tam ekran yapma özelliğini etkinleştiren API'yi kullanıma sunma. (I645c9)
- Uygulamaların,
SplitAttributesiçin animasyon parametreleri aracılığıylaActivityEmbeddinganimasyonlarını devre dışı bırakmasına izin verin. (Idc01a) - AGP 7.3 veya sonraki sürümleriyle (ör. R8 sürüm 3.3) R8 kullanılırken ve AGP 8.1 veya sonraki sürümleriyle (ör. D8 sürüm 8.1) tüm derlemeler kullanılırken yeni platform API'lerine erişim otomatik olarak API modelleme yoluyla gerçekleştiğinden, bu erişimin manuel olarak ana hatlarının oluşturulması kaldırıldı. AGP kullanmayan müşterilerin D8'in 8.1 veya sonraki bir sürümüne güncellemeleri önerilir. Daha fazla bilgi için bu makaleye göz atın. (Ia60e0, b/345472586)
- Uzantıların
SplitAttributesiçin animasyon parametreleri almasına izin verin. Böylece cihaz, bu parametreleri animasyon geçişlerinde kullanabilir. (Iede00) - Yer paylaşımı API'lerini gizleme (Ic4251)
- Bölme için sabit veya sürüklenebilir ayırıcıyı yapılandırmak üzere API'ler kullanıma sunuldu (Ia7a78).
WindowMetricsiçin yoğunluk eklendi (Id6723)SupportedPosturesalmak için API ekleyin. (If557a)setLaunchingActivityStacköğesini deneysel API'den (I191cf) kaldırmaActivityEmbeddingController#embeddedActivityWindowInfoile tanışın (I24312)#getTokenöğesini kullanımdan kaldırın ve#getActivityStackTokenöğesini ekleyin (Ie0471)embeddedActivityWindowInfoakış API'si için geri çağırma bağdaştırıcısı kullanıma sunuldu (Ida77f).- overlayInfo akışı API'si için geri çağırma bağdaştırıcısı ekleme (I7264f)
- Test için
WindowSdkExtensionsRule'ı kullanarakextensionsVersion'ı geçersiz kılın. (Ifb928) - -
#setLaunchingActivityStackkullanımlarıyla uyumlu olması için#setLaunchingActivityStack'ı Bundle'a taşıyın.ActivityOptionsCompat- Kullanıcılar
ActvityOptionsyerineactivityOptions.toBundledeğerini iletmelidir. #setLaunchingActivityStack(Activity)öğesini kaldırın. Kullanıcılar,ActivityEmbeddingController#getActivityStac(Activity)kullanmak içinActivityStack'ye geçmeli veActivityStack'yi#setLaunchingActivityStack'ye iletmelidir. (Ie0ccc)
- Kullanıcılar
- - WM Jetpack ile uzantılar arasında iletişim kurmak için
ActivityStack.TokenveSpltInfo.Tokentanımlayıcılarını kullanıma sunun.- IBinder yerine Jeton almak/döndürmek için API'leri kullanımdan kaldırın/değiştirin. (I12b24)
- -
ActivityEmbeddingController#invalidateVisibleActivityStacks'ı tanıtın.- Özellik
#invalidateVisibleActivityStacksile birleştirildiğindenSplitController#invalidateTopVisibleSplitAttributeskaldırılıyor (I02ef5)
- Özellik
- - Yerleştirme yapılandırmasını ayarlamak için API ekleme. (I59a4a)
- En çok kullanılan
ActivityStackandroidx.WindowAPI'lerini sabitleme/sabitlemeyi kaldırma özelliği eklendi.- Demo uygulamasını, üstteki
ActivityStacköğesinin sabitlenmesine/sabitlenmesinin kaldırılmasına izin verecek şekilde güncelleme (I24dd3)
- Demo uygulamasını, üstteki
#finishActivityStacksveActivityEmbeddingOptions'ı yeniden ekleyin (Ic1ab3)- Kararsız API'leri kaldırın. (Ibc534, b/302380585)
Sürüm 1.3
Sürüm 1.3.0
29 Mayıs 2024
androidx.window:window-*:1.3.0 iptal edilir. 1.3.0 sürümü bu commit'leri içerir.
1.2.0 sürümünden beri yapılan önemli değişiklikler
- Pencere Boyutu Sınıfları için Kotlin Multiplatform desteği.
Sürüm 1.3.0-rc01
14 Mayıs 2024
WindowManager Jetpack 1.3, WindowSizeClass özellikleri için Kotlin Multiplatform desteğinin yanı sıra çeşitli hata düzeltmeleri sunar.
androidx.window:window-*:1.3.0-rc01 iptal edilir. 1.3.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.3.0-beta02
1 Mayıs 2024
androidx.window:window-*:1.3.0-beta02 iptal edilir. 1.3.0-beta02 sürümü bu commit'leri içerir.
API Değişiklikleri
- Özel
WindowSizeClassoluşturma ve kullanma desteği kaldırıldı. (Id1143)
Hata Düzeltmeleri
- Belirli cihaz uygulamalarında bazı dosyaların ProGuard tarafından kaldırılmasından kaynaklanan
KotlinReflectionInternalErrordüzeltildi. (I01b02)
Sürüm 1.3.0-beta01
3 Nisan 2024
androidx.window:window-*:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.3.0-alpha03
6 Mart 2024
androidx.window:window-*:1.3.0-alpha03 iptal edilir. 1.3.0-alpha03 sürümü bu commit'leri içerir.
API Değişiklikleri
WindowSizeClassUtildaha odaklanmış yöntemlere bölünür. (Ie9292)WindowSizeClass#computegeri yükleme (I21355, b/324293374)
Hata Düzeltmeleri
- Sağlanan bağlamın doğru şekilde sarmalanmasının kaldırılamaması nedeniyle oluşan kilitlenme sorunu düzeltildi. (94d10ce , b/318787482)
Sürüm 1.3.0-alpha02
7 Şubat 2024
androidx.window:window-*:1.3.0-alpha02 iptal edilir. 1.3.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
- Kendi boyut sınıflarını kullanmak isteyen geliştiricilerin esnekliğini artırmak için Window Size Class API'lerinin API yüzeyinde yapılan güncellemeler.
API Değişiklikleri
- Genişlik seçiciye yükseklik kısıtlamaları ekleyin. (I23393)
- Bir kümeden
WindowSizeClassseçmek için yardımcı işlevler ekleyin. Geliştiricilerin kendi seçicilerini yazabilmeleri için deneysel puanlama işlevleri ekleyin. Belirli bir sınır içinde en genişWindowSizeClassöğesini seçmek için bir seçici uzantısı işlevi ekleyin. (I0c944) - Özel ayrılma noktaları eklenebilmesi için
WindowSizeClassoluşturucuyu açın. (Ic1ff3) - Genişlik, yükseklik ve yoğunluktan boyut sınıfı oluşturmak için kolaylık işlevi eklendi. (If67f4)
Hata Düzeltmeleri
- Kayan noktalı değer 0'a kısaltıldığında oluşan istisna düzeltildi. (272ffac)
Sürüm 1.3.0-alpha01
15 Kasım 2023
androidx.window:window-*:1.3.0-alpha01 iptal edilir. 1.3.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Arka ekrana erişmek için deneysel pencere API'lerini kullanıma sunar.
FoldingFeatureoluşturmaya yönelik test API'leri artık kararlı sürümde.- Sahte
ActivityEmbeddingdeğerleri ayarlamaya yönelik test API'leri artık kararlı sürümde. WindowLayoutInfoPublisherRuleartıkUiContextkaynağından değer alırken geçersiz kılma işlemini bildiriyor.WindowInfoTracker, katlama özelliği verileriniUiContextparametrelerine bildirir.- Cihazdaki uzantı sürümünü gösterin.
- Kullanıcı başına uygulama geçersiz kılmaları için
WindowPropertiessabitleri:PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE— Sisteme, uygulamanın kullanıcıya yönelik en-boy oranı uyumluluğu geçersiz kılma özelliğini devre dışı bıraktığını bildirir.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE— Sisteme, uygulamanın kullanıcının en-boy oranı uyumluluğu geçersiz kılma ayarlarının tam ekran seçeneğini devre dışı bıraktığını bildirir.
Sürüm 1.2
Sürüm 1.2.0
15 Kasım 2023
androidx.window:window-*:1.2.0 iptal edilir. 1.2.0 sürümü şu commit'leri içerir.
1.1.0 sürümünden beri yapılan önemli değişiklikler
- Arka ekrana erişmek için deneysel pencere API'lerini kullanıma sunar.
FoldingFeatureoluşturmaya yönelik test API'leri artık kararlı sürümde.- Sahte
ActivityEmbeddingdeğerleri ayarlamaya yönelik test API'leri artık kararlı sürümde. WindowLayoutInfoPublisherRuleartıkUiContextkaynağından değer alırken geçersiz kılma işlemini bildiriyor.WindowInfoTracker, katlama özelliği verileriniUiContextparametrelerine bildirir.- Cihazdaki uzantı sürümünü gösterin.
Sürüm 1.2.0-rc01
1 Kasım 2023
androidx.window:window-*:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Arka ekrana erişmek için deneysel pencere API'lerini kullanıma sunar.
FoldingFeatureoluşturmaya yönelik test API'leri artık kararlı sürümde.- Sahte
ActivityEmbeddingdeğerleri ayarlamaya yönelik test API'leri artık kararlı sürümde. WindowLayoutInfoPublisherRuleartıkUiContextkaynağından değer alırken geçersiz kılma işlemini bildiriyor.WindowInfoTracker, katlama özelliği verileriniUiContextparametrelerine bildirir.- Cihazdaki uzantı sürümünü gösterin.
Sürüm 1.2.0-beta04
18 Ekim 2023
androidx.window:window-*:1.2.0-beta04 iptal edilir. 1.2.0-beta04 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kararsız API'leri kaldırın. (Ibc534, b/302380585)
Sürüm 1.2.0-beta03
20 Eylül 2023
androidx.window:window-*:1.2.0-beta03 iptal edilir. 1.2.0-beta03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Doğru çalışmak için belirli bir uzantı sürümü gerektiren API'ler için
RequiresApikontrolleri ekleyin. - Cihazdaki uzantı sürümünü kullanıma sunmak için bir API ekleyin.
API Değişiklikleri
- Gerekli pencere SDK'sı uzantı sürümünü herkese açık API'lerde açıklama olarak ekleyin.
- Etkinlik yerleştirme bileşenindeki
isXXXSupportedöğesini kaldırın. (Ie3dae)
- Etkinlik yerleştirme bileşenindeki
- Cihazdaki uzantı sürümünü bildirmek için
WindowSdkExtensions'ı kullanıma sunuyoruz.- Gerekli minimum uzantı sürümünü belirtmek için
RequiresWindowSdkExtensionöğesini kullanıma sunun. (I05fd4)
- Gerekli minimum uzantı sürümünü belirtmek için
WindowAreaInfo#getCapabilitydeğerini boş değer atanamaz yapar. (I17048)
Sürüm 1.2.0-beta01
26 Temmuz 2023
androidx.window:window-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Arka ekrana erişmek için deneysel pencere API'lerini kullanıma sunar.
FoldingFeatureoluşturmaya yönelik test API'leri artık kararlı sürümde.- Sahte
ActivityEmbeddingdeğerleri ayarlamaya yönelik test API'leri artık kararlı sürümde. WindowLayoutInfoPublisherRuleartıkUiContextkaynağından değer alırken geçersiz kılma işlemini bildiriyor.WindowInfoTracker, katlama özelliği verileriniUiContextparametrelerine bildirir.
API Değişiklikleri
- 1.3'te (I857f5) kararlı bir sürüm için API değişikliklerinin devam etmesine izin vermek üzere
WindowAreaAPI'lerini deneysel olarak işaretler. - Uyumluluk bastırmayı açıklama eklemek için API dosyaları güncellendi (I8e87a, b/287516207)
Sürüm 1.2.0-alpha03
21 Haziran 2023
androidx.window:window-*:1.2.0-alpha03 iptal edilir. 1.2.0-alpha03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Kullanımdan kaldırılan API'lerin API yüzeyinden kaldırılması.
- Eşzamanlı ekranları desteklemek için API'ler ekleyin.
- Zorunlu yeniden boyutlandırma geçersiz kılma özelliğini devre dışı bırakmak için bir mülk ekleyin.
- Minimum en boy oranı geçersiz kılma özelliğini devre dışı bırakmak için mülk ekleyin.
- Activity Embedding ile ilgili birim testini desteklemek için
ActivityEmbeddingRulekararlılığı sağlandı.
API Değişiklikleri
- Kullanımdan kaldırılan API'leri kaldırma (I18d39)
- Aynı anda birden fazla ekranda görüntüleme desteği ekleyin. (Ifcbb0)
Hata Düzeltmeleri
- Yeniden boyutlandırmayı zorunlu kılmak için devre dışı bırakma uyumluluk özelliği ekleme (Ie7ab1)
SESSION_STATE_CONTENT_INVISIBLEadlı uzantıyı, uzantılar arayüzünden kaldırır. (I6ed19)- Etkinlik yerleştirme ile ilgili birim testini desteklemek için
ActivityEmbeddingRulekararlılığı sağlandı. (I8d6b6) - Minimum en-boy oranı geçersiz kılma için devre dışı bırakma uyumluluk özelliği ekleme. (I66390)
- Desteği sonlandırılan WindowArea API'lerini kaldırır (Ieb67c)
- Yönlendirme isteği döngüsü özelliğini
PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTEDolarak yeniden adlandırın. (Ie2fbd) - Pencere alanı oturumu sabit adlarını günceller (I83675)
- Algılandığında yönlendirme isteği döngüsünü yoksayan devre dışı bırakma uyumluluk özelliği ekleme (I0a7a2)
- Özelliğin zaten etkin olduğunu belirtmek için
WindowAreaComponent#STATUS_ACTIVEsimgesini ekleyin. (I62bc3) RearDisplayPresentationModeAPI'lerini ekleyin (I0401c)- Kararlı sürüm için arka plan rengini kaldırma API'si. (I34c3e)
- Pencere Alanı API'lerini gizleyin. (I39de0)
SplitControlleriçindeSplitInfodeğerini geçersiz kılacak yöntemler eklendi.SplitInfoveActivityStackiçin kopya oluşturmak üzere test yöntemleri ekleyin. (Icd69f)ActivityRule.Builderiçin etiketi isteğe bağlı hale getirin. (Ib0b44)RatioSplitType,ExpandContainersSplitveHingeSplitTypearaçlarını kaldırın. Bu kullanıcılar artıkSplitType.#splitEqually(),#expandContainers()ve#splitByHingedeğerlerini sabitSplitType SPLIT_TYPE_EQUAL,SPLIT_TYPE_EXPANDveSPLIT_TYPE_HINGEdeğerleriyle değiştirin.- Yedek menteşe bölünme türü ayarlama işlevini kaldırın. Mevcut cihaz veya pencere durumu nedeniyle menteşe bölme türü uygulanamıyorsa üst görev kapsayıcısı eşit şekilde bölünür. Yedek bölme türünü özelleştirmek için
SplitController#setSplitAttributesCalculatorsimgesini kullanın. (Ifcc59)
add/removeSplitCallbacköğesini kullanımdan kaldırınadd/removeSplitCallbacköğesiniSplitControllerCallbackAdapterkonumuna taşımaFlowlistesini almak içinSplitInfodesteği ekleyin (I7f1b6)
ActivityEmbeddingControlleriçin test kuralı ekleyin (I42e9b)ActivityOptionsCompatdosyasınıActivityEmbeddingOptionsolarak yeniden adlandırma (I89301)- Etkinlik yerleştirmenin kullanılabilir olup olmadığını belirtmek için
splitSupportStatussimgesini ekleyin. (I10024) DEFAULTdeğerini daha iyi temsil etmek içinSplitAttributes.BackgroundColorözelliğini kullanıma sunuyoruz. Opak olmayan animasyon arka plan renginin desteklenmediği, bu nedenle opak olmayan renklerin varsayılan olarak kabul edileceği (yani mevcut tema penceresi arka plan renginin kullanılacağı) netleştirildi. (Ic6b95)alwaysAllow()vealwaysDisallow()yerineALWAYS_ALLOWveALWAYS_DISALLOWkoyun. (I3057b)SplitRule,SplitAttributes,SplitAttributesCalculatoriçin API'ler ekleyin. (I92d23)- Test için
ActivityStackoluşturmak üzereTestActivityStackekleyin- Test için
SplitInfooluşturmak üzereTestSplitInfoekleyin. (I8e779)
- Test için
- Geliştiricilerin özelleştirilmiş
SplitAttributesCalculator'lerini doğrulayabilmeleri için sahteSplitAttributesCalculatorParamsoluşturma yöntemi ekleyin (Id4a6e) WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context)veWindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context)'ı ekleyin (I66c7f)
Sürüm 1.2.0-alpha02
7 Haziran 2023
androidx.window:window-*:1.2.0-alpha02 iptal edilir. 1.2.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
- Katlama özelliği belirtilmeyen durumlar için sabit bir değer içerecek şekilde test API'sini güncelleyin.
WindowLayoutInfoPublishRuleile geçersiz kılma, bağlama dayalı API dahil olmak üzerewindowLayoutInfo'nin tüm değerlerini geçersiz kılar.
API Değişiklikleri
- Belirtilmeyen merkez katlama özelliği için sabit ekleyin. (I7530c)
Hata Düzeltmeleri
WindowLayoutInfoPublishRuleuygulamasını,WindowLayoutInfotabanlıContextüzerinde geçersiz kılmaları destekleyecek şekilde güncelleyin. (I2037a)
Sürüm 1.2.0-alpha01
24 Mayıs 2023
androidx.window:window-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
Etkinlik yerleştirme ve WindowLayoutInfoTracker ile ilgili test API'lerini kararlılık kazandırın. ActivityEmbeddingRule sürümü kararlı sürüme yükseltildi.
WindowMetricsCalculatorRule sürümü kararlı sürüme yükseltildi.
Test için FoldingFeature oluşturmaya yönelik yardımcı işlevler kararlı sürüme yükseltildi.
API Değişiklikleri
- Etkinlik yerleştirme ile ilgili birim testini desteklemek için
ActivityEmbeddingRulekararlılığı sağlandı. (I8d6b6) WindowMetrisCalculatorTestRule, JVM testleri için sahte metriklerin kullanılmasına olanak tanıyan kararlı bir sürümdür. Doğru sonuçlar için bir emülatör kullanmanızı öneririz.- JVM testini desteklemek için
WindowLayoutInfotest API'lerini kararlı hale getirin. (Ie036e) - Test katlama özelliği değerleri için
IntRangeekleyin. (I69f7d)
Sürüm 1.1
Sürüm 1.1.0
7 Haziran 2023
androidx.window:window-*:1.1.0 iptal edilir. 1.1.0 sürümü şu commit'leri içerir.
1.0.0 sürümünden beri yapılan önemli değişiklikler
Etkinlik Yerleştirme
- Uygulama manifest dosyasında
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED,<application>etiketinin boole özelliği olarak eklendi. - Bölme özelliğinin neden kullanılamadığı hakkında daha ayrıntılı bilgi vermek için
isSplitSupporteddesteği sonlandırıldı vesplitSupportStatusile değiştirildi. splitSupportStatusözelliği için durum sabitleri sağlamak üzereSplitController.SplitSupportStatusiç içe sınıfı eklendi.SplitController, birkaç modül olarak yeniden düzenlendi:ActivityEmbeddingControllermodülü içinActivityveyaActivityStackile ilgili API'ler.isActivityEmbedded,SplitControllerkonumundanActivityEmbeddingControllerkonumuna taşındı.EmbeddingRuleile ilgili işlemler içinRuleControllermodülü:- Kaldırılan
SplitControllerAPI'ler: clearRegisteredRules()getSplitRules()initialize()registerRule()unregisterRule()- Eklenen
RuleControllerAPI'leri: addRule(): Bir kural ekler veya aynı etikete sahip kuralı günceller.removeRule(): Bir kuralı kayıtlı kurallar koleksiyonundan kaldırır.setRules(): Kural koleksiyonu oluşturur.clearRules(): Kayıtlı tüm kuralları kaldırır.parseRules(): Kuralları XML kural tanımlarından ayrıştırır.
- Tüm modüllerin
#getInstance()yöntemiyle başlatılması için bağlam gerekir. Örneğin:ActivityEmbeddingController#getInstance(Context)SplitController#getInstance(Context)RuleController#getInstance(Context)
- Görüntü en boy oranıyla ilgili enum benzeri davranış sabitlerini tanımlamak için
EmbeddingAspectRatiosınıfı eklendi. - Bölünmüş düzeni tanımlamak için
SplitAttributessınıfı eklendi. - Bölünmüş düzenleri özelleştirmek için
SplitController'eSplitAttributeshesap makinesi işlevleri eklendi:setSplitAttributesCalculator(Function)clearSplitAttributesCalculator()isSplitAttributesCalculatorSupported()API'lerinin cihazda desteklenip desteklenmediğini kontrol etmek içinSplitAttributesCalculator
EmbeddingRule#tagalanı eklendi.SplitRuleadresindeki API güncellemeleri:defaultSplitAttributeseklendi: Bölünmüş bir düzenin varsayılan bölünmüş düzenini tanımlar;splitRatiovelayoutDirectionyerine kullanılır.splitRatiovesplitLayoutDirectionXML özelliklerinindefaultSplitAttributesdiline çevirisi eklendi.- Minimum boyut tanımları, piksel yerine yoğunluktan bağımsız piksel (dp) kullanacak şekilde değiştirildi.
- Varsayılan değeri 600 dp olan
minHeightDpeklendi. minWidth, varsayılan değeri 600 dp olanminWidthDpolarak değiştirildi.minSmallestWidth, varsayılan değeri 600 dp olanminSmallestWidthDpolarak değiştirildi.- Varsayılan değeri
ALWAYS_ALLOWolanmaxAspectRatioInHorizontalözelliği eklendi. - Varsayılan değeri 1,4 olan
maxAspectRatioInPortraiteklendi. - Tamamlama davranışı sabitlerini değiştirmek için
FinishBehavioriç içe yerleştirilmiş sınıfı tanımlandı. SplitPairRuleveSplitPlaceholderRuleöğesinin Builder iç içe yerleştirilmiş sınıfına özellik değişiklikleri uygulandı.
- Bölme ile ilgili ek bilgiler sağlamak için
SplitInfo#getSplitRatio()yerineSplitInfo#getSplitAttributes()kullanıldı.
WindowLayout
WindowInfoTracker'ya deneysel etkinlik dışı kullanıcı arayüzü bağlamı desteği eklendi.WindowMetricsCalculator'ya deneysel etkinlik dışı kullanıcı arayüzü bağlamı eklendi.
Taşıma adımları
- Etkinliklerin bölünmüş olarak gösterilmesi için etkinlik yerleştirmeyi etkinleştirmek isteyen uygulamalar, manifest
<application>etiketinePROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDözelliğini eklemelidir:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />Bu, sistemin bir uygulama için bölünmüş davranışları önceden optimize etmesine olanak tanır. SplitInfooranı- Mevcut bölünmenin yığılmış olup olmadığını kontrol edin:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - Cari oranı kontrol edin:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- Mevcut bölünmenin yığılmış olup olmadığını kontrol edin:
- SplitController taşıma işlemleri:
SplitController.getInstance(),SplitController.getInstance(Context)olarak değişir.SplitController.initialize(Context, @ResId int),RuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))olarak değişir.SplitController.getInstance().isActivityEmbedded(Activity),ActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)olarak değişir.SplitController.getInstance().registerRule(rule),RuleController.getInstance(Context).addRule(rule)olarak değişir.SplitController.getInstance().unregisterRule(rule),RuleController.getInstance(Context).removeRule(rule)olarak değişir.SplitController.getInstance().clearRegisteredRules(),RuleController.getInstance(Context).clearRules()olarak değişir.SplitController.getInstance().getSplitRules(),RuleController.getInstance(Context).getRules()olarak değişir.
SplitRulemülk taşıma işlemleri:minWidthveminSmallestWidthartık piksel yerine dp birimlerini kullanıyor. Uygulamalar şu çağrıyı kullanabilir:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )veya yalnızcaminWithpikselinidisplayMetrics#densityile bölebilir.
- Bitirme davranışı sabitleri,
FinishBehaviorenum benzeri sınıf sabitlerine taşınmalıdır:FINISH_NEVER,FinishBehavior.NEVERolarak değişir.FINISH_ALWAYS,FinishBehavior.ALWAYSolarak değişir.FINISH_ADJACENT,FinishBehavior.ADJACENTolarak değişir.
- Düzen yönü
SplitAttributes.LayoutDirection'ya taşınmalıdır:ltr,SplitAttributes.LayoutDirection.LEFT_TO_RIGHTolarak değişir.rtl,SplitAttributes.LayoutDirection.RIGHT_TO_LEFTolarak değişir.locale,SplitAttributes.LayoutDirection.LOCALEolarak değişir.splitRatio,SplitAttributes.SplitType.ratio(splitRatio)'ye taşınmalıdır.
SplitPairRule.Buildermigrations:SplitPairRule.Builder(filters, minWidth, minSmallestWidth),kotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.olarak değişirsetLayoutDirection(layoutDirection)vesetSplitRatio(ratio),kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )olarak değiştirildisetFinishPrimaryWithSecondaryvesetFinishSecondaryWithPrimary,FinishBehaviorenum benzeri sabitleri alır. Ayrıntılar için "SplitRule migrations" (Bölme kuralı taşımaları) başlıklı makaleyi inceleyin.- Dikey cihazlarda bölünmeleri göstermek için
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)kullanın.
SplitPlaceholder.Buildermigrations:- Yalnızca
filtersveplaceholderIntentparametrelerini içerir. Diğer özellikler ayarlayıcılara taşınır. Ayrıntılar için "SplitPairRule.Builder migrations" (SplitPairRule.Builder taşımaları) başlıklı makaleye bakın. setFinishPrimaryWithPlaceholder,FinishBehaviorenum benzeri sabitlerini alır. Ayrıntılar için "SplitRule migrations" (Bölme kuralı taşımaları) başlıklı makaleyi inceleyin.setLayoutDirection(layoutDirection)vesetSplitRatio(ratio)şu şekilde değişir:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )- Dikey cihazlarda bölünmeleri göstermek için
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)kullanın.
- Yalnızca
Sürüm 1.1.0-rc01
10 Mayıs 2023
androidx.window:window-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü şu commit'leri içerir.
Yeni Özellikler
ActivityEmbedding'yı kararlı bir API olarak yayınlayın.- Çeşitli hata düzeltmeleri.
Sürüm 1.1.0-beta02
5 Nisan 2023
androidx.window:window-*:1.1.0-beta02 iptal edilir. 1.1.0-beta02 sürümü şu commit'leri içerir.
Yeni Özellikler
- Dahili düzeltmeler ve temizlik.
Sürüm 1.1.0-beta01
22 Mart 2023
androidx.window:window-*:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü şu commit'leri içerir.
Etkinlik Yerleştirme
- Uygulama manifest dosyasında
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED,<application>etiketinin boole özelliği olarak eklendi. - Bölme özelliğinin neden kullanılamadığı hakkında daha ayrıntılı bilgi vermek için
isSplitSupporteddesteği sonlandırıldı vesplitSupportStatusile değiştirildi. splitSupportStatusözelliği için durum sabitleri sağlamak üzereSplitController.SplitSupportStatusiç içe sınıfı eklendi.SplitController, birkaç modül olarak yeniden düzenlendi:ActivityEmbeddingControllermodülü içinActivityveyaActivityStackile ilgili API'ler.isActivityEmbedded,SplitControllerkonumundanActivityEmbeddingControllerkonumuna taşındı.EmbeddingRuleile ilgili işlemler içinRuleControllermodülü:SplitControllerAPI'leri kaldırıldı:clearRegisteredRules()getSplitRules()initialize()registerRule()unregisterRule()
RuleControllerAPI'leri eklendi:addRule(): Bir kural ekler veya aynı etikete sahip kuralı günceller.removeRule(): Bir kuralı kayıtlı kurallar koleksiyonundan kaldırır.setRules(): Kural koleksiyonu oluşturur.clearRules(): Kayıtlı tüm kuralları kaldırır.- `parseRules()`: Kuralları XML kural tanımlarından ayrıştırır.
- Tüm modüllerin
#getInstance()yöntemiyle başlatılması için bağlam gerekir. Örneğin:ActivityEmbeddingController#getInstance(Context)SplitController#getInstance(Context)RuleController#getInstance(Context)
- Görüntü en boy oranıyla ilgili enum benzeri davranış sabitlerini tanımlamak için
EmbeddingAspectRatiosınıfı eklendi. - Bölünmüş düzeni tanımlamak için
SplitAttributessınıfı eklendi. - Bölünmüş düzenleri özelleştirmek için
SplitController'eSplitAttributeshesap makinesi işlevleri eklendi:setSplitAttributesCalculator(Function)clearSplitAttributesCalculator()isSplitAttributesCalculatorSupported()SplitAttributesCalculator API'lerinin cihazda desteklenip desteklenmediğini kontrol etmek için
EmbeddingRule#tagalanı eklendi.SplitRuleadresindeki API güncellemeleri:defaultSplitAttributeseklendi: Bölünmüş bir düzenin varsayılan bölünmüş düzenini tanımlar;splitRatiovelayoutDirectionyerine kullanılır.splitRatiovesplitLayoutDirectionXML özelliklerinindefaultSplitAttributesdiline çevirisi eklendi.- Minimum boyut tanımları, piksel yerine yoğunluktan bağımsız piksel (dp) kullanacak şekilde değiştirildi.
- Varsayılan değeri 600 dp olan
minHeightDpeklendi. minWidth, varsayılan değeri 600 dp olanminWidthDpolarak değiştirildi.minSmallestWidth, varsayılan değeri 600 dp olanminSmallestWidthDpolarak değiştirildi.- Varsayılan değeri
ALWAYS_ALLOWolanmaxAspectRatioInHorizontalözelliği eklendi. - Varsayılan değeri
1.4olanmaxAspectRatioInPortraitözelliği eklendi. - Tamamlama davranışı sabitlerini değiştirmek için
FinishBehavioriç içe yerleştirilmiş sınıfı tanımlandı. - Mülk değişikliklerini
SplitPairRuleveSplitPlaceholderRuleiç içe yerleştirilmişBuildersınıfına uyguladı.
- Bölme ile ilgili ek bilgiler sağlamak için
SplitInfo#getSplitRatio()yerineSplitInfo#getSplitAttributes()kullanıldı.
WindowLayout
WindowInfoTracker'ya etkinlik dışı kullanıcı arayüzü bağlamı desteği eklendi.WindowMetricsCalculatoröğesine etkinlik dışı kullanıcı arayüzü bağlamı eklendi.
Taşıma adımları
- Etkinliklerin bölünmüş olarak gösterilmesi için etkinlik yerleştirmeyi etkinleştirmek isteyen uygulamalar, manifest
<application>etiketinePROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDözelliğini eklemelidir:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />Bu, sistemin bir uygulama için bölünmüş davranışları önceden optimize etmesine olanak tanır. SplitInfooranı- Mevcut bölünmenin yığılmış olup olmadığını kontrol edin:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - Cari oranı kontrol edin:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- Mevcut bölünmenin yığılmış olup olmadığını kontrol edin:
SplitControllermigrations:SplitController.getInstance(),SplitController.getInstance(Context)olarak değişir.SplitController.initialize(Context, @ResId int),RuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))olarak değişir.SplitController.getInstance().isActivityEmbedded(Activity),ActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)olarak değişir.SplitController.getInstance().registerRule(rule),RuleController.getInstance(Context).addRule(rule)olarak değişir.SplitController.getInstance().unregisterRule(rule),RuleController.getInstance(Context).removeRule(rule)olarak değişir.SplitController.getInstance().clearRegisteredRules(),RuleController.getInstance(Context).clearRules()olarak değişir.SplitController.getInstance().getSplitRules(),RuleController.getInstance(Context).getRules()olarak değişir.
SplitRulemülk taşıma işlemleri:minWidthveminSmallestWidthartık piksel yerine dp birimlerini kullanıyor. Uygulamalar şu çağrıyı kullanabilir:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )veya yalnızcaminWithpikselinidisplayMetrics#densityile bölebilir.
- Bitirme davranışı sabitleri,
FinishBehaviorenum benzeri sınıf sabitlerine taşınmalıdır:FINISH_NEVER,FinishBehavior.NEVERolarak değişir.FINISH_ALWAYS,FinishBehavior.ALWAYSolarak değişir.FINISH_ADJACENT,FinishBehavior.ADJACENTolarak değişir.
- Düzen yönü
SplitAttributes.LayoutDirection'ya taşınmalıdır:ltr,SplitAttributes.LayoutDirection.LEFT_TO_RIGHTolarak değişir.rtl,SplitAttributes.LayoutDirection.RIGHT_TO_LEFTolarak değişir.locale,SplitAttributes.LayoutDirection.LOCALEolarak değişir.splitRatio,SplitAttributes.SplitType.ratio(splitRatio)'ye taşınmalıdır.
SplitPairRule.Buildermigrations:SplitPairRule.Builder(filters, minWidth, minSmallestWidth),kotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.olarak değişirsetLayoutDirection(layoutDirection)vesetSplitRatio(ratio),kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )olarak değişir.setFinishPrimaryWithSecondaryvesetFinishSecondaryWithPrimary,FinishBehaviorenum benzeri sabitleri alır. Ayrıntılar için "SplitRule migrations" (Bölme kuralı taşımaları) başlıklı makaleyi inceleyin.- Dikey cihazlarda bölünmeleri göstermek için
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)kullanın.
SplitPlaceholder.Buildermigrations:- Yalnızca
filtersveplaceholderIntentparametrelerini içerir. Diğer özellikler ayarlayıcılara taşınır. Ayrıntılar için "SplitPairRule.Builder migrations" (SplitPairRule.Builder taşımaları) başlıklı makaleye bakın. setFinishPrimaryWithPlaceholder,FinishBehaviorenum benzeri sabitlerini alır. Ayrıntılar için "SplitRule migrations" (Bölme kuralı taşımaları) başlıklı makaleyi inceleyin.setLayoutDirection(layoutDirection)vesetSplitRatio(ratio)şu şekilde değişir:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )- Dikey cihazlarda bölünmeleri göstermek için
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)kullanın.
- Yalnızca
Sürüm 1.1.0-alpha06
22 Şubat 2023
androidx.window:window-*:1.1.0-alpha06 iptal edilir. 1.1.0-alpha06 sürümü şu commit'leri içerir.
Yeni Özellikler
WindowLayoutInfoöğesini kullanıcı arayüzü bağlamından alma deneme sürümünü kullanıma sunar.
API Değişiklikleri
- Etkinlik yerleştirmenin kullanılabilir olup olmadığını belirtmek için
splitSupportStatussimgesini ekleyin. (I10024) - Kullanıcı arayüzü bağlamı
WindowLayoutInfoAPI'sini deneysel olarak kullanıma sunun. (I58ee0) WindowAreaControllerve API'leri tanıtarakRearDisplayModu'nun etkinleştirilmesini sağlar. Bu mod, mevcut pencereyi arka kamerayla hizalanmış ekrana taşır. (Iffcbf)- Varsayılan arka plan rengini güncelleyin. (I1ac1b)
SplitAttributesparametrelerini ekleyin. (I18bdd)SplitRule,SplitAttributes,SplitAttributesCalculatoriçin API'ler ekleyin. (I92d23)maxAspectRatioile ilgili API'leri iyileştirin:alwaysAllow()vealwaysDisallow()yerineALWAYS_ALLOWveALWAYS_DISALLOWkoyun.- @see ile ilgili API belgelerini bağımsız belgelerle güncelleyin. (I3057b)
- Aşağıdaki oluşturucular, uygulamalar tarafından çağrılmaması gerektiğinden herkese açık API'lerden kaldırıldı.
SplitInfooluşturucuActivityStackconstructor (Ide534)
SplitRuleartıkmaxAspectRatioInPortrait/Landscapesürüyor. Yalnızca üst sınırlardaki en-boy oranı, istenenmaxAspectRatiodeğerinden küçük veya bu değere eşit olduğunda etkinliklerin bölünmesine izin verir. (Ia5990)RuleController#parseRulesdeğerini statik (I785df) olarak değiştirin.- ActivityEmbedding ile ilgili API'leri iyileştirme
- API adlandırmasını hizalayın. Birden fazla örnek için ekleme/kaldırma işlemlerini kullanın:
registerRule,addRuleolarak değişirunregisterRule,removeRuleolarak değişirActivityRulebir bölme kuralı olmadığındangetSplitRulesyerinegetRuleskoyun- Bir dizi kural belirlemek için
RuleController#setRulesekleyin - Kural çıkarma ile ilgili API'leri
SplitControlleröğesinden tek öğeliRuleControlleröğesine taşıyın. Bunlar: addRuleremoveRulegetRulessetRulesclearRulesparseRules#isActivityEmbeddeddosyasınıSplitControllerkonumundan tek öğeliActivityEmbeddingControllerkonumuna çıkarın. Bunlar:isActivityEmbeddedSplitController#initializeöğesini kaldırın. XML dosyasından kural ayarlamak için lütfenRuleController#parseRulesve#setRuleskullanın. Bu değişiklikten önce:SplitController.initialize(context, R.xml.static_rules)Bu değişiklikten sonra:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)- Artık statik kurallar ile çalışma zamanı kuralları arasında ayrım yapmıyoruz. Bununla birlikte,
#clearRulesişlevi, statik XML kural tanımlarıyla veya çalışma zamanında kaydedilmiş olmalarına bakılmaksızın tüm kuralları temizlemek için çağrılır.SplitController#clearRegisteredRulesiçin eski davranışı kullanmak istiyorsanız lütfen XML kaynakları kimliğiyleRuleController#parseRulesişlevini çağırın ve kuralları tekrar ayarlamak içinRuleController#setRulesişlevini çağırın. Bu değişiklikten önce:SplitController.getInstance(context).clearRegisteredRules()Bu değişiklikten sonra:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)(Ib3967)
- SplitRule API'lerini iyileştirme:
SplitRuleiçin pikseller yerine DP cinsinden minimum boyutları kullanın.SplitRuleOluşturucu için yeniden düzenleme yaparak minimum boyutları isteğe bağlı hale getirin. (I95f17)
SplitControllerbaşlatmak için bağlam iletme (I42549)SplitRule#layoutDir,#layoutDirectionolarak,SplitRule Builder#setLayoutDiriseBuilder#setLayoutDirectionolarak yeniden adlandırıldı. (I3f6d1)
Sürüm 1.1.0-alpha04
9 Kasım 2022
androidx.window:window-*:1.1.0-alpha04 iptal edilir. 1.1.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
ActivityEmbeddingiçin birActivityStacköğesinin boş olup olmadığını belirlemeye yarayan bir yöntem sunun.ActivityEmbeddingAPI'lerinden deneysel API etiketleri kaldırıldı.ActivityRuleoluşturucuyu gizleyin. ÇünküBuilder, oluşturma için tercih edilen yöntemdir.WindowMetricsüzerindeWindowInsetsalmak için deneysel bir yöntem ekleyin.- Yer tutucunun tamamlanmasını önlemek için
SplitPlaceholderFinishBehavioruygulamasını güncelleyin. Yer tutucunun tamamlanması, kafa karıştırıcı davranışlara neden oluyordu.
API Değişiklikleri
- Eğlenceli
isEmptyişlevini değiştirmek için valisEmptyişlevini herkese açık yapın. ActivityStackparametre etkinlikleriniactivitiesInProcessolarak yeniden adlandırın. (Ia5055)ActivityFilter#matchesClassNameveActivityFilter#matchesClassNameOrWildCard, kafa karıştırıcı olduğu için kaldırıldı.- Arayanın farklı filtreleri ayırt edebilmesi için
ActivityFilter#componentNameabdActivityFilter#intentActionifadesini ekleyin (I41f22). @DeprecatedAPI'leri deneysel API'den (I216b3) kaldırma- Etkinlik yerleştirme API'leri için
@ExperimentalWindowApisimgesini kaldırın (I69ebe) ActivityRuleoluşturucusunu gizleyin, bunun yerine Builder'ı kullanın. (If4eb6)- Bir etkinliğin
ActivityFilterkapsamında olup olmadığını kontrol etmek için API'ler ekleyin. (Ia43cf) - API dosyalarını
WindowMetricsveWindowMetricsCalculatorCompatsınıflarındaki değişiklikleri yansıtacak şekilde güncelleme (I667fe) ActivityEmbeddingözelliği Javadoc'unu ve sınıf adını (Ia1386) güncelleme- AndroidManifest.xml'de kullanılacak
ActivityEmbeddingözellik etiketi adlarını ekleme (Id1ad4) - Yeni API'ler
SplitPlaceholderFinishBehaviorveSplitPlaceholderRule.finishPrimaryWithPlaceholdereklendi. Bu API'ler, yer tutucu etkinliklerin ne zaman tamamlandığını ve Etkinlik Yerleştirme'deki ilişkili etkinliklerin nasıl davranması gerektiğini tanımlayan mevcutSplitPlaceholderRule.finishPrimaryWithSecondaryAPI'sinin yerini alıyor. (I64647)
Hata Düzeltmeleri
WindowAreaControllerve API'leri tanıtarakRearDisplayModu'nun etkinleştirilmesini sağlar. Bu mod, mevcut pencereyi arka kamerayla hizalanmış ekrana taşır. (I388ab)
Sürüm 1.1.0-alpha03
27 Temmuz 2022
androidx.window:window-*:1.1.0-alpha03 iptal edilir. 1.1.0-alpha03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Yerleştirme kurallarının varsayılan değerlerini güncelleyin.
API Değişiklikleri
- Yerleştirme kuralı özelliklerinin varsayılan değerlerini güncelleyin. (Ic4d35)
Sürüm 1.1.0-alpha02
11 Mayıs 2022
androidx.window:window-*:1.1.0-alpha02 iptal edilir. 1.1.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
- Java ve RxJava'yı desteklemek için bağdaştırıcı kitaplıkları yayınlayın.
Sürüm 1.1.0-alpha01
11 Mayıs 2022
androidx.window:window-*:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Java ve RxJava'yı desteklemek için bağdaştırıcıları yayınlayın
Sürüm 1.1.0-alpha01
20 Nisan 2022
androidx.window:window:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Bir uygulamanın arka plana alınması durumunda katlama özelliklerinin kullanılmasını engelleyen hata düzeltildi.
- Deneysel ActivityEmbedding API'yi genişletin.
API Değişiklikleri
- Bir etkinliğin yerleştirilip yerleştirilmediğini kontrol etmek için kullanılan genel bir API. (I39eb7)
Hata Düzeltmeleri
- Etkinlik bölümlerindeki kapsayıcılar için sonlandırma davranışını özelleştiren API'ler ekleyin (I1a1e4).
- Etkinlik bölme kuralları için yeni bir yapılandırma seçeneği eklendi. (Iec6af)
Sürüm 1.0
Sürüm 1.0.0
26 Ocak 2022
androidx.window:window-*:1.0.0 iptal edilir. 1.0.0 sürümü şu commit'leri içerir.
1.0.0 sürümünün temel özellikleri
WindowInfoTrackerveFoldingFeaturearacılığıyla katlanabilir telefonlar için destek. Mevcut WindowMetrics'i hesaplamaya yardımcı olması içinWindowMetricsCalculator.
Sürüm 1.0.0-rc01
15 Aralık 2021
androidx.window:window-*:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü şu commit'leri içerir.
Yeni Özellikler
WindowInfoTrackeraracılığıyla katlanabilir telefonlar için destek ekleyin.- Mevcut ve maksimum
WindowMetricsdeğerini hesaplamak için yöntemler ekleyin. - Destekleyici test API'leri ekleyin.
Sürüm 1.0.0-beta04
17 Kasım 2021
androidx.window:window-*:1.0.0-beta04 iptal edilir. 1.0.0-beta04 sürümü şu commit'leri içerir.
Yeni Özellikler
- WindowInfoRepository'yi WindowInfoTracker olarak yeniden adlandırın.
- Activity'yi WindowInfoTracker için açık bir yöntem bağımlılığı yapın.
- Robolectric kullanan geliştiricileri desteklemek için WindowMetricsCalculator'a basit bir TestRule ekleyin.
API Değişiklikleri
- Ayıklama uzantıları (I25a5f)
- ActivityStack'e isEmpty eklendi (I5a4e6)
- WindowInfoRepository'yi WindowInfoTracker olarak yeniden adlandırın.
- java/rxjava/testing bağımlılıklarını eşleşecek şekilde güncelleyin. (I0da63)
- Basit bir WindowMetricsCalculator için test kuralı ekleyin. (Ibacdb)
Sürüm 1.0.0-beta03
27 Ekim 2021
androidx.window:window-*:1.0.0-beta03 iptal edilir. 1.0.0-beta03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Deneysel Aktivite Yerleştirme API'leri eklendi. Bu ilk düzen sürümü, iki etkinliğin yan yana gösterilmesine olanak tanır.
API Değişiklikleri
- Doğru şekilde sağlayamadığımız için currentWindowMetrics API'si kaldırıldı. Lütfen bunun yerine WindowMetricsCalculator'ı kullanın (Icda5f).
- Uzantılar API'si güncellendi. (Ica92b)
- Etkinliklerin yerleştirilmesine ve üst görev penceresinde yan yana gösterilmesine olanak tanıyan yeni bir özellik için arayüz eklendi. (I5711d)
- WindowMetrics ve WindowLayoutInfo için oluşturucular gizlendi. Lütfen bunun yerine test API'lerini kullanın. (I5a1b5)
- Sahte WindowLayoutInfo nesneleri oluşturmak için bir API ekleyin. (I4a2fd)
Hata Düzeltmeleri
- Bellek sızıntısı düzeltildi. (I3fc79, b/202989046)
Sürüm 1.0.0-beta02
1 Eylül 2021
androidx.window:window-*:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
Yeni Özellikler
- Deneysel API'leri açıklamak için deneysel bir açıklama ekleyin. (I9f1b6)
- Bir Rect kabul eden test FoldingFeature oluşturmak için bir test yöntemi ekleyin. Bu, gerçek bir etkinlik yerine Robolectric kullanırken test etmeyi kolaylaştırır. (Id1cca)
Sürüm 1.0.0-beta01
18 Ağustos 2021
androidx.window:window-*:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Eski sabitler kaldırıldı ve
FoldingFeaturebir arayüz haline getirildi.
API Değişiklikleri
- Eski sabitleri kaldırın ve FoldFeature'ı arayüz haline getirin. (I9a2d5)
Hata Düzeltmeleri
Test Corekitaplığına bağlı kitaplıklar1.4.0sürümüne yükseltildi ve artık Android platformu S sürümüyle çalışacak. (I88b72, b/189353863)
Sürüm 1.0.0-alpha10
4 Ağustos 2021
androidx.window:window-*:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü şu commit'leri içerir.
Yeni Özellikler
- WindowInfoRepo'yu WindowInfoRepository olarak yeniden adlandırın ve ilgili sınıfları / dosyaları düzenleyin.
- Değer zaman içinde değiştiğinden, mevcut pencere metriklerini WindowInfoRepository'deki bir Flow'a dönüştürün.
- WindowInfoRepoJavaAdapter'ı WindowInfoRepoCallbackAdapter olarak yeniden adlandırın.
- Test FoldingFeature nesneleri oluşturmak için yardımcı yöntem ekleyin
- Paketleri, destekledikleri özelliğe göre sınıfları gruplandıracak şekilde güncelleyin.
API Değişiklikleri
- ActivityExt'i ActivityExtensions olarak yeniden adlandırın. Repo'yu Repository olarak değiştirin. (I61a16)
- Sınıflar için paketleri güncelleyin. (I23ae2)
- WindowInfoRepo'dan WindowMetrics'i kaldırma (I24663)
- WindowManager'ı kaldırın ve WindowInfoRepo'yu kullanın
- WindowBackend'i dahili yapın. (I06d9a)
- Pencere metriklerini Flow'a dönüştürün.
- Java bağdaştırıcısını WindowInfoRepoCallbackAdapter olarak yeniden adlandırın.
- Deneysel API'lerin kullanılmaması için callbackFlow'u kaldırın. (Ia4d15)
- Test görüntüleme özellikleri oluşturmak için yardımcı yöntem ekleyin.
- occlusionMode'dan occlusionType'a geçiş (If4cff)
Hata Düzeltmeleri
- Çekirdek kitaplığın kaldırıldığı proguard hatası düzeltildi.
- WindowLayoutInfo'nun ek abonelere teslim edilmemesine neden olan hata düzeltildi.
- Yapılandırma değişikliklerinin katlama özelliği güncellemelerini tetiklememesi hatası düzeltildi.
Sürüm 1.0.0-alpha09
30 Haziran 2021
androidx.window:window-*:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü şu commit'leri içerir.
Yeni Özellikler
- Tam sayı sabitlerinden sınırsız numaralandırılmış türlere geçiş yapın.
- Test katlama özellikleri oluşturmak için bir test yardımcı programı ekleyin.
API Değişiklikleri
- Test görüntüleme özellikleri oluşturmak için yardımcı yöntem ekleyin. (I3cf54)
occlusionModeolan önceki oran,occlusionTypeolarak değişti.
Hata Düzeltmeleri
- Veri akışlarına birden fazla tüketici eklerken başlangıç değerini yayınlayın.
Sürüm 1.0.0-alpha08
16 Haziran 2021
androidx.window:window-*:1.0.0-alpha08 iptal edilir. 1.0.0-alpha08 sürümü şu commit'leri içerir.
Yeni Özellikler
- WindowInfoRepository kullanılırken test etmeyi kolaylaştırmak için bir test yapısı yayınlandı. DisplayFeatures ve WindowMetrics hakkında bilgi edinmek için WindowInfoRepository'yi kullanın. (I57f66, Ida620)
Sürüm 1.0.0-alpha07
2 Haziran 2021
androidx.window:window-*:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü şu commit'leri içerir.
Yeni Özellikler
- Temel pencere kitaplığını Kotlin'e taşıma. Gelecekte eşzamansız verileri kullanıma sunmak için coroutine'leri ve askıya alma işlevlerini kullanacak.
- WindowMetrics ve WindowLayoutInfo akışını almak için ana etkileşim noktası olarak WindowInfoRepo'yu ekleyin.
- Geri çağırmaları kaydetmek ve kaydını silmek için Java dostu API'leri kullanıma sunan yeni
window-javayapısı. - RxJava'ya uyarlanmış API'leri kullanıma sunmak için yeni
window-rxjava2vewindow-rxjava3yapıları.
API Değişiklikleri
- Bağımlılıkları tek tip olarak sağlamak için
WindowServicesekleyin.- Pencere düzeni bilgilerini kullanmak için eş yordama dayalı API eklendi. (Iab70f)
- Temel pencere yöneticisi kitaplığını Kotlin'e taşıma. (Icca34)
Hata Düzeltmeleri
- Özellik sınırlarını temsil etmek için yeni veri sınıfı ekleyin. (I6dcd1)
Sürüm 1.0.0-alpha06
5 Mayıs 2021
androidx.window:window:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü şu commit'leri içerir.
Yeni Özellikler
- Kotlin'e geçiş sürecimizi başlattık ve bir sonraki sürümde tamamlayacağız.
- DeviceState, genel API'den kaldırıldı. Lütfen bunun yerine FoldingFeature'ı kullanın.
- Şu anda hiçbir kullanım alanında desteklenmediği için
STATE_FLIPPED, FoldingFeature durumlarından kaldırıldı. - Kullanımdan kaldırılan diğer API'ler de kaldırıldı.
API Değişiklikleri
- Kotlin'i bağımlılık olarak ekleme
- Çekirdek kitaplığı Kotlin'e taşıma (Idd995)
DisplayFeatureoluşturucu kaldırıldı. (I61fa4)DeviceState, herkese açık API'den kaldırıldı. Bunun yerineFoldingFeaturekullanın. (Id6079)- Uzantılardan cihaz durumu geri aramasını kaldırın. (I5ea83)
STATE_FLIPPED, FoldingFeature'dan kaldırıldı. (I9c4e1)- Desteği sonlandırılan kayıt yöntemleri kaldırıldı. (Ib381b)
Sürüm 1.0.0-alpha05
24 Mart 2021
androidx.window:window:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü şu commit'leri içerir.
Yeni Özellikler
Uygulamaların, özelliğin ayırıp ayırmadığını, kapatıp kapatmadığını ve menteşenin yönünü belirleyebilmesi için FoldingFeature'a kolaylık sağlayan yöntemler ekledik. Ayrıca, menteşe türünü de gizliyoruz. Böylece,
WindowManager'dan senkron okuma yöntemlerini kaldırıyoruz. Örtülü bir yarış durumu olduğundan senkron okuma yöntemleri hataya açıktır. WindowLayoutInfo ile ilgili güncellemeler almak için dinleyicileri ve geri aramaları kaydedin.
API Değişiklikleri
- FoldingFeatures ile çalışmak için kolaylık sağlayan yöntemler ekleyin (Ie733f)
- WindowManager'dan eşzamanlı okuma yöntemleri kaldırıldı (I96fd4).
Sürüm 1.0.0-alpha04
10 Mart 2021
androidx.window:window:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
- OEM uygulaması yoksa WindowLayoutInfo'nun yayınlanmamasına neden olan hata düzeltildi. Şimdi boş bir WindowLayoutInfo yayınlıyoruz.
- Uygulama arka plandayken menteşe durumu değiştiğinde durumun düzgün şekilde güncellenmemesine neden olan hata düzeltildi. Durum artık tutarlı olmalıdır.
- Çalışma zamanı bağımlılıklarından gelen uyarıları yoksaymak için ProGuard dosyalarımızı güncelleyin.
Hata Düzeltmeleri
- OEM kitaplığı eksik olduğunda boş bir değer yayınlayın. (Ide935)
Sürüm 1.0.0-alpha03
18 Şubat 2021
androidx.window:window:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.
Yeni Özellikler
- OEM uygulaması boş olduğunda WindowLayoutInfo için boş bir değer yayınlayın. Bu sayede kitaplığı daha fazla cihazda kullanmak kolaylaşır. API'ler eşzamansız olduğundan, uygulamaların yine de bazı savunma amaçlı kodlar yazması ve zaman aşımından sonra varsayılan bir değer yayınlaması önerilir. OEM uygulamalarıyla ilgili herhangi bir garantimiz yoktur ve ilk değer gecikebilir.
Hata Düzeltmeleri
- OEM kitaplığı eksik olduğunda boş bir değer yayınlayın. (Ide935)
Sürüm 1.0.0-alpha02
27 Ocak 2021
androidx.window:window:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
API'yi kolaylaştırmak ve hataları azaltmak için bazı API'lerin desteğini sonlandırdık. WindowManager'dan senkron okuma işlemlerinin kaldırılması ve DeviceState'in desteğinin sonlandırılması bu değişikliklere örnek olarak verilebilir. Eşzamanlı okuma işlemleri, yarışma durumlarına yol açabilir ve kullanıcı arayüzünün yanlış olmasına neden olabilir.
DisplayFeature'ı, diğer özelliklerin gelecekte uygulayacağı bir arayüze dönüştürdük. İlk özelliğimiz, artık ekran katlamasını veya menteşeyi temsil eden FoldingFeature. Bu, DeviceState'in yerini alan menteşenin durumunu da içerir.
WindowMetrics, geliştiricilere bir pencereyle ilgili metrikleri (ör. ekrandaki konumu ve boyutu ile sistem yerleştirmeleri) sorgulamak için basit bir yol sunmak üzere Android 11'de kullanıma sunuldu. Bu sürümde API'yi geriye dönük olarak taşıdık. Böylece geliştiriciler WindowMetrics'ten yararlanabilir ve eski Android sürümlerini desteklemeye devam edebilir. WindowMetrics,
WindowManager#getCurrentWindowMetrics()ve WindowManager#getMaximumWindowMetrics() API'leri aracılığıyla elde edilebilir.
API Değişiklikleri
- Bir sonraki alfa sürümünde (Ib7cc4) kaldırılacak API'lerin desteğini sonlandırma
- Açık Etkinlik referanslarını kabul etmek için
ExtensionInterfacegüncellendi. (I07ded) - WindowMetrics API'yi tanıtır. (I3ccee)
- WindowManager'dan senkron okuma yöntemlerini kaldırma (I69983)
- ExtensionWindowBackend paketini korumalı hale getirin. (Ied208)
Hata Düzeltmeleri
- Görsel bağlamları kabul etmek için
ExtensionInterfaceAPI'lerini güncelleyin. (I8e827)
Harici Katkı
- Verilere erişimi kolaylaştırmak için DeviceState ve WindowLayoutInfo'yu birleştirin. (Id34f4)
Sürüm 1.0.0-alpha01
27 Şubat 2020
androidx.window:window:1.0.0-alpha01 ve androidx.window:window-extensions:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Bu, Window Manager kitaplığının ilk sürümüdür.
Yeni özellikler
DisplayFeature: Bu yeni API, menteşeler veya katlamalar gibi sürekli düz ekran yüzeylerindeki kesintileri tanımlar.DeviceState: Bu yeni API, tanımlanmış duruşlar listesinden (ör.CLOSED,OPENED,HALF_OPENEDvb.) telefonun mevcut duruşunu sağlar.