wear protolayout

  
इस लाइब्रेरी की मदद से, यूज़र इंटरफ़ेस (यूआई) लेआउट और नॉन-यूआई एक्सप्रेशन का एक सेट तय किया जा सकता है. इसे रिमोट सर्फ़ेस पर रेंडर/इवैल्यूएट किया जा सकता है.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
01 जुलाई, 2026 1.4.1 - - -

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

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.4.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.4.1"

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

Kotlin

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

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

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

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

सुझाव/राय दें या शिकायत करें

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

नई समस्या दर्ज करने का तरीका

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

वर्शन 1.4

वर्शन 1.4.1

01 जुलाई, 2026

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

कमज़ोरियों और सुरक्षा से जुड़ी समस्याओं को ठीक करना

  • मेमोरी का इस्तेमाल कम करने के लिए, इमेज के डाइमेंशन की सीमा 2048px और रॉ साइज़ की सीमा 20MB तय की गई है.
  • लेआउट डेप्थ की जांच को लागू किया गया. ऐसा एक बग को ठीक करके किया गया है. इस बग की वजह से, डीप लेआउट फ़िंगरप्रिंट ऑप्टिमाइज़ेशन के दौरान डेप्थ लागू करने की सुविधा को स्किप कर पाते थे.
  • DashedArcLine में अनबाउंडेड गैप पैरामीटर की वजह से, ऐरे बाउंड से बाहर की स्थिति में होने वाली गड़बड़ी/क्रैश को रोका गया.
  • IllegalArgumentExceptions को एक्सप्रेशन पाइपलाइन में ज़्यादा सुरक्षित तरीके से गड़बड़ी लॉग करने और नोड अमान्य करने की सुविधा से बदल दिया गया है.
  • गलत फ़ॉर्मैट वाले इमेज यूआरआई प्रोसेस करते समय, न पकड़ी गई NullPointerException को ठीक किया गया है.

वर्शन 1.4.0

25 मार्च, 2026

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

1.3.0 के बाद हुए मुख्य बदलाव:

नई सुविधाएं

  • Wear ProtoLayout के 1.4.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.4 में ये नई सुविधाएं और एपीआई शामिल हैं:
    • इनलाइन की गई इमेज ऐसेट और परफ़ॉर्मेंस में सुधार: ऐसेट को हैंडल करने का बेहतर तरीका पेश किया गया है. इसमें ImageResource को सीधे तौर पर लेआउट में इनलाइन किया जा सकता है.
    • Material3TileService: टाइलें बनाने के लिए, Kotlin के साथ काम करने वाली नई सेवा शुरू की गई है. यह डेवलपमेंट को आसान बनाता है. इसके लिए, यह एक ही सस्पेंड फ़ंक्शन उपलब्ध कराता है, ताकि टाइल लेआउट और संसाधन, दोनों को वापस लाया जा सके. यह तेज़ी से टाइल लोड करने के लिए, बेहतर संसाधन हैंडलिंग और परफ़ॉर्मेंस को बेहतर बनाने के लिए, MaterialScope और ProtoLayoutScope को अपने-आप मैनेज करता है.
    • टाइल की झलक दिखाने की सुविधा से जुड़ा अपडेट: टाइल की झलक दिखाने की सुविधा के टूल को अपडेट किया गया है, ताकि यह ProtoLayoutScope संसाधनों को अपने-आप मैनेज करने की नई सुविधा के साथ काम कर सके. इससे यह पक्का किया जा सकेगा कि झलक में इनलाइन किए गए संसाधन सही तरीके से दिखें और इसके लिए अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत न पड़े.
    • Kotlin DSL में कई सुधार किए गए हैं: Kotlin का इस्तेमाल करने वाले डेवलपर के अनुभव को बेहतर बनाने के लिए, Tile और टाइल बनाने के लिए ज़रूरी अन्य सभी एपीआई (जैसे, Timeline) के लिए, खास Kotlin हेल्पर जोड़े गए हैं.
    • डाइनैमिक सर्विस स्विचिंग: METADATA_GROUP_KEY को पेश किया गया है. इससे डेवलपर, मेनिफ़ेस्ट में कई TileService इंस्टेंस को ग्रुप कर सकते हैं. इससे, ओएस के नए वर्शन पर एक ही टाइल को दिखाने वाली अलग-अलग सेवाओं के बीच डाइनैमिक तरीके से स्विच किया जा सकता है.
    • अपडेट में टाइल आईडी: डेवलपर अब अपडेट के अनुरोधों में कोई खास tileId तय कर सकते हैं. इससे उन्हें यह तय करने में ज़्यादा आसानी होगी कि कौनसे टाइल इंस्टेंस को रीफ़्रेश किया जाए.
    • कंपाइल एसडीके का वर्शन बढ़ा दिया गया है: नए Material3TileService और बेहतर तरीके से संसाधन मैनेज करने की सुविधा के लिए, compileSdk के वर्शन की ज़रूरी शर्त को बढ़ाकर 35 कर दिया गया है.
    • एएनआर को रोकना: टाइल अपडेट करने के अनुरोधों के दौरान, अनबाइंडिंग लॉजिक को बैकग्राउंड थ्रेड में ले जाया गया है, ताकि "ऐप्लिकेशन काम नहीं कर रहा" (एएनआर) गड़बड़ियों को रोका जा सके.
    • दिल की धड़कन के डेटा के लिए, RequiresPermission एनोटेशन का सही इस्तेमाल: एपीआई 36 से शुरू होने वाले वर्शन में, PlatformHealthSources.heartRateBpm या PlatformHealthSources.heartRateAccuracy को कॉल करने के लिए, कॉलिंग ऐप्लिकेशन को android.health.connect.HealthPermissions.READ_HEART_RATE अनुमति देनी होगी.

वर्शन 1.4.0-rc02

11 मार्च, 2026

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

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

  • एपीआई 36 से, हार्ट रेट के डेटा को ऐक्सेस करने के लिए, कॉलिंग ऐप्लिकेशन को android.health.connect.HealthPermissions.READ_HEART_RATE अनुमति देनी होगी. जैसे, PlatformHealthSources.heartRateBpm और PlatformHealthSources.heartRateAccuracy के साथ ProtoLayout Expressions लाइब्रेरी के ज़रिए हार्ट रेट के डेटा को ऐक्सेस करना.

वर्शन 1.4.0-rc01

25 फ़रवरी, 2026

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

वर्शन 1.4.0-beta01

11 फ़रवरी, 2026

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

नई सुविधाएं

Wear ProtoLayout के 1.4.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.4 में ये नई सुविधाएं और एपीआई शामिल हैं:

  • इनलाइन की गई इमेज ऐसेट और परफ़ॉर्मेंस में सुधार: ऐसेट को हैंडल करने का बेहतर तरीका पेश किया गया है. इसमें ImageResource को सीधे तौर पर लेआउट में इनलाइन किया जा सकता है.
    • इससे डेवलपमेंट की प्रोसेस काफ़ी आसान हो जाती है. ऐसा इसलिए, क्योंकि onTileResourcesRequest में मैन्युअल तरीके से रिसॉर्स मैप करने की ज़रूरत नहीं पड़ती. साथ ही, यह तरीका उस तरीके को बदल देता है.
    • इससे टाइलें लोड होने में लगने वाला समय काफ़ी कम हो जाता है. ऐसा इसलिए होता है, क्योंकि इसमें दो बाइंडर कॉल की ज़रूरत नहीं होती. इसमें सिर्फ़ onTileResourcesRequest तरीके को लागू किया जा सकता है.
    • सभी Image एपीआई अब इस कॉन्सेप्ट के साथ काम करते हैं. इसके लिए, वे नए तरीके उपलब्ध कराते हैं. इन तरीकों में, Image को स्वीकार किया जाता है.ProtoLayoutScope
  • Material3 के स्कोप और संसाधनों का अपने-आप रजिस्टर होना: इनलाइन इमेज संसाधनों के साथ Material3 MaterialScope के कॉन्सेप्ट को सपोर्ट करने के लिए, materialScopeWithResources जोड़ा गया. यह स्कोप, अपने-आप संसाधन रजिस्टर करने की सुविधा को मैनेज करता है. साथ ही, इसमें इमेज (backgroundImage, avatarImage, और icon) के लिए नए हेल्पर तरीके शामिल हैं, ताकि कॉम्पोनेंट के इस्तेमाल को आसान बनाया जा सके.

    • आसान कोड स्निपेट:

      materialScopeWithResources(
      context = context,
      deviceConfiguration = deviceParameters,
          protoLayoutScope = protoLayoutScope) {
        primaryLayout(
        // layout setup here
      iconContent = { **icon**(
      **imageResource**(
      **androidImageResource**(R.drawable.myIcon)))})
      //…
      }
      
  • PendingIntent की सुविधा: टाइल के लिए, PendingIntent की सुविधा जोड़ी गई है. PendingIntent क्लिक किए जा सकने वाले एलिमेंट, फ़ॉलबैक ऐक्शन (LoadAction या LaunchAction) स्वीकार करते हैं. इससे यह पक्का होता है कि अगर ProtoLayout रेंडरर कोई पुराना वर्शन है, जो PendingIntent के साथ काम नहीं करता है, तो मान्य फ़ॉलबैक ऐक्शन का इस्तेमाल अपने-आप किया जाता है.

  • Kotlin डीएसएल में कई सुधार किए गए हैं:

    • Kotlin का इस्तेमाल करने वाले डेवलपर के अनुभव को बेहतर बनाने के लिए, Image और सभी ImageResources टाइप के लिए, Kotlin के खास हेल्पर जोड़े गए हैं.
    • मॉडर्न Android डेवलपमेंट के साथ ज़्यादा बेहतर तरीके से काम करने के लिए, कंटेनर टाइप के लिए हेल्पर जोड़े गए हैं. जैसे, Box, Row, Column वगैरह.
    • फ़ेड इन ऐनिमेशन के लिए, नया Kotlin Transformation मॉडिफ़ायर और हेल्पर तरीके जोड़े गए.
  • Lottie ऐनिमेशन को पसंद के मुताबिक बनाना: AndroidLottieResourceByResId में एपीआई जोड़ा गया है, ताकि प्रॉपर्टी के ज़रिए Lottie ऐनिमेशन को पसंद के मुताबिक बनाया जा सके. साथ ही, किसी स्लॉट को उसके आईडी और तय किए गए रंग के आधार पर थीम करने के लिए, प्रॉपर्टी बनाने से जुड़ी सहायता और एपीआई जोड़ा गया है.

  • ऐंबियंट मोड की जानकारी: एक नया प्लैटफ़ॉर्म इवेंट सोर्स, isInAmbientMode जोड़ा गया है. इससे लेआउट, डिवाइस के ऐंबियंट मोड में होने या न होने के आधार पर प्रतिक्रिया दे सकते हैं और एक्सप्रेशन अपडेट कर सकते हैं.

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

  • Material3 इमेज हेल्पर: Material3 के मौजूदा इमेज हेल्पर को बंद कर दिया गया है. इसके बजाय, ProtoLayoutScope और इनलाइन किए गए नए संसाधन हैंडलिंग का इस्तेमाल करने वाले नए ओवरलोड उपलब्ध कराए गए हैं.
  • MaterialScope अपडेट: materialScopeWithResources के ज़रिए बनाए जाने पर, MaterialScope में मौजूद protoLayoutScope फ़ील्ड को इस्तेमाल करना NonNull होता है. इसकी मौजूदगी की जांच करने के लिए, नया hasProtoLayoutScope फ़ंक्शन जोड़ा गया है. MaterialScope, Context के लिए सार्वजनिक फ़ील्ड भी दिखाता है.
  • सिमैंटिक हेडिंग, LayoutModifier में एपीआई के तौर पर उपलब्ध है.
  • आर्क की दिशा के लिए सहायता ARC_DIRECTION_* कॉन्स्टेंट अब सार्वजनिक तौर पर उपलब्ध हैं, ताकि इनका इस्तेमाल Arc/ArcLine/ArcText/DashedArcLine एलिमेंट में किया जा सके.

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

  • संसाधन की तुलना: संसाधन टाइप की तुलना करने के लिए, बेहतर hash और equals तरीकों को लागू करके परफ़ॉर्मेंस को ऑप्टिमाइज़ किया गया है.
  • एकल स्लॉट वाले textButton पर, कॉन्टेंट की डिफ़ॉल्ट जानकारी लागू करें.
  • रेंडरर साइड में ज़्यादा से ज़्यादा लाइनों को अडजस्ट करने के लिए, कैलकुलेशन ठीक करें.

वर्शन 1.4.0-alpha05

28 जनवरी, 2026

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

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

  • नया Kotlin Transformation मॉडिफ़ायर जोड़ा गया है. (I195a7, b/397169191)

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

  • हमने बेहतर संसाधन हैंडलिंग की समस्या को ठीक कर दिया है. इसके लिए, हमने TileService से स्टेटफ़ुल ProtoLayoutScope को हटा दिया है. (I5dc0a, b/474614772)

वर्शन 1.4.0-alpha04

14 जनवरी, 2026

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

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

  • हमने Material3 में इमेज से जुड़ी मदद करने वाली सुविधाओं को बंद कर दिया है. अब नई ओवरलोड सुविधाएं उपलब्ध हैं. ये सुविधाएं ProtoLayoutScope का इस्तेमाल करती हैं. साथ ही, इनमें संसाधनों को मैनेज करने का बेहतर तरीका इस्तेमाल किया जाता है. इसमें ImageResource को सीधे तौर पर लेआउट में इनलाइन किया जा सकता है. इससे संसाधनों की मैपिंग के लिए, onTileResourcesRequest तरीके का इस्तेमाल करने की ज़रूरत नहीं पड़ती. बेहतर अनुभव के लिए, इसे Wear Tiles 1.6-alpha04 वर्शन में जोड़े गए androidx.wear.tiles.Material3TileService के साथ इस्तेमाल करें. (I8198c, b/440376391)

वर्शन 1.4.0-alpha03

17 दिसंबर, 2025

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

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

  • अब बेहतर तरीके से रिसॉर्स हैंडल करने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, दो तरह के रिसॉर्स की तुलना की जाती है. इसके लिए, ऑप्टिमाइज़ किए गए हैश और बराबर के तरीकों का इस्तेमाल किया जाता है. (82f21b2f)

वर्शन 1.4.0-alpha02

22 अक्टूबर, 2025

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

नई सुविधाएं

  • नया प्लैटफ़ॉर्म इवेंट सोर्स (isInAmbientMode) जोड़ा गया है. इससे यह पता चलता है कि डिवाइस ऐंबियंट मोड में है या नहीं (Ief832)

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

  • PendingIntent clickable अब फ़ॉलबैक ऐक्शन (LoadAction/LaunchAction) स्वीकार करता है. इसका इस्तेमाल तब किया जाता है, जब ProtoLayout रेंडरर, PendingIntent के साथ काम नहीं करता. जब रेंडरर का वर्शन, PendingIntent के साथ काम करने वाले वर्शन से कम होता है, तब फ़ॉलबैक ऐक्शन अपने-आप चुन लिया जाता है और लेआउट में रख दिया जाता है. (I6eee2, b/450259727)
  • MaterialScope में मौजूद protoLayoutScope फ़ील्ड को अब NonNull बना दिया गया है. इससे materialScopeWithResources के ज़रिए MaterialScope बनाने पर, इसे आसानी से इस्तेमाल किया जा सकेगा. इसके अलावा, इसकी मौजूदगी की जांच करने के लिए hasProtoLayoutScope फ़ंक्शन है. (I1858f, b/450067019)

वर्शन 1.4.0-alpha01

24 सितंबर, 2025

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

नई सुविधाएं

  • LayoutModifier के लिए हेल्पर मेथड जोड़ा गया है. इससे टाइल दिखने के दौरान, एलिमेंट फ़ेड इन हो जाता है. (I38531, b/390345969)
  • M3 MaterialScope के कॉन्सेप्ट को सपोर्ट करने के लिए materialScopeWithResources जोड़ा गया है. यह अपने-आप संसाधन रजिस्टर करने की सुविधा भी देता है. इसमें, इमेज (backgroundImage avatarImage और आइकॉन) के लिए नई हेल्पर विधियां जोड़ी गई हैं. इनका इस्तेमाल करने पर, onTileResourceRequest में संसाधनों को मैन्युअल तरीके से रजिस्टर करने की ज़रूरत नहीं पड़ती. (I525bd, b/428692714)
  • ProtoLayout और ImageResources के साथ इस्तेमाल करने के लिए, ProtoLayout Kotlin हेल्पर. साथ ही, ProtoLayoutScope और संसाधन के अपने-आप रजिस्टर होने की सुविधा.Image (Iada82, b/430584304)
  • Lottie ऐनिमेशन को पसंद के मुताबिक बनाने के लिए, कितनी Lottie प्रॉपर्टी इस्तेमाल की जा सकती हैं, इसके लिए getter जोड़ा गया. (I73733, b/436532706)
  • AndroidLottieResourceByResId में एपीआई जोड़ा गया है. इससे प्रॉपर्टी के ज़रिए Lottie ऐनिमेशन को पसंद के मुताबिक बनाया जा सकेगा. साथ ही, थीम वाले स्लॉट के लिए प्रॉपर्टी बनाने के लिए एपीआई जोड़ा गया है. इससे स्लॉट आईडी के साथ-साथ तय किए गए रंग को भी जोड़ा जा सकेगा. (I301b3, b/423581481)
  • PendingIntent को क्लिक ऐक्शन के तौर पर स्वीकार करने के लिए, सेवा देने वाली कंपनी के एपीआई जोड़ें (I01978, b/433802488)
  • Image.Builder में नया एपीआई जोड़ें - setImageResource, ताकि onTileRequest में इमेज को सीधे तौर पर रिसॉर्स ऑब्जेक्ट पर सेट किया जा सके. इसके लिए, onTileResourcesRequest में मैपिंग में इसे रजिस्टर करने की ज़रूरत नहीं है. (Ifa69a, b/428693523)
  • टाइल में बेहतर तरीके से संसाधनों को मैनेज करने के लिए, ProtoLayoutScope का कॉन्सेप्ट जोड़ा गया. (I132ce, b/428692423)
  • ProtoLayout Material3 MaterialScope अब Context फ़ील्ड को सार्वजनिक तौर पर उपलब्ध कराता है, ताकि इसका इस्तेमाल स्कोप में मौजूद तरीकों में किया जा सके. इसके लिए, इसे पास करने की ज़रूरत नहीं होती. (I0e5cc, b/414559956)
  • हेडिंग के सिमैंटिक एपीआई को सार्वजनिक करें (I75299, b/413653475)
  • ARC_DIRECTION_* कॉन्स्टेंट को सार्वजनिक के तौर पर दिखाएं, ताकि इनका इस्तेमाल Arc/ArcLine/ArcText/DashedArcLine में किया जा सके. (I83959, b/427556439)

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

  • हमने Image.Builder() और Image.Builder.setResourceId तरीकों को बंद कर दिया है. इनके बजाय, अब अपने-आप संसाधन रजिस्टर करने वाले नए एपीआई का इस्तेमाल किया जा सकता है. यह Image.Builder(ProtoLayoutScope) और Image.Builder.setImageResource एपीआई में उपलब्ध है. इससे onTileResourcesRequest को बदलने की ज़रूरत नहीं पड़ती. (I7bfe6, b/432758526)
  • ProtoLayoutScope बनाने के लिए, एपीआई को पाबंदी वाले ऐक्सेस से बदलकर सार्वजनिक ऐक्सेस पर सेट करें. हालांकि, इनका इस्तेमाल नहीं किया जाना चाहिए, क्योंकि सिस्टम पहले से ही उन कॉल को हैंडल करता है. (I1d8e8, b/432758251)

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

  • ProtoTiles में PendingIntent के साथ काम करने की सुविधा जोड़ी गई (I38167, b/430610429)
  • invalidateLayout तरीका जोड़ें. (Ief898)
  • डिफ़ॉल्ट minSdk को API 21 से API 23 पर ले जाना (Ibdfca, b/380448311, b/435705964, b/435705223)
  • ImageResource में अब hashCode और equals तरीके उपलब्ध हैं. (I650ee, b/428692423, b/428693523)
  • नया प्रोटो मैसेज PendingIntentAction और उसका रैपर बिल्डर (Ie2aca, b/427643502) जोड़ें
  • ZoneId इंस्टेंस को कम बार बनाया जाता है. (I284d3)
  • एक ही स्लॉट textButton पर डिफ़ॉल्ट कॉन्टेंट की जानकारी लागू करें. (I0dc8a, b/415001534)
  • रेंडरर साइड में ज़्यादा से ज़्यादा लाइनों को अडजस्ट करने के लिए, कैलकुलेशन ठीक करें. (I933bc, b/414353620)

वर्शन 1.3

वर्शन 1.3.0

4 जून, 2025

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

1.2.0 के बाद हुए ज़रूरी बदलाव

  • Material 3 डिज़ाइन अब स्मार्टवॉच पर भी उपलब्ध है. इसमें ऐसे कॉम्पोनेंट और लेआउट शामिल हैं जिन्हें गोल डिसप्ले के लिए ऑप्टिमाइज़ किया गया है. साथ ही, ये छोटी से लेकर बड़ी स्क्रीन के साइज़ के हिसाब से सही तरीके से स्केल होते हैं
    • इसमें सिर्फ़ Kotlin, protolayout-material3 लाइब्रेरी शामिल है. इसमें इन कॉम्पोनेंट और सुविधाओं के लिए, Compose जैसे ज़्यादा एपीआई शामिल हैं:
    • सिस्टम और स्मार्टवॉच की होम स्क्रीन से मिलने वाली डाइनैमिक कलर थीम. इसमें रंगों, आकृतियों, और टाइपोग्राफ़ी के लिए, Material3 की नई थीम का इस्तेमाल किया गया है
    • MaterialScope, जिसमें ओपिनियनटेड डिफ़ॉल्ट और आसान तरीके से पसंद के मुताबिक बनाने की सुविधा होती है
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • सभी कॉम्पोनेंट, SDK टूल के किसी भी लेवल और ProtoLayout रेंडरर वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
  • ProtoLayout के बुनियादी एलिमेंट के लिए, Compose जैसे एपीआई जो Kotlin के साथ बेहतर तरीके से काम करते हैं
    • LayoutModifier में, चेन किए गए फ़ंक्शन (padding, contentDescription (इसमें clearSemantics भी शामिल है), background, clip, opacity वगैरह) के तौर पर ज़्यादा से ज़्यादा मॉडिफ़ायर जोड़ने की सुविधा होती है. इसे मौजूदा Modifiers ऑब्जेक्ट में बदला जा सकता है
    • LayoutColors और LayoutString को टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता है
    • text और fontStyle
    • StateBuilder के लिए बेहतर मैप सपोर्ट, जिसमें DynamicDataMap और फ़ैक्ट्री के तरीके शामिल हैं. जैसे, AppDataKey ऑब्जेक्ट को आसानी से बनाने के लिए intAppDataKey
  • Lottie ऐनिमेशन में, यह विकल्प शामिल होता है कि ऐनिमेशन कब शुरू होना चाहिए. उदाहरण के लिए, लेआउट लोड होने पर या लेआउट दिखने पर
    • ग्रेडिएंट के लिए बेहतर सहायता:
    • Brush के हिस्से के तौर पर लीनियर ग्रेडिएंट एपीआई, जिसका इस्तेमाल Background मॉडिफ़ायर में किया जा सकता है. जैसे, Box, Spacer वगैरह. …
    • लीनियर और स्वीप ग्रेडिएंट के लिए इस्तेमाल किए गए ColorStop में डाइनैमिक कलर वैल्यू की अनुमति दें
    • आर्क ऑब्जेक्ट में मौजूद स्वीप ग्रेडिएंट अब डाइनैमिक रंगों के साथ-साथ, शुरू और खत्म होने वाले ऐंगल के साथ काम करता है
  • protolayout-expression में प्लैटफ़ॉर्म डेटा बाइंडिंग की सुविधा उपलब्ध है. इससे लेआउट की दृश्यता में बदलाव होने पर, आपको सूचना मिलती है. उदाहरण के लिए, इस सुविधा का इस्तेमाल करके, टाइल को स्वाइप करते समय लेआउट के कुछ हिस्सों को छिपाया जा सकता है
  • Testing library - protolayout-testing - को जोड़ा गया है, ताकि किसी भी ProtoLayout एलिमेंट के लिए यूनिट टेस्ट कवरेज को आसानी से सपोर्ट किया जा सके
  • बेहतर सुविधाओं वाला नया एलिमेंट DashedArcLine, ताकि लाइन में डैश हो सकें. ऐसा मौजूदा ArcLine के बजाय किया जा सकता है
  • ArcSpacer डिग्री के बजाय, डीपी डाइमेंशन में इसकी लंबाई सेट करने की सुविधा
  • कुछ फ़ॉन्ट के लिए, राउंडनेस FontSetting ऐक्सिस जोड़ा गया

वर्शन 1.3.0-rc01

20 मई, 2025

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

वर्शन 1.3.0-beta02

7 मई, 2025

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

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

  • हमने टाइपोग्राफ़ी डिज़ाइन वैल्यू में एक अहम सुधार किया है. यह सुधार, एपीआई 36 और इसके बाद के वर्शन पर लागू होता है. ऐसा इसलिए है, क्योंकि एपीआई 36 से सभी टाइलें सिस्टम फ़ॉन्ट में होंगी. इसलिए, इस बदलाव से टाइल कैरसेल में बेहतर एकरूपता आएगी. (If316f)
  • Text,Spacer, ArcLine, और DashedArcLine बिल्डर, layoutConstraintsके लिए डाइनैमिक वैल्यू सेट न होने पर गड़बड़ी नहीं दिखाएंगे. ध्यान दें कि पुराने रेंडरर के लिए, layoutConstraints को सेट करना अब भी ज़रूरी है. साथ ही, वे ऐसी किसी भी डाइनैमिक वैल्यू को अनदेखा कर देंगे जिसके लिए यह सेट नहीं है. (Ic52e8)
  • हेडिंग सिमैंटिक्स मॉडिफ़ायर जोड़ें. इससे यह पता चलेगा कि लेआउट एलिमेंट, सुलभता के लिए कॉन्टेंट के किसी सेक्शन की हेडिंग है. साथ ही, primaryLayout के टाइटल स्लॉट में मौजूद टेक्स्ट को डिफ़ॉल्ट रूप से सुलभता हेडिंग के तौर पर मार्क करें. (Iae1fb)
  • primaryLayout के यूज़र इंटरफ़ेस (यूएक्स) को बेहतर बनाया गया है. इसमें छोटी स्क्रीन पर, टाइटल स्लॉट और मुख्य स्लॉट के बीच की जगह को 6dp से घटाकर 4dp कर दिया गया है. (I0e056)
  • textEdgeButton पर कॉन्टेंट की डिफ़ॉल्ट जानकारी लागू करें. (Ifaf8b)
  • avatarButton की इनर पैडिंग में मामूली बदलाव किया गया है. (I0910b)

वर्शन 1.3.0-beta01

9 अप्रैल, 2025

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

नई सुविधाएं

Wear ProtoLayout के 1.3.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.3 में ये नई सुविधाएं और एपीआई शामिल हैं:

  • Material 3 डिज़ाइन अब स्मार्टवॉच पर भी उपलब्ध है. इसमें ऐसे कॉम्पोनेंट और लेआउट शामिल हैं जिन्हें गोल डिसप्ले के लिए ऑप्टिमाइज़ किया गया है. साथ ही, ये छोटी से लेकर बड़ी स्क्रीन के साइज़ के हिसाब से सही तरीके से स्केल होते हैं
    • इसमें सिर्फ़ Kotlin, protolayout-material3 लाइब्रेरी शामिल है. इसमें इन कॉम्पोनेंट और सुविधाओं के लिए, Compose जैसे ज़्यादा एपीआई शामिल हैं:
    • सिस्टम और स्मार्टवॉच की होम स्क्रीन से मिलने वाली डाइनैमिक कलर थीम. इसमें रंगों, आकृतियों, और टाइपोग्राफ़ी के लिए, Material3 की नई थीम का इस्तेमाल किया गया है
    • MaterialScope, जिसमें ओपिनियनटेड डिफ़ॉल्ट और आसान तरीके से पसंद के मुताबिक बनाने की सुविधा होती है
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • सभी कॉम्पोनेंट, एसडीके के किसी भी लेवल और ProtoLayout Renderer के वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
  • ProtoLayout के बुनियादी एलिमेंट के लिए, Compose जैसे एपीआई जो Kotlin के साथ बेहतर तरीके से काम करते हैं
    • LayoutModifier में, चेन किए गए फ़ंक्शन (padding, contentDescription (इसमें clearSemantics भी शामिल है), background, clip, opacity वगैरह) के तौर पर ज़्यादा से ज़्यादा मॉडिफ़ायर जोड़ने की सुविधा होती है. इसे मौजूदा Modifiers ऑब्जेक्ट में बदला जा सकता है
    • LayoutColors और LayoutString को टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता है
    • text और fontStyle
    • StateBuilder के लिए बेहतर मैप सपोर्ट, जिसमें DynamicDataMap और फ़ैक्ट्री के तरीके शामिल हैं. जैसे, AppDataKey ऑब्जेक्ट को आसानी से बनाने के लिए intAppDataKey
  • Lottie ऐनिमेशन में, यह विकल्प शामिल होता है कि ऐनिमेशन कब शुरू होना चाहिए. उदाहरण के लिए, लेआउट लोड होने पर या लेआउट दिखने पर
    • ग्रेडिएंट के लिए बेहतर सहायता:
    • Brush के हिस्से के तौर पर लीनियर ग्रेडिएंट एपीआई, जिसका इस्तेमाल Background मॉडिफ़ायर में किया जा सकता है. जैसे, Box, Spacer वगैरह. …
    • लीनियर और स्वीप ग्रेडिएंट के लिए इस्तेमाल किए गए ColorStop में डाइनैमिक कलर वैल्यू की अनुमति दें
    • आर्क ऑब्जेक्ट में मौजूद स्वीप ग्रेडिएंट अब डाइनैमिक रंगों के साथ-साथ, शुरू और खत्म होने वाले ऐंगल के साथ काम करता है
  • protolayout-expression में प्लैटफ़ॉर्म डेटा बाइंडिंग की सुविधा उपलब्ध है. इससे लेआउट की दृश्यता में बदलाव होने पर, आपको सूचना मिलती है. उदाहरण के लिए, इस सुविधा का इस्तेमाल करके, टाइल को स्वाइप करते समय लेआउट के कुछ हिस्सों को छिपाया जा सकता है
  • Testing library - protolayout-testing - को जोड़ा गया है, ताकि किसी भी ProtoLayout एलिमेंट के लिए यूनिट टेस्ट कवरेज को आसानी से सपोर्ट किया जा सके
  • बेहतर सुविधाओं वाला नया एलिमेंट DashedArcLine, ताकि लाइन में डैश हो सकें. ऐसा मौजूदा ArcLine के बजाय किया जा सकता है
  • ArcSpacer डिग्री के बजाय, डीपी डाइमेंशन में इसकी लंबाई सेट करने की सुविधा
  • कुछ फ़ॉन्ट के लिए, राउंडनेस FontSetting ऐक्सिस जोड़ा गया

वर्शन 1.3.0-alpha10

12 मार्च, 2025

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

नई सुविधाएं

  • Kotlin के Background Modifier में Brush के लिए हेल्पर जोड़ें. (I995de)
  • Android Context फ़ील्ड को MaterialScope में सार्वजनिक कर दिया गया है. इससे डेवलपर के फ़ंक्शन में इसका इस्तेमाल करना आसान हो जाएगा. ये फ़ंक्शन, Material3 टाइल के लिए कॉम्पोनेंट बनाते हैं. (I7df73)

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

  • एपीआई platformVisibilityStatus का नाम बदलकर PlatformEventSources.isLayoutVisible कर दिया गया है. साथ ही, एक्सपेरिमेंट के तौर पर उपलब्ध नया एपीआई PlatformEventSources.isLayoutUpdatePending जोड़ा गया है. (Ie1e04)

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

  • primaryLayout के लिए मार्जिन को अब सही तरीके से राउंड अप किया गया है. इससे कुछ लेआउट पर असर पड़ सकता है. मुख्य स्लॉट के लिए 2dp जगह कम हो सकती है. (I8f5d3)
  • ProtoLayout Material3 कॉम्पोनेंट में, डाइनैमिक कलर की डिफ़ॉल्ट थीम के बारे में ज़्यादा जानकारी. (Iff5f3)
  • Typography.NUMERAL_* टाइपोग्राफ़ी अब डिफ़ॉल्ट रूप से, टेबल/मोनोस्पेस नहीं होती हैं. अगर टेक्स्ट में ऐनिमेशन हो रहा है, तो हमारा सुझाव है कि आप उसमें FontSetting.tabularNum() सेटिंग जोड़ें. अन्य सभी मामलों में, इस मोनोस्पेस विकल्प की ज़रूरत नहीं होती. इसका इस्तेमाल न करने पर, ज़्यादा वर्ण उपलब्ध होंगे. (Id3cd9)
  • ProtoLayout Material3 कॉम्पोनेंट में, डाइनैमिक कलर की डिफ़ॉल्ट थीम के बारे में ज़्यादा जानकारी. (I9d831)

वर्शन 1.3.0-alpha09

26 फ़रवरी, 2025

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

नई सुविधाएं

  • enterTransition और exitTransition के लिए एक्सपेरिमेंटल मॉडिफ़ायर जोड़े गए (I4a4d6)
  • हमने प्लैटफ़ॉर्म बाइंडिंग की सुविधा जोड़ी है, ताकि जब भी फ़ुल लेआउट में बदलाव हो, तो आपको उसकी जानकारी मिल सके. (I250c3)
  • डाइनैमिक वैल्यू का आकलन करने के लिए, टेस्टिंग ऐप्लिकेशन की स्थिति और प्लैटफ़ॉर्म डेटा को LayoutElementAssertionsProvider में इंजेक्ट करने की अनुमति दें. (Ib5fcb)
  • प्रोटोलayout टेस्टिंग लाइब्रेरी (Ie2361) में कॉर्नर फ़िल्टर जोड़ें
  • ButtonColors, CardColors, और ProgressIndicatorColors अब कॉपी करने के तरीके के साथ काम करते हैं. साथ ही, कुछ पैरामीटर को बदलने का विकल्प भी मिलता है. (Ie2054)

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

  • टेस्टिंग लाइब्रेरी (Ib98de) में डाइनैमिक डेटा बाइंडिंग की सुविधा जोड़ी गई
  • ओवरले हटाकर, backgroundImage फ़ंक्शन के साथ इस्तेमाल किए जाने वाले imageButton को ठीक किया गया. इसके अलावा, backgroundImage फ़ंक्शन को यह अनुमति दें कि वह ओवरले के रंग के लिए शून्य तय कर सके. इसका मतलब है कि ओवरले लागू नहीं किया जाएगा. (Ibec3c)

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

  • डिफ़ॉल्ट hasValueOfType तरीके को बदलकर, IllegalArgumentException के बजाय UnsupportedOperationException थ्रो करने का तरीका इस्तेमाल किया गया. (Ia36c3)
  • डिफ़ॉल्ट कलर टोकन की वैल्यू को अपडेट किया गया है, ताकि वे नए स्पेसिफ़िकेशन के मुताबिक दिखें. (I75d44)
  • AndroidX टाइल्स रेंडरर में, आर्क लाइनों पर दिखने वाली एलियासिंग की समस्या को ठीक किया गया है. (I88190)

वर्शन 1.3.0-alpha08

12 फ़रवरी, 2025

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

नई सुविधाएं

  • Material3 टेक्स्ट के लिए, FontSetting सूची पैरामीटर जोड़ें. (Ic102d)
  • DynamicDataMap क्लास जोड़ी गई है. यह अब ऐप्लिकेशन की स्थितियों (I012ba) के लिए, टाइप से सुरक्षित Kotlin API के साथ काम करती हैStateBuilder
  • AppDataKey ऑब्जेक्ट (Icea2a) को आसानी से बनाने के लिए, फ़ैक्ट्री के तरीके जोड़े गए. जैसे, intAppDataKey
  • DynamicDataValue में अब hasInt/hasColor/.... तरीकों के अलावा, hasValueOfType(Class<?>) तरीका भी उपलब्ध है (I4f7a6)
  • हमने ज़्यादा ज़रूरी गड़बड़ियों या आपातकालीन कार्रवाइयों के लिए, Material3 ProtoLayout ColorScheme में errorDim जोड़ा है. जैसे, सुरक्षा से जुड़ी सूचनाएं. (Ia17bb)
  • हमने ग्लोबल रिड्यूसमॉशन सेटिंग को ऐक्सेस करते समय क्रैश होने से बचाने के लिए एक गार्ड जोड़ा है. यह सेटिंग, उन प्लैटफ़ॉर्म पर ट्रिगर हुई थी जहां यह सेटिंग उपलब्ध नहीं थी. (I01e2c)

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

  • addKeyToValueMapping का नाम बदलकर addToStateMap कर दिया गया है. साथ ही, DynamicDataMap.put तरीकों को हटा दिया गया है, क्योंकि वे काम के नहीं थे. (Ibe9dd)
  • Material3 टाइपोग्राफ़ी अब उन सिस्टम फ़ॉन्ट के लिए राउंडनेस वैरिएबल ऐक्सिस के साथ काम करती है जो इस ऐक्सिस के साथ काम करते हैं. ProtoLayout FontSetting, उन फ़ॉन्ट के लिए राउंडनेस ऐक्सिस का इस्तेमाल करता है जो इस ऐक्सिस के साथ काम करते हैं. (I33eb5)
  • Material3 टेक्स्ट मेथड में, multilineAlignment का नाम बदलकर अलाइनमेंट कर दिया गया है. (I2b66b)
  • सर्कुलर प्रोग्रेस इंडिकेटर को बॉक्स टाइप में अपडेट करें. साथ ही, mainContent में mainContent को बॉक्स टाइप (I5a3dc) के तौर पर सेट करेंconstructGraphic
  • ग्राफ़ (I039db) में सर्कुलर प्रोग्रेस इंडिकेटर का इस्तेमाल करने की सुविधा को बेहतर बनाया गया है

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

  • ColorStop में डाइनैमिक वैल्यू और SweepGradient में शुरुआती/आखिरी कोण के लिए भी डाइनैमिक वैल्यू इस्तेमाल करने की अनुमति दें. (I0146d)
  • Docs से जुड़ी गड़बड़ियां ठीक की गईं. (I4a63a)
  • Material 3 के कॉम्पोनेंट (graphicCard और avatarButton) को अपडेट किया गया है, ताकि weight expand डाइमेंशन के काम न करने पर फ़ॉलबैक उपलब्ध कराया जा सके. जैसे, एपीआई 33 से नीचे के वर्शन में. टेक्स्ट कॉम्पोनेंट को अपडेट किया गया है, ताकि रेंडरर के TEXT_OVERFLOW_ELLIPSIZE के साथ काम न करने पर, वह TEXT_OVERFLOW_ELLIPSIZE_END पर फ़ॉलबैक कर सके. (I19e2c)
  • PrimaryLayoutMargins के लिए Docs अपडेट. (Ibaf7b)

वर्शन 1.3.0-alpha07

29 जनवरी, 2025

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

नई सुविधाएं

  • Lottie ऐनिमेशन के लिए अलग-अलग ट्रिगर सेट करने का एपीआई विकल्प जोड़ा गया. इसके अलावा, लेआउट दिखने पर ट्रिगर किए गए ट्रिगर के लिए एपीआई जोड़ा गया (I8272d)
  • border, visibility, और opacity मॉडिफ़ायर जोड़े गए. (I6d3dd)
  • ProtoLayout Material3 कॉम्पोनेंट में अवतार बटन जोड़ा गया. (Idb5ae)
  • अब हम Material3 primaryLayout में मार्जिन (साइड और कुछ मामलों में नीचे) को पसंद के मुताबिक बनाने की अनुमति दे रहे हैं. (Ib22f6)
  • सर्कुलर प्रोग्रेस इंडिकेटर का सेगमेंट किया गया वर्शन जोड़ें. (I6a648)
  • ProtoLayout Material3 में कॉम्पैक्ट बटन कॉम्पोनेंट जोड़ा गया. (Ia3c5c)
  • ProtoLayout Material3 में पिल शेप बटन और इमेज बटन कॉम्पोनेंट जोड़े गए. (Ifb88a)

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

  • LayoutModfier.foldIn को अब foldRight कहा जाता है, ताकि इसके अनुमानित व्यवहार (Idf242) को बेहतर तरीके से दिखाया जा सके
  • VisibleOnce ट्रिगर की सुविधा, अब एक्सपेरिमेंट के तौर पर उपलब्ध है. (Ib2d26)
  • सार्वजनिक एपीआई से withOpacity को हटा दें, क्योंकि ग्राफ़िक्स लाइब्रेरी का विकल्प उपलब्ध है. (I030c2)
  • LayoutString.kt और LayoutColor.kt में टॉप लेवल के तरीकों के नाम बदले गए हैं, ताकि वे Java के हिसाब से सही हों. (I7aff0)
  • Material3 में, ProtoLayout के अलावा अन्य टाइपोग्राफ़ी को हटा दिया गया है. (Idd9ae)
  • Material3 में *Colors क्लास के फ़ील्ड में, Color सफ़िक्स जोड़ें. (I2d114)

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

  • EdgeButton को लागू करने का फ़ॉलबैक जोड़ें. यह फ़ॉलबैक, ऐसे पुराने रेंडरर के लिए है जिनमें एसिमेट्रिकल कॉर्नर की सुविधा काम नहीं करती. (I63364)
  • पुराने रेंडरर के साथ, सर्कुलर प्रोग्रेस इंडिकेटर का फ़ॉलबैक लागू करें. (I0f134)

वर्शन 1.3.0-alpha06

15 जनवरी, 2025

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

नई सुविधाएं

  • LayoutColor स्टैटिक और डाइनैमिक, दोनों तरह के रंगों के लिए (I4c89b)
  • ProtoLayout Material3 textButton कॉम्पोनेंट जोड़ा गया. (Id680d)
  • iconButton ProtoLayout Material3 कॉम्पोनेंट जोड़ें. (Ica3f0)
  • ProtoLayout में Material3 बटन कंटेनर कॉम्पोनेंट जोड़ा गया. (I17a38)
  • प्रोटोलआउट-मटीरियल3 में, चेन किए जा सकने वाले सिमैंटिक मॉडिफ़ायर के लिए सहायता जोड़ी गई (I4af62)
  • ProtoLayout Material3 के सिंगल सेगमेंट CircularProgressIndicator को जोड़ा गया (I2c8a2)
  • padding,metadata मॉडिफ़ायर जोड़े गए (I8720a)
  • background,clip, और clickable मॉडिफ़ायर जोड़े गए (I35478)
  • ब्रश में LinearGradient जोड़ें और इसे बैकग्राउंड मॉडिफ़ायर में इस्तेमाल करने की अनुमति दें. (Ic4dea)
  • ऐप्लिकेशन कार्ड और titleCard के लिए छोटा साइज़ जोड़ें. (I91f98)
  • ProtoLayout Material3 graphicDataCard कॉम्पोनेंट जोड़ा गया. (I92be7)
  • ProtoLayout Material3 iconDataCard और textDataCard कॉम्पोनेंट जोड़े गए. (I4e1e4)
  • ProtoLayout Material3 appCard कॉम्पोनेंट जोड़ा गया. (Id4c57)
  • EdgeButtonColors से ButtonColors तक की ऐब्स्ट्रैक्ट इमेज. (I83624)
  • ProtoLayout Material3 titleCard कॉम्पोनेंट जोड़ा गया. (I2dc72)

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

  • ProtoLayout Material3 API अब LayoutString स्वीकार करता है, ताकि स्टैटिक और डाइनैमिक, दोनों तरह के टेक्स्ट इस्तेमाल किए जा सकें. (I9c24a)

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

  • DashedArcLine को बड़ा करने के लिए रेंडरर लागू करने की सुविधा जोड़ी गई (I0c700)
  • ArcSpacer को डीपी की लंबाई लेने की अनुमति देने के लिए, रेंडरर में बदलाव किया गया है. (I1437b)

वर्शन 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 annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस तर्क का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict (यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (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)
  • Material3 के रंगों को अपडेट किया गया है, ताकि इसमें ColorScheme कॉन्सेप्ट को शामिल किया जा सके. यह Wear Compose में मौजूद कॉन्सेप्ट जैसा ही है. (If645e)
  • टेस्टिंग लाइब्रेरी में, आम तौर पर इस्तेमाल किए जाने वाले कई मैचिंग फ़ंक्शन जोड़ें. (Ie5cec)

वर्शन 1.3.0-alpha03

30 अक्टूबर, 2024

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

नई सुविधाएं

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

वर्शन 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 Tile renderer में 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 को अपडेट किया गया है, ताकि वैरिएबल ऐक्सिस के लिए ज़्यादा फ़ॉन्ट इस्तेमाल किए जा सकें. साथ ही, फ़ॉन्ट चुनने के लिए बेहतर एपीआई उपलब्ध कराया जा सके, ताकि आने वाले समय में फ़्लेक्स फ़ॉन्ट इस्तेमाल किए जा सकें.
  • अतिरिक्त मॉडिफ़ायर के लिए सहायता:
    • यह ट्रांसफ़ॉर्मेशन मॉडिफ़ायर है. इसकी मदद से, ऐनिमेशन के साथ या बिना ऐनिमेशन के अनुवाद, रोटेशन, और स्केलिंग की जा सकती है.
    • हर कोने के रेडियस के लिए अलग-अलग वैल्यू (हॉरिज़ॉन्टल और वर्टिकल) तय करना.
  • क्लिक किए जा सकने वाले मॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले एरिया को कम से कम 48dp x 48dp तक बढ़ाकर, सभी टच टारगेट की ऐक्सेसिबिलिटी को बेहतर बनाया गया है.
  • अलग-अलग स्क्रीन साइज़ पर इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर बनाने और टाइल की एक जैसी स्टाइल को बेहतर बनाने के लिए, PrimaryLayout और EdgeContentLayout में setResponsiveContentInsetEnabled जोड़ा गया.
  • 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)
  • Material लेआउट के दस्तावेज़ को अपडेट किया गया है. इसमें लेआउट को आसानी से समझने के लिए, संबंधित पेज से विज़ुअल शामिल किए गए हैं. (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 का अनुवाद किया जा सकता है, उसे घुमाया जा सकता है, और उसका साइज़ बदला जा सकता है. डाइनैमिक वैल्यू का इस्तेमाल करके, इन ट्रांसफ़ॉर्मेशन को ऐनिमेट किया जा सकता है.
  • सभी आर्क एलिमेंट (Arc, ArcLine, और ArcText) के लिए, setArcDirection को Clockwise, CounterClockwise, और Normal विकल्पों के साथ जोड़ा गया है. इससे अलग-अलग लेआउट की दिशाओं (जैसे कि एलटीआर और आरटीएल) में बेहतर तरीके से काम किया जा सकेगा.
  • Clickable मॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले हिस्से को 48dp से 48dp तक बढ़ाकर, सभी टच टारगेट की ऐक्सेस-योग्यता को बेहतर बनाया गया है.
  • अलग-अलग स्क्रीन साइज़ पर इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर बनाने और टाइल की एक जैसी स्टाइल को बेहतर बनाने के लिए, PrimaryLayout और EdgeContentLayout में setResponsiveContentInsetEnabled जोड़ा गया. इन एपीआई को तुरंत ठीक करने के साथ इस्तेमाल करने का सुझाव देने के लिए, लिंटर चेतावनी जोड़ी गई.
  • 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 में ये बदलाव शामिल हैं.

नई सुविधाएं

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

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

  • FontFamily const को Builder क्लास के बजाय FontStyle में ले जाया जाता है. (I06ced)
  • रेंज एनोटेशन शामिल करने के लिए, FontSetting.weight और FontSetting.width API अपडेट करें. साथ ही, वज़न के पैरामीटर को 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 Builder अब कंस्ट्रक्टर में वैल्यू की उम्मीद करता है. (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 में जोड़ने से, RTL लेआउट पर उनके व्यवहार में सुधार होगा. (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 dp x 48 dp तक बढ़ाया गया है.
  • फ़ॉन्ट पैडिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है. यह सुविधा, टेक्स्ट वाले सभी एलिमेंट और टेक्स्ट वाले सभी कॉम्पोनेंट के लिए उपलब्ध होती है.

अन्य बदलाव

  • वर्शन 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 में अब ग्रेडिएंट की सुविधा उपलब्ध है. इसके लिए, मौजूदा StrokeCap में Shadow जोड़कर, SweepGradient के साथ Brush जोड़ें. साथ ही, कैप पर शैडो जोड़कर 360 डिग्री से ज़्यादा की लंबाई को बेहतर तरीके से दिखाएं.
  • 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 में एज कॉन्टेंट को पोज़िशन करने के लिए सेटर जोड़ा गया है, ताकि इसे अन्य कॉन्टेंट से पहले पोज़िशन किया जा सके.
  • पहचान न की जा सकने वाली enum वैल्यू मिलने पर, लगातार अपवाद थ्रो करना.
  • जब कोई एक्सप्रेशन, अमान्य संख्यात्मक वैल्यू (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)
  • Renderer में अब 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)

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

  • जब Undefined या Unrecognized enum वैल्यू मिलती है, तो एक अपवाद थ्रो करें. (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)
  • एपीआई को इस तरह से बढ़ाया गया है कि स्पेसर की चौड़ाई या ऊंचाई को बड़ा किया जा सके. (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 रैपर जोड़े गए. (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 के अलग-अलग प्लैटफ़ॉर्म पर किया जा सकता है. उदाहरण के लिए, Tiles लाइब्रेरी इन एपीआई का इस्तेमाल, प्लैटफ़ॉर्म डेटा बाइंडिंग (टाइल के डेटा को तेज़ी से अपडेट करने के लिए) और ऐनिमेशन के लिए करती है.

वर्शन 1.0.0-rc01

26 जुलाई, 2023

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

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

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

  • हमने Arc एलिमेंट से setLayoutConstraintForDynamicAnchorAngle और getLayoutConstraintForDynamicAnchorAngle तरीकों को हटा दिया है. इन तरीकों को गलती से जोड़ा गया है. साथ ही, इनसे दिए गए लेआउट पर कोई असर नहीं पड़ा है. (If7d01)
  • हमने ProtoLayout के लेआउट में ज़्यादा से ज़्यादा 30 नेस्ट किए गए LayoutElements इस्तेमाल करने की सीमा तय की है. (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 के साथ टाइप किया गया है. Android के अन्य कॉन्स्टेंट की पोज़िशनिंग से मेल खाने के लिए, HEART_RATE_ACCURACY_X कॉन्स्टेंट को PlatformHealthSources के रूट में ले जाया गया. HEART_RATE_ACCURACY_X इंट कॉन्स्टेंट का इस्तेमाल अब सीधे तौर पर DynamicHeartRateAccuracy.constant() और DynamicHeartRateAccuracy.dynamicDataValueOf() में किया जाता है. पहले, वैल्यू कॉन्स्टेंट का इस्तेमाल किया जाता था. (I82ff5)
  • PlatformHealthSources.Constants क्लास को गलती से इंस्टैंशिएट किया जा सकता था. अब यह समस्या ठीक कर दी गई है. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver को अब Supplier फ़ंक्शन के बजाय Runnable फ़ंक्शन और Executor की सूचनाएँ मिलती हैं. (I9d938)
  • हमने PlatformTimeUpdateNotifier#setReceiver में पैरामीटर टाइप को Callable से बदलकर Supplier कर दिया है. (I664bf)
  • CompactChip और TitleChip में अब आइकॉन जोड़ने की सुविधा उपलब्ध है. (I5a01e)

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

  • डाइनैमिक फ़ील्ड वाले Prop मैसेज को अपडेट करें, ताकि 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) के तौर पर सेट करें
  • TimeGateway इंटरफ़ेस को protolayout-expression-pipeline लाइब्रेरी में 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 Material Text में, फ़ॉन्ट पैडिंग को शामिल न करने की सुविधा जोड़ी है. (I17f5d)
  • अब इनलाइन इमेज के लिए ARGB_8888 काम करता है. (I18c1e)
  • DynamicColor अब onConditionऑपरेशन के साथ काम करता है. (I10927)

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

  • रिवर्स ऐनिमेशन के लिए, कस्टम अवधि की सुविधा जोड़ी गई है (I3251f)
  • हमने SemanticDescription मॉडिफ़ायर जोड़ा है. इसके अलावा, ContentDescription को बाइंड नहीं किया जा सकता. (I3f1d)
  • DynamicBool.isFalse() तरीके को अब DynamicBool.negate() से बदल दिया गया है. साथ ही, DynamicBool.isTrue() को हटा दिया गया है. इसके अलावा, NaN DynamicFloat वैल्यू और DynamicInt32 को DynamicFloat तक सीमित करने पर, अब अमान्य डाइनैमिक नतीजा मिलता है. (I6ac1e)
  • Int और फ़्लोट फ़ॉर्मेटर अब बिल्डर पैटर्न का इस्तेमाल करते हैं. (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 अब Executor को स्वीकार करते हैं. (I346ab)
  • हमने BoundDynamicType में startEvaluation तरीका जोड़ा है, ताकि डाइनैमिक टाइप बाइंड होने के बाद, आकलन को ट्रिगर किया जा सके. (I19908)

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

  • Animator ऑब्जेक्ट का फिर से इस्तेमाल किया जाएगा, ताकि एक ही एलिमेंट के बाद के ऐनिमेशन किए जा सकें. (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 हेल्पर मेथड जोड़े हैं, ताकि Activities लॉन्च की जा सकें.

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

  • टाइल्स ऐनिमेशन में 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() जोड़ा है.
  • हमने डाइनैमिक टाइप के लिए, आकलन की सुविधा जोड़ी है. प्रोटोलayout-एक्सप्रेशन-पाइपलाइन लाइब्रेरी की 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" पेश की गई है.