wear protolayout

  
इस लाइब्रेरी की मदद से, यूज़र इंटरफ़ेस (यूआई) लेआउट और नॉन-यूआई एक्सप्रेशन का एक सेट तय किया जा सकता है, ताकि उन्हें रिमोट प्लैटफ़ॉर्म पर रेंडर किया जा सके या उनका आकलन किया जा सके.
नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
11 दिसंबर, 2024 1.2.1 - - 1.3.0-alpha05

डिपेंडेंसी का एलान करना

wear-protolayout पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़ना होगा. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha04"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha04"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha04")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha04")
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.

वर्शन 1.3

वर्शन 1.3.0-alpha05

11 दिसंबर, 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये कमिट शामिल हैं.

नई सुविधाएं

  • बाइंड किए जा सकने वाले लेआउट स्ट्रिंग फ़ील्ड के साथ काम करने के लिए, LayoutString जोड़ा गया. (Ida650)
  • ProtoLayout Material3 कार्ड कंटेनर कॉम्पोनेंट जोड़ा गया. (Ic985a)

गड़बड़ियां ठीक की गईं

  • यह लाइब्रेरी अब JSpecify nullness एनोटेशन का इस्तेमाल करती है, जो टाइप-इस्तेमाल के लिए हैं. Kotlin डेवलपर को सही तरीके से इस्तेमाल करने के लिए, कंपाइलर के इन आर्ग्युमेंट का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Id1f9b, b/326456246)

वर्शन 1.3.0-alpha04

13 नवंबर, 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 रिलीज़ हो गया है. वर्शन 1.3.0-alpha04 में ये कमिट शामिल हैं.

नई सुविधाएं

  • Material3 शेप को एक क्लास में अपडेट किया गया है. इसमें वे फ़ील्ड होते हैं जिनमें Wear Compose की तरह ही, कोने की असल वैल्यू होती है. (Ied8cd)
  • Wear Compose की तरह ही, ColorScheme कॉन्सेप्ट को शामिल करने के लिए, Material3 के रंगों को अपडेट किया गया. (If645e)
  • टेस्टिंग लाइब्रेरी में, आम तौर पर इस्तेमाल होने वाले कई मैचर जोड़ें. (Ie5cec)

वर्शन 1.3.0-alpha03

30 अक्टूबर, 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये कमिट शामिल हैं.

नई सुविधाएं

  • टेस्टिंग लाइब्रेरी में LayoutElementAssertionsProvider, LayoutElementAssertion, और LayoutElementMatcher जोड़ना (Id1110)

वर्शन 1.3.0-alpha02

16 अक्टूबर, 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • Material 3 लाइब्रेरी का शुरुआती वर्शन. इसमें text, edgeButton, buttonGroup, और primaryLayout कॉम्पोनेंट शामिल हैं.

सुरक्षा से जुड़े सुधार

  • इस बदलाव के बाद, androidx protobuf 4.28.2 के हिसाब से कंपाइल करता है, ताकि CVE-2024-7254 को ठीक किया जा सके. जोखिम की आशंका को दूर करने के लिए, androidx.wear.protolayout:protolayout-proto और androidx.wear.protolayout:protolayout-external-protobuf के 1.3.0-alpha01 वर्शन की डिपेंडेंसी को 1.3.0-alpha02 पर अपग्रेड करें.

बाहरी योगदान

वर्शन 1.3.0-alpha01

2 अक्टूबर, 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • यह बताया गया है कि Roboto और Roboto Flex फ़ॉन्ट फ़ैमिली के नामों की उपलब्धता, डिवाइस पर निर्भर करती है. (I193be)
  • AndroidX टाइल रेंडरर में Roboto Flex फ़ॉन्ट फ़ैमिली चालू की गई. (I08e94)

वर्शन 1.2

वर्शन 1.2.1

16 अक्टूबर, 2024

androidx.wear.protolayout:protolayout-*:1.2.1 रिलीज़ हो गया है. वर्शन 1.2.1 में ये कमिट शामिल हैं.

सुरक्षा से जुड़े सुधार

  • इस बदलाव के बाद, androidx protobuf 4.28.2 के हिसाब से कंपाइल करता है, ताकि CVE-2024-7254 को ठीक किया जा सके. जोखिम की आशंका को दूर करने के लिए, androidx.wear.protolayout:protolayout-proto और androidx.wear.protolayout:protolayout-external-protobuf के 1.2.0 वर्शन पर निर्भरता को 1.2.1 वर्शन पर अपग्रेड करें.

वर्शन 1.2.0

7 अगस्त, 2024

androidx.wear.protolayout:protolayout-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये कमिट शामिल हैं.

1.1.0 के बाद किए गए अहम बदलाव

  • FontStyle को अपडेट किया गया है, ताकि वैरिएबल ऐक्सिस के लिए फ़ॉन्ट के अन्य विकल्प उपलब्ध कराए जा सकें. साथ ही, आने वाले समय में उपलब्ध होने वाले Flex फ़ॉन्ट के साथ काम करने के लिए, फ़ॉन्ट चुनने के बेहतर एपीआई का इस्तेमाल किया जा सके.
  • अन्य बदलाव करने वाले टूल के साथ काम करने की सुविधा:
    • ट्रांसफ़ॉर्मेशन मॉडिफ़ायर, जो ऐनिमेशन के साथ या उसके बिना ट्रांसलेशन, रोटेशन, और स्केलिंग की सुविधा देता है.
    • हर कोने की त्रिज्या के लिए अलग-अलग वैल्यू (हॉरिज़ॉन्टल और वर्टिकल) तय करना.
  • क्लिक किए जा सकने वाले मॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले एरिया को 48dp x 48dp तक बढ़ाकर, सभी टच टारगेट की ऐक्सेस-योग्यता को बेहतर बनाया गया.
  • setResponsiveContentInsetEnabled जोड़कर PrimaryLayout और EdgeContentLayout को बेहतर बनाया गया है. इससे अलग-अलग स्क्रीन साइज़ पर, इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर तरीके से दिखाया जा सकता है. साथ ही, टाइल की एक जैसी बनावट को भी बेहतर बनाया जा सकता है.
  • Android 14 के नॉन-लिनियर फ़ॉन्ट स्केलिंग के लिए, Material Text की स्केलिंग/नॉन-स्केलिंग को बेहतर बनाया गया है.
  • सभी आर्क एलिमेंट पर, दाईं से बाईं ओर के लेआउट की दिशा के लिए बेहतर सहायता.

अन्य बदलाव

  • वर्शन 1.1.0 में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, beta01 रिलीज़ नोट देखें.

वर्शन 1.2.0-rc01

24 जुलाई, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • हमने स्टैंडर्ड मटीरियल चिप को ठीक कर दिया है, ताकि इसका इस्तेमाल आइकॉन के तौर पर सिर्फ़ तब किया जा सके, जब कोई प्राइमरी या सेकंडरी लेबल न दिया गया हो. (Iceef9)
  • लेआउट को आसानी से समझने के लिए, काम के पेज से विज़ुअल शामिल करने के मकसद से, मेटारियल लेआउट के दस्तावेज़ों को अपडेट किया गया है. (I0256a)

वर्शन 1.2.0-beta01

10 जुलाई, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये कमिट शामिल हैं.

नई सुविधाएं

Wear ProtoLayout के 1.2.0-beta01 रिलीज़ से पता चलता है कि लाइब्रेरी के इस रिलीज़ में सभी सुविधाएं मौजूद हैं और एपीआई लॉक है. हालांकि, जिन एपीआई को प्रयोग के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.2 में ये नई सुविधाएं और एपीआई शामिल हैं:

  • FontStyle को अपडेट किया गया है, ताकि इसमें अन्य फ़ॉन्ट का इस्तेमाल किया जा सके. जैसे:
    • FontSetting.weight और FontSetting.width जैसे अलग-अलग फ़ॉन्ट वैरिएशन सेटिंग सेट करना
    • सभी अंकों के लिए एक ही चौड़ाई सेट करना - टेबल के अंक (FontSetting.tnum फ़ॉन्ट की सुविधा सेटिंग)
    • फ़ॉन्ट चुनने के लिए बेहतर एपीआई, ताकि आने वाले समय में फ़्लेक्स फ़ॉन्ट का इस्तेमाल किया जा सके. इसके लिए, इस्तेमाल किए जाने वाले फ़ॉन्ट फ़ैमिली के नाम बताए जाते हैं.
  • Corner मॉडिफ़ायर को बड़ा किया गया है, ताकि हर CornerRadius को अलग-अलग हॉरिज़ॉन्टल और वर्टिकल वैल्यू के साथ तय किया जा सके. इससे, असिमेट्रिक कोनों वाले एलिमेंट बनाने में मदद मिलती है.
  • Transformation का नया मॉडिफ़ायर जोड़ा गया, जो LayoutElement को ट्रांसलेट, रोटेट, और स्केल करने की सुविधा देता है. डाइनैमिक वैल्यू का इस्तेमाल करके, इन ट्रांसफ़ॉर्मेशन को ऐनिमेशन दिया जा सकता है.
  • अलग-अलग लेआउट डायरेक्शन (जैसे, LTR और RTL) में बेहतर सहायता के लिए, सभी आर्क एलिमेंट (Arc, ArcLine, और ArcText) में Clockwise, CounterClockwise, और Normal विकल्पों के साथ setArcDirection जोड़ा गया.
  • Clickable मॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले हिस्से को 48dp x 48dp तक बढ़ाकर, सभी टच टारगेट की सुलभता को बेहतर बनाया गया है.
  • setResponsiveContentInsetEnabled जोड़कर PrimaryLayout और EdgeContentLayout को बेहतर बनाया गया है. इससे अलग-अलग स्क्रीन साइज़ पर, इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर तरीके से दिखाया जा सकता है. साथ ही, टाइल की एक जैसी बनावट को भी बेहतर बनाया जा सकता है. इन एपीआई का इस्तेमाल करने के लिए, तुरंत ठीक करने का सुझाव देने के लिए, लिंटर चेतावनी जोड़ी गई है.
  • Android 14 के नॉन-लिनियर फ़ॉन्ट स्केलिंग के लिए, Material Text की स्केलिंग/नॉन-स्केलिंग को बेहतर बनाया गया.

एपीआई में हुए बदलाव

  • फ़ॉन्ट फ़ैमिली का डिफ़ॉल्ट नाम (DEFAULT_SYSTEM_FONT) हटा दिया गया है, क्योंकि preferredFontFamilies एपीआई का इस्तेमाल न करने से यह पता चलता है. (I39dab)
  • FontSetting.width में पास किया गया पैरामीटर पॉज़िटिव होना चाहिए. (I1266f)

वर्शन 1.2.0-alpha05

26 जून, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 रिलीज़ हो गया है. वर्शन 1.2.0-alpha05 में ये कमिट शामिल हैं.

नई सुविधाएं

  • टेक्स्ट कॉन्टेंट सेट किया गया है या नहीं, यह देखने के लिए Material.CompactChip में hasText तरीका जोड़ें. (I6e8fc)

एपीआई में हुए बदलाव

  • FontFamily const को Builder क्लास के बजाय FontStyle में ले जाया गया है. (I06ced)
  • रेंज एनोटेशन शामिल करने के लिए, FontSetting.weight और FontSetting.width एपीआई को अपडेट करें. साथ ही, वज़न के पैरामीटर को int में बदलें. (Ia726c)

गड़बड़ियां ठीक की गईं

  • Material लाइब्रेरी में मौजूद ऐसे टेक्स्ट जिन्हें स्केल नहीं किया जा सकता, अब Android 14 के नॉन-लिनियर फ़ॉन्ट स्केलिंग के साथ सही तरीके से काम करते हैं. (I6601e)

वर्शन 1.2.0-alpha04

29 मई, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • अलग-अलग कोनों की त्रिज्या को दो वैल्यू के साथ अलग-अलग बताने के लिए, अलग-अलग कोनों के लिए अलग-अलग त्रिज्या तय करने की सुविधा जोड़ी गई है. (Icbd69)
  • FontSetting एपीआई को इनके लिए उपलब्ध कराया गया है:
    • फ़ॉन्ट की सुविधा सेटिंग, जैसे कि फ़ॉन्ट को टेबल के तौर पर सेट करना. (If12b7)
    • फ़ॉन्ट वैरिएशन की सेटिंग, जैसे कि वैरिएबल फ़ॉन्ट के लिए कस्टम चौड़ाई सेट करना. (I2b36d)
  • FontStyle में फ़ॉन्ट फ़ैमिली एपीआई जोड़ा गया है, ताकि यह तय किया जा सके कि किन फ़ॉन्ट फ़ैमिली का इस्तेमाल किया जाना चाहिए. (Iba9f5)
  • Material के LayoutDefaults में, कॉन्टेंट और सेकंडरी लेबल के बीच की जगह की ऊंचाई के लिए, कॉन्स्टेंट का नाम बदला गया है. शुरुआत में, इन कॉन्स्टेंट के नाम में “Edge content” जोड़ा गया था, ताकि ये PrimaryLayout और EdgeContentLayout, दोनों पर लागू हो सकें. (I4dc32)

गड़बड़ियां ठीक की गईं

  • वैरिएबल फ़ॉन्ट ऐक्सिस के लिए, नाम बदलकर axisName से axisTag किया गया. (I02ba3)

वर्शन 1.2.0-alpha03

14 मई, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये कमिट शामिल हैं.

नई सुविधाएं

  • FontStyle के लिए कस्टम वेट वैल्यू सेट करने के लिए एपीआई जोड़ा गया. (I7390a)

गड़बड़ियां ठीक की गईं

  • खाली टारगेट मैप की वजह से, getTouchDelegateInfo में होने वाली गड़बड़ी को ठीक करें. (I2accf)

वर्शन 1.2.0-alpha02

1 मई, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • हमने क्लिक किए जा सकने वाले हर एलिमेंट पर, रिपल फ़ीडबैक की सुविधा को बंद करने की सुविधा जोड़ी है. (If1ede)
  • ArcModifiers से ट्रांसफ़ॉर्मेशन के लिए एपीआई हटा दिया गया है, क्योंकि यह सुविधा काम नहीं करती (Ic0827)
  • ArcDirectionProp अब बिल्डर को कंस्ट्रक्टर में वैल्यू की ज़रूरत है. (I76ada)
  • PlatformDataValues.Builder.putAll तरीके से, एक PlatformDataValue को दूसरे में मर्ज किया जा सकता है. (I50ba3)
  • Text#setIsScalable का नाम बदलकर Text#setScalable कर दिया गया. (If920e)
  • Material Text यह सेट कर सकता है कि स्केलिंग साइज़ (उपयोगकर्ता के फ़ॉन्ट साइज़ में बदलाव होने पर बढ़ता है) का इस्तेमाल करना है या नहीं. (Ibc849)
  • हमने कॉन्टेंट के ब्यौरे को TitleChip पर सेट करने का विकल्प जोड़ा है. (I5d21f)
  • CompactChip को सिर्फ़ आइकॉन के साथ सही तरीके से काम करने के लिए ठीक किया गया. साथ ही, इस विकल्प को अनुमति देने के लिए एपीआई को अपडेट किया गया. (I6589e)

गड़बड़ियां ठीक की गईं

  • डिवाइस को शुरू करने के दौरान, प्लैटफ़ॉर्म के डुप्लीकेट डेटा से जुड़ी समस्या को ठीक किया गया है. (Iba0fd)
  • नोड की लागत वापस पाने के लिए, DynamicDataNode में एक नया गटर जोड़ें. डाइनैमिक नोड कोटा हासिल करते समय, इस लागत का इस्तेमाल किया जाता है. फ़िलहाल, तय वैल्यू वाले नोड की लागत 0 होगी. अन्य सभी नोड की लागत 1 होगी. (Ia33e1)
  • NO_OP_QUOTA_MANAGER से गिनती का लॉजिक हटाएं. (Ib50b8)
  • हमने एक लिंट नियम जोड़ा है, ताकि PrimaryLayout का इस्तेमाल setResponsiveContentInsetEnabled के बिना करने पर चेतावनी दी जा सके और उसे तुरंत ठीक किया जा सके. (I12025)
  • डाइनैमिक एक्सप्रेशन नोड की संख्या सीमित होती है. (Iffae8)

वर्शन 1.2.0-alpha01

6 मार्च, 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • ProtoLayout Arc एलिमेंट में अब ArcDirection (Clockwise, Counterclockwise या Normal) जोड़ा जा सकता है. Arc, ArcLine या ArcText में यह व्यवहार जोड़ने से, आरटीएल लेआउट पर उनका व्यवहार ठीक हो जाएगा. (I90699)
  • EdgeContentLayout को नए setResponsiveContentInsetEnabled सेटर के साथ अपडेट किया गया है, ताकि यूज़र इंटरफ़ेस (यूएक्स) के दिशा-निर्देशों के साथ बेहतर अलाइनमेंट किया जा सके. साथ ही, टाइल में प्राइमरी लेबल को सबसे ऊपर तय जगह पर रखकर और लेबल के लिए रिस्पॉन्सिव इनसेट का इस्तेमाल करके, टाइल में एक जैसा अनुभव दिया जा सके. (I60175)
  • हमने PrimaryLayout.setResponsiveContentInsetEnabled जोड़ा है, जो इस लेआउट में प्राइमरी लेबल, सेकंडरी लेबल, और सबसे नीचे मौजूद चिप में रिस्पॉन्सिव इनसेट जोड़ता है. इससे, कॉन्टेंट को स्क्रीन के किनारे से बाहर जाने से रोका जा सकता है. (I0c457)
  • CircularProgressIndicator से बाहरी मार्जिन हटाने का तरीका जोड़ा गया, ताकि इसका इस्तेमाल छोटे कॉम्पोनेंट के तौर पर किया जा सके. (I55c06)

एपीआई में हुए बदलाव

  • टाइल रेंडरर अब डिफ़ॉल्ट रूप से सभी टेक्स्ट एलिमेंट से फ़ॉन्ट पैडिंग हटा देता है. साथ ही, उसे शामिल करने का विकल्प भी नहीं देता. (I3e300)

गड़बड़ियां ठीक की गईं

  • टेक्स्ट पर 'बड़े अक्षरों में बदलें', 'अक्षरों के बीच की जगह', और 'बीच में अलाइन करें' सुविधाओं का इस्तेमाल करने पर, टेक्स्ट अलाइनमेंट से जुड़ी समस्या को ठीक किया गया. (I716c7)
  • स्किया आर्क ड्रॉइंग से जुड़ी समस्या को हल करने का तरीका जोड़ा गया. (I08f09)
  • आरटीएल लेआउट के लिए, ArcLine ड्रॉइंग की दिशा ठीक करें. (I6c141)

वर्शन 1.1

वर्शन 1.1.0

7 फ़रवरी, 2024

androidx.wear.protolayout:protolayout-*:1.1.0 रिलीज़ हो गया है. 1.1.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के बाद किए गए अहम बदलाव

  • ArcLine में ग्रेडिएंट की सुविधा और 360 डिग्री से ज़्यादा की लंबाई को बेहतर तरीके से दिखाने की सुविधा.
  • तारीख-समय फ़ॉर्मैटिंग, डाइनैमिक डेटा टाइप के लिए अलग-अलग टाइम ज़ोन के साथ काम करती है.
  • काटे गए टेक्स्ट को मैनेज करने के लिए, टेक्स्ट के अपने-आप साइज़ बदलने और उसे छोटा करने के बेहतर विकल्प.
  • स्पैसर, विकल्प के तौर पर वेट के साथ बड़े किए गए डाइमेंशन के साथ काम करता है.
  • सभी ProtoLayout एपीआई के लिए, स्कीमा वर्शन की ज़रूरी शर्तों का एनोटेशन.
  • सुलभता से जुड़ी ज़रूरी शर्तों को पूरा करने के लिए, किसी भी Clickable एलिमेंट के टारगेट एरिया को 48 डीपी x 48 डीपी तक बढ़ाया गया.
  • फ़ॉन्ट पैडिंग की सुविधा डिफ़ॉल्ट रूप से बंद रहती है. यह सुविधा, टेक्स्ट वाले सभी टेक्स्ट एलिमेंट और Material कॉम्पोनेंट में काम करती है.

अन्य बदलाव

  • वर्शन 1.1.0 में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, beta01 रिलीज़ नोट देखें.

वर्शन 1.1.0-rc01

24 जनवरी, 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 रिलीज़ हो गया है. 1.1.0-rc01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अपडेट चालू करने के तुरंत बाद, PlatformTimeUpdateNotifierImpl पर सही का निशान दिखता है. (I77145)
  • CircularProgressIndicator को आरटीएल लेआउट के लिए ठीक कर दिया गया है. अब से, यह सभी मामलों में घड़ी की सुई की दिशा में चलेगा. (I95ee3)
  • स्किया आर्क ड्रॉइंग से जुड़ी समस्या को हल करने का तरीका जोड़ा गया. (I08f09)

वर्शन 1.1.0-beta01

10 जनवरी, 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 रिलीज़ हो गया है. 1.1.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

Wear ProtoLayout के 1.1.0-beta01 रिलीज़ से पता चलता है कि लाइब्रेरी के इस रिलीज़ में सभी सुविधाएं मौजूद हैं और एपीआई लॉक है. हालांकि, जिन एपीआई को प्रयोग के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.1 में ये नई सुविधाएं और एपीआई शामिल हैं:

  • ArcLine में अब ग्रेडिएंट की सुविधा है. इसके लिए, SweepGradient के साथ Brush जोड़ें. साथ ही, कैप पर शैडो जोड़ें, ताकि 360 डिग्री से ज़्यादा की लंबाई को बेहतर तरीके से दिखाया जा सके. इसके लिए, मौजूदा StrokeCap पर Shadow जोड़ें.
  • DynamicInstant में, टाइमज़ोन के हिसाब से तारीख और समय को फ़ॉर्मैट करने की सुविधा है. DynamicInstant और DynamicDuration का इस्तेमाल, स्टेटस या प्लैटफ़ॉर्म डेटा टाइप के तौर पर किया जा सकता है.
  • टेक्स्ट साइज़ के लिए, अपने-आप साइज़ बदलने की सुविधा. इसकी मदद से, FontStyle.setSizes के लिए कई साइज़ सेट किए जा सकते हैं. इसमें टेक्स्ट साइज़, पैरंट के अंदर मौजूद जगह के हिसाब से अपने-आप स्केल हो जाएगा. इसके अलावा, हमने TEXT_OVERFLOW_ELLIPSIZE जोड़कर और TEXT_OVERFLOW_ELLIPSIZE_END को बंद करके, ओवरफ़्लो होने वाले टेक्स्ट के लिए, एलिप्सिस करने के विकल्पों को बेहतर बनाया है.
  • Spacer में अब वैकल्पिक वेट के साथ बड़े किए गए डाइमेंशन का इस्तेमाल किया जा सकता है. ExpandedDimensionProp बनाने के लिए, हमने एक सहायक तरीका DimensionBuilders.weight जोड़ा है.
  • Modifier.visible की मदद से, लेआउट एलिमेंट को डाइनैमिक तौर पर छिपाने और दिखाने की सुविधा. इसमें BoolProp में डाइनैमिक वैल्यू शामिल हैं.
  • सभी ProtoLayout एपीआई में अब स्कीमा वर्शन की ज़रूरी शर्तों का एनोटेशन है. साथ ही, नए एपीआई को कॉल करने से पहले, वर्शन की जांच की जा सकती है.
  • ऐक्सेस-योग्यता से जुड़ी ज़रूरी शर्तों को बेहतर तरीके से पूरा करने के लिए, अब रेंडरर में Clickable वाले हर एलिमेंट का टारगेट एरिया कम से कम 48x48 तक बढ़ा दिया गया है.
  • Material के अन्य कॉम्पोनेंट और Compose के इनिशिएटिव के मुताबिक, हमने अब सभी Text एलिमेंट पर फ़ॉन्ट पैडिंग को डिफ़ॉल्ट रूप से बंद कर दिया है. इसके अलावा, AndroidTextStyle और उससे जुड़े सेटर को सार्वजनिक एपीआई से हटा दिया गया है. साथ ही, इन गड़बड़ियों को ठीक किया गया है:
  • EdgeContentLayout में किनारे के कॉन्टेंट को पोज़िशन करने के लिए सेटर जोड़ा गया, ताकि उसे दूसरे कॉन्टेंट से पहले पोज़िशन किया जा सके.
  • किसी ऐसी वैल्यू का इस्तेमाल करने पर अपवाद मिलने की संभावना होती है जिसकी पहचान नहीं की जा सकी हो.
  • जब किसी एक्सप्रेशन से अमान्य संख्या वाली वैल्यू (NaN या अनंत) मिलती है या ArithmeticException मिलता है, तो उस एक्सप्रेशन के नतीजे को अमान्य कर दें.

एपीआई में हुए बदलाव

  • SweepGradient एपीआई में अपडेट, ताकि कन्स्ट्रक्टर में रंग या ColorStops में से किसी एक को स्वीकार किया जा सके. (I6676f)

गड़बड़ियां ठीक की गईं

  • ऐर्क एलिमेंट को खींचने की दिशा सेट करने के लिए, प्रतिबंधित एपीआई और रेंडरर की सुविधा जोड़ी गई है. (Idef5a)
  • अगर RoundMode की वैल्यू नहीं दी गई है, तो FloatToInt32Node में यह डिफ़ॉल्ट रूप से Floor पर सेट हो जाती है. अगर दिया गया RoundMode पहचाना नहीं जाता है, तो नोड अब भी अपवाद दिखाएगा. (I1b2d8)

वर्शन 1.1.0-alpha04

13 दिसंबर, 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 रिलीज़ हो गया है. 1.1.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • VersionInfo क्लास, Comparable इंटरफ़ेस को लागू नहीं करती. (I8d13c)
  • रेंडरर अब TEXT_OVERFLOW_ELLIPSIZE विकल्प के साथ काम करता है. (I7f085)

एपीआई में हुए बदलाव

  • टेक्स्ट ओवरफ़्लो विकल्प TEXT_OVERFLOW_ELLIPSIZE_END अब काम नहीं करता. कृपया नए एपीआई TEXT_OVERFLOW_ELLIPSIZE का इस्तेमाल करें. यह एपीआई, मौजूदा एपीआई की तरह ही काम करता है. (I822d8)
  • Material के अन्य कॉम्पोनेंट और Compose के इनिशिएटिव के मुताबिक, हमने अब सभी टेक्स्ट एलिमेंट पर फ़ॉन्ट पैडिंग को डिफ़ॉल्ट रूप से बंद कर दिया है. इसके अलावा, AndroidTextStyle और उससे जुड़े सेटर को सार्वजनिक एपीआई से हटा दिया गया है. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hidden को Modifier.visible (I56902) से बदला गया
  • FontStyle#setSizes अब SpProp आर्ग्युमेंट के बजाय int स्वीकार करता है. (I02b37)

गड़बड़ियां ठीक की गईं

  • अगर कोई वैल्यू तय नहीं की गई है या किसी वैल्यू की पहचान नहीं की जा सकी है, तो अपवाद दिखाएं. (I9d2cf)
  • DynamicTypeBindingRequest को फिर से तैयार करना. (I27b57)
  • जब किसी एक्सप्रेशन से अमान्य संख्या वाली वैल्यू (NaN या अनंत) मिलती है या ArithmeticException मिलता है, तो उस एक्सप्रेशन के नतीजे को अमान्य कर दें. (I681ae)

वर्शन 1.1.0-alpha03

29 नवंबर, 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 रिलीज़ हो गया है. 1.1.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • लेआउट एलिमेंट को डाइनैमिक तौर पर छिपाने/दिखाने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध सुविधा जोड़ी गई (I64a78)
  • BoolProp (I2fe96) में डाइनैमिक वैल्यू की सुविधा जोड़ना
  • ProtoLayout एपीआई में स्कीमा वर्शन की ज़रूरी शर्त का एनोटेशन जोड़ना (I0f03c)
  • TextOverflow में नए विकल्प के साथ एपीआई को एक्सटेंड किया गया है. इससे, तय किए गए पैरंट कंटेनर में टेक्स्ट को एलिप्सिस (बिंदुओं के बीच में टेक्स्ट) के तौर पर दिखाया जा सकता है. ऐसा तब भी किया जा सकता है, जब टेक्स्ट की लाइन की संख्या तय सीमा तक न पहुंची हो, लेकिन टेक्स्ट के लिए ज़रूरत के मुताबिक जगह न हो. (I110a9)
  • वज़न के साथ ExpandedDimensionProp बनाने के लिए, सहायक तरीका DimensionBuilders.weight जोड़ा गया. (I4f72b)
  • DynamicInstant और DynamicDuration का इस्तेमाल, स्टेटस या प्लैटफ़ॉर्म डेटा टाइप के तौर पर किया जा सकता है. (I6819f)

एपीआई में हुए बदलाव

  • DynamicZonedDateTime को छिपाने और उसके सभी ऑपरेशन को DyanamicInstant पर ले जाने के लिए, एपीआई को अपडेट करना (I34b94)
  • अब स्पैसर में चौड़ाई/ऊंचाई के लिए, बड़ा किया गया डाइमेंशन काम करता है. (Ie7c94)
  • रेंडरर में क्लिक टारगेट एरिया एक्सटेंशन की सुविधा जोड़ी गई (I39c79)

वर्शन 1.1.0-alpha02

15 नवंबर, 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 रिलीज़ हो गया है. 1.1.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • एपीआई में ArcLine StrokeCap Shadow फ़ील्ड जोड़ा गया. (I830ec)
  • एपीआई को बड़ा किया जा रहा है, ताकि Spacer की चौड़ाई या ऊंचाई को बड़ा किया जा सके. (I757ca)
  • हमने एक्सपेरिमेंट के तौर पर एक एपीआई जोड़ा है. इससे, पैरंट एलिमेंट में मौजूद जगह के हिसाब से टेक्स्ट का साइज़ अपने-आप तय हो जाएगा. (Ibbe63)
  • क्लिक किए जा सकने वाले आइटम का कम से कम साइज़ (I178e3)
  • StrokeCap Shadow के लिए रेंडरर की सुविधा जोड़ी गई. (I48b17)
  • ArcLine में स्वीप ग्रेडिएंट के लिए रेंडरर की सुविधा जोड़ें. (I4d5bb)

वर्शन 1.1.0-alpha01

18 अक्टूबर, 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 रिलीज़ हो गया है. 1.1.0-alpha01 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • Arcline में ब्रश का विकल्प जोड़ा गया है. यह विकल्प SweepGradient के साथ भी काम करता है. (Ie7ce3)
  • ज़ोन के हिसाब से तारीख-समय फ़ॉर्मैट करने की सुविधा जोड़ी गई. (Ibfae0)
  • टाइम ज़ोन के हिसाब से तारीख और समय को फ़ॉर्मैट करने के लिए, ज़रूरी प्रोटो और Java Wrapper जोड़े गए. (I97126)
  • DynamicDataValue में सेव की गई वैल्यू को पढ़ने के लिए, गेट्टर जोड़े गए. (Ie6cea)
  • EdgeContentLayout में एज कॉन्टेंट को पोज़िशन करने के लिए सेटर जोड़ा गया, ताकि उसे दूसरे कॉन्टेंट से पहले पोज़िशन किया जा सके. (Ie8e8a)

गड़बड़ियां ठीक की गईं

  • एक से ज़्यादा बार डेटा सोर्स के रजिस्टरेशन वाला एक्सप्रेशन तुरंत अपडेट न होने की समस्या को ठीक किया गया. (I8e1a8)
  • डिफ़रेंस अपडेट के दौरान, रूट एलिमेंट को सेंटर में रखने से जुड़ी गड़बड़ी को ठीक किया गया. (Ie48f7)
  • अब लेआउट की पाबंदी की सेट नहीं की गई (या खाली) वैल्यू को अनदेखा नहीं किया जाएगा. (Ibc785)
  • लेआउट दिखने और उसके पाइपलाइन नोड के शुरू होने के बीच की देरी कम हो गई है. (I38d4e)

संस्करण 1.0

वर्शन 1.0.0

9 अगस्त, 2023

androidx.wear.protolayout:protolayout-*:1.0.0 रिलीज़ हो गया है. 1.0.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के वर्शन की मुख्य सुविधाएं

ProtoLayout लाइब्रेरी में, लेआउट और एक्सप्रेशन बनाने के लिए एपीआई शामिल किए गए हैं. इनका इस्तेमाल, Wear OS के अलग-अलग प्लैटफ़ॉर्म पर किया जा सकता है. उदाहरण के लिए, टाइल लाइब्रेरी इन एपीआई का इस्तेमाल, प्लैटफ़ॉर्म डेटा बाइंडिंग (टाइल डेटा को तेज़ी से अपडेट करने के लिए) और ऐनिमेशन के साथ काम करने के लिए करती है.

वर्शन 1.0.0-rc01

26 जुलाई, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 रिलीज़ हो गया है. 1.0.0-rc01 वर्शन में ये कमिट शामिल हैं.

  • टाइल से ProtoLayout पर माइग्रेट करने के लिए, कृपया यहां दिए गए निर्देशों का पालन करें.

एपीआई में हुए बदलाव

  • हमने Arc एलिमेंट से setLayoutConstraintForDynamicAnchorAngle और getLayoutConstraintForDynamicAnchorAngle तरीके हटा दिए हैं. ये तरीके गलती से जोड़े गए हैं. इनका दिए गए लेआउट पर कोई असर नहीं पड़ा है. (If7d01)
  • हमने ProtoLayout के लेआउट में नेस्ट किए गए LayoutElements की ज़्यादा से ज़्यादा संख्या को 30 तक सीमित कर दिया है. (I8a74b)

गड़बड़ियां ठीक की गईं

  • हमने एक चेक जोड़ा है, ताकि अगर DynamicColor को SpanText के लिए सेट किया गया है, तो गड़बड़ी का मैसेज दिखाया जा सके. (I0e5bc)
  • यह साफ़ तौर पर बताया गया है कि DAILY_CALORIES डेटा सोर्स की यूनिट केकैल है. (Iaa785)

वर्शन 1.0.0-beta01

21 जून, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 रिलीज़ हो गया है. 1.0.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • समय से जुड़े टेस्ट के लिए, घड़ी सेट करने की अनुमति दें. (I05622)

एपीआई में हुए बदलाव

  • PlatformDataReceiver.onData() और StateBuilders.Builder.addKeyToValueMapping अब असुरक्षित सामान्य वैल्यू के बजाय, DynamicDataKey से DynamicDataValue की टाइप-सेफ़ मैपिंग स्वीकार करते हैं. इसका मतलब है कि DynamicDataValue अब DynamicType के साथ टाइप किया जाता है. HEART_RATE_ACCURACY_X कॉन्स्टेंट को PlatformHealthSources के रूट में ले जाया गया, ताकि वे Android के अन्य कॉन्स्टेंट की पोज़िशनिंग से मेल खा सकें. HEART_RATE_ACCURACY_X int constants का इस्तेमाल अब वैल्यू कॉन्स्टेंट के बजाय, सीधे DynamicHeartRateAccuracy.constant() और DynamicHeartRateAccuracy.dynamicDataValueOf() में किया जाता है. (I82ff5)
  • PlatformHealthSources.Constants क्लास को गलती से इंस्टैंशिएट किया गया था. अब यह समस्या ठीक कर दी गई है. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver को अब Supplier फ़ंक्शन के बजाय Runnable और सूचना देने के लिए Executor मिलता है. (I9d938)
  • हमने PlatformTimeUpdateNotifier#setReceiver में पैरामीटर टाइप को Callable से बदलकर Supplier कर दिया है. (I664bf)
  • CompactChip और TitleChip में अब आइकॉन जोड़ा जा सकता है. (I5a01e)

गड़बड़ियां ठीक की गईं

  • इसके बजाय, oneof का इस्तेमाल करने के लिए, प्रॉपर्टी मैसेज को डाइनैमिक फ़ील्ड के साथ अपडेट करें (I81739)
  • ऐसे ओवरलोड के लिए सेटर लागू करने की सुविधा का फिर से इस्तेमाल करना जिनमें सेटर हैं (Ied70c)
  • ओवरलोड वाले सेटर में फ़िंगरप्रिंट को सही तरीके से रिकॉर्ड करना (I86ed2)

वर्शन 1.0.0-alpha11

7 जून, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 रिलीज़ हो गया है. 1.0.0-alpha11 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • हमने दिल की धड़कन की सटीक जानकारी के लिए, PlatformDataKey जोड़ा है. (I7f9b8)

एपीआई में हुए बदलाव

  • StateBuilders#getIdToValueMapping का नाम बदलकर getKeyToValueMapping करें और रिटर्न टाइप को Map<<AppDataKey<?>,DynamicDataValue> में बदलें. (Iaa7ae)
  • StateStore को फ़ाइनल क्लास बनाएं (I408ca)
  • protolayout-expression-pipeline लाइब्रेरी में TimeGateway इंटरफ़ेस को PlatformTimeUpdateNotifier से बदल दिया गया है. यह समय डेटा को अपडेट करने के लिए, अपनी पसंद के मुताबिक फ़्रीक्वेंसी उपलब्ध कराता है. (I60869)
  • PlatformDataProvider में register/unregisterForData का नाम बदलकर set/clearReceiver करें (I14b02)
  • मटीरियल टेक्स्ट में, getExcludeFontPadding का नाम बदलकर hasExcludeFontPadding कर दिया गया है. (Iea01d)
  • सभी चिप कॉम्पोनेंट में, लेबल को सही तरीके से अलाइन करने के लिए सेटर जोड़ा गया. अब सभी चिप पर, टैप किए जाने की कम से कम संख्या वाला टारगेट लागू है. (I8ae92)
  • LayoutDefaults#BUTTON_MAX_NUMBER का नाम बदलकर MAX_BUTTONS कर दिया गया है. (I84788)
  • DAILY_DISTANCE का नाम बदलकर DAILY_DISTANCE_M कर दिया गया. (I4f758)

गड़बड़ियां ठीक की गईं

  • प्रॉपर्टी टाइप के दस्तावेज़ों को अपडेट करें, ताकि यह साफ़ तौर पर बताया जा सके कि स्टैटिक वैल्यू क्यों लागू की जाती है. अगर स्टैटिक वैल्यू नहीं दी गई है, तो डिफ़ॉल्ट वैल्यू डालें. (I155aa)
  • PlatformDataKey नेमस्पेस के नाम, Java स्टाइल के नामों के मुताबिक होने चाहिए. (I47bda)

वर्शन 1.0.0-alpha10

24 मई, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 रिलीज़ हो गया है. 1.0.0-alpha10 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ऐप्लिकेशन की पुश की गई स्थिति को ऐक्सेस करने के लिए AppDataKey जोड़ें; प्लैटफ़ॉर्म डेटा को ऐक्सेस करने के लिए PlatformDataKey जोड़ें; StateStore में नेमस्पेस के लिए सहायता जोड़ें. (I7985e)
  • DynamicBool के लिए Equal और NotEqual ऑपरेशन की सुविधा. (I6a0c1)

एपीआई में हुए बदलाव

  • FontStyles क्लास अब फ़ाइनल है (Iaa2ea)
  • LayoutElementBuilders#FontStyles का अब इस्तेमाल नहीं किया जा सकता. कृपया androidx.wear.protolayout.Typography का इस्तेमाल करें या अपना FontStyle बनाएं. (Ic929b)
  • Action इंटरफ़ेस से Action#Builder नेस्ट किए गए इंटरफ़ेस को छिपाएं. LoadAction और LaunchAction क्लास में, पहले से ही बिल्डर लागू करने की सुविधा उपलब्ध है. (I1d70c)
  • FloatProp के साथ DynamicFloat का इस्तेमाल करने की अनुमति दें. ध्यान दें कि FloatProp के लिए लेआउट की पाबंदियों की ज़रूरत नहीं होती, क्योंकि इसका इस्तेमाल लेआउट बदलने वाले प्रॉप के तौर पर नहीं किया जाता. (I286ac)
  • LoalAction और SetStateAction कार्रवाइयों को हटा दिया गया है, क्योंकि वे अब तक काम नहीं कर रही थीं. (I5d6a6)
  • इनलाइन इमेज संसाधनों के लिए ARGB_8888 फ़ॉर्मैट की सुविधा जोड़ी गई. (I8a07c)
  • StateEntryValue का नाम बदलकर DynamicDataValue करें और DynamicDataKey (If1c01) का इस्तेमाल करने के लिए, स्टेटस एपीआई अपडेट करें
  • हम StateStore में अनुमति वाली एंट्री की संख्या सीमित कर रहे हैं. इससे यह पक्का किया जा सकेगा कि StateStore के हर इंस्टेंस के लिए, मेमोरी का इस्तेमाल और स्टेटस अपडेट होने में लगने वाला समय, कंट्रोल में रहे. इसलिए, डेवलपर को यह पक्का करना होगा कि उनके मैप में MAX_STATE_ENTRY_COUNT से ज़्यादा एंट्री न हों. ऐसा न होने पर, StateStore बनाते या अपडेट करते समय उन्हें IllegalStateException दिखेगा. (Ibadb3)
  • OnLoadTrigger और OnConditionMetTrigger क्लास छिपाएं. साथ ही, OnConditionMetTrigger के लिए setTrigger का नाम बदलकर setCondition करें. (Ibf629)
  • परफ़ॉर्मेंस और काम करने के तरीके की वजह से, ProtoLayout रेंडरर AnimatedVectorDrawable संसाधनों में सुविधाओं के पूरे सेट के साथ काम नहीं करेंगे. हम उन एपीआई को तब तक एक्सपेरिमेंट के तौर पर मार्क कर रहे हैं, जब तक कि हम काम करने वाले सेट की जानकारी नहीं दे पाते. (Ic6daf)
  • हर दिन की दूरी, हर दिन की कैलोरी, और हर दिन चढ़े गए फ़्लोर के लिए डाइनैमिक टाइप जोड़े गए. प्लैटफ़ॉर्म के स्वास्थ्य से जुड़े कॉन्टेंट के सोर्स की कुंजियां अब PlatformHealthSources.Keys (Ib7637) में मौजूद हैं
  • Easing.cubicBezier तरीका, CubicBezierEasing.Builder की जगह ले लेता है. इस बदलाव के बाद, EasingFunction क्लास हटा दी गई है. साथ ही, उस क्लास के ईज़िंग कॉन्स्टेंट को अब सीधे Easing इंटरफ़ेस से ऐक्सेस किया जा सकता है. इसके अलावा, setInfiniteRepeatable को INFINITE_REPEATABLE_WITH_RESTART और INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7) से बदला गया है
  • धड़कन की दर और हर दिन चले गए कदमों की जानकारी देने के लिए, PlatformDataProvider लागू करें. SensorGateway इंटरफ़ेस को सार्वजनिक एपीआई से हटा दिया गया है. (I55b84)
  • जब एक्सप्रेशन पाइपलाइन के नोड को, सेवा देने वाली कंपनी की कुंजी की ज़रूरत हो, तो PlatformDataProvider जोड़ें और StateStore को PlatformDataProvider पर रजिस्टर करने के लिए अपडेट करें. (Ib616a)
  • SensorGateway अब Closeable नहीं है, क्योंकि अब इसमें कोई स्टेटस सेव नहीं किया जाता. (I6b4f7)
  • CircularProgressIndicator में प्रोग्रेस दिखाने के लिए, DynamicFloat के साथ FloatProp का इस्तेमाल करने की अनुमति दें. यह सुविधा, 1.2 वर्शन के साथ काम करने वाले रेंडरर के लिए उपलब्ध है. अगर staticValue एट्रिब्यूट की वैल्यू दी गई है, तो पुराने रेंडरर उस पर फ़ॉलबैक करेंगे. अगर वैल्यू नहीं दी गई है, तो वे 0 (I0d91b) पर फ़ॉलबैक करेंगे
  • MultiButtonLayout कॉन्स्टेंट को LayoutDefaults.MultiButtonLayoutDefaults क्लास में रीफ़ैक्ट किया गया है. इसमें अब लेआउट में बटन की संख्या के हिसाब से, बटन के साइज़ शामिल हैं. (I13973)
  • Material Text में DynamicString के साथ StringProp का इस्तेमाल करने की सुविधा जोड़ी गई है. यह सुविधा, 1.2 वर्शन के साथ काम करने वाले रेंडरर के लिए उपलब्ध है. पुराने रेंडरर, दी गई स्टैटिक वैल्यू पर फ़ॉलबैक करेंगे. Text#getText के रिटर्न टाइप को String से StringProp पर अपडेट करें. (I7275b)

वर्शन 1.0.0-alpha09

10 मई, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 रिलीज़ हो गया है. 1.0.0-alpha09 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • हमने एक्सपेरिमेंट के तौर पर, एक्सटेंशन लेआउट एलिमेंट जोड़ा है. ध्यान दें कि इसका इस्तेमाल डिफ़ॉल्ट रूप से नहीं किया जा सकता. इसके लिए, रेंडरर एक्सटेंशन की ज़रूरत होती है, जो लेआउट एलिमेंट को समझ सके. (I6581d)
  • ArcLine के लिए, StrokeCap की सहायता जोड़ी गई. (I94951)
  • शर्त के साथ तुरंत लागू होने वाले ऑपरेशन के लिए सहायता जोड़ी गई. (I489a7)
  • शर्त के साथ अवधि तय करने की सुविधा जोड़ी गई. (Iab469)
  • सेकंड में अवधि तय करने की सुविधा जोड़ी गई. (Ib5fa1)

एपीआई में हुए बदलाव

  • enable/disablePlatformSource को DynamicTypeEvaluator से हटा दिया गया है. अपडेट करने की ज़िम्मेदारी कॉल करने वाले की होनी चाहिए. (I78c6d)
  • बाउंड किए गए डेटा टाइप के साइज़ को सीमित करने की अनुमति दें. (Ie2966)
  • protolayout-material में डाइनैमिक कॉन्टेंट के ब्यौरे के लिए सहायता जोड़ें. (I62c8e)
  • AnimationParameters में, अवधि और देरी के लिए long और @IntRange का इस्तेमाल करें. (I388b6)

वर्शन 1.0.0-alpha08

19 अप्रैल, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 रिलीज़ हो गया है. 1.0.0-alpha08 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • AndroidTextStyle को LayoutElementBuilders में जोड़ दिया गया है. (I8d967)
  • हमने ProtoLayout मटीरियल टेक्स्ट में, फ़ॉन्ट पैडिंग को हटाने की सुविधा जोड़ी है. (I17f5d)
  • अब इनलाइन इमेज के लिए ARGB_8888 काम करता है. (I18c1e)
  • DynamicColor अब onConditionऑपरेशन के साथ काम करता है. (I10927)

एपीआई में हुए बदलाव

  • रिवर्स ऐनिमेशन के लिए, कस्टम अवधि की सुविधा जोड़ी गई है (I3251f)
  • हमने SemanticDescription मॉडिफ़ायर जोड़ा है. इसके अलावा, ContentDescription को बांधने की सुविधा नहीं है. (I3f1d)
  • DynamicBool.isFalse()method को अब DynamicBool.negate() से बदल दिया गया है और DynamicBool.isTrue() को हटा दिया गया है. साथ ही, NaN DynamicFloat वैल्यू और DynamicInt32 को DynamicFloat तक सीमित करने पर, अब अमान्य डाइनैमिक नतीजा दिखता है. (I6ac1e)
  • Int और float फ़ॉर्मैटर अब बिल्डर पैटर्न का इस्तेमाल करते हैं. (Ieb213)

गड़बड़ियां ठीक की गईं

  • ऐनिमेशन वाले फ़ील्ड से फ़ॉलबैक स्टैटिक वैल्यू हटा दी गई है. (Ifcb01)
  • DynamicTypeValueReceiver#onPreUpdate को हटा दिया गया है. (I2dc35)
  • डाइनैमिक एक्सप्रेशन में स्ट्रिंग की लंबाई अब तय है. (I4c93)
  • ज़रूरत पड़ने पर, gradle की डिपेंडेंसी अब implementation के बजाय api पर सही तरीके से सेट हो जाती हैं. (I40503)

वर्शन 1.0.0-alpha07

5 अप्रैल, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 रिलीज़ हो गया है. 1.0.0-alpha07 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • StringProp में डाइनैमिक वैल्यू की सुविधा जोड़ना (I04342)
  • बाइंड किए जा सकने वाले लेआउट एलिमेंट मार्क करना (Ia110b)

एपीआई में हुए बदलाव

  • sensorGateway#registerSensorGatewayConsumer, Consumer में पैरामीटर के तौर पर डेटा टाइप लेता है, न कि तरीके के तौर पर. (Icf314)
  • ObservableStateStore का नाम बदलकर StateStore कर दिया गया है. (Ieb0e2)
  • ज़्यादा वैकल्पिक आर्ग्युमेंट की अनुमति देने के लिए, कन्स्ट्रक्टर आर्ग्युमेंट के बजाय DynamicTypeEvaluator.Builder जोड़ा गया. इनमें ObservableStateStore भी शामिल है, जो अब डिफ़ॉल्ट रूप से खाली स्टोर पर सेट होता है. (I6f832)
  • DynamicTypeEvaluator में पैरामीटर का क्रम बदला गया. (Ic1ba4)

गड़बड़ियां ठीक की गईं

  • प्लैटफ़ॉर्म सेंसर सोर्स से डाउनस्ट्रीम नोड तक सिग्नल को सही तरीके से भेजना (I5a922)

वर्शन 1.0.0-alpha06

22 मार्च, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 रिलीज़ हो गया है. 1.0.0-alpha06 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • हमने डाइनैमिक एक्सप्रेशन (Ifd711) में, दिल की धड़कन और रोज़ के कदमों की जानकारी का इस्तेमाल करने के लिए, एक्सपेरिमेंट के तौर पर एक एपीआई जोड़ा है
  • हमने ऐनिमेशन के लिए, पीछे और आगे की ओर जाने में लगने वाले समय की सुविधा जोड़ी है. (Ic25f7)
  • हमने बॉर्डर और बैकग्राउंड में DynamicColor की सुविधा जोड़ी है
  • हमने DimensionBuilder में टाइप के लिए, डाइनैमिक वैल्यू की सुविधा जोड़ी है
  • tiles-material के लेआउट और कॉम्पोनेंट को protolayout-material में ले जाया जा रहा है

एपीआई में हुए बदलाव

  • LoadActionListener को ProtoLayoutViewInstance में जोड़ दिया गया है. (If7806)

गड़बड़ियां ठीक की गईं

  • FloatNodesTest (Id7281) जोड़ा गया
  • स्ट्रक्चर्ड बिटमैप लोड न होने पर, रेंडरर क्रैश होने की समस्या को ठीक किया गया.

वर्शन 1.0.0-alpha05

8 मार्च, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 रिलीज़ हो गया है. 1.0.0-alpha05 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • हमने Modifiers ऑब्जेक्ट में, एक्सपेरिमेंट के तौर पर "कॉन्टेंट अपडेट" ऐनिमेशन जोड़ा है. जब भी लेआउट अपडेट के दौरान, इस मॉडिफ़ायर वाले एलिमेंट या उसके किसी चाइल्ड एलिमेंट में बदलाव होगा, तब यह ऐनिमेशन ट्रिगर होगा. (bd03e5d)

एपीआई में हुए बदलाव

  • हमने Repeatable में forwardRepeatDelayMillis और reverseRepeatDelayMillis को जोड़ा है. हमने AnimationSpec में delayMillis का नाम बदलकर startDelayMillis (Ifb266) कर दिया है
  • DynamicTypeEvaluator.bind के तरीके अब एक एग्ज़ीक्यूटर स्वीकार करते हैं. (I346ab)
  • हमने BoundDynamicType में startEvaluation तरीका जोड़ा है, ताकि डाइनैमिक टाइप के बाउंड होने के बाद, आकलन को ट्रिगर किया जा सके. (I19908)

गड़बड़ियां ठीक की गईं

  • किसी एक एलिमेंट के बाद के ऐनिमेशन के लिए, ऐनिमेशन ऑब्जेक्ट का फिर से इस्तेमाल किया जाएगा. (Ia3be9)

वर्शन 1.0.0-alpha04

22 फ़रवरी, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 रिलीज़ हो गया है. 1.0.0-alpha04 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • ObservableStateStore अब किसी पासकोड को हटाने पर भी, दर्शकों को इसकी सूचना देता है.
  • हमने DeviceParameters में रेंडरर स्कीमा वर्शन और फ़ॉन्ट स्केल जोड़ा है. इसका इस्तेमाल, अलग-अलग वर्शन और फ़ॉन्ट सेटिंग के हिसाब से लेआउट बनाने के लिए किया जा सकता है.
  • हमने DynamicInt32 वैल्यू को ऐनिमेट करने की सुविधा जोड़ी है (I05485)
  • हमने OnLoad और OnConditionalMet ट्रिगर जोड़े हैं. इनका इस्तेमाल, ट्रिगर के साथ काम करने वाले ऐनिमेशन शुरू करने के लिए किया जा सकता है.
  • हमने बड़े किए गए डाइमेंशन के लिए लेआउट का वज़न और रैप किए गए डाइमेंशन के लिए कम से कम साइज़ जोड़ा है.
  • हमने डाइनैमिक टाइप के तौर पर, 'कितनी देर तक चलेगा' और 'इंस्टैंट' विकल्प जोड़े हैं. इनका इस्तेमाल, डाइनैमिक एक्सप्रेशन में किसी समय या अवधि को दिखाने के लिए किया जा सकता है.
  • हमने लेआउट संसाधनों के तौर पर, AnimatedVectorDrawable और SeekableAnimatedVectorDrawable के लिए सहायता जोड़ी है.

एपीआई में हुए बदलाव

  • सेंसर डेटा के लिए, API 29 या इसके बाद का वर्शन ज़रूरी है. (I8099e)
  • हमने गतिविधियां लॉन्च करने के लिए, दो launchAction हेल्पर तरीके जोड़े हैं.

गड़बड़ियां ठीक की गईं

  • टाइल ऐनिमेशन में set/getSpec का नाम बदलकर set/getAnimationSpec करें (I3d74b)

वर्शन 1.0.0-alpha03

8 फ़रवरी, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 रिलीज़ हो गया है. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • हमने protolayout-express लाइब्रेरी में डाइनैमिक टाइप में toByteArray() और fromByteArray() जोड़े हैं.
  • हमने protolayout-expression लाइब्रेरी में डाइनैमिक टाइप में toString() जोड़ा है.
  • हमने डाइनैमिक टाइप के लिए, आकलन की सुविधा जोड़ी है. protolayout-expression-pipeline लाइब्रेरी की DynamicTypeEvaluator क्लास का इस्तेमाल, पहले से बनाए गए डाइनैमिक टाइप (DynamicString, DynamicFloat, …) का आकलन करने और अपडेट की गई वैल्यू पाने के लिए किया जा सकता है
  • जब ऐनिमेशन नहीं चल सकते (ऐसा इसलिए होता है, क्योंकि एवैल्यूएटर ने उन्हें बंद कर दिया है या चल रहे ऐनिमेशन की संख्या तय सीमा तक पहुंच गई है), तो ऐनिमेशन को बदलने के लिए, ऐनिमेट किए जा सकने वाले नोड पर सेट की गई स्टैटिक वैल्यू का इस्तेमाल किया जाएगा.

वर्शन 1.0.0-alpha02

25 जनवरी, 2023

androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02, और androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 रिलीज़ हो गए हैं. 1.0.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • androidx.wear.tiles:tiles से लेआउट बिल्डर, androidx.wear.protolayout:protolayout पर माइग्रेट हो रहे हैं. androidx.wear.tiles:tiles में मौजूद प्रॉपर्टी, अल्फा वर्शन के अगले रिलीज़ में काम नहीं करेंगी.

वर्शन 1.0.0-alpha01

11 जनवरी, 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 और androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 रिलीज़ हो गए हैं. 1.0.0-alpha01 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • इस रिलीज़ में, डाइनैमिक वैरिएबल से एक्सप्रेशन बनाने के लिए एक नई लाइब्रेरी "ProtoLayout Expression" लॉन्च की गई है.