WindowManager
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 24 सितंबर, 2025 | 1.5.0 | - | - | - |
डिपेंडेंसी का एलान करना
WindowManager पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { implementation "androidx.window:window:1.5.0" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.5.0" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.5.0" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.5.0" // For testing implementation "androidx.window:window-testing:1.5.0" }
Kotlin
dependencies { implementation("androidx.window:window:1.5.0") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.5.0") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.5.0") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.5.0") // For testing implementation("androidx.window:window-testing:1.5.0") }
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
संस्करण 1.5
वर्शन 1.5.0
24 सितंबर, 2025
androidx.window:window-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.
1.4.0 के बाद से हुए अहम बदलाव:
- बड़े और बहुत बड़े साइज़ के लिए
WindowSizeClassब्रेकपॉइंट जोड़ें. (I40d85) - ऐप्लिकेशन के कॉन्टेक्स्ट के लिए,
WindowMetricsको कैलकुलेट करने की सुविधा को बड़ा करें. (I8eeeb, b/360934048) WindowLayoutInfo(Ie9513) को सीधे तौर पर ऐक्सेस करने के लिए, Getter उपलब्ध कराएं- एपीआई को इस तरह से डिज़ाइन किया गया है कि वह एम्बेडिंग की स्थिति को अपने-आप सेव कर सके. साथ ही, ऐप्लिकेशन की प्रोसेस के फिर से शुरू होने पर, एम्बेडिंग की स्थिति को अपने-आप वापस ला सके. (Ie0295)
- एक्सपेरिमेंट के तौर पर उपलब्ध
WindowInsetsAPI को हटा दिया गया है. (I68a71)
गड़बड़ियां ठीक की गईं
- कुछ मामलों में,
EmbeddingRuleके अलग-अलगhashCodeदिखाने की समस्या ठीक की गई है. (I748cc) - डिवाइस पर लागू करने से जुड़ी गड़बड़ियों की वजह से,
NullPointerExceptionकी समस्या को ठीक किया गया. - इस अपडेट में, उस समस्या को ठीक किया गया है जिसकी वजह से,
ActivityEmbeddingके सुरक्षा जांच वाले फ़ंक्शन काम नहीं करते थे. ऐसा इसलिए होता था, क्योंकि ProGuard इस्तेमाल नहीं की जा रही क्लास को हटा देता था.
बाहरी योगदान
- सभी केएमपी प्लैटफ़ॉर्म को
window-core(If3d7c) में जोड़ा गया
वर्शन 1.5.0-rc01
27 अगस्त, 2025
androidx.window:window-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- डिवाइस पर लागू करने से जुड़ी गड़बड़ियों की वजह से,
NullPointerExceptionकी समस्या को ठीक किया गया. - इस अपडेट में, उस समस्या को ठीक किया गया है जिसकी वजह से,
ActivityEmbeddingके सुरक्षा जांच वाले फ़ंक्शन काम नहीं करते थे. ऐसा इसलिए होता था, क्योंकि ProGuard इस्तेमाल नहीं की जा रही क्लास को हटा देता था.
वर्शन 1.5.0-beta02
13 अगस्त, 2025
androidx.window:window-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- छोटी-मोटी गड़बड़ियां ठीक की गईं.
बाहरी योगदान
- सभी केएमपी प्लैटफ़ॉर्म को
window-core(If3d7c) में जोड़ा गया
वर्शन 1.5.0-beta01
2 जुलाई, 2025
androidx.window:window-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.5.0-alpha02
7 मई, 2025
androidx.window:window-*:1.5.0-alpha02 रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- बड़े और बहुत बड़े साइज़ के लिए
WindowSizeClassब्रेकपॉइंट जोड़ें. (I40d85) - ऐप्लिकेशन के कॉन्टेक्स्ट के लिए,
WindowMetricsको कैलकुलेट करने की सुविधा को बड़ा करें. (I8eeeb, b/360934048) WindowLayoutInfo(Ie9513) को सीधे तौर पर ऐक्सेस करने के लिए, Getter उपलब्ध कराएं- एपीआई को इस तरह से डिज़ाइन किया गया है कि वह एम्बेडिंग की स्थिति को अपने-आप सेव कर सके. साथ ही, ऐप्लिकेशन की प्रोसेस के फिर से शुरू होने पर, एम्बेडिंग की स्थिति को अपने-आप वापस ला सके. (Ie0295)
- एक्सपेरिमेंट के तौर पर उपलब्ध
WindowInsetsAPI को हटा दिया गया है. (I68a71) - कुछ कंस्ट्रक्टर छिपाएं (I87b8d)
गड़बड़ियां ठीक की गईं
- कुछ मामलों में,
EmbeddingRuleके अलग-अलगhashCodeदिखाने की समस्या ठीक की गई है. (I748cc)
वर्शन 1.5.0-alpha01
12 मार्च, 2025
androidx.window:window-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- अगले वर्शन 1.5.0 की शुरुआती रिलीज़.
वर्शन 1.4
वर्शन 1.4.0
20 मई, 2025
androidx.window:window-*:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये बदलाव शामिल हैं.
1.3.0 के बाद हुए अहम बदलाव
- गतिविधि एम्बेड करना
- लॉन्च ऐनिमेशन को पसंद के मुताबिक बनाने के लिए एपीआई
- इंटरेक्टिव डिवाइडर
ActivityStackपिन करना- फ़ुल स्क्रीन डायलॉग डिमिंग
- एम्बेड की गई ऐक्टिविटी विंडो की जानकारी देने वाला कॉलबैक
ActivityStackको मैनेज करने की बेहतर सुविधा- किसी खास
ActivityStackमें गतिविधि लॉन्च करना
WindowMetricsCalculator- टेस्टिंग की सुविधा को बेहतर बनाना
WindowMetricswithDpऔरheightDpका हिसाब लगाने के आसान तरीके- बाउंड्री की जांच को
isAtLeastपर अपडेट करें और नई वैल्यू जोड़ने के लिए, लोअर बाउंड का इस्तेमाल करें
WindowSizeClassWindowMetricsसे कैलकुलेट करने का तरीका जोड़ें
WindowInfoTracker- डिवाइस पर काम करने वाले पोज़ का पता लगाने के लिए एपीआई जोड़ें
वर्शन 1.4.0-rc02
23 अप्रैल, 2025
androidx.window:window-*:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityEmbeddingके लिए ProGuard क्रैश की समस्या ठीक करें.
वर्शन 1.4.0-rc01
12 मार्च, 2025
androidx.window:window-*:1.4.0-rc01 रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
WindowSizeClassAPI से जुड़े अपडेट.- गतिविधि एम्बेड करने वाले एपीआई से जुड़े अपडेट.
वर्शन 1.4.0-beta02
12 फ़रवरी, 2025
androidx.window:window-*:1.4.0-beta02 रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ऐसी एनोटेशन को ठीक किया गया है जो सिर्फ़ प्रॉपर्टी पर था, लेकिन गेटर पर नहीं था.
वर्शन 1.4.0-beta01
15 जनवरी, 2025
androidx.window:window-*:1.4.0-beta01 रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
ActivityEmbeddingऐनिमेशन को पसंद के मुताबिक बनाने की अनुमति देने के लिए एपीआई जोड़ा गया.- विंडो मेट्रिक को फ़र्ज़ी बनाने की अनुमति देने के लिए,
WindowMetricsCalculatorटेस्ट एपीआई को बड़ा करें.
एपीआई में हुए बदलाव
- कुछ कंस्ट्रक्टर छिपाएं (I87b8d)
- ऐप्लिकेशन को
ActivityEmbeddingऐनिमेशन (If31a8) को पसंद के मुताबिक बनाने की अनुमति दें watchosDeviceArm64केएमपी टारगेट और टारगेट Kotlin 1.9 के लिए सहायता जोड़ी गई (Icf15d, b/364652024)WindowMetricsCalculatorएपीआई उपलब्ध कराएं. (I1cebf)
गड़बड़ियां ठीक की गईं
- यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस आर्ग्युमेंट का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (Ie69ac, b/326456246)
वर्शन 1.4.0-alpha05
16 अक्टूबर, 2024
androidx.window:window-*:1.4.0-alpha05 रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
WindowMetricsसेwidthDpऔरheightDpपाने के लिए, सुविधा फ़ंक्शन जोड़े गए.
एपीआई में हुए बदलाव
WindowMetricsमेंwidthDpऔरheightDpजोड़ें. (Ide026)- एक्सपेरिमेंट के तौर पर उपलब्ध
WindowInsetsAPI को हटा दिया गया है. (I68a71) - बाउंड्री की जांच करने के तरीके के नामों को
isAtLeast(Ib0ab7) पर अपडेट करें
वर्शन 1.4.0-alpha04
2 अक्टूबर, 2024
androidx.window:window-*:1.4.0-alpha04 रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
WindowMetricsसेWindowSizeClassका हिसाब लगाने का तरीका जोड़ा गया. (874dba)- ज़्यादा जानकारी के लिए,
WindowSizeClassतरीकों कोcontainsWidthDp,containsHeightDp, औरcontainsWindowSizeDpमें बदलें. (fa760d) WindowAreaControllerको ऐब्स्ट्रैक्ट बेस क्लास में बदलें. (I90893)
गड़बड़ियां ठीक की गईं
- टेस्ट
FoldingFeatureबनाते समय, रिलेटिव बाउंड्री के इस्तेमाल की सुविधा जोड़ी गई है. (2e6b3e) WindowSizeClassचुनते समय होने वाली सामान्य गड़बड़ियां ठीक की गई हैं.
वर्शन 1.4.0-alpha03
18 सितंबर, 2024
androidx.window:window-*:1.4.0-alpha03 रिलीज़ हो गया है. वर्शन 1.4.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
WindowMetricsसेWindowSizeClassपाने के लिए, यूटिलिटी का तरीका जोड़ें. (I83f1f)isAtLeastका नाम बदलकरcontainsBreakpointकरें. (I85b47)- फ़्लोट का इस्तेमाल करके,
computeWindowSizeClassमें ओवरलोड जोड़ें. (I3dcb2, b/364677934, b/364677802, b/364680886)
गड़बड़ियां ठीक की गईं
- डिफ़ॉल्ट
WindowSizeClassब्रेकपॉइंट सेट में, छूटे हुए ब्रेकपॉइंट जोड़ें. - हमने एक गड़बड़ी को ठीक किया है. इस गड़बड़ी की वजह से, कुछ मामलों में कॉम्पैक्ट डाइमेंशन को सही तरीके से नहीं चुना जा रहा था.
वर्शन 1.4.0-alpha02
4 सितंबर, 2024
androidx.window:window-*:1.4.0-alpha02 रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
कस्टम WindowSizeClass के साथ काम करने की सुविधा जोड़ी गई.
- डेवलपर के लिए
WindowSizeClassका कंस्ट्रक्टर खोलें, ताकि वे इसका इस्तेमाल कर सकें. isAtLeastयूटिलिटी के तरीके जोड़े गए, ताकि डेवलपरWindowSizeClassवैल्यू की रेंज को प्रोसेस कर सकें.- सेट में से सबसे सही मैच का पता लगाने के लिए,
Set<WindowSizeClass>पर एक्सटेंशन फ़ंक्शन जोड़ा गया. - Android के लिए सुझाए गए ब्रेकपॉइंट के लिए कॉन्स्टेंट जोड़ें.
- Android के लिए सुझाए गए ब्रेकपॉइंट के हिसाब से, सेट किया गया ब्रेकपॉइंट जोड़ें.
एपीआई में हुए बदलाव
WindowSizeClassके लिए, बाउंड्री के तरीके के नाम अपडेट करें. (If89a6)WindowSizeClassAPI को अपडेट करें, ताकि आने वाले समय में नई ब्रेकपॉइंट वैल्यू जोड़ी जा सकें. हम सटीक सीमाओं के बजाय, निचली सीमाओं का इस्तेमाल करते हैं. साथ ही, हमारा सुझाव है कि डेवलपरWindowSizeClassको प्रोसेस करते समय, निचली सीमा की जांच करें. मौजूदाWindowWidthSizeClassऔरWindowHeightSizeClassका इस्तेमाल बंद कर दिया जाएगा, क्योंकि इन्हें आगे डेवलप नहीं किया जाएगा. (I014ce)
वर्शन 1.4.0-alpha01
7 अगस्त, 2024
androidx.window:window-*:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ActivityStack Pinning की सुविधा की मदद से, ऐप्लिकेशन एक कंटेनर में कॉन्टेंट पिन कर सकते हैं. साथ ही, इसके नेविगेशन को दूसरे कंटेनर से अलग किया जा सकता है.
- इंटरैक्टिव डिवाइडर की मदद से, ऐप्लिकेशन स्प्लिट प्रज़ेंटेशन में दो गतिविधियों के बीच एक फ़िक्स्ड या ड्रैग करने लायक डिवाइडर दिखा सकते हैं.
- फ़ुलस्क्रीन डायलॉग डिमिंग की मदद से, ऐप्लिकेशन डायलॉग डिम करने का एरिया तय कर सकते हैं. इससे पूरी टास्क विंडो को डिम किया जा सकता है या सिर्फ़ उस कंटेनर को डिम किया जा सकता है जिसमें डायलॉग दिखता है.
- एम्बेड की गई गतिविधि की विंडो की जानकारी देने वाला कॉलबैक, ऐप्लिकेशन को एम्बेड की गई गतिविधि की विंडो के अपडेट लगातार पाने की अनुमति देता है.
- ऐनिमेशन बैकग्राउंड एम्बेड करने की सुविधा की मदद से, ऐप्लिकेशन ऐनिमेशन बैकग्राउंड तय कर सकते हैं. इससे
ActivityEmbeddingका इस्तेमाल करते समय, ट्रांज़िशन ऐनिमेशन की क्वालिटी बेहतर होती है. - ActivityStack को बेहतर तरीके से मैनेज करने की सुविधा की मदद से, ऐप्लिकेशन को
ActivityEmbeddingके इस्तेमाल पर ज़्यादा कंट्रोल मिलता है. इसमें ये शामिल हैं:ActivityStacks - किसी गतिविधि को तय किए गए
ActivityStackमें लॉन्च करना ActivityStackको पूरा करना
एपीआई में हुए बदलाव
नया एपीआई
WindowInfoTracker#supportedPostures:- यह एपीआई यह तय करता है कि फ़ोल्ड किए जा सकने वाले डिवाइसों पर टेबलटॉप मोड काम करता है या नहीं. WindowAreaSessionPresenter#getWindow जोड़ता है
ActivityStackपिन करने की सुविधा के लिए, एपीआई जोड़ें:SplitPinRuleक्लासSplitController#pinTopActivityStackSplitController#unpinTopActivityStack
इंटरैक्टिव डिवाइडर को चालू और कॉन्फ़िगर करने के लिए एपीआई जोड़ना
DividerAttributesक्लासSplitAttributes.Builder#setDividerAttributes
डायलॉग के लिए
EmbeddingConfigurationऔरDimAreaBehaviorसेट करने के लिए, एपीआई जोड़ेंEmbeddingConfigurationक्लासDimAreaBehaviorक्लासActivityEmbeddingController#setEmbeddingConfiguration
एम्बेड की गई गतिविधि की विंडो की जानकारी के अपडेट पाने के लिए, एपीआई जोड़ना
EmbeddedActivityWindowInfoक्लासActivityEmbeddingController#embeddedActivityWindowInfo
बैकग्राउंड में एम्बेड किए गए ऐनिमेशन को सेट करने के लिए एपीआई जोड़ें
EmbeddingAnimationBackgroundSplitAttributes.Builder#setAnimationBackground
ActivityStacksको पूरा करने के लिए एपीआई जोड़ेंActivityEmbeddingController#finishActivityStacks
लॉन्चिंग
ActivityStackसेट अप करने के लिए एपीआई जोड़नाActivityEmbeddingOptions#setLaunchingActivityStack
ये एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं और इनका इस्तेमाल किया जा सकता है:
ActivityEmbeddingController#invalidateVisibleActivityStacks(moved from SplitController#invalidateTopVisibleSplitAttributes)ActivityEmbeddingController#getActivityStackSplitController#updateSplitAttributes
1.4 के लिए एपीआई जोड़ें. (I56774)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर मौजूद उस बग को ठीक किया गया है जिसमें सेशन चालू होने पर, ACTIVE के बजाय UNAVAILABLE दिखता था.
- एपीआई के ठीक से काम न करने की वजह से,
vendorApiLevelवाले डिवाइसों परtransferActivityToWindowAreaके लिए सहायता हटा दी गई है. - ड्रैग किए जा सकने वाले डिवाइडर को फ़ुलस्क्रीन पर ले जाने की सुविधा चालू करने के लिए, एपीआई लॉन्च किया गया. (I645c9)
- ऐप्लिकेशन को
SplitAttributesके लिए ऐनिमेशन पैरामीटर के ज़रिए,ActivityEmbeddingऐनिमेशन बंद करने की अनुमति दें. (Idc01a) - नए प्लैटफ़ॉर्म एपीआई को ऐक्सेस करने के लिए, मैन्युअल तरीके से आउटलाइन बनाने की सुविधा हटा दी गई है. ऐसा इसलिए, क्योंकि AGP 7.3 या इसके बाद के वर्शन (जैसे, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग के ज़रिए यह काम अपने-आप हो जाता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (जैसे, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह काम अपने-आप हो जाता है. AGP का इस्तेमाल न करने वाले क्लाइंट को D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (Ia60e0, b/345472586)
- एक्सटेंशन को
SplitAttributesके लिए ऐनिमेशन पैरामीटर लेने की अनुमति देता है, ताकि डिवाइस इसका इस्तेमाल ऐनिमेशन ट्रांज़िशन के लिए कर सके. (Iede00) - ओवरले एपीआई (Ic4251) छिपाएं
- स्प्लिट के लिए, फ़िक्स्ड या ड्रैग किए जा सकने वाले डिवाइडर को कॉन्फ़िगर करने के लिए एपीआई पेश किए गए हैं (Ia7a78)
WindowMetrics(Id6723) में डेंसिटी जोड़ी गईSupportedPosturesपाने के लिए, एपीआई जोड़ें. (If557a)- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई (I191cf) से
setLaunchingActivityStackहटाया गया ActivityEmbeddingController#embeddedActivityWindowInfoके बारे में जानकारी (I24312)#getTokenको बंद करें और#getActivityStackToken(Ie0471) जोड़ेंembeddedActivityWindowInfoफ़्लो एपीआई (Ida77f) के लिए कॉलबैक अडैप्टर लॉन्च किया गया- overlayInfo फ़्लो एपीआई (I7264f) के लिए कॉलबैक अडैप्टर जोड़ें
- टेस्टिंग के लिए,
extensionsVersionको बदलने के लिएWindowSdkExtensionsRuleका इस्तेमाल करें. (Ifb928) - -
ActivityOptionsCompatके इस्तेमाल के साथ काम करने के लिए,#setLaunchingActivityStackको बंडल में माइग्रेट करें.- उपयोगकर्ताओं को
ActvityOptionsके बजायactivityOptions.toBundleपास करना चाहिए. #setLaunchingActivityStack(Activity)को हटाएं. उपयोगकर्ताओं कोActivityEmbeddingController#getActivityStac(Activity)का इस्तेमाल करने के लिए माइग्रेट करना चाहिए, ताकि उन्हेंActivityStackमिल सके. साथ ही, वेActivityStackको#setLaunchingActivityStackपर भेज सकें. (Ie0ccc)
- उपयोगकर्ताओं को
- - WM Jetpack और एक्सटेंशन के बीच कम्यूनिकेट करने के लिए,
ActivityStack.TokenऔरSpltInfo.Tokenको आइडेंटिफ़ायर के तौर पर पेश किया गया है.- IBinder के बजाय टोकन लेने/वापस करने के लिए, एपीआई को बंद करें/बदलें. (I12b24)
- - Introduce
ActivityEmbeddingController#invalidateVisibleActivityStacksSplitController#invalidateTopVisibleSplitAttributesको हटाया गया, क्योंकि इस सुविधा को#invalidateVisibleActivityStacks(I02ef5) में शामिल कर दिया गया है
- - एम्बेड करने का कॉन्फ़िगरेशन सेट करने के लिए, एपीआई जोड़ा गया. (I59a4a)
- - सबसे ऊपर पिन करने/पिन हटाने की सुविधा जोड़ने के लिए
ActivityStackandroidx.Windowएपीआई- डेमो ऐप्लिकेशन को अपडेट किया जा रहा है, ताकि टॉप
ActivityStackको पिन/अनपिन किया जा सके (I24dd3)
- डेमो ऐप्लिकेशन को अपडेट किया जा रहा है, ताकि टॉप
#finishActivityStacksऔरActivityEmbeddingOptionsको फिर से जोड़ें (Ic1ab3)- ऐसे एपीआई हटाएं जो स्टेबल नहीं हैं. (Ibc534, b/302380585)
वर्शन 1.3
वर्शन 1.3.0
29 मई, 2024
androidx.window:window-*:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये बदलाव शामिल हैं.
1.2.0 के बाद हुए ज़रूरी बदलाव
- विंडो के साइज़ क्लास के लिए Kotlin Multiplatform का इस्तेमाल किया जा सकता है.
वर्शन 1.3.0-rc01
14 मई, 2024
WindowManager Jetpack 1.3 में, WindowSizeClass सुविधाओं के लिए Kotlin Multiplatform की सुविधा जोड़ी गई है. साथ ही, कई गड़बड़ियों को ठीक किया गया है.
androidx.window:window-*:1.3.0-rc01 रिलीज़ हो गया है. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta02
1 मई, 2024
androidx.window:window-*:1.3.0-beta02 रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कस्टम
WindowSizeClassबनाने और उनका इस्तेमाल करने की सुविधा हटा दी गई है. (Id1143)
गड़बड़ियां ठीक की गईं
- proguard की वजह से, कुछ डिवाइसों पर कुछ फ़ाइलें हटा दी गई थीं. इस वजह से हुई
KotlinReflectionInternalErrorको ठीक किया गया है. (I01b02)
वर्शन 1.3.0-beta01
3 अप्रैल, 2024
androidx.window:window-*:1.3.0-beta01 रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-alpha03
6 मार्च, 2024
androidx.window:window-*:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
WindowSizeClassUtilको ज़्यादा फ़ोकस किए गए तरीकों में बांटें. (Ie9292)- वापस लाएं
WindowSizeClass#compute(I21355, b/324293374)
गड़बड़ियां ठीक की गईं
- इस अपडेट में, उस क्रैश की समस्या को ठीक किया गया है जिसमें दिए गए कॉन्टेक्स्ट को सही तरीके से अनरैप नहीं किया जा रहा था. (94d10ce , b/318787482)
वर्शन 1.3.0-alpha02
7 फ़रवरी, 2024
androidx.window:window-*:1.3.0-alpha02 रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Window Size Class API के एपीआई सर्फ़ेस में किए गए अपडेट. इससे उन डेवलपर को ज़्यादा सुविधा मिलेगी जो अपनी साइज़ क्लास का इस्तेमाल करना चाहते हैं.
एपीआई में हुए बदलाव
- चौड़ाई चुनने वाले टूल में ऊंचाई से जुड़ी शर्तें जोड़ें. (I23393)
- सेट से
WindowSizeClassचुनने के लिए, यूटिलिटी फ़ंक्शन जोड़े गए. एक्सपेरिमेंट के तौर पर स्कोरिंग फ़ंक्शन जोड़े गए हैं, ताकि डेवलपर अपने सिलेक्टर लिख सकें. किसी तय सीमा में सबसे चौड़ाWindowSizeClassचुनने के लिए, सिलेक्टर एक्सटेंशन फ़ंक्शन जोड़ें. (I0c944) - कस्टम ब्रेकपॉइंट जोड़ने के लिए,
WindowSizeClassकंस्ट्रक्टर खोलें. (Ic1ff3) - चौड़ाई, ऊंचाई, और डेनसिटी से साइज़ क्लास बनाने के लिए, सुविधा फ़ंक्शन जोड़ा गया. (If67f4)
गड़बड़ियां ठीक की गईं
- फ़्लोट वैल्यू को 0 पर छोटा करने पर होने वाली गड़बड़ी को ठीक किया गया. (272ffac)
वर्शन 1.3.0-alpha01
15 नवंबर, 2023
androidx.window:window-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- पीछे वाली स्क्रीन को ऐक्सेस करने के लिए, एक्सपेरिमेंटल विंडो एपीआई उपलब्ध कराता है.
FoldingFeatureबनाने के लिए, टेस्ट एपीआई का स्टेबल वर्शन अब उपलब्ध है.- नकली
ActivityEmbeddingवैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब स्थिर हो गए हैं. WindowLayoutInfoPublisherRuleअबUiContextसे वैल्यू पाने पर, ओवरराइड की गई वैल्यू की जानकारी देता है.WindowInfoTrackerरिपोर्ट,UiContextपैरामीटर में डेटा फ़ोल्ड करने की सुविधा देती हैं.- डिवाइस पर एक्सटेंशन का वर्शन दिखाएं.
WindowPropertiesउपयोगकर्ता के हिसाब से, हर ऐप्लिकेशन के लिए ओवरराइड करने की सुविधा के लिए कॉन्स्टेंट:PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE— इससे सिस्टम को पता चलता है कि ऐप्लिकेशन ने, उपयोगकर्ता को दिखने वाले आसपेक्ट रेशियो की कंपैटिबिलिटी को बदलने की सुविधा से ऑप्ट आउट कर लिया है.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE— इससे सिस्टम को पता चलता है कि ऐप्लिकेशन ने, उपयोगकर्ता के लिए फ़ुल-स्क्रीन विकल्प से ऑप्ट आउट कर दिया है. साथ ही, यह भी पता चलता है कि ऐप्लिकेशन ने आसपेक्ट रेशियो के साथ काम करने से जुड़ी सेटिंग को बदलने की सुविधा से ऑप्ट आउट कर दिया है
वर्शन 1.2
वर्शन 1.2.0
15 नवंबर, 2023
androidx.window:window-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद हुए अहम बदलाव
- पीछे वाली स्क्रीन को ऐक्सेस करने के लिए, एक्सपेरिमेंटल विंडो एपीआई उपलब्ध कराता है.
FoldingFeatureबनाने के लिए, टेस्ट एपीआई का स्टेबल वर्शन अब उपलब्ध है.- नकली
ActivityEmbeddingवैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब स्थिर हो गए हैं. WindowLayoutInfoPublisherRuleअबUiContextसे वैल्यू पाने पर, ओवरराइड की गई वैल्यू की जानकारी देता है.WindowInfoTrackerरिपोर्ट,UiContextपैरामीटर में डेटा फ़ोल्ड करने की सुविधा देती हैं.- डिवाइस पर एक्सटेंशन का वर्शन दिखाएं.
वर्शन 1.2.0-rc01
1 नवंबर, 2023
androidx.window:window-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- पीछे वाली स्क्रीन को ऐक्सेस करने के लिए, एक्सपेरिमेंटल विंडो एपीआई उपलब्ध कराता है.
FoldingFeatureबनाने के लिए, टेस्ट एपीआई का स्टेबल वर्शन अब उपलब्ध है.- नकली
ActivityEmbeddingवैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब स्थिर हो गए हैं. WindowLayoutInfoPublisherRuleअबUiContextसे वैल्यू पाने पर, ओवरराइड की गई वैल्यू की जानकारी देता है.WindowInfoTrackerरिपोर्ट,UiContextपैरामीटर में डेटा फ़ोल्ड करने की सुविधा देती हैं.- डिवाइस पर एक्सटेंशन का वर्शन दिखाएं.
वर्शन 1.2.0-beta04
18 अक्टूबर, 2023
androidx.window:window-*:1.2.0-beta04 रिलीज़ हो गया है. वर्शन 1.2.0-beta04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ऐसे एपीआई हटाएं जो स्टेबल नहीं हैं. (Ibc534, b/302380585)
वर्शन 1.2.0-beta03
20 सितंबर, 2023
androidx.window:window-*:1.2.0-beta03 रिलीज़ हो गया है. वर्शन 1.2.0-beta03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ऐसे एपीआई के लिए
RequiresApiजांचें जोड़ें जिनके लिए एक्सटेंशन के किसी खास वर्शन की ज़रूरत होती है, ताकि वे सही तरीके से काम कर सकें. - डिवाइस पर एक्सटेंशन का वर्शन दिखाने के लिए, कोई एपीआई जोड़ें.
एपीआई में हुए बदलाव
- सार्वजनिक एपीआई पर, ज़रूरी विंडो एसडीके एक्सटेंशन वर्शन के बारे में एनोटेशन जोड़ें.
- गतिविधि एम्बेड करने वाले कॉम्पोनेंट में मौजूद
isXXXSupportedको हटाएं. (Ie3dae)
- गतिविधि एम्बेड करने वाले कॉम्पोनेंट में मौजूद
- डिवाइस पर एक्सटेंशन के वर्शन की जानकारी देने के लिए,
WindowSdkExtensionsको लॉन्च किया गया है.- एक्सटेंशन के ज़रूरी वर्शन के बारे में बताने के लिए,
RequiresWindowSdkExtensionका इस्तेमाल करें. (I05fd4)
- एक्सटेंशन के ज़रूरी वर्शन के बारे में बताने के लिए,
- इससे
WindowAreaInfo#getCapabilityको नल वैल्यू असाइन नहीं की जा सकती. (I17048)
वर्शन 1.2.0-beta01
26 जुलाई, 2023
androidx.window:window-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- पीछे वाली स्क्रीन को ऐक्सेस करने के लिए, एक्सपेरिमेंटल विंडो एपीआई उपलब्ध कराता है.
FoldingFeatureबनाने के लिए, टेस्ट एपीआई का स्टेबल वर्शन अब उपलब्ध है.- नकली
ActivityEmbeddingवैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब स्थिर हो गए हैं. WindowLayoutInfoPublisherRuleअबUiContextसे वैल्यू पाने पर, ओवरराइड की गई वैल्यू की जानकारी देता है.WindowInfoTrackerरिपोर्ट,UiContextपैरामीटर में डेटा फ़ोल्ड करने की सुविधा देती हैं.
एपीआई में हुए बदलाव
WindowAreaएपीआई को एक्सपेरिमेंटल के तौर पर मार्क करता है, ताकि एपीआई में बदलाव किए जा सकें. इससे 1.3 (I857f5) में स्टेबल रिलीज़ के लिए एपीआई में बदलाव किए जा सकेंगे- कंपैटिबिलिटी सप्रेशन की जानकारी देने के लिए, एपीआई फ़ाइलें अपडेट की गईं (I8e87a, b/287516207)
वर्शन 1.2.0-alpha03
21 जून, 2023
androidx.window:window-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एपीआई की सतह से, इस्तेमाल में नहीं रहे एपीआई को हटाया गया.
- एक साथ कई डिसप्ले को सपोर्ट करने के लिए, एपीआई जोड़ें.
- ज़बरदस्ती रीसाइज़ करने की सुविधा को बंद करने के लिए, कोई प्रॉपर्टी जोड़ें.
- कम से कम आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को बदलने की सुविधा से ऑप्ट आउट करने के लिए प्रॉपर्टी जोड़ें.
- Activity Embedding के आस-पास यूनिट टेस्टिंग को बेहतर बनाने के लिए,
ActivityEmbeddingRuleको स्थिर करें.
एपीआई में हुए बदलाव
गड़बड़ियां ठीक की गईं
- फ़ोर्स रीसाइज़ ओवरराइड के लिए, ऑप्ट-आउट करने की सुविधा वाली कंपैट प्रॉपर्टी जोड़ी जा रही है (Ie7ab1)
- इस कुकी का इस्तेमाल, एक्सटेंशन इंटरफ़ेस से
SESSION_STATE_CONTENT_INVISIBLEको हटाने के लिए किया जाता है. (I6ed19) - Activity एम्बेड करने की सुविधा के लिए यूनिट टेस्टिंग की सुविधा को बेहतर बनाने के लिए,
ActivityEmbeddingRuleको स्थिर करें. (I8d6b6) - कम से कम आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को बदलने के लिए, ऑप्ट-आउट करने की सुविधा वाली प्रॉपर्टी जोड़ी जा रही है. (I66390)
- WindowArea API (Ieb67c) के काम न करने वाले वर्शन को हटाता है
- ओरिएंटेशन के अनुरोध वाली लूप प्रॉपर्टी का नाम बदलकर
PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTEDकर दिया गया है. (Ie2fbd) - यह कुकी, विंडो एरिया सेशन के कॉन्स्टेंट के नाम (I83675) अपडेट करती है
- ऑप्ट-आउट करने वाली ऐसी प्रॉपर्टी जोड़ी गई है जो ओरिएंटेशन के अनुरोध लूप का पता चलने पर उसे अनदेखा करती है (I0a7a2)
WindowAreaComponent#STATUS_ACTIVEजोड़ें, ताकि यह पता चल सके कि सुविधा पहले से चालू है. (I62bc3)RearDisplayPresentationModeएपीआई जोड़ें (I0401c)- स्थिर वर्शन के लिए, बैकग्राउंड का रंग हटाने वाले एपीआई को हटा दिया गया है. (I34c3e)
- विंडो एरिया एपीआई छिपाएं. (I39de0)
SplitControllerमेंSplitInfoको बदलने के लिए, तरीके जोड़े गए.SplitInfoऔरActivityStackके लिए, दोहरे नतीजे बनाने के लिए टेस्ट के तरीके जोड़े गए. (Icd69f)ActivityRule.Builderके लिए टैग को वैकल्पिक बनाएं. (Ib0b44)RatioSplitType,ExpandContainersSplit, औरHingeSplitTypeको हटाएं. अब वेSplitTypeहैं.#splitEqually(),#expandContainers(), और#splitByHingeकोSplitType SPLIT_TYPE_EQUAL,SPLIT_TYPE_EXPAND, औरSPLIT_TYPE_HINGEसे बदलें- हटाया गया: हिंज स्प्लिट टाइप के फ़ॉलबैक टाइप को सेट करने की सुविधा. अगर मौजूदा डिवाइस या विंडो की स्थिति की वजह से, हिंज स्प्लिट टाइप लागू नहीं किया जा सकता, तो यह पैरंट टास्क कंटेनर को बराबर हिस्सों में बांट देता है. फ़ॉलबैक स्प्लिट टाइप को पसंद के मुताबिक बनाने के लिए,
SplitController#setSplitAttributesCalculatorका इस्तेमाल करें. (Ifcc59)
add/removeSplitCallbackको बंद करनाadd/removeSplitCallbackकोSplitControllerCallbackAdapterपर ले जाएंFlowसूची पाने के लिए,Flowकी सुविधा जोड़ी गई (I7f1b6)SplitInfo
ActivityEmbeddingController(I42e9b) के लिए टेस्ट का नियम जोड़ेंActivityOptionsCompatका नाम बदलकरActivityEmbeddingOptionsकिया जा रहा है (I89301)- यह बताने के लिए कि गतिविधि एम्बेड करने की सुविधा उपलब्ध है या नहीं,
splitSupportStatusजोड़ें. (I10024) DEFAULTकी वैल्यू को बेहतर तरीके से दिखाने के लिए,SplitAttributes.BackgroundColorको शामिल करें. यह साफ़ तौर पर बताया गया है कि नॉन-ओपेक ऐनिमेशन बैकग्राउंड के रंग का इस्तेमाल नहीं किया जा सकता. इसलिए, किसी भी नॉन-ओपेक रंग को डिफ़ॉल्ट रंग माना जाएगा. इसका मतलब है कि मौजूदा थीम के विंडो बैकग्राउंड के रंग का इस्तेमाल किया जाएगा. (Ic6b95)alwaysAllow()औरalwaysDisallow()कोALWAYS_ALLOWऔरALWAYS_DISALLOWसे बदलें. (I3057b)SplitRule,SplitAttributes,SplitAttributesCalculatorके लिए एपीआई जोड़े गए. (I92d23)- टेस्टिंग के लिए
ActivityStackबनाने के लिए,TestActivityStackजोड़ें- टेस्टिंग के लिए
SplitInfoबनाने के लिए,TestSplitInfoजोड़ें. (I8e779)
- टेस्टिंग के लिए
- फ़र्ज़ी
SplitAttributesCalculatorParamsबनाने का तरीका जोड़ें, ताकि डेवलपर अपने हिसाब से बनाए गएSplitAttributesCalculator(Id4a6e) की पुष्टि कर सकें WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context)औरWindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context)जोड़े गए (I66c7f)
वर्शन 1.2.0-alpha02
7 जून, 2023
androidx.window:window-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- टेस्ट एपीआई को अपडेट किया गया है, ताकि फ़ोल्डिंग की सुविधा के बारे में जानकारी न देने वाले कॉन्स्टेंट को शामिल किया जा सके.
WindowLayoutInfoPublishRuleका इस्तेमाल करके वैल्यू बदलने पर,windowLayoutInfoकी सभी वैल्यू बदल जाएंगी. इनमें कॉन्टेक्स्ट के हिसाब से काम करने वाला एपीआई भी शामिल है.
एपीआई में हुए बदलाव
- सेंटर फ़ोल्डिंग की सुविधा के बारे में नहीं बताने वाले कॉन्स्टेंट को जोड़ें. (I7530c)
गड़बड़ियां ठीक की गईं
ContextपरWindowLayoutInfoके आधार पर ओवरराइड करने की सुविधा के लिए,WindowLayoutInfoPublishRuleको अपडेट करें. (I2037a)
वर्शन 1.2.0-alpha01
24 मई, 2023
androidx.window:window-*:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Activity Embedding और WindowLayoutInfoTracker के लिए, टेस्टिंग एपीआई को बेहतर बनाएं. ActivityEmbeddingRule को स्टेबल वर्शन में प्रमोट कर दिया गया है.
WindowMetricsCalculatorRule को स्टेबल वर्शन में प्रमोट कर दिया गया है.
टेस्ट के लिए FoldingFeature बनाने वाले यूटिलिटी फ़ंक्शन को स्टेबल वर्शन में प्रमोट कर दिया गया है.
एपीआई में हुए बदलाव
- Activity एम्बेड करने की सुविधा के लिए यूनिट टेस्टिंग की सुविधा को बेहतर बनाने के लिए,
ActivityEmbeddingRuleको स्थिर करें. (I8d6b6) WindowMetrisCalculatorTestRuleस्टेबल है. इससे जेवीएम टेस्ट के लिए स्टब मेट्रिक का इस्तेमाल किया जा सकता है. हमारा सुझाव है कि सटीक नतीजों के लिए, एम्युलेटर का इस्तेमाल करें.WindowLayoutInfoके लिए टेस्ट एपीआई को स्थिर करें, ताकि JVM टेस्टिंग की जा सके. (Ie036e)- फ़ोल्ड करने की सुविधा की जांच करने के लिए,
IntRangeएट्रिब्यूट की वैल्यू जोड़ें. (I69f7d)
वर्शन 1.1
वर्शन 1.1.0
7 जून, 2023
androidx.window:window-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
गतिविधि को एम्बेड करना
- ऐप्लिकेशन मेनिफ़ेस्ट में
<application>टैग की बूलियन प्रॉपर्टी के तौर परPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDको जोड़ा गया. - स्प्लिट करने की सुविधा उपलब्ध न होने के बारे में ज़्यादा जानकारी देने के लिए,
isSplitSupportedको बंद कर दिया गया है और उसकी जगहsplitSupportStatusको चालू कर दिया गया है. splitSupportStatusप्रॉपर्टी के लिए राज्य के कॉन्स्टेंट उपलब्ध कराने के लिए,SplitController.SplitSupportStatusनेस्टेड क्लास जोड़ी गई.SplitControllerको कई मॉड्यूल में फिर से व्यवस्थित किया गया:ActivityयाActivityStackसे जुड़े एपीआई के लिएActivityEmbeddingControllerमॉड्यूल.isActivityEmbeddedकोSplitControllerसेActivityEmbeddingControllerमें ले जाया गया.EmbeddingRuleसे जुड़ी कार्रवाइयों के लिएRuleControllerमॉड्यूल:SplitControllerएपीआई हटाए गए:clearRegisteredRules()getSplitRules()initialize()registerRule()unregisterRule()RuleControllerएपीआई जोड़े गए:addRule()— इससे कोई नियम जोड़ा जाता है या उसी टैग वाले नियम को अपडेट किया जाता है.removeRule()— यह रजिस्टर किए गए नियमों के कलेक्शन से किसी नियम को हटाता है.setRules()— नियमों का एक कलेक्शन बनाता है.clearRules()— रजिस्टर किए गए सभी नियमों को हटाता है.parseRules()— एक्सएमएल फ़ाइल में मौजूद नियमों की परिभाषाओं से नियमों को पार्स करता है.
- सभी मॉड्यूल को
#getInstance()तरीके से शुरू करने के लिए, कॉन्टेक्स्ट की ज़रूरत होती है. इनमें ये शामिल हैं:ActivityEmbeddingController#getInstance(Context)SplitController#getInstance(Context)RuleController#getInstance(Context)
- डिस्प्ले के आसपेक्ट रेशियो से जुड़ी enum जैसी व्यवहार की कॉन्स्टेंट वैल्यू तय करने के लिए,
EmbeddingAspectRatioक्लास जोड़ी गई. - स्प्लिट लेआउट तय करने के लिए,
SplitAttributesक्लास जोड़ी गई. - स्प्लिट लेआउट को पसंद के मुताबिक बनाने के लिए,
SplitAttributesमेंSplitControllerकैलकुलेटर फ़ंक्शन जोड़े गए:setSplitAttributesCalculator(Function)clearSplitAttributesCalculator()isSplitAttributesCalculatorSupported()यह देखने के लिए कि डिवाइस परSplitAttributesCalculatorएपीआई काम करते हैं या नहीं
EmbeddingRule#tagफ़ील्ड जोड़ा गया.SplitRuleमें एपीआई से जुड़े अपडेट:defaultSplitAttributesको जोड़ा गया — यह किसी स्प्लिट का डिफ़ॉल्ट स्प्लिट लेआउट तय करता है. यहsplitRatioऔरlayoutDirectionकी जगह लेता है.- एक्सएमएल प्रॉपर्टी
splitRatioऔरsplitLayoutDirectionके अनुवाद कोdefaultSplitAttributesमें जोड़ा गया. - कम से कम डाइमेंशन की परिभाषाओं में बदलाव किया गया है, ताकि पिक्सल के बजाय डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) का इस्तेमाल किया जा सके.
- डिफ़ॉल्ट वैल्यू 600 डीपी के साथ
minHeightDpजोड़ा गया. minWidthकोminWidthDpमें बदल दिया गया है. इसकी डिफ़ॉल्ट वैल्यू 600 डीपी है.minSmallestWidthकोminSmallestWidthDpमें बदल दिया गया है. इसकी डिफ़ॉल्ट वैल्यू 600 डीपी है.- डिफ़ॉल्ट वैल्यू
ALWAYS_ALLOWके साथmaxAspectRatioInHorizontalजोड़ा गया. - डिफ़ॉल्ट वैल्यू 1.4 के साथ
maxAspectRatioInPortraitजोड़ा गया. - फ़िनिश बिहेवियर कॉन्स्टेंट को बदलने के लिए,
FinishBehaviorनेस्टेड क्लास को तय किया गया. SplitPairRuleऔरSplitPlaceholderRuleकी Builder नेस्ट की गई क्लास में प्रॉपर्टी के बदलाव लागू किए गए.
- स्प्लिट से जुड़ी ज़्यादा जानकारी देने के लिए,
SplitInfo#getSplitRatio()की जगहSplitInfo#getSplitAttributes()का इस्तेमाल किया गया है.
WindowLayout
WindowInfoTrackerमें, एक्सपेरिमेंट के तौर पर नॉन-ऐक्टिविटी यूज़र इंटरफ़ेस (यूआई) कॉन्टेक्स्ट सपोर्ट जोड़ा गया.WindowMetricsCalculatorमें, एक्सपेरिमेंट के तौर पर उपलब्ध गैर-गतिविधि वाले यूज़र इंटरफ़ेस (यूआई) का कॉन्टेक्स्ट जोड़ा गया.
माइग्रेशन के चरण
- स्प्लिट स्क्रीन में गतिविधियां दिखाने के लिए, ऐप्लिकेशन को मेनिफ़ेस्ट
<application>टैग मेंPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDप्रॉपर्टी जोड़नी होगी:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />इससे सिस्टम को, ऐप्लिकेशन के लिए स्प्लिट स्क्रीन के व्यवहार को पहले से ही ऑप्टिमाइज़ करने की अनुमति मिलती है. SplitInforatio- देखें कि मौजूदा स्प्लिट स्टैक किया गया है या नहीं:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - मौजूदा अनुपात देखें:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- देखें कि मौजूदा स्प्लिट स्टैक किया गया है या नहीं:
- SplitController माइग्रेशन:
SplitController.getInstance()को बदलकरSplitController.getInstance(Context)कर दिया गया है.SplitController.initialize(Context, @ResId int)को बदलकरRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))कर दिया गया है.SplitController.getInstance().isActivityEmbedded(Activity)को बदलकरActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)कर दिया गया है.SplitController.getInstance().registerRule(rule)को बदलकरRuleController.getInstance(Context).addRule(rule)कर दिया गया है.SplitController.getInstance().unregisterRule(rule)को बदलकरRuleController.getInstance(Context).removeRule(rule)कर दिया गया है.SplitController.getInstance().clearRegisteredRules()को बदलकरRuleController.getInstance(Context).clearRules()कर दिया गया है.SplitController.getInstance().getSplitRules()को बदलकरRuleController.getInstance(Context).getRules()कर दिया गया है.
SplitRuleproperty migrations:minWidthऔरminSmallestWidthअब पिक्सल के बजाय dp यूनिट का इस्तेमाल करते हैं. ऐप्लिकेशन, इस कॉल का इस्तेमाल कर सकते हैं:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )या सिर्फ़minWithको पिक्सल मेंdisplayMetrics#densityसे भाग दें.
- फ़िनिश बिहेवियर कॉन्स्टेंट को
FinishBehaviorenum-like क्लास कॉन्स्टेंट में माइग्रेट किया जाना चाहिए:FINISH_NEVERको बदलकरFinishBehavior.NEVERकर दिया गया है.FINISH_ALWAYSको बदलकरFinishBehavior.ALWAYSकर दिया गया है.FINISH_ADJACENTको बदलकरFinishBehavior.ADJACENTकर दिया गया है.
- लेआउट की दिशा को
SplitAttributes.LayoutDirectionमें माइग्रेट करना ज़रूरी है:ltrको बदलकरSplitAttributes.LayoutDirection.LEFT_TO_RIGHTकर दिया गया है.rtlको बदलकरSplitAttributes.LayoutDirection.RIGHT_TO_LEFTकर दिया गया है.localeको बदलकरSplitAttributes.LayoutDirection.LOCALEकर दिया गया है.splitRatioकोSplitAttributes.SplitType.ratio(splitRatio)पर माइग्रेट करना होगा.
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.हो गया हैsetLayoutDirection(layoutDirection)औरsetSplitRatio(ratio)में हुए बदलावों के बारे में जानकारीkotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )setFinishPrimaryWithSecondaryऔरsetFinishSecondaryWithPrimary,FinishBehaviorenum जैसे कॉन्स्टेंट लेते हैं. ज़्यादा जानकारी के लिए, “SplitRule migrations” देखें.- पोर्ट्रेट डिवाइसों पर स्प्लिट दिखाने के लिए,
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)का इस्तेमाल करें.
SplitPlaceholder.Buildermigrations:- इसमें सिर्फ़
filtersऔरplaceholderIntentपैरामीटर होते हैं. अन्य प्रॉपर्टी, सेटर पर चली जाती हैं. ज़्यादा जानकारी के लिए, “SplitPairRule.Builder migrations” देखें. setFinishPrimaryWithPlaceholder,FinishBehaviorenum-like कॉन्सटेंट लेता है. ज़्यादा जानकारी के लिए, “SplitRule migrations” देखें.setLayoutDirection(layoutDirection)औरsetSplitRatio(ratio)को बदलकर यह कर दिया गया है:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )- पोर्ट्रेट डिवाइसों पर स्प्लिट दिखाने के लिए,
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)का इस्तेमाल करें.
- इसमें सिर्फ़
वर्शन 1.1.0-rc01
10 मई, 2023
androidx.window:window-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
ActivityEmbeddingको स्टेबल एपीआई के तौर पर रिलीज़ किया गया है.- कई गड़बड़ियां ठीक की गईं.
वर्शन 1.1.0-beta02
5 अप्रैल, 2023
androidx.window:window-*:1.1.0-beta02 रिलीज़ हो गया है. वर्शन 1.1.0-beta02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- गड़बड़ियां ठीक की गई हैं और सुधार किए गए हैं.
वर्शन 1.1.0-beta01
22 मार्च, 2023
androidx.window:window-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.
गतिविधि को एम्बेड करना
- ऐप्लिकेशन मेनिफ़ेस्ट में
<application>टैग की बूलियन प्रॉपर्टी के तौर परPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDको जोड़ा गया. - स्प्लिट करने की सुविधा उपलब्ध न होने के बारे में ज़्यादा जानकारी देने के लिए,
isSplitSupportedको बंद कर दिया गया है और उसकी जगहsplitSupportStatusको चालू कर दिया गया है. splitSupportStatusप्रॉपर्टी के लिए राज्य के कॉन्स्टेंट उपलब्ध कराने के लिए,SplitController.SplitSupportStatusनेस्टेड क्लास जोड़ी गई.SplitControllerको कई मॉड्यूल में फिर से व्यवस्थित किया गया:ActivityयाActivityStackसे जुड़े एपीआई के लिएActivityEmbeddingControllerमॉड्यूल.isActivityEmbeddedकोSplitControllerसेActivityEmbeddingControllerमें ले जाया गया.EmbeddingRuleसे जुड़ी कार्रवाइयों के लिएRuleControllerमॉड्यूल:SplitControllerएपीआई हटाए गए:clearRegisteredRules()getSplitRules()initialize()registerRule()unregisterRule()
RuleControllerएपीआई जोड़े गए:addRule()— इससे कोई नियम जोड़ा जाता है या उसी टैग वाले नियम को अपडेट किया जाता है.removeRule()— यह रजिस्टर किए गए नियमों के कलेक्शन से किसी नियम को हटाता है.setRules()— नियमों का एक कलेक्शन बनाता है.clearRules()— रजिस्टर किए गए सभी नियमों को हटाता है.- `parseRules() — Parses rules from XML rule definitions.
- सभी मॉड्यूल को
#getInstance()तरीके से शुरू करने के लिए, कॉन्टेक्स्ट की ज़रूरत होती है. इनमें ये शामिल हैं:ActivityEmbeddingController#getInstance(Context)SplitController#getInstance(Context)RuleController#getInstance(Context)
- डिस्प्ले के आसपेक्ट रेशियो से जुड़ी enum जैसी व्यवहार की कॉन्स्टेंट वैल्यू तय करने के लिए,
EmbeddingAspectRatioक्लास जोड़ी गई. - स्प्लिट लेआउट तय करने के लिए,
SplitAttributesक्लास जोड़ी गई. - स्प्लिट लेआउट को पसंद के मुताबिक बनाने के लिए,
SplitAttributesमेंSplitControllerकैलकुलेटर फ़ंक्शन जोड़े गए:setSplitAttributesCalculator(Function)clearSplitAttributesCalculator()isSplitAttributesCalculatorSupported()यह देखने के लिए कि डिवाइस पर SplitAttributesCalculator API काम करते हैं या नहीं
EmbeddingRule#tagफ़ील्ड जोड़ा गया.SplitRuleमें एपीआई से जुड़े अपडेट:defaultSplitAttributesको जोड़ा गया — यह किसी स्प्लिट का डिफ़ॉल्ट स्प्लिट लेआउट तय करता है. यहsplitRatioऔरlayoutDirectionकी जगह लेता है.- एक्सएमएल प्रॉपर्टी
splitRatioऔरsplitLayoutDirectionके अनुवाद कोdefaultSplitAttributesमें जोड़ा गया. - कम से कम डाइमेंशन की परिभाषाओं में बदलाव किया गया है, ताकि पिक्सल के बजाय डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) का इस्तेमाल किया जा सके.
- डिफ़ॉल्ट वैल्यू 600 डीपी के साथ
minHeightDpजोड़ा गया. minWidthकोminWidthDpमें बदल दिया गया है. इसकी डिफ़ॉल्ट वैल्यू 600 डीपी है.minSmallestWidthकोminSmallestWidthDpमें बदल दिया गया है. इसकी डिफ़ॉल्ट वैल्यू 600 डीपी है.- डिफ़ॉल्ट वैल्यू
ALWAYS_ALLOWके साथmaxAspectRatioInHorizontalजोड़ा गया. - डिफ़ॉल्ट वैल्यू
1.4के साथmaxAspectRatioInPortraitजोड़ा गया. - फ़िनिश बिहेवियर कॉन्स्टेंट को बदलने के लिए,
FinishBehaviorनेस्टेड क्लास को तय किया गया. SplitPairRuleऔरSplitPlaceholderRuleकी नेस्ट की गई क्लासBuilderमें प्रॉपर्टी के बदलाव लागू किए गए.
- स्प्लिट से जुड़ी ज़्यादा जानकारी देने के लिए,
SplitInfo#getSplitRatio()की जगहSplitInfo#getSplitAttributes()का इस्तेमाल किया गया है.
WindowLayout
WindowInfoTrackerमें, गतिविधि के अलावा अन्य यूज़र इंटरफ़ेस (यूआई) के कॉन्टेक्स्ट के लिए सहायता जोड़ी गई.WindowMetricsCalculatorमें, गतिविधि से जुड़ा यूज़र इंटरफ़ेस (यूआई) कॉन्टेक्स्ट जोड़ा गया.
माइग्रेशन के चरण
- स्प्लिट स्क्रीन में गतिविधियां दिखाने के लिए, ऐप्लिकेशन को मेनिफ़ेस्ट
<application>टैग मेंPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDप्रॉपर्टी जोड़नी होगी:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />इससे सिस्टम को, ऐप्लिकेशन के लिए स्प्लिट स्क्रीन के व्यवहार को पहले से ही ऑप्टिमाइज़ करने की अनुमति मिलती है. SplitInforatio- देखें कि मौजूदा स्प्लिट स्टैक किया गया है या नहीं:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - मौजूदा अनुपात देखें:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- देखें कि मौजूदा स्प्लिट स्टैक किया गया है या नहीं:
SplitControllermigrations:SplitController.getInstance()को बदलकरSplitController.getInstance(Context)कर दिया गया है.SplitController.initialize(Context, @ResId int)को बदलकरRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))कर दिया गया है.SplitController.getInstance().isActivityEmbedded(Activity)को बदलकरActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)कर दिया गया है.SplitController.getInstance().registerRule(rule)को बदलकरRuleController.getInstance(Context).addRule(rule)कर दिया गया है.SplitController.getInstance().unregisterRule(rule)को बदलकरRuleController.getInstance(Context).removeRule(rule)कर दिया गया है.SplitController.getInstance().clearRegisteredRules()को बदलकरRuleController.getInstance(Context).clearRules()कर दिया गया है.SplitController.getInstance().getSplitRules()को बदलकरRuleController.getInstance(Context).getRules()कर दिया गया है.
SplitRuleproperty migrations:minWidthऔरminSmallestWidthअब पिक्सल के बजाय डीपी यूनिट का इस्तेमाल करते हैं. ऐप्लिकेशन, इस कॉल का इस्तेमाल कर सकते हैं:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )या सिर्फ़minWithको पिक्सल मेंdisplayMetrics#densityसे भाग दें.
- फ़िनिश बिहेवियर कॉन्स्टेंट को
FinishBehaviorenum-like क्लास कॉन्स्टेंट में माइग्रेट किया जाना चाहिए:FINISH_NEVERको बदलकरFinishBehavior.NEVERकर दिया गया है.FINISH_ALWAYSको बदलकरFinishBehavior.ALWAYSकर दिया गया है.FINISH_ADJACENTको बदलकरFinishBehavior.ADJACENTकर दिया गया है.
- लेआउट की दिशा को
SplitAttributes.LayoutDirectionमें माइग्रेट करना ज़रूरी है:ltrको बदलकरSplitAttributes.LayoutDirection.LEFT_TO_RIGHTकर दिया गया है.rtlको बदलकरSplitAttributes.LayoutDirection.RIGHT_TO_LEFTकर दिया गया है.localeको बदलकरSplitAttributes.LayoutDirection.LOCALEकर दिया गया है.splitRatioकोSplitAttributes.SplitType.ratio(splitRatio)पर माइग्रेट करना होगा.
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.हो गया हैsetLayoutDirection(layoutDirection)औरsetSplitRatio(ratio)को बदलकरkotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )कर दिया गया हैsetFinishPrimaryWithSecondaryऔरsetFinishSecondaryWithPrimary,FinishBehaviorenum जैसे कॉन्स्टेंट लेते हैं. ज़्यादा जानकारी के लिए, “SplitRule migrations” देखें.- पोर्ट्रेट डिवाइसों पर स्प्लिट दिखाने के लिए,
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)का इस्तेमाल करें.
SplitPlaceholder.Buildermigrations:- इसमें सिर्फ़
filtersऔरplaceholderIntentपैरामीटर होते हैं. अन्य प्रॉपर्टी, सेटर पर चली जाती हैं. ज़्यादा जानकारी के लिए, “SplitPairRule.Builder migrations” देखें. setFinishPrimaryWithPlaceholder,FinishBehaviorenum-like कॉन्सटेंट लेता है. ज़्यादा जानकारी के लिए, “SplitRule migrations” देखें.setLayoutDirection(layoutDirection)औरsetSplitRatio(ratio)को बदलकर यह कर दिया गया है:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )- पोर्ट्रेट डिवाइसों पर स्प्लिट दिखाने के लिए,
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)का इस्तेमाल करें.
- इसमें सिर्फ़
वर्शन 1.1.0-alpha06
22 फ़रवरी, 2023
androidx.window:window-*:1.1.0-alpha06 रिलीज़ हो गया है. वर्शन 1.1.0-alpha06 में ये बदलाव शामिल हैं.
नई सुविधाएं
- यूज़र इंटरफ़ेस (यूआई) के कॉन्टेक्स्ट से
WindowLayoutInfoपाने के लिए, एक्सपेरिमेंटल वर्शन को उपलब्ध कराएं.
एपीआई में हुए बदलाव
- यह बताने के लिए कि गतिविधि एम्बेड करने की सुविधा उपलब्ध है या नहीं,
splitSupportStatusजोड़ें. (I10024) - यूज़र इंटरफ़ेस (यूआई) कॉन्टेक्स्ट
WindowLayoutInfoएपीआई को एक्सपेरिमेंटल के तौर पर सेट करें. (I58ee0) RearDisplayमोड को चालू करने के लिए,WindowAreaControllerऔर एपीआई पेश करता है. इससे मौजूदा विंडो को उस डिसप्ले पर ले जाया जा सकता है जो रीयर कैमरे के साथ अलाइन है. (Iffcbf)- डिफ़ॉल्ट बैकग्राउंड कलर अपडेट किया गया. (I1ac1b)
SplitAttributesपैरामीटर जोड़ें. (I18bdd)SplitRule,SplitAttributes,SplitAttributesCalculatorके लिए एपीआई जोड़े गए. (I92d23)maxAspectRatioसे जुड़े एपीआई को बेहतर बनाएं:alwaysAllow()औरalwaysDisallow()कोALWAYS_ALLOWऔरALWAYS_DISALLOWसे बदलें.- @see के एपीआई दस्तावेज़ को स्टैंडअलोन दस्तावेज़ के साथ अपडेट करें. (I3057b)
- नीचे दिए गए कंस्ट्रक्टर को सार्वजनिक एपीआई से हटा दिया गया है, क्योंकि इन्हें ऐप्लिकेशन से कॉल नहीं किया जाना चाहिए.
SplitInfoकंस्ट्रक्टरActivityStackकंस्ट्रक्टर (Ide534)
SplitRuleअबmaxAspectRatioInPortrait/Landscapeलेता है. यह सिर्फ़ उन गतिविधियों को स्प्लिट करने की अनुमति देता है जिनमें पैरंट बाउंड का आसपेक्ट रेशियो, अनुरोध किए गएmaxAspectRatioसे छोटा या उसके बराबर होता है. (Ia5990)RuleController#parseRulesको स्टैटिक (I785df) के तौर पर बदलें- ActivityEmbedding से जुड़े एपीआई को बेहतर बनाएं
- एपीआई के नाम एक जैसे रखें - एक से ज़्यादा इंस्टेंस के लिए, जोड़ें/हटाएं का इस्तेमाल करें:
registerRuleको बदलकरaddRuleकिया गयाunregisterRuleको बदलकरremoveRuleकिया गयाgetSplitRulesकोgetRulesसे बदलें, क्योंकिActivityRuleस्प्लिट करने का नियम नहीं है- एक साथ कई नियम सेट करने के लिए,
RuleController#setRulesजोड़ें - नियम निकालने से जुड़े एपीआई को
SplitControllerसे सिंगलटनRuleControllerमें बदलें. ये वजह हैं: addRuleremoveRulegetRulessetRulesclearRulesparseRulesSplitControllerसे#isActivityEmbeddedको सिंगलटनActivityEmbeddingControllerमें एक्सट्रैक्ट करें. ये वजह हैं:isActivityEmbeddedSplitController#initializeको हटाएं. एक्सएमएल फ़ाइल से नियम सेट करने के लिए, कृपयाRuleController#parseRulesऔर#setRulesका इस्तेमाल करें. इस बदलाव से पहले:SplitController.initialize(context, R.xml.static_rules)इस बदलाव के बाद:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)- अब हम स्टैटिक नियमों और रनटाइम नियमों के बीच अंतर नहीं करते. हालांकि,
#clearRulesको कॉल करने से सभी नियम मिट जाते हैं. भले ही, वे स्टैटिक एक्सएमएल नियम की परिभाषाओं के साथ रजिस्टर किए गए हों या रनटाइम पर.SplitController#clearRegisteredRulesके लेगसी वर्शन का इस्तेमाल करने के लिए, कृपया एक्सएमएल रिसॉर्स आईडी के साथRuleController#parseRulesको कॉल करें. साथ ही, नियमों को फिर से सेट करने के लिएRuleController#setRulesको कॉल करें. इस बदलाव से पहले:SplitController.getInstance(context).clearRegisteredRules()इस बदलाव के बाद:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)(Ib3967)
- SplitRule API को बेहतर बनाएं:
SplitRuleके लिए, पिक्सल के बजाय डीपी में कम से कम डाइमेंशन लें.SplitRuleबिल्डर के लिए, कम से कम डाइमेंशन को वैकल्पिक के तौर पर लेने के लिए रिफ़ैक्टर किया गया. (I95f17)
SplitControllerको शुरू करने के लिए कॉन्टेक्स्ट पास करें (I42549)SplitRule#layoutDirका नाम बदलकर#layoutDirectionऔरSplitRule Builder#setLayoutDirका नाम बदलकरBuilder#setLayoutDirectionकिया गया. (I3f6d1)
वर्शन 1.1.0-alpha04
9 नवंबर, 2022
androidx.window:window-*:1.1.0-alpha04 रिलीज़ हो गया है. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
ActivityEmbeddingके लिए, यह तय करने का तरीका दिखाएं कि क्याActivityStackखाली है.ActivityEmbeddingएपीआई से एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई टैग हटा दिए गए हैं.ActivityRuleकंस्ट्रक्टर को छिपाएं, क्योंकिBuilderकंस्ट्रक्ट करने का पसंदीदा तरीका है.WindowMetricsपरWindowInsetsपाने के लिए, एक्सपेरिमेंट वाला तरीका जोड़ें.- प्लेसहोल्डर को पूरा होने से रोकने के लिए,
SplitPlaceholderFinishBehaviorको अपडेट करें. प्लेसहोल्डर को पूरा करने से, कुछ पेजों पर व्यवहार बदल सकता है.
एपीआई में हुए बदलाव
- fun
isEmptyको बदलने के लिए, valisEmptyको सार्वजनिक करें. ActivityStackपैरामीटर गतिविधियों का नाम बदलकरactivitiesInProcessकरें. (Ia5055)ActivityFilter#matchesClassNameऔरActivityFilter#matchesClassNameOrWildCardको हटाओ, क्योंकि इनसे उलझन होती है.- कॉल करने वाले को अलग-अलग फ़िल्टर (I41f22) के बीच अंतर करने की अनुमति देने के लिए,
ActivityFilter#componentNameऔरActivityFilter#intentActionजोड़ें - I216b3 एक्सपेरिमेंटल एपीआई से
@Deprecatedएपीआई हटाएं - गतिविधि एम्बेड करने वाले एपीआई (I69ebe) के लिए
@ExperimentalWindowApiहटाएं ActivityRuleकंस्ट्रक्टर को छिपाएं. इसके बजाय, बिल्डर का इस्तेमाल करें. (If4eb6)- यह देखने के लिए कि कोई गतिविधि
ActivityFilterका हिस्सा है या नहीं, एपीआई जोड़ें. (Ia43cf) WindowMetricsऔरWindowMetricsCalculatorCompatक्लास में हुए बदलावों को दिखाने के लिए, एपीआई फ़ाइलों को अपडेट करें (I667fe)ActivityEmbeddingप्रॉपर्टी के Javadoc और क्लास के नाम (Ia1386) को अपडेट किया गया- AndroidManifest.xml (Id1ad4) में इस्तेमाल किए जाने वाले
ActivityEmbeddingप्रॉपर्टी टैग के नाम जोड़ना - नए एपीआई
SplitPlaceholderFinishBehaviorऔरSplitPlaceholderRule.finishPrimaryWithPlaceholderजोड़े गए हैं. ये मौजूदाSplitPlaceholderRule.finishPrimaryWithSecondaryकी जगह लेंगे.SplitPlaceholderRule.finishPrimaryWithSecondaryयह तय करता है कि प्लेसहोल्डर गतिविधियां कब पूरी होंगी और गतिविधि एम्बेड करने की सुविधा में जुड़ी हुई गतिविधियों को कैसे काम करना चाहिए. (I64647)
गड़बड़ियां ठीक की गईं
RearDisplayमोड को चालू करने के लिए,WindowAreaControllerऔर एपीआई पेश करता है. इससे मौजूदा विंडो को उस डिसप्ले पर ले जाया जा सकता है जो रीयर कैमरे के साथ अलाइन है. (I388ab)
वर्शन 1.1.0-alpha03
27 जुलाई, 2022
androidx.window:window-*:1.1.0-alpha03 रिलीज़ हो गया है. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एम्बेड करने के नियमों के लिए डिफ़ॉल्ट वैल्यू अपडेट करें.
एपीआई में हुए बदलाव
- एम्बेड करने के नियम की प्रॉपर्टी के लिए डिफ़ॉल्ट वैल्यू अपडेट करें. (Ic4d35)
वर्शन 1.1.0-alpha02
11 मई, 2022
androidx.window:window-*:1.1.0-alpha02 रिलीज़ हो गया है. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Java और RxJava के साथ काम करने के लिए, अडैप्टर लाइब्रेरी रिलीज़ करें.
वर्शन 1.1.0-alpha01
11 मई, 2022
androidx.window:window-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Java और RxJava के साथ काम करने वाले अडैप्टर रिलीज़ किए गए
वर्शन 1.1.0-alpha01
20 अप्रैल, 2022
androidx.window:window:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ऐसी गड़बड़ी को ठीक किया गया है जिसमें ऐप्लिकेशन को बैकग्राउंड में ले जाने पर, फ़ोल्ड करने की सुविधा काम नहीं करती है.
- ActivityEmbedding API के एक्सपेरिमेंट को बड़ा करें.
एपीआई में हुए बदलाव
- यह सार्वजनिक एपीआई, यह देखने के लिए है कि किसी गतिविधि को एम्बेड किया जा रहा है या नहीं. (I39eb7)
गड़बड़ियां ठीक की गईं
- ऐसे एपीआई जोड़े गए हैं जो गतिविधि स्प्लिट में कंटेनर के फ़िनिशिंग बिहेवियर को पसंद के मुताबिक बनाते हैं (I1a1e4)
- गतिविधि को बांटने के नियमों के लिए, एक नया कॉन्फ़िगरेशन विकल्प जोड़ा गया है. (Iec6af)
वर्शन 1.0
वर्शन 1.0.0
26 जनवरी, 2022
androidx.window:window-*:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
- फ़ोल्ड किए जा सकने वाले फ़ोन के लिए,
WindowInfoTrackerऔरFoldingFeatureके ज़रिए सहायता उपलब्ध है.WindowMetricsCalculatorका इस्तेमाल करके, मौजूदा WindowMetrics का हिसाब लगाया जाता है.
वर्शन 1.0.0-rc01
15 दिसंबर, 2021
androidx.window:window-*:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
WindowInfoTrackerके ज़रिए, फ़ोल्ड किए जा सकने वाले फ़ोन के लिए सहायता जोड़ी गई.- मौजूदा और ज़्यादा से ज़्यादा
WindowMetricsका हिसाब लगाने के तरीके जोड़ें. - टेस्टिंग में मदद करने वाले एपीआई जोड़ें.
वर्शन 1.0.0-beta04
17 नवंबर, 2021
androidx.window:window-*:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- WindowInfoRepository का नाम बदलकर WindowInfoTracker करें.
- WindowInfoTracker के लिए, गतिविधि को साफ़ तौर पर तरीके पर निर्भरता बनाएं.
- Robolectric का इस्तेमाल करने वाले डेवलपर की मदद करने के लिए, WindowMetricsCalculator के लिए एक आसान TestRule जोड़ें.
एपीआई में हुए बदलाव
- एक्सटेंशन निकालें (I25a5f)
- ActivityStack में isEmpty जोड़ें (I5a4e6)
- WindowInfoRepository का नाम बदलकर WindowInfoTracker करें.
- java/rxjava/testing डिपेंडेंसी को अपडेट करें. (I0da63)
- WindowMetricsCalculator के लिए, टेस्ट का एक सामान्य नियम जोड़ें. (Ibacdb)
वर्शन 1.0.0-beta03
27 अक्टूबर, 2021
androidx.window:window-*:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक्सपेरिमेंट के तौर पर उपलब्ध गतिविधि एम्बेड करने वाले एपीआई जोड़े गए. लेआउट के इस शुरुआती वर्शन में, दो गतिविधियों को एक साथ दिखाया जा सकता है.
एपीआई में हुए बदलाव
- currentWindowMetrics API को हटा दिया गया है, क्योंकि हम इसे सटीक तरीके से उपलब्ध नहीं करा सकते. इसके बजाय, कृपया WindowMetricsCalculator का इस्तेमाल करें (Icda5f)
- एक्सटेंशन एपीआई को अपडेट किया गया. (Ica92b)
- एक नई सुविधा के लिए इंटरफ़ेस जोड़ा गया है. इसकी मदद से, गतिविधियों को एम्बेड किया जा सकता है और उन्हें पैरंट टास्क विंडो में एक साथ दिखाया जा सकता है. (I5711d)
- WindowMetrics और WindowLayoutInfo के कंस्ट्रक्टर छिपा दिए गए हैं. कृपया इसके बजाय, टेस्ट एपीआई का इस्तेमाल करें. (I5a1b5)
- नकली WindowLayoutInfo ऑब्जेक्ट बनाने के लिए, एक एपीआई जोड़ें. (I4a2fd)
गड़बड़ियां ठीक की गईं
- मेमोरी लीक की समस्या ठीक की गई. (I3fc79, b/202989046)
वर्शन 1.0.0-beta02
1 सितंबर, 2021
androidx.window:window-*:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को एनोटेट करने के लिए, एक्सपेरिमेंटल एनोटेशन जोड़ें. (I9f1b6)
- Rect स्वीकार करने वाला FoldingFeature टेस्ट बनाने के लिए, एक टेस्ट मेथड जोड़ें. इससे, Robolectric का इस्तेमाल करते समय जांच करना आसान हो जाएगा. ऐसा, किसी असली गतिविधि के उलट किया जा सकता है. (Id1cca)
वर्शन 1.0.0-beta01
18 अगस्त, 2021
androidx.window:window-*:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- पुराने कॉन्स्टेंट हटा दिए गए हैं और
FoldingFeatureको इंटरफ़ेस बना दिया गया है.
एपीआई में हुए बदलाव
- पुराने कॉन्स्टेंट हटाएं और FoldFeature को इंटरफ़ेस बनाएं. (I9a2d5)
गड़बड़ियां ठीक की गईं
Test Coreलाइब्रेरी पर निर्भर रहने वाली लाइब्रेरी को1.4.0वर्शन में अपग्रेड कर दिया गया है. अब ये Android प्लैटफ़ॉर्म के S वर्शन के साथ काम करेंगी. (I88b72, b/189353863)
वर्शन 1.0.0-alpha10
4 अगस्त, 2021
androidx.window:window-*:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
नई सुविधाएं
- WindowInfoRepo का नाम बदलकर WindowInfoRepository करें और इससे जुड़ी क्लास / फ़ाइलों में बदलाव करें.
- मौजूदा विंडो मेट्रिक को WindowInfoRepository में फ़्लो में बदलें, क्योंकि समय के साथ वैल्यू बदलती है.
- WindowInfoRepoJavaAdapter का नाम बदलकर WindowInfoRepoCallbackAdapter करें
- टेस्ट FoldingFeature ऑब्जेक्ट बनाने के लिए हेल्पर मेथड जोड़ें
- जिन सुविधाओं के साथ ग्रुप क्लास काम करती हैं उनके आधार पर, पैकेज अपडेट करें.
एपीआई में हुए बदलाव
- ActivityExt का नाम बदलकर ActivityExtensions करें Repo का नाम बदलकर Repository करें. (I61a16)
- क्लासों के लिए पैकेज अपडेट करना. (I23ae2)
- WindowInfoRepo से WindowMetrics हटाएं (I24663)
- WindowManager को हटाएं और WindowInfoRepo का इस्तेमाल करें
- WindowBackend को इंटरनल बनाएं. (I06d9a)
- विंडो मेट्रिक को फ़्लो में बदलें.
- java अडैप्टर का नाम बदलकर WindowInfoRepoCallbackAdapter करें
- callbackFlow को हटाएं, ताकि एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई का इस्तेमाल न किया जा सके. (Ia4d15)
- डिसप्ले की सुविधाओं को टेस्ट करने के लिए, हेल्पर मेथड जोड़ें.
- occlusionMode से occlusionType में बदलाव (If4cff)
गड़बड़ियां ठीक की गईं
- proguard से जुड़ी उस गड़बड़ी को ठीक किया गया है जिसमें कोर लाइब्रेरी को हटाया जा रहा था.
- उस गड़बड़ी को ठीक किया गया है जिसमें WindowLayoutInfo को अन्य सदस्यों को नहीं भेजा जा रहा था.
- उस गड़बड़ी को ठीक किया गया है जिसमें कॉन्फ़िगरेशन में बदलाव करने पर, फ़ोल्डिंग की सुविधा से जुड़े अपडेट ट्रिगर नहीं होते थे.
वर्शन 1.0.0-alpha09
30 जून, 2021
androidx.window:window-*:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
नई सुविधाएं
- पूर्णांक कॉन्सटेंट से बदलकर, अनबाउंडेड एनम का इस्तेमाल किया गया है.
- टेस्ट फ़ोल्डिंग की सुविधाएं बनाने के लिए, टेस्ट यूटिलिटी जोड़ें.
एपीआई में हुए बदलाव
- डिसप्ले की सुविधाओं को टेस्ट करने के लिए, हेल्पर मेथड जोड़ें. (I3cf54)
occlusionModeसे बदलकरocclusionTypeकरें.
गड़बड़ियां ठीक की गईं
- डेटा स्ट्रीम के कई उपभोक्ताओं को जोड़ते समय, शुरुआती वैल्यू को दिखाएं.
वर्शन 1.0.0-alpha08
16 जून, 2021
androidx.window:window-*:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
नई सुविधाएं
- WindowInfoRepository का इस्तेमाल करते समय, जांच को आसान बनाने के लिए एक टेस्टिंग आर्टफ़ैक्ट जारी किया गया. DisplayFeatures और WindowMetrics के बारे में जानकारी पाने के लिए, WindowInfoRepository का इस्तेमाल करें. (I57f66, Ida620)
वर्शन 1.0.0-alpha07
2 जून, 2021
androidx.window:window-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
- कोर विंडो लाइब्रेरी को Kotlin में माइग्रेट करें. आगे चलकर, एसिंक्रोनस डेटा को दिखाने के लिए, कोरूटीन और सस्पेंड फ़ंक्शन का इस्तेमाल करेगा.
- WindowInfoRepo को WindowMetrics और WindowLayoutInfo की स्ट्रीम पाने के लिए, मुख्य इंटरैक्शन पॉइंट के तौर पर जोड़ें.
- कॉलबैक रजिस्टर और अनरजिस्टर करने के लिए, Java के साथ काम करने वाले एपीआई को दिखाने वाला नया
window-javaआर्टफ़ैक्ट. - RxJava के साथ काम करने वाले एपीआई को दिखाने के लिए, नए
window-rxjava2औरwindow-rxjava3आर्टफ़ैक्ट.
एपीआई में हुए बदलाव
- डिपेंडेंसी को एक जैसा बनाने के लिए,
WindowServicesजोड़ें.- विंडो लेआउट की जानकारी का इस्तेमाल करने के लिए, कोरूटीन आधारित एपीआई जोड़ें. (Iab70f)
- कोर विंडो मैनेजर लाइब्रेरी को Kotlin में माइग्रेट करें. (Icca34)
गड़बड़ियां ठीक की गईं
- सुविधा की सीमाओं को दिखाने के लिए, नई डेटा क्लास जोड़ी गई. (I6dcd1)
वर्शन 1.0.0-alpha06
5 मई, 2021
androidx.window:window:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने Kotlin पर माइग्रेट करना शुरू कर दिया है. यह प्रोसेस, अगली रिलीज़ में पूरी हो जाएगी.
- DeviceState को सार्वजनिक एपीआई से हटा दिया गया है. कृपया इसके बजाय FoldingFeature का इस्तेमाल करें.
- हमने फ़ोल्डिंग फ़ीचर की स्थितियों से
STATE_FLIPPEDको हटा दिया है, क्योंकि फ़िलहाल यह किसी भी इस्तेमाल के उदाहरण के लिए काम नहीं करता है. - हमने बंद किए गए अन्य एपीआई भी हटा दिए हैं.
एपीआई में हुए बदलाव
- Kotlin को डिपेंडेंसी के तौर पर जोड़ा जा रहा है.
- कोर लाइब्रेरी को Kotlin में माइग्रेट करें. (Idd995)
DisplayFeatureबिल्डर को हटा दिया गया है. (I61fa4)- सार्वजनिक एपीआई से
DeviceStateको हटा दिया गया है. इसके बजाय,FoldingFeatureका इस्तेमाल करें. (Id6079) - एक्सटेंशन से डिवाइस की स्थिति के बारे में सूचना देने वाले कॉलबैक को हटाएं. (I5ea83)
- FoldingFeature से
STATE_FLIPPEDको हटाएं. (I9c4e1) - रजिस्ट्रेशन के उन तरीकों को हटाएं जो अब इस्तेमाल में नहीं हैं. (Ib381b)
वर्शन 1.0.0-alpha05
24 मार्च, 2021
androidx.window:window:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
हमने FoldingFeature में कुछ सुविधाजनक तरीके जोड़े हैं, ताकि ऐप्लिकेशन यह पता लगा सकें कि सुविधा अलग हो रही है या बंद हो रही है. साथ ही, वे हिंज के ओरिएंटेशन का पता लगा सकें. हम हिंज टाइप को भी छिपा रहे हैं, ताकि
हम WindowManager से सिंक्रोनस रीड करने के तरीके हटा रहे हैं. सिंक्रोनस रीड करने के तरीके में गड़बड़ी होने की आशंका ज़्यादा होती है, क्योंकि इसमें रेस कंडीशन शामिल होती है. WindowLayoutInfo के बारे में अपडेट पाने के लिए, लिसनर और कॉलबैक रजिस्टर करें.
एपीआई में हुए बदलाव
- FoldingFeatures के साथ काम करने के लिए, सुविधा वाले तरीके जोड़े गए (Ie733f)
- यह WindowManager से, सिंक किए गए डेटा को पढ़ने के तरीके हटाता है (I96fd4)
वर्शन 1.0.0-alpha04
10 मार्च, 2021
androidx.window:window:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- इस गड़बड़ी को ठीक किया गया है. इसमें, अगर ओईएम का कोई लागू किया गया फ़ीचर नहीं है, तो WindowLayoutInfo नहीं दिखता है. अब हम खाली WIndowLayoutInfo भेजते हैं.
- उस गड़बड़ी को ठीक किया गया है जिसमें ऐप्लिकेशन के बैकग्राउंड में चलने के दौरान, हिंज की स्थिति बदलने पर स्टेटस ठीक से अपडेट नहीं होता था. अब राज्य की जानकारी एक जैसी होनी चाहिए.
- रनटाइम डिपेंडेंसी से मिलने वाली चेतावनियों को अनदेखा करने के लिए, हमारी ProGuard फ़ाइलों को अपडेट किया गया है.
गड़बड़ियां ठीक की गईं
- OEM लाइब्रेरी मौजूद न होने पर, खाली वैल्यू दिखाता है. (Ide935)
वर्शन 1.0.0-alpha03
18 फ़रवरी, 2021
androidx.window:window:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- OEM के लागू किए गए फ़ंक्शन में कोई वैल्यू न होने पर, WindowLayoutInfo के लिए कोई वैल्यू न भेजें. इससे, लाइब्रेरी को ज़्यादा डिवाइसों पर इस्तेमाल करना आसान हो जाएगा. एपीआई एसिंक्रोनस होते हैं. इसलिए, हमारा सुझाव है कि ऐप्लिकेशन कुछ डिफ़ेंसिव कोड लिखें और टाइम आउट के बाद डिफ़ॉल्ट वैल्यू दें. हम ओईएम के लागू करने के तरीके के बारे में कोई गारंटी नहीं देते. साथ ही, शुरुआती वैल्यू मिलने में देरी हो सकती है.
गड़बड़ियां ठीक की गईं
- OEM लाइब्रेरी मौजूद न होने पर, खाली वैल्यू दिखाता है. (Ide935)
वर्शन 1.0.0-alpha02
27 जनवरी, 2021
androidx.window:window:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
हमने कुछ एपीआई बंद कर दिए हैं, ताकि एपीआई को बेहतर बनाया जा सके और गलतियां कम की जा सकें. इसके कुछ मुख्य उदाहरणों में, WindowManager से सिंक्रोनस रीड ऑपरेशन हटाना और DeviceState को बंद करना शामिल है. सिंक्रोनस रीड ऑपरेशन की वजह से, रेस कंडीशन हो सकती हैं और यूज़र इंटरफ़ेस (यूआई) गलत हो सकता है.
हमने DisplayFeature को एक इंटरफ़ेस में बदल दिया है. आने वाले समय में, अन्य सुविधाएं इसे लागू करेंगी. हमारी पहली सुविधा, FoldingFeature है. यह अब स्क्रीन फ़ोल्ड या हिंज को दिखाती है. इसमें डिवाइस के हिंज की स्थिति भी शामिल होती है, जो DeviceState की जगह लेती है.
WindowMetrics को Android 11 में लॉन्च किया गया था. इससे डेवलपर को किसी विंडो के बारे में मेट्रिक क्वेरी करने का आसान तरीका मिलता है. जैसे, स्क्रीन पर उसकी पोज़िशन और साइज़, और सिस्टम में मौजूद कोई भी इंसर्ट. हमने इस रिलीज़ में एपीआई को बैकपोर्ट किया है, ताकि डेवलपर WindowMetrics का फ़ायदा उठा सकें और Android के पुराने वर्शन के लिए सहायता जारी रख सकें. WindowMetrics को
WindowManager#getCurrentWindowMetrics()और WindowManager#getMaximumWindowMetrics() एपीआई के ज़रिए हासिल किया जा सकता है.
एपीआई में हुए बदलाव
- उन एपीआई को बंद करना जिन्हें अगले ऐल्फ़ा (Ib7cc4) में हटाया जाएगा
- यह कुकी,
ExtensionInterfaceको अपडेट करती है, ताकि साफ़ तौर पर गतिविधि के रेफ़रंस स्वीकार किए जा सकें. (I07ded) - WindowMetrics API के बारे में जानकारी देता है. (I3ccee)
- WindowManager से सिंक्रोनस रीड मेथड हटाएं (I69983)
- ExtensionWindowBackend पैकेज को सुरक्षित रखें. (Ied208)
गड़बड़ियां ठीक की गईं
- विज़ुअल कॉन्टेक्स्ट स्वीकार करने के लिए,
ExtensionInterfaceएपीआई अपडेट करें. (I8e827)
बाहरी योगदान
- DeviceState और WindowLayoutInfo को मर्ज करें, ताकि डेटा को आसानी से ऐक्सेस किया जा सके. (Id34f4)
वर्शन 1.0.0-alpha01
27 फ़रवरी, 2020
androidx.window:window:1.0.0-alpha01 और androidx.window:window-extensions:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
यह Window Manager लाइब्रेरी का पहला वर्शन है.
नई सुविधाएं
DisplayFeature: यह नया एपीआई, लगातार फ़्लैट स्क्रीन वाली सतहों में आने वाली रुकावटों का पता लगाता है. जैसे, हिंज या फ़ोल्डDeviceState: यह नया एपीआई, फ़ोन की मौजूदा स्थिति के बारे में जानकारी देता है. यह जानकारी, तय की गई स्थितियों की सूची से मिलती है. उदाहरण के लिए,CLOSED,OPENED,HALF_OPENEDवगैरह.