wear protolayout

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

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

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"

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

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

Kotlin

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

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

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

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

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

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

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

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

वर्शन 1.4

वर्शन 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 एपीआई अब इस कॉन्सेप्ट के साथ काम करते हैं. इसके लिए, वे नए तरीके उपलब्ध कराते हैं. इन तरीकों में, 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 में ये बदलाव शामिल हैं.

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

  • बेहतर तरीके से रिसॉर्स हैंडल करने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, अब दो तरह के रिसॉर्स की तुलना, ऑप्टिमाइज़ किए गए हैश और equals तरीकों का इस्तेमाल करके की जाती है. (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 Image और ImageResources के लिए Kotlin हेल्पर, जिनका इस्तेमाल ProtoLayoutScope और संसाधन के अपने-आप रजिस्टर होने की सुविधा के साथ किया जा सकता है. (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)
  • Tiles में संसाधनों को बेहतर तरीके से मैनेज करने के लिए, 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
    • सभी कॉम्पोनेंट, एसडीके के किसी भी लेवल और ProtoLayout रेंडरर वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
  • ProtoLayout के बुनियादी एलिमेंट के लिए, Kotlin के साथ काम करने वाले और Compose जैसे एपीआई
    • LayoutModifier में, ज़्यादातर मॉडिफ़ायर को चेन किए गए फ़ंक्शन (padding, contentDescription (clearSemantics भी शामिल है), background, clip, opacity वगैरह) के तौर पर जोड़ने की सुविधा है. इसे मौजूदा Modifiers ऑब्जेक्ट में बदला जा सकता है
    • LayoutColors और LayoutString को टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता है
    • text और fontStyle
    • StateBuilder के लिए बेहतर मैप सपोर्ट, जिसमें StateBuilder और फ़ैक्ट्री के तरीके शामिल हैं. जैसे, AppDataKey ऑब्जेक्ट को आसानी से बनाने के लिए intAppDataKeyDynamicDataMap
  • 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 और इसके बाद के वर्शन पर लागू होता है. ऐसा इसलिए है, क्योंकि API 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 के बुनियादी एलिमेंट के लिए, Kotlin के साथ काम करने वाले और Compose जैसे एपीआई
    • LayoutModifier में, ज़्यादातर मॉडिफ़ायर को चेन किए गए फ़ंक्शन (padding, contentDescription (clearSemantics भी शामिल है), background, clip, opacity वगैरह) के तौर पर जोड़ने की सुविधा है. इसे मौजूदा Modifiers ऑब्जेक्ट में बदला जा सकता है
    • LayoutColors और LayoutString को टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता है
    • text और fontStyle
    • StateBuilder के लिए बेहतर मैप सपोर्ट, जिसमें StateBuilder और फ़ैक्ट्री के तरीके शामिल हैं. जैसे, AppDataKey ऑब्जेक्ट को आसानी से बनाने के लिए intAppDataKeyDynamicDataMap
  • 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)
  • प्रोटोलेआउट टेस्टिंग लाइब्रेरी (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 क्लास जोड़ी गई है. यह StateBuilder अब ऐप्लिकेशन की स्थितियों (I012ba) के लिए, बेहतर टाइप सेफ़ Kotlin API के साथ काम करती है
  • 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 में constructGraphic को बॉक्स टाइप (I5a3dc) में अपडेट करो
  • ग्राफ़ (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)
  • प्रोटोलayout-material3 में, चेन किए जा सकने वाले सिमैंटिक मॉडिफ़ायर के लिए सहायता जोड़ी गई (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 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • 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 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) के लिए, Clockwise को Clockwise, CounterClockwise, और Normal विकल्पों के साथ जोड़ा गया है. इससे अलग-अलग लेआउट की दिशाओं (जैसे कि एलटीआर और आरटीएल) में बेहतर तरीके से काम किया जा सकेगा.setArcDirection
  • 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 में ये बदलाव शामिल हैं.

नई सुविधाएं

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

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

  • FontFamily कॉन्स्टेंट को 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 Builder अब कंस्ट्रक्टर में वैल्यू की उम्मीद करता है. (I76ada)
  • PlatformDataValues.Builder.putAll तरीके से, एक PlatformDataValue को दूसरे 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 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 library इन एपीआई का इस्तेमाल, प्लैटफ़ॉर्म डेटा बाइंडिंग (टाइल के डेटा को तेज़ी से अपडेट करने के लिए) और ऐनिमेशन के लिए करती है.

वर्शन 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)

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

  • हमने एक जांच जोड़ी है, ताकि अगर SpanText के लिए DynamicColor सेट किया गया है, तो गड़बड़ी का पता लगाया जा सके. (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 फ़ंक्शन और Executor के बजाय Runnable फ़ंक्शन मिलता है, ताकि वह सूचनाएँ भेज सके. (I9d938)
  • हमने PlatformTimeUpdateNotifier#setReceiver में पैरामीटर टाइप को Callable से बदलकर Supplier कर दिया है. (I664bf)
  • CompactChip और TitleChip में अब आइकॉन जोड़ने की सुविधा उपलब्ध है. (I5a01e)

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

  • Prop messages को डाइनैमिक फ़ील्ड के साथ अपडेट करें, ताकि 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 इंटरफ़ेस को छिपाएं. 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)
  • मटीरियल टेक्स्ट में 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 लॉन्च की जा सकें.

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

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

वर्शन 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" पेश की गई है.