विंडोमैनेजर
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
4 सितंबर, 2024 | 1.3.0 | - | - | 1.4.0-ऐल्फ़ा02 |
डिपेंडेंसी तय करना
WindowManager पर डिपेंडेंसी जोड़ने के लिए, आपको Google Maven रिपॉज़िटरी को आपका प्रोजेक्ट. मैसेज पढ़ा गया ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी जानकारी.
उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle
फ़ाइल में ज़रूरत है
आपका ऐप्लिकेशन या मॉड्यूल:
Groovy
dependencies { implementation "androidx.window:window:1.3.0" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.3.0" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.3.0" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.3.0" // For testing implementation "androidx.window:window-testing:1.3.0" }
Kotlin
dependencies { implementation("androidx.window:window:1.3.0") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.3.0") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.3.0") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.3.0") // For testing implementation("androidx.window:window-testing:1.3.0") }
सुझाव
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.
समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.
वर्शन 1.4
वर्शन 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)WindowSizeClass
एपीआई को अपडेट करें, ताकि आने वाले समय में नई ब्रेकपॉइंट वैल्यू जोड़ी जा सके. पूरी सीमा के बजाय, हम निचली सीमा का इस्तेमाल करते हैं. हमारा सुझाव है किWindowSizeClass
को प्रोसेस करते समय, डेवलपर को निचली सीमा की जांच करें. मौजूदाWindowWidthSizeClass
औरWindowHeightSizeClass
बंद कर दिए जाएंगे, क्योंकि इन्हें आगे डेवलप नहीं किया जाएगा. (I014ce)
वर्शन 1.4.0-alpha01
7 अगस्त, 2024
androidx.window:window-*:1.4.0-alpha01
रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये कमिट मौजूद हैं.
नई सुविधाएं
- ActivityStack पिनिंग की मदद से ऐप्लिकेशन, कॉन्टेंट को एक कंटेनर में पिन कर सकते हैं और इसके नेविगेशन को दूसरे कंटेनर से अलग कर सकते हैं.
- इंटरैक्टिव डिवाइडर की मदद से ऐप्लिकेशन, स्प्लिट प्रज़ेंटेशन में, दो गतिविधियों के बीच तय किया गया या खींचने और छोड़ने लायक डिवाइडर दिखा सकते हैं.
- फ़ुलस्क्रीन के डायलॉग बॉक्स की रोशनी कम करने की सुविधा, ऐप्लिकेशन को डायलॉग बॉक्स की रोशनी कम करने की जगह तय करने की अनुमति देती है. इससे या तो पूरी टास्क विंडो की रोशनी कम की जा सकती है या सिर्फ़ डायलॉग दिखाने वाले कंटेनर की रोशनी कम की जा सकती है.
- एम्बेड की गई गतिविधि विंडो की जानकारी के कॉलबैक की मदद से, ऐप्लिकेशन को एम्बेड की गई गतिविधि विंडो के अपडेट लगातार मिलते रहते हैं.
- ऐनिमेशन बैकग्राउंड को एम्बेड करना ऐप्लिकेशन को ऐनिमेशन बैकग्राउंड को तय करने की अनुमति देता है. इससे
ActivityEmbedding
का इस्तेमाल करने पर ट्रांज़िशन ऐनिमेशन की क्वालिटी बेहतर हो जाती है. - गतिविधि स्टैक मैनेजमेंट को बेहतर बनाने की मदद से,
ActivityEmbedding
का इस्तेमाल होने पर ऐप्लिकेशन,ActivityStacks
को ज़्यादा कंट्रोल कर सकते हैं. इनमें ये शामिल हैं: - तय किए गए
ActivityStack
में कोई गतिविधि लॉन्च की जा रही है ActivityStack
की प्रक्रिया पूरी करना
एपीआई में किए गए बदलाव
नया एपीआई
WindowInfoTracker#supportedPostures
:- इस एपीआई से यह पता चलता है कि डिवाइस में फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए टेबलटॉप मोड की सुविधा काम करती है या नहीं. WindowAreasessionpresenter#getWindow
ActivityStack
को पिन करने की सुविधा के लिए, एपीआई जोड़ें:SplitPinRule
क्लासSplitController#pinTopActivityStack
SplitController#unpinTopActivityStack
इंटरैक्टिव डिवाइडर को चालू और कॉन्फ़िगर करने के लिए एपीआई जोड़ें
DividerAttributes
क्लासSplitAttributes.Builder#setDividerAttributes
डायलॉग के लिए
EmbeddingConfiguration
औरDimAreaBehavior
सेट करने के लिए एपीआई जोड़ेंEmbeddingConfiguration
क्लासDimAreaBehavior
क्लासActivityEmbeddingController#setEmbeddingConfiguration
एम्बेड की गई गतिविधि की विंडो की जानकारी के अपडेट पाने के लिए, एपीआई जोड़ें
EmbeddedActivityWindowInfo
क्लासActivityEmbeddingController#embeddedActivityWindowInfo
एम्बेडिंग ऐनिमेशन बैकग्राउंड सेट करने के लिए एपीआई जोड़ें
EmbeddingAnimationBackground
SplitAttributes.Builder#setAnimationBackground
ActivityStacks
को पूरा करने के लिए एपीआई जोड़ेंActivityEmbeddingController#finishActivityStacks
ActivityStack
के लॉन्च होने की सेटिंग सेट करने के लिए, एपीआई जोड़ेंActivityEmbeddingOptions#setLaunchingActivityStack
यहां दिए गए एपीआई स्टेबल हैं और अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं:
ActivityEmbeddingController#invalidateVisibleActivityStacks
(स्प्लिटकंट्रोलर#inverifyTopVisibleSplitAttributes से हटाया गया)ActivityEmbeddingController#getActivityStack
SplitController#updateSplitAttributes
1.4 के लिए एपीआई जोड़ें. (I56774)
गड़बड़ियां ठीक की गईं
- कुछ ऐसे डिवाइसों पर गड़बड़ी को ठीक करता है जिनमें सेशन के चालू रहने पर, चालू नहीं होने की स्थिति के बजाय 'उपलब्ध नहीं है' दिखेगा.
- एपीआई के साथ काम नहीं करने की वजह से, दो में से
vendorApiLevel
वाले डिवाइसों परtransferActivityToWindowArea
की सुविधा काम नहीं करती. - गतिविधि एम्बेड करने के लिए, खींचने और छोड़ने लायक डिवाइडर के लिए, एपीआई के बारे में बताएं. इससे फ़ुलस्क्रीन में खींचने और छोड़ने की सुविधा चालू हो जाएगी. (I645c9)
- ऐप्लिकेशन को
SplitAttributes
के लिए, ऐनिमेशन पैरामीटर के ज़रिएActivityEmbedding
ऐनिमेशन बंद करने की अनुमति दें. (Idc01a) - नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल आउटलाइन हटाई गई. ऐसा इसलिए, क्योंकि AGP 7.3 या इसके बाद के वर्शन (जैसे कि R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर और एजीपी 8.1 या उसके बाद के वर्शन (जैसे कि D8 वर्शन 8.1) के साथ, R8 का इस्तेमाल करने पर ऐसा अपने-आप होता है. जो क्लाइंट एजीपी का इस्तेमाल नहीं कर रहे हैं उन्हें D8 वर्शन 8.1 या इसके बाद के वर्शन में अपडेट करने की सलाह दी जाती है. ज़्यादा जानकारी के लिए यह लेख देखें. (Ia60e0, b/345472586)
- एक्सटेंशन को
SplitAttributes
के लिए ऐनिमेशन पैरामीटर लेने की अनुमति दें, ताकि डिवाइस इसका इस्तेमाल ऐनिमेशन ट्रांज़िशन के लिए कर सके. (Iede00) - ओवरले एपीआई छिपाएं (Ic4251)
- स्प्लिट के लिए, तय किए गए या खींचने और छोड़ने लायक डिवाइडर को कॉन्फ़िगर करने के लिए एपीआई पेश करें (Ia7a78)
WindowMetrics
(Id6723) में डेंसिटी जोड़ी गईSupportedPostures
पाने के लिए एपीआई जोड़ें. (If557a)setLaunchingActivityStack
को प्रयोग के तौर पर इस्तेमाल होने वाले एपीआई (I191cf) से हटाएंActivityEmbeddingController#embeddedActivityWindowInfo
(I24312) के बारे में जानकारी दें#getToken
का इस्तेमाल बंद करें और#getActivityStackToken
जोड़ें (Ie0471)embeddedActivityWindowInfo
फ़्लो एपीआई (Ida77f) के लिए कॉलबैक अडैप्टर दिखाएं- ओवरलेइन्फ़ो फ़्लो एपीआई (I7264f) के लिए कॉलबैक अडैप्टर जोड़ें
- जांच के लिए
extensionsVersion
को बदलने के लिए,WindowSdkExtensionsRule
के बारे में बताएं. (Ifb928) - -
ActivityOptionsCompat
के साथ काम करने के लिए,#setLaunchingActivityStack
को बंडल पर माइग्रेट करें.- उपयोगकर्ताओं को
ActvityOptions
के बजायactivityOptions.toBundle
को पास करना होगा. #setLaunchingActivityStack(Activity)
हटाएं. उपयोगकर्ताओं कोActivityEmbeddingController#getActivityStac(Activity)
का इस्तेमाल करके,ActivityStack
पाने औरActivityStack
को#setLaunchingActivityStack
को पास करने के लिए माइग्रेट करना चाहिए. (Ie0 फ़ोकस)
- उपयोगकर्ताओं को
- - WM Jetpack और एक्सटेंशन के बीच संपर्क करने के लिए,
ActivityStack.Token
औरSpltInfo.Token
को आइडेंटिफ़ायर के तौर पर पेश करें.- IBinder के बजाय, टोकन लेने/लौटाने के लिए, एपीआई को बंद करें/बदलें. (I12b24)
- -
ActivityEmbeddingController#invalidateVisibleActivityStacks
के बारे में बताएंSplitController#invalidateTopVisibleSplitAttributes
को हटाएं, क्योंकि इस सुविधा को#invalidateVisibleActivityStacks
(I02ef5) के साथ मर्ज कर दिया गया है
- - एम्बेड करने का कॉन्फ़िगरेशन सेट करने के लिए, एपीआई जोड़ा जा रहा है. (I59a4a)
- - टॉप
ActivityStack
androidx.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 में ये बातें शामिल हैं.
01.2.0 के बाद के अहम बदलाव
- विंडो साइज़ क्लास के लिए Kotlin मल्टीप्लैटफ़ॉर्म की सुविधा.
वर्शन 1.3.0-rc01
14 मई, 2024
WindowManager
Jetpack 1.3 में WindowSizeClass
की सुविधाओं के लिए, Kotlin मल्टीप्लैटफ़ॉर्म की सुविधा मिलती है. साथ ही, इसमें कई गड़बड़ियां ठीक की गई हैं.
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
बनाने और इस्तेमाल करने के लिए सहायता हटाएं. (आईडी1143)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइस पर कुछ फ़ाइलों को हटाने से, 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 में ये कमियां हैं.
नई सुविधाएं
- विंडो साइज़ क्लास एपीआई के एपीआई सरफ़ेस में अपडेट किए गए हैं. इनसे उन डेवलपर को ज़्यादा सुविधा मिलेगी जो अपने साइज़ क्लास का इस्तेमाल करना चाहते हैं.
एपीआई में किए गए बदलाव
- चौड़ाई चुनने वाले में ऊंचाई कंस्ट्रेंट जोड़ें. (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
की नकली वैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब और अच्छे से काम कर रहे हैं.UiContext
से वैल्यू पाने पर,WindowLayoutInfoPublisherRule
अब बदलाव की जानकारी देता है.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
की नकली वैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब और अच्छे से काम कर रहे हैं.UiContext
से वैल्यू पाने पर,WindowLayoutInfoPublisherRule
अब बदलाव की जानकारी देता है.WindowInfoTracker
, फ़ोल्ड किए जाने वाले सुविधा के डेटा कोUiContext
पैरामीटर में रिपोर्ट करता है.- डिवाइस पर एक्सटेंशन वर्शन दिखाएं.
वर्शन 1.2.0-rc01
1 नवंबर, 2023
androidx.window:window-*:1.2.0-rc01
रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.
नई सुविधाएं
- पिछली स्क्रीन को ऐक्सेस करने के लिए, प्रयोग के तौर पर इस्तेमाल किए जा रहे विंडो एपीआई उपलब्ध कराएं.
FoldingFeature
बनाने के लिए टेस्ट एपीआई अब बिना किसी रुकावट के काम कर रहा है.ActivityEmbedding
की नकली वैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब और अच्छे से काम कर रहे हैं.UiContext
से वैल्यू पाने पर,WindowLayoutInfoPublisherRule
अब बदलाव की जानकारी देता है.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
जांच जोड़ें जिन्हें सही तरीके से काम करने के लिए, एक्सटेंशन के किसी खास वर्शन की ज़रूरत है. - डिवाइस पर एक्सटेंशन का वर्शन दिखाने के लिए, एपीआई जोड़ें.
एपीआई में किए गए बदलाव
- सार्वजनिक एपीआई पर, विंडो SDK टूल के ज़रूरी एक्सटेंशन वर्शन के बारे में जानकारी दें.
- गतिविधि एम्बेड करने वाले कॉम्पोनेंट से
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
की नकली वैल्यू सेट अप करने के लिए, टेस्ट एपीआई अब और अच्छे से काम कर रहे हैं.UiContext
से वैल्यू पाने पर,WindowLayoutInfoPublisherRule
अब बदलाव की जानकारी देता है.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 में ये कमियां हैं.
नई सुविधाएं
- एपीआई प्लैटफ़ॉर्म से, काम न करने वाले एपीआई हटाए जा रहे हैं.
- एक साथ काम करने के लिए एपीआई जोड़ें.
- अपने-आप साइज़ बदलने की सुविधा से ऑप्ट आउट करने के लिए, कोई प्रॉपर्टी जोड़ें.
- कम से कम आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बदलने से ऑप्ट आउट करने के लिए, प्रॉपर्टी जोड़ें.
- गतिविधि एम्बेड करने से जुड़ी यूनिट की जांच करने के लिए,
ActivityEmbeddingRule
को स्थिर करें.
एपीआई में किए गए बदलाव
गड़बड़ियां ठीक की गईं
- ज़बरदस्ती साइज़ बदलने के लिए, ऑप्ट-आउट कंपैट प्रॉपर्टी जोड़ना (Ie7ab1)
- यह नीति, एक्सटेंशन के इंटरफ़ेस से
SESSION_STATE_CONTENT_INVISIBLE
को हटा देती है. (I6ed19) - गतिविधि एम्बेड करने से जुड़ी यूनिट की जांच करने के लिए,
ActivityEmbeddingRule
को स्थिर करें. (I8d6b6) - कम से कम आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बदलने के लिए, ऑप्ट-आउट कॉम्पैट प्रॉपर्टी जोड़ना. (I66390)
- बंद किए गए WindowArea API (Ieb67c) को हटाता है
- ओरिएंटेशन अनुरोध लूप प्रॉपर्टी का नाम बदलकर,
PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED
करें. (Ie2fbd) - विंडो एरिया सेशन के लगातार नाम अपडेट करता है (I83675)
- ऐसी ऑप्ट-आउट प्रॉपर्टी जोड़ना जो ओरिएंटेशन अनुरोध लूप का पता चलने पर उसे अनदेखा कर देती है (I0a7a2)
WindowAreaComponent#STATUS_ACTIVE
जोड़ें, ताकि यह पता चल सके कि यह सुविधा पहले से चालू है. (I62bc3)RearDisplayPresentationMode
के एपीआई जोड़ें (I0401c)- स्थिर के लिए बैकग्राउंड रंग API निकालें. (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
पर ले जाएंSplitInfo
सूची (I7f1b6) पाने के लिए,Flow
की सहायता टीम जोड़ें
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 में ये कमियां हैं.
नई सुविधाएं
गतिविधि एम्बेड करने और WindowLayoutInfoTracker
के लिए, टेस्टिंग एपीआई को स्थिर करें. ActivityEmbeddingRule
को स्थिर कर दिया गया है.
WindowMetricsCalculatorRule
को स्थिर कर दिया गया है.
टेस्ट के लिए FoldingFeature
बनाने के यूटिलिटी फ़ंक्शन को स्थिर कर दिया गया है.
एपीआई में किए गए बदलाव
- गतिविधि एम्बेड करने से जुड़ी यूनिट की जांच करने के लिए,
ActivityEmbeddingRule
को स्थिर करें. (I8d6b6) WindowMetrisCalculatorTestRule
स्थायी है, जो जेवीएम टेस्ट के लिए स्टब मेट्रिक को अनुमति देता है. हमारा सुझाव है कि सटीक नतीजे पाने के लिए, एम्युलेटर का इस्तेमाल करें.- जेवीएम टेस्टिंग के साथ काम करने के लिए,
WindowLayoutInfo
के लिए टेस्ट एपीआई को स्थिर करें. (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)
- डिसप्ले के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) से जुड़े, ईनम जैसा व्यवहार कॉन्सटेंट तय करने के लिए,
EmbeddingAspectRatio
क्लास को जोड़ा गया. - स्प्लिट लेआउट को तय करने के लिए,
SplitAttributes
क्लास को जोड़ा गया. - स्प्लिट लेआउट को पसंद के मुताबिक बनाने के लिए,
SplitController
मेंSplitAttributes
कैलकुलेटर फ़ंक्शन जोड़ा गया:setSplitAttributesCalculator(Function)
clearSplitAttributesCalculator()
- यह देखने के लिए कि डिवाइस पर
SplitAttributesCalculator
एपीआई काम करते हैं या नहीं,isSplitAttributesCalculatorSupported()
EmbeddingRule#tag
फ़ील्ड को जोड़ा गया.SplitRule
में API अपडेट:defaultSplitAttributes
को जोड़ा गया — स्प्लिट के डिफ़ॉल्ट स्प्लिट लेआउट के बारे में बताता है; यहsplitRatio
औरlayoutDirection
की जगह लेगा.- एक्सएमएल प्रॉपर्टी
splitRatio
औरsplitLayoutDirection
का अनुवादdefaultSplitAttributes
में जोड़ा गया. - पिक्सल के बजाय, डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) का इस्तेमाल करने के लिए, कम से कम डाइमेंशन की परिभाषाएं बदली गईं.
- डिफ़ॉल्ट वैल्यू 600dp के साथ
minHeightDp
को जोड़ा गया. minWidth
को बदलकरminWidthDp
किया गया, जिसकी डिफ़ॉल्ट वैल्यू 600dp है.minSmallestWidth
को बदलकरminSmallestWidthDp
किया गया, जिसकी डिफ़ॉल्ट वैल्यू 600dp है.maxAspectRatioInHorizontal
को डिफ़ॉल्ट मानALWAYS_ALLOW
के साथ जोड़ा गया.maxAspectRatioInPortrait
को डिफ़ॉल्ट वैल्यू 1.4 के साथ जोड़ा गया.- फ़िनिश बिहेवियर कॉन्सटेंट को बदलने के लिए, नेस्ट की गई
FinishBehavior
क्लास को तय किया गया. SplitPairRule
औरSplitPlaceholderRule
की बिल्डर की नेस्ट की गई क्लास में प्रॉपर्टी में बदलाव लागू किए गए.
- स्प्लिट से जुड़ी अतिरिक्त जानकारी देने के लिए,
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" />
इससे सिस्टम को समय से पहले, किसी ऐप्लिकेशन के लिए स्प्लिट व्यवहार को ऑप्टिमाइज़ करने में मदद मिलती है. SplitInfo
रेशियो- देखें कि मौजूदा स्प्लिट स्टैक किया गया है या नहीं:
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()
में बदल जाता है.
SplitRule
प्रॉपर्टी का माइग्रेशन:minWidth
औरminSmallestWidth
अब पिक्सल के बजाय, डीपी यूनिट का इस्तेमाल करते हैं. ऐप्लिकेशन इस कॉल का इस्तेमाल कर सकते हैं:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है या बसminWith
को पिक्सल मेंdisplayMetrics#density
से भाग दें.
- फ़िनिश बिहेवियर कॉन्सटेंट,
FinishBehavior
ईनम जैसे क्लास कॉन्सटेंट पर माइग्रेट किया जाना चाहिए: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.Builder
माइग्रेशन: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
,FinishBehavior
ईनम जैसे कॉन्सटेंट लेते हैं. ज़्यादा जानकारी के लिए, “SplitRule पर माइग्रेट करना” देखें.- पोर्ट्रेट डिवाइसों पर स्प्लिट दिखाने के लिए
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)
का इस्तेमाल करें.
SplitPlaceholder.Builder
माइग्रेशन:- इसमें सिर्फ़
filters
औरplaceholderIntent
पैरामीटर हैं. अन्य प्रॉपर्टी सेटर में चली जाती हैं. ज़्यादा जानकारी के लिए, “SplitPairRule.Builder माइग्रेशन” देखें. setFinishPrimaryWithPlaceholder
,FinishBehavior
ईनम जैसे कॉन्सटेंट लेता है. ज़्यादा जानकारी के लिए, “SplitRule पर माइग्रेट करना” देखें.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() — एक्सएमएल नियम की परिभाषाओं से नियमों को पार्स करता है.
- सभी मॉड्यूल को
#getInstance()
तरीके से शुरू करने के लिए, कॉन्टेक्स्ट की ज़रूरत होती है. इसमें ये शामिल हैं:ActivityEmbeddingController#getInstance(Context)
SplitController#getInstance(Context)
RuleController#getInstance(Context)
- डिसप्ले के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) से जुड़े, ईनम जैसा व्यवहार कॉन्सटेंट तय करने के लिए,
EmbeddingAspectRatio
क्लास को जोड़ा गया. - स्प्लिट लेआउट को तय करने के लिए,
SplitAttributes
क्लास को जोड़ा गया. - स्प्लिट लेआउट को पसंद के मुताबिक बनाने के लिए,
SplitController
मेंSplitAttributes
कैलकुलेटर फ़ंक्शन जोड़ा गया:setSplitAttributesCalculator(Function)
clearSplitAttributesCalculator()
isSplitAttributesCalculatorSupported()
यह देखने के लिए कि डिवाइस पर SplitAttributesCalculator एपीआई काम करता है या नहीं
EmbeddingRule#tag
फ़ील्ड को जोड़ा गया.SplitRule
में API अपडेट:defaultSplitAttributes
को जोड़ा गया — स्प्लिट के डिफ़ॉल्ट स्प्लिट लेआउट के बारे में बताता है; यहsplitRatio
औरlayoutDirection
की जगह लेगा.- एक्सएमएल प्रॉपर्टी
splitRatio
औरsplitLayoutDirection
का अनुवादdefaultSplitAttributes
में जोड़ा गया. - पिक्सल के बजाय, डेंसिटी-इंडिपेंडेंट पिक्सल (डीपी) का इस्तेमाल करने के लिए, कम से कम डाइमेंशन की परिभाषाएं बदली गईं.
- डिफ़ॉल्ट वैल्यू 600dp के साथ
minHeightDp
को जोड़ा गया. minWidth
को बदलकरminWidthDp
किया गया, जिसकी डिफ़ॉल्ट वैल्यू 600dp है.minSmallestWidth
को बदलकरminSmallestWidthDp
किया गया, जिसकी डिफ़ॉल्ट वैल्यू 600dp है.maxAspectRatioInHorizontal
को डिफ़ॉल्ट मानALWAYS_ALLOW
के साथ जोड़ा गया.maxAspectRatioInPortrait
को डिफ़ॉल्ट मान1.4
के साथ जोड़ा गया.- फ़िनिश बिहेवियर कॉन्सटेंट को बदलने के लिए, नेस्ट की गई
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" />
इससे सिस्टम को समय से पहले, किसी ऐप्लिकेशन के लिए स्प्लिट व्यवहार को ऑप्टिमाइज़ करने में मदद मिलती है. SplitInfo
रेशियो- देखें कि मौजूदा स्प्लिट स्टैक किया गया है या नहीं:
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()
में बदल जाता है.
SplitRule
प्रॉपर्टी का माइग्रेशन:minWidth
औरminSmallestWidth
अब पिक्सल के बजाय, डीपी यूनिट का इस्तेमाल करते हैं. ऐप्लिकेशन इस कॉल का इस्तेमाल कर सकते हैं:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है या बसminWith
को पिक्सल मेंdisplayMetrics#density
से भाग दें.
- फ़िनिश बिहेवियर कॉन्सटेंट,
FinishBehavior
ईनम जैसे क्लास कॉन्सटेंट पर माइग्रेट किया जाना चाहिए: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.Builder
माइग्रेशन: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
,FinishBehavior
ईनम जैसे कॉन्सटेंट लेते हैं. ज़्यादा जानकारी के लिए, “SplitRule पर माइग्रेट करना” देखें.- पोर्ट्रेट डिवाइसों पर स्प्लिट दिखाने के लिए
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)
का इस्तेमाल करें.
SplitPlaceholder.Builder
माइग्रेशन:- इसमें सिर्फ़
filters
औरplaceholderIntent
पैरामीटर हैं. अन्य प्रॉपर्टी सेटर में चली जाती हैं. ज़्यादा जानकारी के लिए, “SplitPairRule.Builder माइग्रेशन” देखें. setFinishPrimaryWithPlaceholder
,FinishBehavior
ईनम जैसे कॉन्सटेंट लेता है. ज़्यादा जानकारी के लिए, “SplitRule पर माइग्रेट करना” देखें.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) - पेश है
WindowAreaController
और एपीआई की मदद से,RearDisplay
मोड चालू करने का विकल्प. इस मोड की मदद से, मौजूदा विंडो को पीछे वाले कैमरे के हिसाब से डिसप्ले पर लाया जा सकता है. (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) में बदलें- ऐक्टिविटी एम्बेड करने से जुड़े एपीआई को बेहतर बनाएं
- एपीआई का नाम अलाइन करें - एक से ज़्यादा इंस्टेंस के लिए जोड़ें/हटाएं का इस्तेमाल करें:
registerRule
,addRule
में बदल गयाunregisterRule
,removeRule
में बदल गयाgetSplitRules
कोgetRules
से बदलें, क्योंकिActivityRule
बांटने का नियम नहीं है- नियमों का समूह सेट करने के लिए
RuleController#setRules
जोड़ें SplitController
से सिंगलटनRuleController
तक, नियम से जुड़े एपीआई एक्सट्रैक्ट करें. ये वजह हैं:addRule
removeRule
getRules
setRules
clearRules
parseRules
#isActivityEmbedded
कोSplitController
से सिंगलटनActivityEmbeddingController
में निकालें. ये वजह हैं:isActivityEmbedded
SplitController#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
को अपडेट करें. प्लेसहोल्डर को पूरा करने से कुछ भ्रम हो सकता है.
एपीआई में किए गए बदलाव
- मज़ेदार
isEmpty
को बदलने के लिए, वैल्यूisEmpty
को सार्वजनिक करें. - पैरामीटर की
ActivityStack
गतिविधियों का नाम बदलकर,activitiesInProcess
करें. (Ia5055) ActivityFilter#matchesClassName
औरActivityFilter#matchesClassNameOrWildCard
को हटाएं, क्योंकि ये भ्रम की स्थिति पैदा करते हैं.ActivityFilter#componentName
abdActivityFilter#intentAction
जोड़ें, ताकि कॉलर अलग-अलग फ़िल्टर (I41f22) में अंतर कर सके- एक्सपेरिमेंटल एपीआई (I216b3) से
@Deprecated
एपीआई हटाएं - ऐक्टिविटी एम्बेड करने वाले एपीआई (I69ebe) के लिए
@ExperimentalWindowApi
को हटाएं ActivityRule
कंस्ट्रक्टर को छिपाएं. इसके बजाय, Builder का इस्तेमाल करें. (If4eb6)- कोई गतिविधि,
ActivityFilter
का हिस्सा है या नहीं, यह देखने के लिए एपीआई जोड़ें. (Ia43cf) WindowMetrics
औरWindowMetricsCalculatorCompat
क्लास (I667fe) में हुए बदलावों को दिखाने के लिए, एपीआई फ़ाइलों को अपडेट करेंActivityEmbedding
प्रॉपर्टी का Javadoc और क्लास का नाम (Ia1386) अपडेट करें- AndroidManifest.xml (Id1ad4) में इस्तेमाल करने के लिए,
ActivityEmbedding
प्रॉपर्टी टैग नाम जोड़े जा रहे हैं - नया एपीआई
SplitPlaceholderFinishBehavior
औरSplitPlaceholderRule.finishPrimaryWithPlaceholder
जोड़ा गया. यह मौजूदाSplitPlaceholderRule.finishPrimaryWithSecondary
की जगह ले लेता है. इससे पता चलता है कि प्लेसहोल्डर की गतिविधियों के खत्म होने का समय क्या है और गतिविधि एम्बेड करने की सुविधा में इससे जुड़ी गतिविधियां कैसी होनी चाहिए. (I64647)
गड़बड़ियां ठीक की गईं
- पेश है
WindowAreaController
और एपीआई की मदद से,RearDisplay
मोड चालू करने का विकल्प. इस मोड की मदद से, मौजूदा विंडो को पीछे वाले कैमरे के हिसाब से डिसप्ले पर लाया जा सकता है. (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 में ये कमियां हैं.
नई सुविधाएं
- उस गड़बड़ी को ठीक किया गया है जहां ऐप्लिकेशन को बैकग्राउंड में चलाने पर, फ़ोल्ड की सुविधाएं दिखनी बंद हो जाती हैं.
- प्रयोग के तौर पर शुरू किए गए ऐक्टिविटी एम्बेड करने वाले एपीआई पर बड़ा करें.
एपीआई में किए गए बदलाव
- सार्वजनिक एपीआई, जिससे पता चलता है कि किसी गतिविधि को एम्बेड किया जा रहा है या नहीं. (I39eb7)
गड़बड़ियां ठीक की गईं
- ऐसे एपीआई जोड़ें जो गतिविधि स्प्लिट (I1a1e4) में कंटेनर के लिए, फ़िनिशिंग बिहेवियर को पसंद के मुताबिक बनाएं
- गतिविधि के बंटवारे के नियमों के लिए, कॉन्फ़िगरेशन का नया विकल्प जोड़ा गया. (Iec6af)
संस्करण 1.0
वर्शन 1.0.0
26 जनवरी, 2022
androidx.window:window-*:1.0.0
रिलीज़ हो गया है. वर्शन 1.0.0 में ये कमियां शामिल हैं.
1.0.0 की मुख्य सुविधाएं
WindowInfoTracker
औरFoldingFeature
तक फ़ोन को फ़ोल्ड करने की सुविधा उपलब्ध है. मौजूदा WindowMetrics को कैलकुलेट करने में मदद करने के लिए,WindowMetricsCalculator
.
वर्शन 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.
- विंडोइन्फ़ोट्रैकर के लिए, गतिविधि को खास तरीके से डिपेंडेंसी बनाएं.
- Robolectric का इस्तेमाल करने वाले डेवलपर की मदद करने के लिए, WindowMetricsCalculator के लिए एक आसान टेस्ट नियम जोड़ें.
एपीआई में किए गए बदलाव
- एक्सटेंशन एक्सट्रैक्ट करें (I25a5f)
- ऐक्टिविटीस्टैक (I5a4e6) में isEmpty जोड़ें
- 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 में ये कमिट हैं.
नई सुविधाएं
- प्रयोग के तौर पर गतिविधि एम्बेड करने वाले एपीआई जोड़ें. लेआउट के इस शुरुआती वर्शन में, दो गतिविधियों को साथ-साथ दिखाया जा सकता है.
एपीआई में किए गए बदलाव
- मौजूदाWindowMetrics API को हटा दिया गया है, क्योंकि हम इसे सही तरीके से उपलब्ध नहीं करा सकते. कृपया इसके बजाय, WindowMetricsCalculator का इस्तेमाल करें (Icda5f)
- एक्सटेंशन api अपडेट की गई. (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)
- जांच करने का कोई ऐसा तरीका जोड़ें जिससे FoldingFeature की जांच की जा सके. यह सुविधा Rect के साथ काम करती है. इससे किसी असल गतिविधि के बजाय, 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 पर करें डेटा स्टोर करने की जगह को रेपो की जगह इस्तेमाल करें. (I61a16)
- क्लास के लिए पैकेज अपडेट करें. (I23ae2)
- WindowInfoRepo से WindowMetrics हटाएं (I24663)
- WindowManager हटाएं और WindowInfoRepo का इस्तेमाल करें
- WindowBackend को अंदरूनी बनाएं. (I06d9a)
- विंडो मेट्रिक को फ़्लो में बदलें.
- Java अडैप्टर का नाम बदलकर, WindowInfoRepoCallbackAdapter का नाम बदलें
- कॉलबैकFlow को हटाएं, ताकि एक्सपेरिमेंट के तौर पर किसी और एपीआई का इस्तेमाल न किया जा सके. (Ia4d15)
- टेस्ट डिसप्ले की सुविधाएं बनाने के लिए, हेल्पर तरीका जोड़ें.
- OclusionMode से OclusionType (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 में माइग्रेट करें. यह आने वाले समय में एसिंक्रोनस डेटा को सार्वजनिक करने के लिए, कोरूटीन और सस्पेंड फ़ंक्शन का इस्तेमाल करेगा.
- WindowMetrics और WindowLayoutInfo की स्ट्रीम पाने के लिए, WindowInfoRepo को मुख्य इंटरैक्शन पॉइंट के तौर पर जोड़ें.
- नया
window-java
आर्टफ़ैक्ट, जो कॉलबैक को रजिस्टर और बिना रजिस्ट्रेशन करने के लिए, 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
को FoldingFeature स्टेटस से हटा दिया है. ऐसा इसलिए किया गया है, क्योंकि फ़िलहाल यह किसी भी तरह के इस्तेमाल के उदाहरण के साथ काम नहीं करता है. - हमने काम न करने वाले अन्य एपीआई भी हटा दिए हैं.
एपीआई में किए गए बदलाव
- Kotlin को डिपेंडेंसी के तौर पर जोड़ा जा रहा है.
- मुख्य लाइब्रेरी को Kotlin में माइग्रेट करें. (आईडीडी995)
DisplayFeature
बिल्डर हटाया गया. (I61fa4)DeviceState
को सार्वजनिक एपीआई से हटाया गया. इसके बजाय,FoldingFeature
का इस्तेमाल करें. (आईडी6079)- एक्सटेंशन से, डिवाइस की स्थिति के कॉलबैक को हटाएं. (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 में ये कमियां हैं.
नई सुविधाएं
- उस गड़बड़ी को ठीक करता है जहां OEM लागू न होने पर, 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 लागू करने पर कोई गारंटी नहीं देते. इस वजह से, शुरुआती वैल्यू में देरी हो सकती है.
गड़बड़ियां ठीक की गईं
- OEM लाइब्रेरी न होने पर, कोई वैल्यू न डालें. (Ide935)
वर्शन 1.0.0-alpha02
27 जनवरी, 2021
androidx.window:window:1.0.0-alpha02
रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये कमियां हैं.
नई सुविधाएं
हमने कुछ एपीआई को बंद कर दिया है, ताकि एपीआई को आसान बनाया जा सके और गलतियों को कम किया जा सके. कुछ ऐसे खास उदाहरण हैं जिनमें WindowManager से सिंक्रोनस रीड ऑपरेशन हटाए जा रहे हैं. साथ ही, DeviceState को बंद किया जा रहा है. सिंक्रोनस रीड ऑपरेशन के कारण रेस कंडिशन और गलत यूज़र इंटरफ़ेस (यूआई) हो सकता है.
हमने DisplayFeature को एक ऐसे इंटरफ़ेस में बदल दिया है जिसमें आने वाले समय में अन्य सुविधाएं भी काम करेंगी. हमारी पहली सुविधा FoldingFeature है. इसमें स्क्रीन फ़ोल्ड या कब्ज़ को दिखाया गया है. इसमें DeviceState को बदलने वाले हिंज की स्थिति भी शामिल होती है.
विंडो मेट्रिक को Android 11 में पेश किया गया था, ताकि डेवलपर को किसी विंडो के बारे में मेट्रिक के लिए क्वेरी करने का आसान तरीका उपलब्ध कराया जा सके. उदाहरण के लिए, स्क्रीन पर इसकी पोज़िशन और साइज़, और किसी भी सिस्टम इनसेट के बारे में. हमने इस रिलीज़ में एपीआई का बैकपोर्ट किया है. इससे डेवलपर, WindowMetrics का इस्तेमाल कर सकते हैं. साथ ही, वे Android के पुराने वर्शन पर काम करना जारी रख सकते हैं. विंडो मेट्रिक,
WindowManager#getCurrentWindowMetrics()
और WindowManager#getMaxWindowMetrics() एपीआई की मदद से मिल सकते हैं.
एपीआई में किए गए बदलाव
- अगले ऐल्फ़ा (Ib7cc4) में हटाए जाने वाले एपीआई बंद करें
- यह विकल्प, अश्लील गतिविधि वाली गतिविधि को स्वीकार करने के लिए,
ExtensionInterface
को अपडेट करता है संदर्भ. (I07ded) - WindowMetrics एपीआई के बारे में जानकारी देता है. (I3ccee)
- WindowManager (I69983) से सिंक्रोनस रीड मेथड हटाएं
- extensionsWindowBackend पैकेज को सुरक्षित बनाएं. (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
, वगैरह)