Wear स्मार्टवॉच की होम स्क्रीन

Wear OS by Google वाली स्मार्टवॉच के लिए ऐप्लिकेशन बनाएं.

ध्यान दें: 10 जुलाई, 2024 से, Wear OS 5 पहले से इंस्टॉल होने वाले डिवाइसों पर वॉचफ़ेस इंस्टॉल करने के लिए, Watch Face Format का इस्तेमाल करना ज़रूरी है. साथ ही, 27 जनवरी, 2025 से Google Play पर पब्लिश की जाने वाली सभी नई वॉचफ़ेस के लिए भी, Watch Face Format का इस्तेमाल करना ज़रूरी है.

उपयोगकर्ताओं को दिखने वाले बदलावों के बारे में ज़्यादा जानने के लिए, सहायता केंद्र के इस लेख पर जाएं.

नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
18 सितंबर, 2024 1.2.1 - - 1.3.0-alpha04

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

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

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

ग्रूवी

dependencies {
    // Use to implement wear watchfaces
    implementation "androidx.wear.watchface:watchface:1.2.1"

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.1"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1"

    // Use to implement a watchface style and complication editor
    implementation "androidx.wear.watchface:watchface-editor:1.2.1"

    // Can use to render complications.
    // This library is optional and watchfaces may have custom implementation for rendering
    // complications.
    implementation "androidx.wear.watchface:watchface-complications-rendering:1.2.1"
}

Kotlin

dependencies {
    // Use to implement wear watchfaces
    implementation("androidx.wear.watchface:watchface:1.2.1")

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.1"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1"

    // Use to implement a watchface style and complication editor
    implementation("androidx.wear.watchface:watchface-editor:1.2.1")

    // Can use to render complications.
    // This library is optional and watchfaces may have custom implementation for rendering
    // complications.
    implementation "androidx.wear.watchface:watchface-complications-rendering:1.2.1"
}

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

सुझाव

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

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

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

वर्शन 1.3

वर्शन 1.3.0-alpha04

18 सितंबर, 2024

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

नई सुविधाएं

  • UserStyleSettings और UserStyleOptions में आइकॉन को धीरे-धीरे लोड करने की सुविधा जोड़ी गई है. इससे स्मार्टवॉच की होम स्क्रीन को लोड करने में कम समय लगता है. (Iaf43d)
  • नए Watchface.setUpdateScreenshotOnConfigurationChange के ज़रिए, सिस्टम कॉन्फ़िगरेशन में बदलाव होने पर (जैसे, स्थानीय भाषा बदलने पर) अपडेट किया गया स्क्रीनशॉट लेने का विकल्प जोड़ा गया. यह सेटिंग डिफ़ॉल्ट रूप से बंद होती है. (I765a1)

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

  • नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल रूप से जानकारी देने की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि AGP 7.3 या इसके बाद के वर्शन (उदाहरण के लिए, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग की मदद से यह अपने-आप होता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (उदाहरण के लिए, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह अपने-आप होता है. जिन क्लाइंट ने AGP का इस्तेमाल नहीं किया है उन्हें D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (Ia60e0, b/345472586)

वर्शन 1.3.0-alpha03

17 अप्रैल, 2024

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

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

  • हमने EditorSession#setOverrideComplications जोड़ा है. यह बदलाव करते समय, स्मार्टवॉच की होम स्क्रीन के मौजूदा इंस्टेंस का ComplicationData कुछ समय के लिए सेट करता है. अगर जटिलताओं में अक्सर बदलाव नहीं होता है, तो EditorSession#renderWatchFaceToBitmap के ज़रिए बदलाव लागू करने की तुलना में, यह तरीका ज़्यादा असरदार है. (I19384)

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

  • पहले, selectComplicationDataForInstant किसी भी टाइमलाइन के लिए toApiComplicationData को कॉल कर रहा था. इसका मतलब है कि बाद में === रेफ़रंस की बराबरी की जांच हमेशा फ़ेल होगी. इसका मतलब है कि हर फ़्रेम में, जटिलताओं को फिर से लोड किया जा रहा था. इससे बैटरी की खपत बढ़ रही थी. (717406)

वर्शन 1.3.0-alpha02

3 अप्रैल, 2024

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

नई सुविधाएं

  • अब हम सबसे अच्छा और selectedData की तुलना करने के लिए, रेफ़रंस इक्वलिटी का इस्तेमाल करते हैं, क्योंकि 'बराबर है' ऑपरेटर का इस्तेमाल करना महंगा होता है. (446b00)

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

  • हमने GoalProgressComplicationData के लिए, बिना फ़ॉलबैक वाला डाइनैमिक एपीआई जोड़ा है. (c33264)

वर्शन 1.3.0-alpha01

7 फ़रवरी, 2024

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

नई सुविधाएं

  • WatchFaceServices को एक साथ शुरू किया जा सकता है. इसलिए, यह स्टेटलेस होना चाहिए. इस सुविधा को जोड़ने के लिए, हमने StatefulWatchFaceService जोड़ा है. इसमें, createExtra() से बनाया गया उपयोगकर्ता का अतिरिक्त एलिमेंट, शुरू करने के दौरान कॉल किए गए सभी बदलावों में पास किया जाता है.
  • GlesRenderer2 में अब एक कंस्ट्रक्टर ओवरलोड है. इसकी मदद से, eglChooseConfig के साथ इस्तेमाल करने के लिए एट्रिब्यूट की सूची तय की जा सकती है.

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

  • StatefulWatchFaceService अब getComplicationSlotInflationFactory को बदलने की सुविधा देता है. इसमें createExtra() से बनाया गया, उपयोगकर्ता के तय किया गया एक्सट्रा पास किया जाता है. (I82d9f)
  • कुछ स्मार्टवॉच की होम स्क्रीन को createUserStyleSchema के दौरान बनाया गया सहायक डेटा, शुरू करने के अन्य तरीकों के साथ शेयर करना होगा. बेहतर विकल्प न होने की वजह से, डेवलपर आम तौर पर अपने WatchFaceServices को स्टेटफ़ुल बनाते हैं. यह खतरनाक है, क्योंकि एक साथ कई इंस्टेंस बनाए जा सकते हैं. इससे बग हो सकते हैं. इस समस्या को हल करने के लिए, हमने StatefulWatchFaceService और StatefulWatchFaceRuntimeService को लॉन्च किया है. इसमें, उपयोगकर्ता की ओर से तय किया गया टाइप createExtra() से बनाया जाता है और इसे पैरामीटर के तौर पर, अलग-अलग 'बनाएं' तरीकों में पास किया जाता है. (If8a99)
  • हमने InteractiveWatchFaceClient में getUserStyleFlavors जोड़ा है. यह मुख्य रूप से OEM के लिए है. (I0f5d8)
  • GlesRenderer2 में अब एक कंस्ट्रक्टर ओवरलोड है. इसकी मदद से, eglChooseConfig के साथ इस्तेमाल करने के लिए एट्रिब्यूट की सूची तय की जा सकती है. उदाहरण के लिए, इससे पहले ऐंटी-ऐलिऐसिंग वाले कॉन्फ़िगरेशन को आज़माया जा सकता है और ज़रूरत पड़ने पर, बिना ऐंटी-ऐलिऐसिंग वाले कॉन्फ़िगरेशन पर स्विच किया जा सकता है. (I1ba74)
  • Android U से, WearOS में SystemDataSources.DATA_SOURCE_HEART_RATE के काम करने की सुविधा जोड़ी जाएगी. यह कॉम्प्लीकेशन सिर्फ़ SHORT_TEXT कॉम्प्लीकेशन के साथ काम करती है. हालांकि, हमारा सुझाव है कि ComplicationSlot में भी SMALL_IMAGE को स्वीकार किया जाए, क्योंकि OEM, लाइव वैल्यू के बजाय अपने हेल्थ ऐप्लिकेशन का शॉर्टकट दिखा सकते हैं. (I34223)
  • हमने METADATA_KEY_CONFIG_RESTORE_SUPPORTED जोड़ा है. यह Android U और उसके बाद के वर्शन में काम करता है. इससे यह कंट्रोल होता है कि METADATA_KEY_DATA_SOURCE_CONFIG_ACTION की मदद से, कम्प्लीकेशन के डेटा सोर्स के बैकअप से सिस्टम को वापस लाने पर क्या होगा. डिफ़ॉल्ट रूप से, सिस्टम यह मानता है कि कॉम्पलिकेशन के डेटा सोर्स की सेवा, किसी भी कॉन्फ़िगरेशन डेटा का बैकअप ले सकती है. हालांकि, अगर ऐसा नहीं होता है, तो यह मेटाडेटा सेटिंग METADATA_KEY_DATA_SOURCE_CONFIG_ACTION को 'गलत' पर सेट कर सकता है. इससे, कॉम्पलिकेशन स्लॉट को 'कॉन्फ़िगर नहीं किया गया' के तौर पर मार्क कर दिया जाएगा. (I6c505)

वर्शन 1.2

वर्शन 1.2.1

24 जनवरी, 2024

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

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

  • Samsung Galaxy Watch 4, 5, और 6 पर क्रैश होने की समस्या को ठीक किया गया. (43f0b0)

वर्शन 1.2.0

29 नवंबर, 2023

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

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

  • हमने कुछ नए कॉम्प्लीकेशन टाइप जोड़े हैं. ये Android T वर्शन में इस्तेमाल किए जा सकते हैं:
    • GoalProgressComplicationData, RangedValueComplicationData से मिलता-जुलता है. हालांकि, यह किसी ऐसे लक्ष्य की प्रोग्रेस के लिए है जहां कम से कम वैल्यू शून्य होती है और वैल्यू targetValue से ज़्यादा हो सकती है.
    • WeightedElementsComplicationData, जिसमें टेक्स्ट/टाइटल/इमेज के साथ-साथ एलिमेंट (वज़न और रंग के पेयर) का कलेक्शन होता है. इन्हें पाई चार्ट के तौर पर दिखाया जा सकता है. इसमें, संदर्भ के हिसाब से रंगों का मतलब होना चाहिए, क्योंकि आम तौर पर किसी जटिल जानकारी में लेबल रेंडर करने के लिए जगह नहीं होती.
  • हमने RangedValueComplicationData में, वैकल्पिक ColorRanges के काम करने की सुविधा जोड़ी है. आम तौर पर, जटिल जानकारी को स्मार्टवॉच की होम स्क्रीन के रंगों में रेंडर किया जाता है.हालांकि, कभी-कभी ComplicationDataSource का इस्तेमाल करके रंग सेट करना सबसे सही होता है. जैसे, जब उनका कोई खास मतलब हो. उदाहरण के लिए, तापमान के लिए लाल से नीले रंग में बदलना.
  • अब ComplicationData के ज़्यादातर टाइप के साथ SmallImages काम करता है.
  • हमने ComplicationDisplayPolicy जोड़ा है, जहां DO_NOT_SHOW_WHEN_DEVICE_LOCKED, डिवाइस के लॉक होने पर, काम करने वाली स्मार्टवॉच की होम स्क्रीन पर विजेट न दिखाने का निर्देश देता है.
  • Android T में, OEM यह तय कर पाएंगे कि किसी कॉम्प्लीकेशन का अनुरोध, ComplicationRequest#isForSafeWatchFace तक सेवा देने वाली कंपनी के मेनिफ़ेस्ट में मौजूद android.support.wearable.complications.SAFE_WATCH_FACES मेटाडेटा की सूची में शामिल स्मार्टवॉच की होम स्क्रीन से किया गया है या नहीं. TargetWatchFaceSafety.UNKNOWN` के अलावा कोई और वैल्यू पाने के लिए, सेवा देने वाली कंपनी को com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE अनुमति की ज़रूरत होगी.
  • UserStyleFlavors को फ़िलहाल आज़माया जा रहा है.

वर्शन 1.2.0-rc01

18 अक्टूबर, 2023

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

वर्शन 1.2.0-beta02

6 सितंबर, 2023

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

नई सुविधाएं

  • SuspendingComplicationDataSourceService#onDestroy अब खुला है. कृपया ध्यान दें कि सिस्टम की डिफ़ॉल्ट 'मौसम' विजेट के लिए, विजेट के साथ काम करने की सुविधा हटा दी गई है.

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

  • "मौसम की जानकारी देने वाली विजेट के लिए नया डेटा सोर्स जोड़ें" को पहले जैसा करें. (I6f335)

वर्शन 1.2.0-beta01

23 अगस्त, 2023

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

नई सुविधाएं

  • Android T के बाद, WearOS पर मौसम की जानकारी देने वाले डिफ़ॉल्ट सिस्टम की शिकायत की सुविधा काम करेगी.

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

  • विजेट के लिए, मौसम की जानकारी का डिफ़ॉल्ट सिस्टम फ़ॉलबैक जोड़ें. (Ia0994)
  • इस पैच में, गायवा रैपर के साथ-साथ WatchFaceRuntimeService और WatchFaceControlClient.createWatchFaceRuntimeControlClient भी जोड़े गए हैं. इनसे स्मार्टवॉच की होम स्क्रीन के रनटाइम के लिए सहायता मिलती है. ये स्मार्टवॉच की होम स्क्रीन के एक खास तरह के वर्शन होते हैं, जो किसी दूसरे पैकेज से अपनी डेफ़िनिशन लोड करते हैं. फ़िलहाल, WearOS सिर्फ़ Android स्मार्टवॉच की होम स्क्रीन के फ़ॉर्मैट के लिए रनटाइम की सुविधा देता है. (I2799f)
  • यह पैच, aosp/2636578 के बाद किया गया बदलाव है. इसमें हमने int defs का नाम बदला है, ताकि WatchFaceType, CanvasType, TapType या ComplicationsSlotBoundsType पर निर्भर किसी भी कोड में बदलाव न करना पड़े. (I4098b)
  • काम न करने की जानकारी देने के लिए, एपीआई फ़ाइलों को अपडेट किया गया. (I8e87a, b/287516207)
  • इस पैच से, WatchFaceTypes में WatchFaceType कॉन्सटेंट, CanvasTypes में CanvasType कॉन्सटेंट, TapTypes में TapType कॉन्सटेंट, और ComplicationsSlotBoundsType में ComplicationsSlotBoundsType कॉन्सटेंट दिखते हैं. (I3b85a, b/288750666)
  • WatchFace.OverlayStyle का इस्तेमाल बहुत कम किया जाता है और OEM इसे ठीक से काम नहीं करा पाते. इसलिए, हम इसे बंद कर रहे हैं. आने वाले समय में इसे हटा दिया जाएगा. (I7344a)

वर्शन 1.2.0-alpha09

21 जून, 2023

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

नई सुविधाएं

  • RangedValueComplicationData.Builder अब DynamicFloat स्वीकार करता है. साथ ही, ComplicationText के सबक्लास के तौर पर एक नया DynamicComplicationText उपलब्ध है. दोनों में डाइनैमिक एक्सप्रेशन के साथ-साथ प्लैटफ़ॉर्म बाइंडिंग का इस्तेमाल किया जा सकता है. ये बाइंडिंग, Wear 4 डिवाइसों पर 1 हर्ट्ज़ (Hz) पर अपडेट होती हैं.

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

  • हर दिन की दूरी, हर दिन की कैलोरी, और हर दिन चढ़े गए फ़्लोर के लिए डाइनैमिक टाइप जोड़े गए. प्लैटफ़ॉर्म के स्वास्थ्य से जुड़े कॉन्टेंट के सोर्स की कुंजियां अब PlatformHealthSources.Keys (Ib7637) में मौजूद हैं
  • धड़कन की दर और हर दिन चले गए कदमों की जानकारी देने के लिए, PlatformDataProvider लागू करें. SensorGateway इंटरफ़ेस को सार्वजनिक एपीआई से हटा दिया गया है. (I55b84)
  • StateEntryValue का नाम बदलकर DynamicDataValue करें और DynamicDataKey का इस्तेमाल करने के लिए, स्टेटस एपीआई अपडेट करें. (If1c01)
  • ऐप्लिकेशन की पुश की गई स्थिति को ऐक्सेस करने के लिए AppDataKey जोड़ें; प्लैटफ़ॉर्म डेटा को ऐक्सेस करने के लिए PlatformDataKey जोड़ें; StateStore में नेमस्पेस के लिए सहायता जोड़ें. (I7985e)
  • DynamicTypeEvaluator से enable/disablePlatformSource तरीके हटा दिए गए हैं. अपडेट करने की ज़िम्मेदारी कॉल करने वाले की होनी चाहिए. (I78c6d)
  • बाउंड किए गए डेटा टाइप के साइज़ को सीमित करने की अनुमति दें. (Ie2966)

वर्शन 1.2.0-alpha08

19 अप्रैल, 2023

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

नई सुविधाएं

  • Android T में, com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE लेवल का ऐक्सेस रखने वाले कॉम्प्लीकेशन की सेवा देने वाली कंपनियां, androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES मेटाडेटा को रजिस्टर कर सकती हैं. यह मेटाडेटा, स्मार्टवॉच की सुरक्षित होम स्क्रीन के लिए android.support.wearable.complications.SUPPORTED_TYPES मेटाडेटा को बदल देता है. इसका मतलब है कि कॉम्प्लीकेशन की सुविधा देने वाली कंपनी, भरोसेमंद और भरोसेमंद नहीं वाली स्मार्टवॉच की होम स्क्रीन पर अलग-अलग तरह की कॉम्प्लीकेशन दिखा सकती है.

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

  • प्रॉपर्टी में @Deprecated क्लास का प्रॉपेगेशन (I882d1, b/271441831)
  • Enum.valueOf के लिए वैल्यू पैरामीटर का नाम बदला गया (Ia9b89)
  • enum valueOf (I818fe) से मिलने वाले ज़्यादा अपवाद
  • हमने renderWatchFaceToSurface को हटाकर createRemoteWatchFaceView को शामिल किया है. यह SurfaceControlViewHost के ऊपर बनाया गया है. इससे कॉल करने वाले को वॉच फ़ेस से व्यू को एम्बेड करने की सुविधा मिलती है. यह व्यू, क्लाइंट के RemoteWatchFaceViewHost#renderWatchFace को कॉल करने पर रेंडर होता है. (Ib311d)
  • हमने renderWatchFaceToSurface को InteractiveWatchFaceClient, HeadlessWatchFaceClient, और EditorSession में जोड़ दिया है. आम तौर पर, बिटमैप में रेंडर करने के मुकाबले यह बेहतर परफ़ॉर्म करेगा. (Ieacad)
  • ObservableStateStore का नाम बदलकर StateStore कर दिया गया है. (Ieb0e2)
  • ज़्यादा वैकल्पिक आर्ग्युमेंट की अनुमति देने के लिए, कन्स्ट्रक्टर आर्ग्युमेंट के बजाय DynamicTypeEvaluator.Builder जोड़ा गया. इनमें ObservableStateStore भी शामिल है, जो अब डिफ़ॉल्ट रूप से खाली स्टोर पर सेट होता है. (I6f832)
  • DynamicTypeEvaluator में पैरामीटर का क्रम बदला गया. (Ic1ba4)
  • DynamicTypeEvaluator.bind तरीकों में, एक्ज़ीक्यूटर जोड़ा गया है. (I346ab)
  • हमने BoundDynamicType में startEvaluation तरीका जोड़ा है, ताकि डाइनैमिक टाइप के बाउंड होने के बाद, आकलन को ट्रिगर किया जा सके. (I19908)
  • जिन ऐप्लिकेशन के पास com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE लेवल का ऐक्सेस है वे androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES मेटाडेटा को रजिस्टर कर सकते हैं. यह मेटाडेटा, स्मार्टवॉच की सुरक्षित होम स्क्रीन के लिए android.support.wearable.complications.SUPPORTED_TYPES मेटाडेटा को बदल देता है. (Id1c73)
  • हमने CustomValueUserStyleSettings2 का नाम बदलकर LargeCustomValueUserStyleSettings कर दिया है. (Ic17ac)

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

  • DynamicTypeValueReceiver#onPreUpdate को हटा दिया गया है. (I2dc35)

वर्शन 1.2.0-alpha07

22 फ़रवरी, 2023

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

नई सुविधाएं

  • Android T में, OEM यह तय कर पाएंगे कि किसी कॉम्प्लीकेशन का अनुरोध, ComplicationRequest#isForSafeWatchFace तक सेवा देने वाली कंपनी के मेनिफ़ेस्ट में मौजूद android.support.wearable.complications.SAFE_WATCH_FACES मेटाडेटा की सूची में शामिल स्मार्टवॉच की होम स्क्रीन से किया गया है या नहीं. TargetWatchFaceSafety.UNKNOWN के अलावा, कोई और जानकारी पाने के लिए, सेवा देने वाली कंपनी को com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE की अनुमति लेनी होगी.

  • Android T CustomValueUserStyleSetting2 में भी, 12.5 केबी तक का डेटा सेव करने की सुविधा उपलब्ध है. CustomValueUserStyleSetting के लिए, पहले 1 केबी की सीमा थी. साइज़ की बढ़ी हुई सीमाओं के बावजूद, स्मार्टवॉच की होम स्क्रीन के डेवलपर को डेटा को छोटा रखने का सुझाव दिया जाता है. ऐसा इसलिए, क्योंकि बदलाव करने के दौरान सेटिंग, ब्लूटूथ पर भेजी जाती हैं और ब्लूटूथ की बैंडविड्थ सीमित होती है.

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

  • हमने GlesRenderer और GlesRenderer2 में एक वैकल्पिक पैरामीटर eglContextAttribList जोड़ा है. इसकी मदद से, EGL14.eglCreateContext में पास की गई EGL14.EGL_CONTEXT_CLIENT_VERSION को सेट किया जा सकता है. (I2a83e)
  • हमने स्मार्टवॉच की होम स्क्रीन के लाइब्रेरी को java.util.function.Consumer के बजाय androidx.core.util.Consumer पर माइग्रेट कर दिया है. (I273f5)
  • KT प्रॉपर्टी ऐक्सेसर से मिले ज़्यादा अपवाद (Iff9d9)
  • हमने InteractiveWatchFaceClient.isComplicationDisplayPolicySupported जोड़ा है, ताकि क्लाइंट यह तय कर सके कि उसे स्मार्टवॉच की पुरानी होम स्क्रीन के लिए, इम्यूलेट की सुविधा का इस्तेमाल करना है या नहीं. (I24c89)
  • हमने तय किया है कि isForSafeWatchFace को ट्राइ-स्टेट IntDef होना चाहिए. (Ief2f7)
  • हमने Android T के लिए ComplicationRequest.isForSafeWatchFace को लॉन्च किया है. इसका मकसद OEM के इस्तेमाल के लिए है और इसके लिए com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE की ज़रूरत होती है. सिस्टम इमेज में मौजूद डेटा सोर्स के लिए, यह फ़ंक्शन तब 'सही' दिखाएगा, जब अनुरोध की गई स्मार्टवॉच की होम स्क्रीन, डेटा सोर्स के मेनिफ़ेस्ट में बताई गई सुरक्षित स्मार्टवॉच की होम स्क्रीन की सूची में शामिल होगी. (I0cbb6)
  • Android T के लिए, हमने CustomValueUserStyleSetting2 जोड़ा है. इसमें 12.5 केबी तक का डेटा सेव किया जा सकता है. CustomValueUserStyleSetting के लिए, पहले 1 केबी की सीमा थी. (I0b100)

वर्शन 1.2.0-alpha06

25 जनवरी, 2023

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

नई सुविधाएं

  • हम कम्प्लेकेशन प्लैटफ़ॉर्म बाइंडिंग की सुविधा जोड़ने पर काम कर रहे हैं. यह सुविधा अभी इस्तेमाल के लिए तैयार नहीं है, लेकिन हमारे साथ बने रहें!
  • हमने नए कॉम्प्लीकेशन टाइप, GOAL_PROGRESS, और WEIGHTED_ELEMENTS के लिए एक्सएमएल ComplicationSlot की सुविधा जोड़ी है.

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

  • स्मार्टवॉच की होम स्क्रीन एडिटर को Samsung डिवाइसों पर सही तरीके से रिलीज़ न करने की समस्या को ठीक किया गया है. (3b5987)
  • एक से ज़्यादा पसंदीदा होम स्क्रीन के बीच स्विच करने पर, विजेट सही से न दिखने की समस्या को ठीक किया गया है. (b38ece)
  • perOptionScreenReaderNames के साथ सीरियलाइज़ेशन की गड़बड़ी को ठीक किया गया है. इसकी वजह से, स्मार्टवॉच की होम स्क्रीन क्रैश हो जाती थी. (e9f466)

वर्शन 1.2.0-alpha05

7 दिसंबर, 2022

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

नई सुविधाएं

  • हमने कुछ समय पहले, हैरारकी वाले UserStyleSettings के लिए सहायता जोड़ी थी. Android T में, हैरारकी में एक से ज़्यादा ComplicationSlotsUserStyleSetting हो सकते हैं. उपयोगकर्ता की चुनी गई स्टाइल के आधार पर, सिर्फ़ एक ComplicationSlotsUserStyleSetting चालू होगा.

  • हम screenReaderName फ़ील्ड जोड़कर, ListOption और ComplicationSlotsOption के लिए स्क्रीन रीडर की सुविधा को बेहतर बना रहे हैं. ध्यान दें कि Android T से पहले, इस फ़ील्ड को साथी एडिटर अनदेखा कर देंगे.

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

  • हमने एडिटर के इस्तेमाल के लिए, ListOption और ComplicationSlotsOption में एक नया वैकल्पिक screenReaderName फ़ील्ड जोड़ा है. यह Android T से पहले के डिवाइसों पर, साथी एडिटर के लिए इस्तेमाल नहीं किया जाएगा. (I75326)
  • Android T में, स्टाइल के क्रम में एक से ज़्यादा ComplicationSlotsUserStyleSettings इस्तेमाल किए जा सकते हैं. हालांकि, एक बार में सिर्फ़ एक ComplicationSlotsUserStyleSettings चालू किया जा सकता है. हमने UserStyleSchema में एक यूटिलिटी फ़ंक्शन findComplicationSlotsOptionForUserStyle जोड़ा है, ताकि अगर कोई चालू ComplicationSlotsOption है, तो उसे ढूंढने में मदद मिल सके. (Ic2b06)
  • RangedValuesTypes को RangedValueComplicationData के साथी ऑब्जेक्ट में खींच लिया गया है और इसका नाम बदलकर TYPE_UNDEFINED, TYPE_RATING कर दिया गया है. साथ ही, एक नया TYPE_PERCENTAGE जोड़ा गया है. (I55d02)
  • हमने एक्सपेरिमेंटल DynamicFloat का नाम बदलकर FloatExpression कर दिया है और इसे @hide के तौर पर मार्क कर दिया है. (Idf4f1)
  • @JvmDefaultWithCompatibility एनोटेशन जोड़ना (I8f206)

वर्शन 1.2.0-alpha04

9 नवंबर, 2022

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

नई सुविधाएं

  • हमने Android T के लिए, दो नए कॉम्प्लीकेशन टाइप, GoalProgressComplicationData और WeightedElementsComplicationData जोड़े हैं.
  • GoalProgressComplicationData, RangedValueComplicationData से मिलता-जुलता है. हालांकि, इसकी वैल्यू टारगेट से ज़्यादा हो सकती है. RangedValueComplicationData के लिए, वैल्यू को [min .. max] की रेंज में रखा जाता है. इसकी वजह से, विज़ुअल डिज़ाइन पर असर पड़ता है. ऐसा हो सकता है कि यह सभी स्मार्टवॉच की होम स्क्रीन पर सही न लगे.
  • GoalProgressComplicationData में, पाई चार्ट और सामान्य डेटा के मिलते-जुलते ब्रेकडाउन के लिए सहायता जोड़ी गई है.
  • हमने ColorRamps में RangedValueComplicationData के लिए, वैकल्पिक सहायता जोड़ी है.
  • Android T के लिए, हमने ComplicationData में ComplicationPersistencePolicy और setCachePolicy जोड़े हैं.फ़िलहाल, इनकी मदद से डेवलपर यह कंट्रोल कर सकते हैं कि कोई कॉम्प्लीकेशन सेव रहे या नहीं. इसका मतलब है कि डिवाइस को रीबूट करने के बाद, कॉम्प्लीकेशन कैश मेमोरी में सेव रहे या नहीं. ज़्यादातर जटिलताओं के लिए, कैश मेमोरी कंट्रोल सेट करने की ज़रूरत नहीं होती. हालांकि, ऐसा करने से, अक्सर अपडेट होने वाली कुछ जटिलताओं (जैसे, सेहत से जुड़े डेटा की जटिलताएं) के लिए, पुराने डेटा से जुड़ी समस्याएं ठीक की जा सकती हैं. हमने ComplicationDisplayPolicy भी जोड़ा है, जहां DO_NOT_SHOW_WHEN_DEVICE_LOCKED, डिवाइस के लॉक होने पर, स्मार्टवॉच की होम स्क्रीन पर विजेट न दिखाने का निर्देश देता है. (Ic9574)

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

  • GoalProgressComplicationData, WeightedElementsComplicationData, और ColorRamp अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (Ica9e2)
  • ComplicationPersistencePolicy और ComplicationDisplayPolicy को अब सही तरीके से टी एपीआई के तौर पर मार्क किया गया है. (I31d88)
  • अब ComplicationSlotOverlay कंस्ट्रक्टर में DeprecationLevel.WARNING है, जिससे इसे फिर से java से कॉल किया जा सकता है. (Ib308c)
  • हमने ComplicationRequestListener, CanvasComplication, ComplicationTapFilter, और InteractiveWatchFaceClient के साथ, Java के साथ काम करने से जुड़ी कुछ समस्याओं को ठीक कर दिया है. इसके लिए, हमने इन पर @JvmDefaultWithCompatibility (Id94fc) से एनोटेट किया है
  • हमने एक्सपेरिमेंट के तौर पर उपलब्ध ProtoLayoutComplicationData और ListComplicationData को हटा दिया है. इनके लिए डेवलपर की कहानी साफ़ तौर पर नहीं बताई गई थी. हमें उम्मीद है कि आने वाले समय में हम इस पर फिर से विचार करेंगे. (I9df05)
  • हमने ValueType को RangedValueComplicationData में वापस जोड़ दिया है. WeightedElementsComplicationData में अब बैकग्राउंड का रंग सेट करने की सुविधा है. हमने DiscreteRangedValueComplicationData को हटा दिया है, क्योंकि इसकी सुविधाएं WeightedElementsComplicationData का सबसेट हैं. (I6446c)

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

  • बराबर और हैश कोड में isForScreenShot शामिल करें. पक्का करें कि onRenderParametersChanged एट्रिब्यूट की वैल्यू isForScreenshot (I04a41) हो
  • हेडलेस क्लाइंट से WatchFaceControlService की लीक की समस्या को ठीक किया गया. (e90e00)

वर्शन 1.2.0-alpha03

5 अक्टूबर, 2022

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

नई सुविधाएं

  • इसमें कोई नई सुविधा नहीं है. हालांकि, हमने स्मार्टवॉच की होम स्क्रीन एडिटर से जुड़ी कुछ गड़बड़ियां ठीक की हैं.

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

  • UserStyleSchema.userStyleSettings एट्रिब्यूट अब काम नहीं करता, क्योंकि rootUserStyleSettings एट्रिब्यूट को एक्सपेरिमेंट के तौर पर उपलब्ध कराने की सुविधा बंद कर दी गई है (Ie96e3)
  • rootUserStyleSettings को एक्सपेरिमेंट से हटाना (I8d6b3)
  • हमने WatchFaceColors को एक्सपेरिमेंट के तौर पर मार्क किया है, क्योंकि यह सभी सिस्टम के साथ काम नहीं करता (I6d75d)
  • IntDef के साथ काम करने के लिए, सार्वजनिक एपीआई में DisconnectReasons को एक्सपोज़ करें. (I791f8)

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

  • अगर SysUI बंद हो जाता है, तो स्मार्टवॉच पर खुला हुआ कोई भी एडिटर बंद कर दें. अगर SysUI बंद हो जाता है और स्मार्टवॉच की होम स्क्रीन में बदलाव करने वाला एडिटर बंद नहीं होता है, तो होम स्क्रीन में बदलाव नहीं हो पाते. ऐसा इसलिए होता है, क्योंकि उपयोगकर्ता की पसंद के मुताबिक होम स्क्रीन में किए गए बदलावों को सेव करने के लिए, सिस्टम SysUI पर निर्भर करता है.(ba762a
  • ComplicationDataSourceInfoRetriever में मेमोरी लीक की समस्या को ठीक किया गया है. इसमें, Kotlin कोरूटीन कंटिन्यूएशन, जीसी रूट के तौर पर काम कर रहा था और एडिटर गतिविधि को बनाए रख रहा था.(33ee06)

वर्शन 1.2.0-alpha02

21 सितंबर, 2022

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

नई सुविधाएं

  • स्मार्टवॉच की कुछ होम स्क्रीन के कॉन्फ़िगरेशन, UserStyle से बाहर के होते हैं.इनसे होम स्क्रीन की विज़ुअल क्वालिटी पर असर पड़ता है. जैसे, बैकग्राउंड फ़ोटो चुनना. हमने Renderer.sendPreviewImageNeedsUpdateRequest जोड़ा है. इसकी मदद से, वॉच फ़ेस को झलक की अपडेट की गई इमेज का अनुरोध करने की सुविधा मिलती है. ध्यान दें कि यह सुविधा काम करे, इसके लिए सिस्टम को अप-टू-डेट रखना ज़रूरी है.

  • हमने स्मार्टवॉच की होम स्क्रीन के लिए भी एक एपीआई जोड़ा है, ताकि सिस्टम को उनके रंगों की जानकारी दी जा सके. इस आधार पर, सिस्टम अपना कलर पैलेट चुन सकता है. ध्यान दें कि इसे फ़ॉलो-ऑन पैच में प्रयोग के तौर पर उपलब्ध कराया गया है.

  • अब ComplicationData के ज़्यादातर टाइप के साथ SmallImages काम करता है.

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

  • वॉलपेपर मैनेजर कभी-कभी किसी इंजन से अलग हो सकता है और कोई दूसरा इंजन बना सकता है. हमने DisconnectReason int def जोड़ा है और ClientDisconnectListener को एक नए तरीके से बड़ा किया है. इसमें DisconnectReason शामिल है, जिससे सुनने वाले को इंजन के अलग होने की जानकारी मिलती है. (I45cce)
  • ComplicationSlotOverlay कन्स्ट्रक्टर में दो वैकल्पिक पैरामीटर nameResourceId और screenReaderResourceId जोड़े गए (I157e8)
  • हमने PreviewImageUpdateRequestedListener के साथ getOrCreateInteractiveWatchFaceClient के नए ओवरलोड के लिए, एक ग्वावा रैपर जोड़ा है. (Ic31f0)
  • हमने Renderer.sendPreviewImageNeedsUpdateRequest जोड़ा है. यह उन वॉच फ़ेस के लिए काम का है जिनकी स्थिति UserStyleSchema से बाहर है. इससे उनकी परफ़ॉर्मेंस पर असर पड़ता है. उदाहरण के लिए, चुनी जा सकने वाली बैकग्राउंड इमेज वाली वॉच फ़ेस. क्लाइंट साइड पर, हमने इन अनुरोधों को देखने के लिए, getOrCreateInteractiveWatchFaceClient में PreviewImageUpdateRequestedListener को वैकल्पिक पैरामीटर के तौर पर जोड़ा है. (Iff44a)
  • हमने WatchFaceColors को एक्सपोज़ करने के लिए एपीआई को आसान बनाया है. अब रेंडरर पर watchFaceColors नाम की एक आसान प्रॉपर्टी है, जिसे स्मार्टवॉच की होम स्क्रीन सेट कर सकती है. स्टाइल में होने वाले किसी भी बदलाव के हिसाब से, इसे ज़रूरत के मुताबिक अपडेट किया जाना चाहिए. रंग में हुए बदलावों को देखने के लिए, WallpaperManager का इस्तेमाल करने के बजाय, हमने InteractiveWatchFaceClient में OnWatchFaceColorsListener जोड़ा है. (I490bc)
  • हमने WatchFaceColors क्लास जोड़ी है, जिसमें स्मार्टवॉच की होम स्क्रीन के तीन सबसे मुख्य रंग मौजूद हैं. साथ ही, हमने रेंडरर में watchfaceColors और notifyWatchFaceColorsChanged ओपन मेथड जोड़े हैं. इनकी मदद से, सिस्टम WallpaperManager.getWallpaperColors के ज़रिए स्मार्टवॉच की होम स्क्रीन के रंगों को हासिल कर सकता है. (I3d611)
  • ShortTextComplicationData, RangedValueComplicationData, NoPermissionComplicationData (और एक्सपेरिमेंटल DiscreteRangedValueComplicationData, GoalProgressComplicationData, और WeightedElementsComplicationData) अब सभी SmallImages के साथ काम करते हैं. अगर स्मार्टवॉच की होम स्क्रीन पर, कई रंगों में कॉम्प्लीकेशन रेंडर की जाती है, तो अब कई रंगों वाले SmallImage का इस्तेमाल किया जा सकता है. पहले, एक ही रंग वाली इमेज का इस्तेमाल करना पड़ता था. (I257df)
  • PreviewImageUpdateRequestedListener को Consumer<> में बदलें (Ia875d)
  • कस्टम सिंगल एब्सट्रैक्ट मैथड (एसएएम) टाइप OnWatchfaceColorsListener को सामान्य Java एसएएम टाइप (उपभोक्ता) (I0c489) से बदलें
  • हमने getOrCreateInteractiveWatchFaceClient और listenableGetOrCreateInteractiveWatchFaceClient के उन पुराने तरीकों को बंद कर दिया है जिनमें PreviewImageUpdateRequestedListener की जानकारी नहीं दी जाती. (Iec502)

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

  • DisconnectReason.BINDER_DIED का नाम बदलकर DisconnectReason.ENGINE_DIED कर दिया गया है. (I4eb0e)

वर्शन 1.2.0-alpha01

10 अगस्त, 2022

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

नई सुविधाएं

  • हमने अलग-अलग नए कॉम्प्लीकेशन फ़ॉर्मैट के लिए, एक्सपेरिमेंट के तौर पर सहायता जोड़ी है. इस पर लगातार काम किया जा रहा है. इन नए फ़ॉर्मैट में बिना सूचना के बदलाव किए जा सकते हैं. फ़िलहाल, CanvasComplicationDrawable में रेंडरर की सुविधा उपलब्ध नहीं है.
  • हमने कम्प्लीकेशन स्लॉट में वैकल्पिक मार्जिन भी जोड़े हैं. इससे छोटी कम्प्लीकेशन पर टैप करना आसान हो जाता है.

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

  • एक्सपेरिमेंट के तौर पर उपलब्ध BoundingArc क्लास में अब बदलाव नहीं किया जा सकता. (If624a)
  • छोटे विजेट पर टैप करना मुश्किल हो सकता है. इस समस्या को कम करने के लिए, हमने मार्जिन की सुविधा शुरू की है. इसकी मदद से, रेंडरिंग पर असर डाले बिना टैप किए जा सकने वाले हिस्से को बढ़ाया जा सकता है. जब तक कोड या एक्सएमएल के ज़रिए ComplciationSlots के मार्जिन की जानकारी नहीं दी जाती, तब तक उनके मार्जिन का साइज़ शून्य होता है. (I14089)
  • getComplicationSlotInflationFactory(CurrentUserStyleRepository) सिग्नेचर को बदला गया, ताकि कोई नॉन-नल फ़ैक्ट्री इंस्टेंस दिखाया जा सके. पहले, null वैल्यू दिखाना गड़बड़ी थी. इसलिए, अब एपीआई कॉन्ट्रैक्ट को और भी साफ़ तौर पर दिखाया जा रहा है. (I0fcc0)
  • हमने WatchFaceService.getComplicationSlotInflationFactory तरीके में currentUserStyleRepository आर्ग्युमेंट जोड़ा है, ताकि यह createComplicationSlotsManager के साथ काम कर सके. (I2ddd2)
  • UserStyleFlavors को फ़िलहाल आज़माया जा रहा है. (I69cdc)
  • हमने RangedValueComplicationData से एक्सपेरिमेंटल ValueType को हटा दिया है. इसके बजाय, हमने एक्सपेरिमेंटल DiscreteRangedValueComplicationData को जोड़ा है. यह RangedValueComplicationData की तरह ही है, सिवाय पूर्णांक की रेंज और वैल्यू के. हमने प्रयोग के तौर पर GoalProgressComplicationData भी लॉन्च किया है. यह RangedValueComplicationData जैसा ही है. हालांकि, यह किसी ऐसे लक्ष्य की प्रोग्रेस के लिए है जहां कम से कम वैल्यू शून्य होती है और वैल्यू targetValue से ज़्यादा हो सकती है. ध्यान दें कि सभी RangedValue वैरिएंट के लिए, monochromeImage, टेक्स्ट या टाइटल में से कम से कम एक की जानकारी देना ज़रूरी है. (I9590c)
  • हमने ComplicationSlotState से boundsWithMargins को हटा दिया है, क्योंकि सिस्टम सॉफ़्टवेयर में इसका इस्तेमाल नहीं किया जा सकता. (I42e26)
  • हमने WeightedElementsComplicationData के लिए एक्सपेरिमेंट के तौर पर सहायता जोड़ी है. इसमें टेक्स्ट/टाइटल/इमेज के साथ-साथ, एलिमेंट (वज़न और रंग के पेयर) का कलेक्शन होता है. इन्हें पाई चार्ट के तौर पर दिखाया जा सकता है. इसमें, संदर्भ के हिसाब से रंगों का मतलब होना चाहिए, क्योंकि आम तौर पर किसी जटिल जानकारी में लेबल रेंडर करने के लिए जगह नहीं होती. (I87eea)
  • RangedValueComplicationData और GoalProgressComplicationData के साथ इस्तेमाल किए जाने वाले एक्सपेरिमेंटल ColorRamps की मदद से, अब सात रंगों का क्रम तय किया जा सकता है. साथ ही, एक फ़्लैग से यह भी तय किया जा सकता है कि रंगों को आसानी से ट्रांज़िशन किया जाए या रंगों के बराबर साइज़ के सॉलिड चरण रेंडर किए जाएं. (I9f5bf)
  • RangedValueComplicationData.drawSegmented को valueType में बदल दिया गया है. यह एक इंटीजर है, जिसका ValueType IntDef से मेल खाता है. यह रेंज वाली वैल्यू को सेमेटिक मतलब देता है. साथ ही, स्टाइल पर असर डालने के लिए, जटिल कॉम्प्लीकेशन रेंडरर का इस्तेमाल किया जा सकता है. (I0616b)
  • हमने ColorRanges से RangedValueComplicationData तक के वैकल्पिक विकल्पों के लिए, एक्सपेरिमेंट के तौर पर सहायता जोड़ी है. आम तौर पर, जटिल जानकारी को स्मार्टवॉच की होम स्क्रीन के रंगों में रेंडर किया जाता है.हालांकि, कभी-कभी ComplicationDataSource का इस्तेमाल करके रंग सेट करना सबसे सही होता है. जैसे, जब उनका कोई खास मतलब हो. उदाहरण के लिए, तापमान के लिए लाल से नीले रंग में बदलना. (I5153a)
  • हमने RangedValueComplicationData में, एक्सपेरिमेंट के तौर पर drawSegmented हिंट जोड़ा है. इससे रेंडरर को सेगमेंट के साथ रेंज वाली वैल्यू का इंडिकेटर बनाने का सिग्नल मिलता है. यहां 1 सेगमेंट = 1 यूनिट होता है. (I7d7c1)

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

  • हमने पहले से तय किए गए स्क्रीन कोऑर्डिनेट सिस्टम के हिसाब से, ComplicationSlotBounds तय करने की सुविधा जोड़ी है. (I0985d)

वर्शन 1.1

वर्शन 1.1.1

10 अगस्त, 2022

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

  • यह गड़बड़ी ठीक करने वाला वर्शन है. इसलिए, 1.1.0 वर्शन का इस्तेमाल करने वाले लोगों को अपग्रेड करने का सुझाव दिया जाता है.

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

  • वॉच फ़ेस को शुरू करने की प्रोसेस, सिंक नहीं होती. अगर वॉच फ़ेस तैयार होने से पहले कोई कॉम्प्लीकेशन मिलता है, तो उसे pendingInitialComplications सूची में डाल दिया जाता है और बाद में लागू किया जाता है. माफ़ करें, pendingInitialComplications को बहुत जल्द लागू कर दिया गया था. इसका मतलब है कि स्मार्टवॉच की होम स्क्रीन को शुरू करने के दौरान, कुछ समय के लिए कॉम्प्लीकेशन pendingInitialComplications पर दिखती रहेंगी और उन्हें अनदेखा कर दिया जाएगा. इस समस्या को अब ठीक कर दिया गया है. साथ ही, इस पैच से एक गड़बड़ी को ठीक किया गया है. इसमें ComplicationRenderer, प्लेसहोल्डर को असिंक्रोनस तरीके से लोड करने की गलत कोशिश कर रहा था. इस वजह से, कंपाइलेशन ग्राफ़िक कभी अपडेट नहीं हो पा रहा था. आखिर में, इस पैच से एक ऐसी समस्या ठीक हो गई है जो शायद सैद्धांतिक थी. इसमें एक से ज़्यादा pendingInitialComplications को मर्ज करना पड़ता था. (0d03ba3)

  • InteractiveInstanceManager में संभावित 'डेडलॉक' ठीक करें. इसमें getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance, ज़रूरत से ज़्यादा समय तक लॉक को होल्ड कर रहा था. आम तौर पर, हमें उम्मीद होती है कि engine.setUserStyle जल्दी पूरा हो जाएगा. हालांकि, अगर किसी वजह से ऐसा नहीं होता है, तो डेडलॉक/ANR की समस्या आ सकती है. इस पैच से, लॉक से अनचाहे काम हट जाते हैं. इससे डेडलॉक की संभावना भी कम हो जाती है.(5a2adca)

  • WatchFaceService को बनाए रखने से जुड़ी कई समस्याएं ठीक करें. WakeLock कभी-कभी WatchFaceService को बनाए रख सकता है. release() कॉल जोड़ने से यह समस्या ठीक हो जाती है. साथ ही, StateFlows में WatchFaceService को बनाए रखा जा सकता है, जिससे CoroutineScopes में किए गए सुधार रद्द हो जाते हैं.(fd48138)

  • awaitDeferredWatchFace* में टाइम आउट जोड़ें और watchfaceOverlayStyle NullPointerException को ठीक करें. सामान्य परिस्थितियों में, यह टाइम आउट नहीं होना चाहिए. इसमें, नया इंस्टॉल और DirectBoot ऐसी स्थितियां शामिल हैं जहां सीपीयू पर ज़्यादा लोड होता है. हमने एक एनपीई को भी ठीक किया है. यह तब होता है, जब close() के बाद getWatchfaceOverlayStyle को कॉल किया जाता है.(a4c3a5a)

वर्शन 1.1.0

15 जून, 2022

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

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

वीडियो में बदलाव करने की सुविधा को बेहतर बनाया गया:

  • हमने हैरारकी वाले स्कीमा के लिए सहायता जोड़ी है. इससे एडिटर यूज़र इंटरफ़ेस (यूआई) की मदद से, स्टाइल की हैरारकी तय की जा सकती है. अब स्मार्टवॉच की होम स्क्रीन और साथ काम करने वाले ऐप्लिकेशन के लिए, अलग-अलग आइकॉन इस्तेमाल किए जा सकते हैं.
  • स्मार्टवॉच की होम स्क्रीन के कई इंस्टेंस के लिए, ऑप्ट-इन की सुविधा उपलब्ध है. हर इंस्टेंस का एक यूनीक आईडी होता है, जो सभी एपीआई प्लैटफ़ॉर्म पर उपलब्ध होता है.
  • अब एडिटर में इस्तेमाल करने के लिए, ComplicationSlots के लिए ऐसे नाम तय किए जा सकते हैं जिन्हें कोई भी आसानी से पढ़ सके.
  • स्टाइल के “फ़्लेवर” के लिए एक्सपेरिमेंटल सपोर्ट. यह स्टाइल का एक चुना गया कलेक्शन है, जो साथी एडिटर से दिखेगा.
  • स्मार्टवॉच की होम स्क्रीन के दो इंस्टेंस में बदलाव करने पर, अब होम स्क्रीन के इंस्टेंस संसाधन शेयर कर सकते हैं. इससे मेमोरी बचती है
  • वॉच फ़ेस एडिटर में कोई कॉम्प्लीकेशन चुनते समय, अब सेवा देने वाली मौजूदा कंपनी पहले से चुनी हुई होती है.

बेहतर कॉम्प्लीकेशन:

  • अब प्राइमरी और सेकंडरी डेटा सोर्स के लिए ComplicationType तय किया जा सकता है. इससे डेवलपर को बेहतर अनुभव देने में मदद मिलती है.
  • हमने ComplicationDataTimeline जोड़ा है. यह स्मार्टवॉच की होम स्क्रीन पर, समय के हिसाब से डेटा दिखाता है. इस डेटा को कैश मेमोरी में सेव किया जा सकता है और यह अपने-आप अपडेट हो जाता है. उदाहरण के लिए, आज के मौसम का पूर्वानुमान अलग-अलग समय पर या आने वाले समय में होने वाले कई कैलेंडर इवेंट की जानकारी.
  • कम्प्लेकेशन उपलब्ध कराने वाले ऐप्लिकेशन का ComponentName, ComplicationData का हिस्सा होता है.
  • अब जटिल जानकारी को कैश मेमोरी में सेव किया जाता है. इससे स्मार्टवॉच की होम स्क्रीन को स्विच करते समय बेहतर अनुभव मिलता है.

अन्य बदलाव:

  • UserStyleSchema और ComplicationSlots को अब एक्सएमएल में तय किया जा सकता है. इससे स्मार्टवॉच की होम स्क्रीन को आसानी से बनाया जा सकता है. साथ ही, सिस्टम से मेटाडेटा क्वेरी तेज़ी से की जा सकती हैं.
  • अब वॉच फ़ेस, सिस्टम ओवरले को रेंडर करने के लिए इस्तेमाल किए जाने वाले रंगों पर असर डाल सकती हैं.

वर्शन 1.1.0-rc01

18 मई, 2022

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

नई सुविधाएं

  • हमने स्मार्टवॉच की होम स्क्रीन के एक्सएमएल फ़ॉर्मैट में इस्तेमाल करने से जुड़े कुछ बदलाव किए हैं. इनसे ComplicationSlotBounds और उससे जुड़े रेफ़रंस को आसानी से तय किया जा सकता है. ऐज कॉम्प्लीकेशन BoundingArc के साथ प्रयोग जारी है. इसे drawHighlight तक ले जाया जा रहा है. हालांकि, फ़िलहाल इसका इस्तेमाल करने का सुझाव नहीं दिया जाता.

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

  • हमने drawHighlight का एक एक्सपेरिमेंटल ओवरलोड जोड़ा है, जो BoundingArc पैरामीटर स्वीकार करता है. (I705f8)
  • स्मार्टवॉच की होम स्क्रीन के लिए एक्सएमएल फ़ॉर्मैट में, अब संसाधन के रेफ़रंस इस्तेमाल किए जा सकते हैं. इसकी मदद से, एक्सएमएल और कोड, दोनों में एक ही कॉन्स्टेंट का इस्तेमाल किया जा सकता है. (I3ef61)
  • हमने ComplicationSlotBounds को center_x, center_y, size_x, size_y फ़ॉर्म में तय करने की सुविधा जोड़ी है. अब रिसॉर्स रेफ़रंस का इस्तेमाल करके, अलग-अलग इकाइयों (जैसे, dp) का इस्तेमाल भी किया जा सकता है. (Iace98)

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

  • runBlockingWithTracing को ठीक करें, जो गलत कॉन्टेक्स्ट में टास्क चला रहा था.(4f595fe)
  • BaseEditorSession.close को सिंक करें. BaseEditorSession.close के असाइन होने में लगने वाले समय की वजह से, हम ComplicationDataSourceInfoRetriever को बहुत देर से रिलीज़ करते हैं. इससे logcat में चेतावनी के तौर पर स्पैम दिखता है. ऐसा हो सकता है कि इससे कोई नुकसान न हो, लेकिन logcat स्पैम से ध्यान भटकता है और इसे रोका जाना चाहिए.(35a5308)

वर्शन 1.1.0-beta02

11 मई, 2022

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

नई सुविधाएं

  • हमने एक्सपेरिमेंट के तौर पर, नए ComplicationData टाइप के लिए सहायता जोड़ी है. फ़िलहाल, ये इस्तेमाल के लिए तैयार नहीं हैं. हालांकि, इस स्पेस पर नज़र बनाए रखें.

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

  • हमने BoundingArc जोड़ा है. यह एक एक्सपेरिमेंटल क्लास है, जो किनारे पर मौजूद जटिल जानकारी वाले स्लॉट की ज्यामिति के बारे में बताती है. इसे ComplicationSlot में जोड़ा गया है और ComplicationSlotState और WatchFaceMetadataClient में जोड़ा गया है. (I61a40)
  • हमने UserStyleSetting एक्सएमएल में सेटिंग इनहेरिट करने की सुविधा जोड़ी है. इसकी मदद से, ज़्यादा जानकारी को कम किया जा सकता है. साथ ही, स्मार्टवॉच की होम स्क्रीन के बीच सेटिंग शेयर की जा सकती है. (Ief841)
  • हमने एक्सपेरिमेंट के तौर पर, ComplicationData के दो नए टाइप जोड़े हैं: ListComplicationData और ProtoLayoutComplicationData. फ़िलहाल, इनमें से किसी भी टाइप के लिए रेंडरिंग की सुविधा उपलब्ध नहीं है. साथ ही, अगर ComplicationDataSource's मेनिफ़ेस्ट में इन टाइप को जोड़ा जाता है, तो WearOS उन्हें नहीं पहचानता. (I1811c)

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

  • TimeLineEntry टाइप के सीरियलाइज़ेशन को ठीक करें. हम TimeLineEntry टाइप को सीरियलाइज़ नहीं कर रहे थे. इसका मतलब है कि NoData टाइप के कैश मेमोरी में सेव किए गए TimeLineEntries को, पैरंट कॉम्प्लीकेशन के टाइप के तौर पर गलत तरीके से समझा जाएगा. इस वजह से, ऐसे ज़रूरी फ़ील्ड को ऐक्सेस करने पर एनपीई (नॉन-पैरामीटर एरर) दिखेंगे जो मौजूद नहीं हैं. (55ffdf5)
  • setComplicationData टाइमलाइन फ़ील्ड हटाने की गड़बड़ी को ठीक किया गया(fb392f5)
  • एक गड़बड़ी को ठीक किया गया है. इसमें कभी-कभी runBlockingWithTracing की वजह से, एनपीई(12ca62e) होता था
  • एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, कभी-कभी हमें कम्प्लीकेशन मिलने पर ClassNotFoundException: android.support.wearable.complications.ComplicationText दिखता था.(217942d9)
  • GlesRenderer.backgroundThreadInitInternal में एक गड़बड़ी को ठीक किया गया है. इसमें EGL14.eglCreateContext को कॉल करने पर, onBackgroundThreadGlContextCreated को कॉल किया जा रहा था. एक और गड़बड़ी को ठीक किया गया है. इसमें verticalFlip की वजह से, स्क्रीनशॉट में विज़ुअल गड़बड़ी आ रही थी.(c674ad2)
  • WatchFaceService एक्सएमएल वर्शन की जांच ठीक करें. यह गलत पैकेज से लोड हो रहा था.(dfa06f3)
  • प्लेसहोल्डर वायर फ़ॉर्मैट अब इनर बंडल का इस्तेमाल करता है. हम नहीं चाहते कि प्लेसहोल्डर की वजह से, स्मार्टवॉच की मौजूदा होम स्क्रीन काम करना बंद कर दें. हो सकता है कि ये होम स्क्रीन, छिपे हुए अंदरूनी a.s.w.c.ComplicationData का इस्तेमाल करती हों. पहले, NoDataComplication डेटा के वायर फ़ॉर्मैट में प्लेसहोल्डर को सामान्य फ़ील्ड में सेव किया जाता था. यह समस्या पैदा करता था, क्योंकि स्मार्टवॉच की पुरानी होम स्क्रीन पर प्लेसहोल्डर स्ट्रिंग रेंडर होती थी, जो सही नहीं थी. अब हम इसे पूरी तरह से अलग करने के लिए, इनर बंडल का इस्तेमाल करते हैं.(d5e7bd2)

वर्शन 1.1.0-beta01

20 अप्रैल, 2022

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

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

  • अब WatchFaceMetadataClient तरीके (getUserStyleSchema, getComplicationSlotMetadataMap, getUserStyleFlavors) और HeadlessWatchFaceClient.getUserStyleFlavors, WatchFaceException के बजाय unchecked RuntimeException को दिखाते हैं. (I0718a)
  • WatchFaceMetadataClient.WatchFaceException को क्लास से हटा दिया गया है, ताकि उसका फिर से इस्तेमाल किया जा सके. (I4e869)

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

  • WatchFaceMetadataClient अब ComplicationSlotBounds का कुछ हिस्सा भेजने पर क्रैश नहीं होगा.(Iaafd)

वर्शन 1.1.0-alpha05

6 अप्रैल, 2022

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

नई सुविधाएं

  • अब ComplicationData.dataSource की जांच करके यह पता लगाया जा सकता है कि ComplicationData किस डेटा सोर्स से भेजा गया है. कुछ वॉच फ़ेस, कॉम्प्लीकेशन डिसप्ले को पसंद के मुताबिक बनाने के लिए इसका इस्तेमाल कर सकते हैं. (I44a73)

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

  • Renderer.CanvasRenderer और Renderer.GlesRenderer को बंद कर दिया गया है. इनकी जगह Renderer.CanvasRenderer2 और Renderer.GlesRenderer2 का इस्तेमाल किया जा सकता है. ये SharedAssets के साथ काम करते हैं, जिसे रेंडर करने के तरीकों में पास किया जाता है. हमने java इंटरऑपरेबलिटी के लिए, ListenableCanvasRenderer2 और ListenableGlesRenderer2 को पेश किया है. (I31ffa)
  • @WatchFaceFlavorsExperimental फ़्लेवर तय करने की सुविधा जोड़ी गई - स्टाइल वाली स्मार्टवॉच की होम स्क्रीन की पहले से कॉन्फ़िगर की गई सूची (I04dd0)
  • Renderer.sharedAssets अब StateFlow है और हमने इस्तेमाल न किए गए Renderer.SharedAssetsFactory (I12ac5) को हटा दिया है
  • UserStyleSchema.userStyleSettings का अब इस्तेमाल किया जा सकता है (Iba7e3)
  • हमने HeadlessWatchFaceClient.getUserStyleSchemaDigestHash जोड़ा है. इससे HeadlessWatchFaceClient को डाइजेस्ट हैश का हिसाब लगाने से पहले, AIDL पर स्कीमा पास करने के अपेक्षाकृत कम ओवरहेड से बचने में मदद मिलती है. (I33597)
  • हमने WatchFaceMetadataClient में isUserStyleSchemaStatic जोड़ा है. यह सिर्फ़ तब सही है, जब UserStyleSchema पर भरोसा किया जा सकता हो कि स्मार्टवॉच की होम स्क्रीन का APK अपडेट होने तक, उसमें कोई बदलाव नहीं होगा. (I45a3f)
  • हमने UserStyleSchema में getDigestHash जोड़ा है, जो स्कीमा का डाइजेस्ट हैश कैलकुलेट करता है. इसका इस्तेमाल करके, यह पता लगाया जा सकता है कि UserStyleSchema में बदलाव हुआ है या नहीं. (I2063d)
  • METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTED का नाम बदलकर METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED (I9ba5d) कर दिया गया
  • UserStyleSetting.OnWatchEditorData का नाम बदलकर UserStyleSetting.WatchFaceEditorData कर दिया गया है. इसमें ऐसा डेटा होता है जिसका इस्तेमाल सिर्फ़ स्मार्टवॉच की होम स्क्रीन के एडिटर की सुविधा करता है. (If3afb)

वर्शन 1.1.0-alpha04

9 मार्च, 2022

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

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

  • ऐसा हो सकता है कि अप-टू-डेट ComplicationData हमेशा उपलब्ध न हो (उदाहरण के लिए, कैश मेमोरी में सेव किया गया ComplicationData, जिसकी समयसीमा खत्म हो गई है). इसलिए, हमने NoDataComplication को प्लेसहोल्डर ComplicationData के साथ जोड़ा है. साथ ही, ComplicationText.PLACEHOLDER, MonochromaticImage.PLACEHOLDER, SmallImage.PLACEHOLDER, और PhotoImage.PLACEHOLDER को जोड़ा है. इनका इस्तेमाल सिर्फ़ NoDataComplicationData प्लेसहोल्डर के कॉन्टेक्स्ट में किया जा सकता है. अगर इन प्लेसहोल्डर को चुना जाता है, तो इनका सुझाव स्लेटी रंग के बॉक्स/आर्क के साथ रेंडर करने के लिए दिया जाता है. (I6285d)
  • हमने ComplicationData.getNextChangeInstant जोड़ा है. इससे आपको रेफ़रंस इंस्टैंट के बाद का अगला इंस्टैंट पता चलता है. इस इंस्टैंट पर, जटिल जानकारी के किसी भी फ़ील्ड में बदलाव हो सकता है. इसका इस्तेमाल, Android घड़ी के संकेत वाले अपडेट के लिए फ़्रेम शेड्यूल करने के लिए किया जाता है. उदाहरण के लिए, अगर वॉच फ़ेस सामान्य तौर पर हर मिनट में एक बार अपडेट होती है, तो स्टॉप वॉच कॉम्प्लीकेशन सेट करने पर, यह हर सेकंड में एक बार अपडेट होगी. (I7ceb2)
  • EditorSession.watchFaceId का इस्तेमाल अब सभी एपीआई लेवल पर किया जा सकता है. इसके अलावा, इसकी वैल्यू अब हमेशा WatchState.watchFaceInstanceId से मेल खाएगी. (I323b9)
  • getPendingIntentForTouchEvent एपीआई की अब ज़रूरत नहीं है, क्योंकि फ़्रेमवर्क में मौजूद समस्या को ठीक कर दिया गया है. इसलिए, इससे जुड़े सभी एपीआई हटा दिए गए हैं. PendingIntents ट्रिगर होने के लिए, स्मार्टवॉच की होम स्क्रीन को कुछ खास करने की ज़रूरत नहीं होती. भले ही, होम बटन को हाल ही में दबाया गया हो. (I1f2e8)
  • हमने RendererParameters.isForScreenShot जोड़ा है, जो स्क्रीन शॉट के लिए रेंडर होने पर सही होगा. ऐनिमेशन वाली कुछ होम स्क्रीन को यह जानकारी होनी चाहिए, ताकि वे सबसे अच्छे नतीजे देने के लिए बदलाव कर सकें. (I96d99)
  • हमने WatchFaceException में WatchFaceExceptionReason जोड़ा है, ताकि आपको यह पता चल सके कि क्या गड़बड़ी हुई. (I01d15)
  • ComplicationDataSourceService.onImmediateComplicationRequest को हटा दिया गया है. इसके बजाय, ComplicationRequest.immediateResponseRequired को जोड़ा गया है, ताकि यह सिग्नल दिया जा सके कि सेवा देने वाली कंपनी को तुरंत जवाब देना होगा. आम तौर पर, 100 मिलीसेकंड से कम समय में जवाब देना चाहिए. ध्यान दें कि इस सुविधा को ऐक्सेस करने के लिए, com.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE की खास अनुमति की ज़रूरत होती है. (Ie6b23)
  • Tiramisu DP2 (I0cbb7) से मैच करने के लिए, कोर और appcompat में वैल्यू न होने की स्थिति को अपडेट किया गया

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

  • स्कीमा की पुष्टि न होने पर (Ia400f), अब स्मार्टवॉच की होम स्क्रीन का ऐप्लिकेशन क्रैश हो जाता है

वर्शन 1.1.0-alpha03

9 फ़रवरी, 2022

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

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

  • हमने हैरारकी वाली स्टाइल के स्कीमा के लिए, एक्सपेरिमेंट के तौर पर सहायता जोड़ी है. हमने androidx.wear.watchface.style.UserStyleSetting.Option में एक नई प्रॉपर्टी जोड़ी है, जिसका नाम childSettings है. शुरुआत में, इसका इस्तेमाल सिर्फ़ ListOption करता है. इससे, एडिटर यूज़र इंटरफ़ेस के इस्तेमाल के लिए स्टाइल की हैरारकी को बताया जा सकता है. हालांकि, UserStyle में कोई बदलाव नहीं होता और यह अब भी Map<String, ByteArray> ही रहता है. (Iaf6f4)
  • हमने WatchFace.OverlayStyle जोड़ा है, जिससे स्मार्टवॉच की होम स्क्रीन पर, सिस्टम स्टेटस ओवरले को रेंडर करने की सुविधा कॉन्फ़िगर की जा सकती है. (I8520d)
  • हमने clearWithBackgroundTintBeforeRenderingHighlightLayer को CanvasRenderer के लिए एक नया वैकल्पिक कन्स्ट्रक्टर पैरामीटर (डिफ़ॉल्ट रूप से गलत) के तौर पर जोड़ा है. अगर इसे 'सही' पर सेट किया जाता है, तो कैनवस को बैकग्राउंड के टिन्ट कलर से मिटा दिया जाएगा. (Ie01e5)
  • androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTED मेटाडेटा की एक नई कुंजी जोड़ी गई है. इसकी मदद से, कम्प्लीकेशन के डेटा सोर्स यह बता सकते हैं कि वे बिना किसी कॉन्फ़िगरेशन के डिफ़ॉल्ट वैल्यू दे सकते हैं (Icc0d4)
  • स्मार्टवॉच की होम स्क्रीन में बदलाव करते समय, आम तौर पर इंटरैक्टिव और हेडलेस, दोनों इंस्टेंस मौजूद होते हैं. मेमोरी बचाने के लिए, हमने Renderer.SharedAssets सुविधा शुरू की है. इसकी मदद से, स्मार्टवॉच की होम स्क्रीन रेंडर करने वाले टूल को, इंस्टेंस के बीच बदलाव न होने वाला डेटा (जैसे, टेक्सचर और शेडर) शेयर करने की अनुमति मिलती है. GlesRenderer.setEglConfig और GlesRenderer.setEglDisplay का इस्तेमाल नहीं किया जा सकता. इन्हें सेट करने का कभी भी मकसद नहीं था. ऐसा करने से, इनका व्यवहार अनिश्चित हो जाता. (I0d9e7)
  • हमने ComplicationSlot.Builder में setNameResourceId और setScreenReaderNameResourceId (जो स्ट्रिंग संसाधनों का रेफ़रंस देते हैं) और androidx.wear.watchface.client.ComplicationSlotState में उनसे जुड़े गेट्टर जोड़े हैं. इससे सिस्टम, एडिटर और स्क्रीन रीडर में इस्तेमाल करने के लिए, ComplicationSlots के नाम फ़ेच कर सकता है. (If6c6a)
  • WatchfaceMetadataClient.getUserStyleSchema और getComplicationSlotMetadataMap अब RemoteException के बजाय WatchFaceException दिखाते हैं. (I86f11)
  • ComplicationDataSourceService में onSynchronousComplicationRequest और उससे जुड़े फ़ंक्शन का नाम बदलकर onImmediateComplicationRequest वगैरह कर दिया गया है... (I87ba0)
  • वॉच होम स्क्रीन के एडिटर में, साथी ऐप्लिकेशन के एडिटर की तुलना में स्क्रीन का ज़्यादा हिस्सा नहीं होता. इसलिए, वॉच होम स्क्रीन के एडिटर के लिए अलग-अलग आइकॉन का इस्तेमाल करना सही रहेगा. यह पैच, सभी UserStyleSettings और जहां ज़रूरी हो वहां उनकी Option क्लास में OnWatchEditorData (फ़िलहाल इसमें सिर्फ़ एक आइकॉन है) जोड़ता है. (If1886)
  • हमने ListenableGlesRenderer के कन्स्ट्रक्टर में @JvmOverloads जोड़ा है, ताकि बेहतर तरीके से Java इंटरऑपरेबल हो सके. (I2974a)

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

  • ListenableGlesRenderer के कंस्ट्रक्टर को अब सही तरीके से @Throws(GlesException::class) के तौर पर मार्क किया गया है. साथ ही, अब इस क्लास को Java में एक्सटेंड किया जा सकता है. (Iac6d0)
  • PhotoImageComplicationData tapAction को सही तरीके से मैनेज न करने से जुड़ी गड़बड़ी ठीक की गई (I1cc30)

वर्शन 1.1.0-alpha02

12 जनवरी, 2022

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

नई सुविधाएं

  • डीबग करने और जांच करने में मदद करने के लिए, ComplicationData और उससे जुड़ी सबक्लास में अब हैशकोड, equals, और toString के तरीके बदल दिए गए हैं. इससे इनका इस्तेमाल करना आसान हो गया है.

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

  • WatchfaceMetadataClient तरीके, ज़रूरत पड़ने पर फिर से RemoteExceptions दिखाते हैं. इससे क्लाइंट कोड को स्मार्टवॉच की होम स्क्रीन से गड़बड़ियां पकड़ने में आसानी होती है. (I78785)
  • ComplicationData और सब-क्लास में अब हैशकोड, equals, और toString हैं. (I24bc6)

वर्शन 1.1.0-alpha01

15 दिसंबर, 2021

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

नई सुविधाएं

  • UserStyleSchema और ComplicationSlots को अब एक्सएमएल में तय किया जा सकता है. इससे स्मार्टवॉच की होम स्क्रीन को बनाना आसान हो जाता है. इसके अलावा, WatchFaceMetadataClient क्वेरी तेज़ी से काम करती हैं, क्योंकि उन्हें मेटाडेटा पाने के लिए सेवा से बंधने की ज़रूरत नहीं होती. WatchFaceMetadataClient और ListenableWatchFaceMetadataClient अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. ये स्टेबल एपीआई का हिस्सा बन जाएंगे. सिस्टम में स्मार्टवॉच की होम स्क्रीन के एक से ज़्यादा इंस्टेंस इस्तेमाल किए जा सकेंगे. हर इंस्टेंस के लिए, उपयोगकर्ता अपनी पसंद के मुताबिक स्टाइल के विकल्प चुन सकेगा. ये वॉच फेस पिकर में दिखेंगे. इस सुविधा के लिए ऑप्ट इन करने के लिए, स्मार्टवॉच की होम स्क्रीन के मेनिफ़ेस्ट में यह मेटाडेटा टैग शामिल होना चाहिए.

        <meta-data
            android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED"
            android:value="true" />
    
  • स्मार्टवॉच की कुछ होम स्क्रीन की स्थिति, UserStyle में कैप्चर नहीं की जाती. इस स्थिति और एक से ज़्यादा इंस्टेंस के साथ काम करने के लिए, स्मार्टवॉच की होम स्क्रीन का इंस्टेंस आईडी अब WatchState.watchFaceInstanceId के ज़रिए उपलब्ध है.

  • ComplicationData को अब कैश मेमोरी में सेव किया जा रहा है, ताकि लोड होने के तुरंत बाद ही कॉम्प्लीकेशन दिख सकें. कभी-कभी सिस्टम, ComplicationData को मेमोरी में कैश मेमोरी में सेव करता है और कभी-कभी स्मार्टवॉच की होम स्क्रीन की लाइब्रेरी, इसे सीरियलाइज़ करती है. सीरियलाइज़ होने पर, उससे जुड़ा कोई भी tapAction हट जाएगा.ऐसा होने पर, ComplicationData.tapActionLostDueToSerialization true दिखाएगा. साथ ही, स्मार्टवॉच की होम स्क्रीन पर, कॉम्प्लीकेशन को अलग तरीके से रेंडर किया जाना चाहिए (जैसे, धूसर या आधा पारदर्शी), ताकि यह पता चल सके कि उस पर टैप नहीं किया जा सकता. सिस्टम, tapAction के साथ अपडेट किया गया ComplicationData जल्द से जल्द भेज देगा.

  • कुछ ComplicationData को लंबे समय तक कैश मेमोरी में सेव नहीं किया जाना चाहिए. इसकी सुविधा देने के लिए, हमने एक सामान्य सुविधा ComplicationDataTimeline जोड़ी है. इसका इस्तेमाल, स्मार्टवॉच की होम स्क्रीन पर दिखाने के लिए, समय के हिसाब से दिखाए जाने वाले ComplicationData का क्रम देने के लिए किया जा सकता है. इस ComplicationData को कैश मेमोरी में सेव किया जा सकता है और अपने-आप अपडेट किया जा सकता है. उदाहरण के लिए, आज के मौसम का पूर्वानुमान अलग-अलग समय पर या आने वाले समय में होने वाले कई कैलेंडर इवेंट की जानकारी. ComplicationRequestListener को नए तरीके onComplicationDataTimeline के साथ जोड़ा गया है. इस डेटा को दिखाने के लिए, इसका इस्तेमाल किया जा सकता है.

  • DefaultComplicationDataSourcePolicy को बड़ा किया गया है, ताकि प्राइमरी और सेकंडरी डेटा सोर्स के लिए ComplicationType तय किया जा सके.

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

  • PendingIntentTapListener में किए गए बदलावों को वापस लाया जा सकता है. ऐसा इसलिए, क्योंकि हमने फ़्रेमवर्क में मौजूद समस्या को हल कर दिया है. इस समस्या की वजह से, होम बटन दबाने के बाद, स्मार्टवॉच की होम स्क्रीन पर पांच सेकंड तक गतिविधियां लॉन्च नहीं हो पाती थीं.

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

  • ComplicationData.isCached को tapActionLostDueToSerialization में बदल दिया गया है. यह इस बात का पता लगाने में ज़्यादा मददगार है कि कॉम्प्लीकेशन स्लॉट को अलग तरीके से रेंडर किया जाना चाहिए या नहीं, ताकि यह पता चल सके कि उस पर टैप नहीं किया जा सकता. (I6de2f)
  • ComplicationDataTimeline को wear-complication-data-source में जोड़ा गया. इसका इस्तेमाल, स्मार्टवॉच की होम स्क्रीन पर दिखाने के लिए, समय के हिसाब से दिखाए जाने वाले ComplicationData का क्रम देने के लिए किया जा सकता है. इस ComplicationData को कैश मेमोरी में सेव किया जा सकता है और अपने-आप अपडेट किया जा सकता है. उदाहरण के लिए, आज के मौसम का पूर्वानुमान अलग-अलग समय पर या आने वाले समय में होने वाले कई कैलेंडर इवेंट की जानकारी. ComplicationRequestListener को नए तरीके onComplicationDataTimeline के साथ जोड़ा गया है. इस डेटा को दिखाने के लिए, इसका इस्तेमाल किया जा सकता है. डेटा सोर्स की सेवाओं को निलंबित करने के लिए, एक नया Kotlin रैपर SuspendingTimelineComplicationDataSourceService है. (Idecdc)
  • PendingIntentTapListener और WatchFaceControlClient.getPendingIntentForTouchEvent को जोड़ा गया. इससे उन स्मार्टवॉच की होम स्क्रीन को मदद मिल सकती है जिन्हें टैप करने पर इंटेंट लॉन्च करने की ज़रूरत होती है. इससे, होम बटन दबाने के बाद, फ़्रेमवर्क पांच सेकंड के लिए नई गतिविधियों को लॉन्च करने से रोकता है. (I98074)
  • हर वॉचफ़ेस के लिए ComplicationData कैश मेमोरी जोड़ी गई. इसका मकसद यह है कि स्मार्टवॉच की होम स्क्रीन पर, कॉम्प्लीकेशन के डेटा की पिछली वैल्यू तब तक दिखे, जब तक सिस्टम उन्हें अपडेट नहीं कर देता. OEM के लिए, एपीआई का एक नया तरीका WatchFaceControlClient.hasComplicationCache उपलब्ध है. इससे, स्मार्टवॉच की होम स्क्रीन पर कॉम्प्लीकेशन भेजने के लिए, सिस्टम की रणनीति पर असर पड़ सकता है. इसके अलावा, ComplicationData में isCached प्रॉपर्टी होती है. हमारा सुझाव है कि कैश मेमोरी में सेव की गई जटिलताओं को अलग तरीके से रेंडर किया जाए, क्योंकि tapAction को कैश मेमोरी में सेव नहीं किया जा सकता और कैश मेमोरी में सेव की गई जटिलताओं में यह null होगा. (I404b0)
  • स्मार्टवॉच की होम स्क्रीन का इंस्टेंस आईडी, अब WatchState.watchFaceInstanceId के ज़रिए उपलब्ध है. स्मार्टवॉच की ज़्यादातर होम स्क्रीन के लिए, इस एट्रिब्यूट का इस्तेमाल करने की ज़रूरत नहीं होती. हालांकि, अगर स्मार्टवॉच की हर होम स्क्रीन की कोई ऐसी स्थिति है जो स्कीमा में सेव नहीं की गई है, तो होम स्क्रीन के इंस्टेंस की पहचान करने के लिए इस एट्रिब्यूट का इस्तेमाल किया जा सकता है. इसकी मदद पाने के लिए, अब WatchFaceControlClient.createHeadlessWatchFaceClient को कॉल करते समय कोई आईडी दिया जा सकता है. (I1ff98)
  • DefaultComplicationDataSourcePolicy को बेहतर बनाया गया है. इसमें मुख्य, सेकंडरी, और फ़ॉलबैक सिस्टम की सेवा देने वाली कंपनी के लिए, डिफ़ॉल्ट ComplicationTypes सेट करने की सुविधा है. ComplicationSlot.defaultDataSourceType का अब इस्तेमाल नहीं किया जा सकता. (If0ce3)
  • ComplicationSlot.configExtras को अब बदला जा सकता है और EditorSession.openComplicationDataSourceChooser() को कॉल करने से पहले उसे अपडेट किया जा सकता है. (I6f852)
  • WatchFace.setComplicationDeniedDialogIntent और setComplicationRationaleDialogIntent को जोड़ा गया. ये इंटेंट, कॉम्प्लीकेशन की अनुमतियों का अनुरोध करने से पहले, 'ऐसा क्यों करना है' डायलॉग दिखाने के लिए लॉन्च किए जाते हैं. साथ ही, एक और डायलॉग दिखाया जाता है, जिसमें बताया जाता है कि अनुमतियों के अस्वीकार होने पर, कॉम्प्लीकेशन में बदलाव करने के लिए कॉम्प्लीकेशन की अनुमति की ज़रूरत होती है. ऐसा इसलिए होता है, क्योंकि कॉम्प्लीकेशन चुनने वाला टूल नहीं खुलेगा. (I3a29c)
  • UserStyleSchema और ComplicationSlots को अब एक्सएमएल में तय किया जा सकता है. इससे वॉच फ़ेस को बनाना आसान हो जाता है. साथ ही, WatchFaceMetadataClient क्वेरी तेज़ी से काम करती हैं, क्योंकि उन्हें मेटाडेटा पाने के लिए सेवा से बंधे होने की ज़रूरत नहीं होती. (I85bfa)
  • InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent जोड़ा गया, ताकि क्लाइंट यह तय कर सके कि स्मार्टवॉच की होम स्क्रीन पर getPendingIntentForTouchEvent काम करता है या नहीं. (I0b917)
  • WatchFaceMetadataClient और ListenableWatchFaceMetadataClient अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. इनका इस्तेमाल, स्मार्टवॉच की होम स्क्रीन का मेटाडेटा पाने के लिए किया जा सकता है. ऐसा तब किया जा सकता है, जब होम स्क्रीन के लिए बाइंडर खोलने की ज़रूरत न हो. (Ibb827)
  • सिंक्रोनस कॉम्प्लीकेशन की सुविधा देने वाली कंपनियों के लिए सहायता जोड़ी गई है. इसमें कॉम्प्लीकेशन, सामान्य से ज़्यादा फ़्रीक्वेंसी पर अपडेट होती है. स्मार्टवॉच की होम स्क्रीन दिखने और ऐंबियंट मोड के बंद होने पर, कॉम्प्लीकेशन हर सेकंड में एक बार अपडेट हो सकती है. इसका इस्तेमाल करने के लिए, सेवा देने वाली कंपनी को अपने मेनिफ़ेस्ट में नया androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS मेटाडेटा टैग शामिल करना होगा और onSynchronousComplicationRequest को बदलना होगा. डेटा सोर्स के टाइप के आधार पर, हो सकता है कि उसे onStartSynchronousComplicationRequests और onStopInteractiveComplicationRequests को बदलना पड़े. ऐसा इसलिए, ताकि यह पता चल सके कि जटिल जानकारी वाला विजेट, इंटरैक्टिव मोड में कब जाता है और कब उससे बाहर निकलता है. (I8fe9d)

संस्करण 1.0

वर्शन 1.0.1

9 फ़रवरी, 2022

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

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

  • PhotoImageComplicationData tapAction को सही तरीके से मैनेज न करने से जुड़ी गड़बड़ी ठीक की गई (I1cc30)

वर्शन 1.0.0

1 दिसंबर, 2021

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

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

WearOS स्मार्टवॉच की होम स्क्रीन बनाने के लिए, androidx.wear.watchface पैकेज को नई लाइब्रेरी के तौर पर सुझाया गया है. इसमें, Wearable की पुरानी सहायता लाइब्रेरी की तुलना में कई नई सुविधाएं हैं.

  • लाइब्रेरी में, उपयोगकर्ता की स्टाइल (जैसे, रंग पैलेट, स्मार्टवॉच के हाथों की स्टाइल, घंटे के निशान का लुक वगैरह) को सीधे तौर पर बदलने की सुविधा है (androidx.wear.watchface.style देखें). androidx. wear.watchface.editor का इस्तेमाल करके, स्मार्टवॉच की होम स्क्रीन का एडिटर बनाना अब बहुत आसान हो गया है.साथ ही, सिस्टम के साथी ऐप्लिकेशन से स्मार्टवॉच की होम स्क्रीन में बदलाव किया जा सकता है.इसके लिए, आपको कोई अतिरिक्त कोड लिखने की ज़रूरत नहीं है.
  • इसमें सबसे सही तरीके पहले से मौजूद होते हैं. लाइब्रेरी, कॉम्प्लीकेशन के लिए स्क्रीन रीडर कॉन्टेंट लेबल अपने-आप जनरेट करती है. आपके पास भी अपने लेबल जोड़ने का विकल्प होता है. साथ ही, बैटरी कम होने और चार्ज न होने पर, बैटरी लाइफ़ को बेहतर बनाने के लिए फ़्रेम रेट अपने-आप कम हो जाता है.
  • स्मार्टवॉच की होम स्क्रीन बनाने के लिए, कम कोड की ज़रूरत होती है. खास तौर पर, उन कॉम्प्लीकेशन के लिए जिनमें ज़्यादातर बोइलरप्लेट को लाइब्रेरी में ले जाया गया है.

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

  • EditorSession.userStyle.compareAndSet (I6f676) ठीक करें
  • स्मार्ट वॉच की होम स्क्रीन पर बहुत कम समय की देरी को ठीक करना (Iffb97)
  • यूज़र इंटरफ़ेस (यूआई) थ्रेड पर InteractiveWatchFaceImpl.onDestroy डिस्पैच करना (I83340)
  • ब्रॉडकास्ट रिसीवर से जुड़ी कई समस्याएं ठीक करना (I7d25f)

वर्शन 1.0.0-rc01

3 नवंबर, 2021

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

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

  • फ़्लो माइग्रेशन की वजह से काम न करने वाले dump() (adb shell dumpsys से कॉल किया जाता है) को ठीक करें. (087cf9e)

  • पक्का करें कि writeDirectBootPrefs का क्रम सही हो. हम चाहते हैं कि writeDirectBootPrefs हमेशा initStyleAndComplications के बाद चलता रहे. ऐसा न करने पर, यूज़र इंटरफ़ेस (यूआई) थ्रेड के शुरू होने में देरी हो सकती है.(37650ac)

  • पक्का करें कि Renderer.onDestroy को कॉल किया गया हो. अगर रेंडरर बना लिया गया है, लेकिन WF init पूरा नहीं हुआ है और Engine.onDestroy को कॉल किया गया है, तो हमें Renderer.onDestroy को कॉल करना होगा. (f9952dc)

  • isBatteryLowAndNotCharging को ऑप्टिमाइज़ करना/ठीक करना. इस पैच से, isBatteryLowAndNotCharging के शुरुआती सेटअप को पहले कर दिया जाता है. इसका मतलब है कि इसे createWatchFace के साथ-साथ किया जा सकता है. इसके अलावा, हम अब ACTION_POWER_DISCONNECTED को भी सुनते हैं. (ddffd80

  • बंद होने के बाद, InteractiveWatchFaceClientImpl.isConnectionAlive को गलत होना चाहिए (ab9774e)

वर्शन 1.0.0-beta01

27 अक्टूबर, 2021

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

वर्शन 1.0.0-alpha24

13 अक्टूबर, 2021

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

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

  • पैकेज androidx.wear.watchface.complications की क्लास को नए wear:watchface:watchface-complications प्रोजेक्ट में ले जाया गया है. ध्यान दें, इसका मतलब है कि इस लाइब्रेरी के साथ-साथ wear:watchface:watchface-complications-data के किसी भी पुराने अल्फा वर्शन को शामिल नहीं किया जा सकता. ऐसा करने पर, आपको डुप्लीकेट क्लास से जुड़ी गड़बड़ियां दिखेंगी. (I97195)
  • Renderer.dump का नाम बदलकर Renderer.onDump कर दिया गया है और इसे @UiThread के साथ एनोटेट किया गया है. (I44845)
  • InteractiveWatchFaceClient.addWatchFaceReadyListener का नाम बदलकर addOnWatchFaceReadyListener और removeWatchFaceReadyListener का नाम बदलकर removeOnWatchFaceReadyListener कर दिया गया है. (I48fea)
  • EditorSession getComplicationsPreviewData और getComplicationsDataSourceInfo अब निलंबित करने वाले फ़ंक्शन नहीं हैं. इसके बजाय, ये StateFlow<> प्रॉपर्टी हैं, जिनकी वैल्यू शुरू में शून्य होती है. ListenableEditorSession में, बेस क्लास के नए StateFlow<> ऑब्जेक्ट के पक्ष में getListenableComplicationPreviewData और getListenableComplicationsProviderInfo को हटा दिया गया है. अगर आपको Java कोड में किए गए बदलावों को सुनना है, तो androidx.lifecycle.FlowLiveDataConversions.asLiveData को LiveData<> में बदलने के लिए इसका इस्तेमाल करें. (Ic5483)

वर्शन 1.0.0-alpha23

29 सितंबर, 2021

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

नई सुविधाएं

स्मार्टवॉच की होम स्क्रीन की लाइब्रेरी अब एक लाइब्रेरी ग्रुप है. इस वजह से, लाइब्रेरी एक जगह से दूसरी जगह चली गई हैं. इसलिए, आपको अपने gradle इंपोर्ट को इस तरह अपडेट करना होगा:

ओल्ड नया
androidx.wear:wear-complications-data androidx.wear.watchface:watchface-complications-data
androidx.wear:wear-complications-data-source androidx.wear.watchface:watchface-complications-data-source
androidx.wear:wear-watchface androidx.wear.watchface:watchface
androidx.wear:wear-watchface-complications-rendering androidx.wear.watchface:watchface-complications-rendering
androidx.wear:wear-watchface-client androidx.wear.watchface:watchface-client
androidx.wear:wear-watchface-client-guava androidx.wear.watchface:watchface-client-guava
androidx.wear:wear-watchface-data androidx.wear.watchface:watchface-data
androidx.wear:wear-watchface-editor androidx.wear.watchface:watchface-editor
androidx.wear:wear-watchface-editor-guava androidx.wear.watchface:watchface-editor-guava
androidx.wear:wear-watchface-guava androidx.wear.watchface:watchface-guava
androidx.wear:wear-watchface-style androidx.wear.watchface:watchface-style

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

  • androidx.wear स्मार्टवॉच की होम स्क्रीन और कॉम्प्लीकेशन की अलग-अलग लाइब्रेरी को androidx.wear.watchface लाइब्रेरी ग्रुप में माइग्रेट करें. (b25f3c0)
  • EditorRequest.canWatchFaceSupportHeadlessEditing जोड़ा गया, ताकि क्लाइंट को यह पता चल सके कि स्मार्टवॉच की होम स्क्रीन एडिटर में, हेडलेस एडिटिंग की सुविधा काम करती है या नहीं. ध्यान दें कि इसकी वजह से कुछ गलत नतीजे मिलेंगे, क्योंकि asop/1756809 में यह सुविधा जोड़ी गई थी. हालांकि, आने वाले समय में स्मार्टवॉच की सभी होम स्क्रीन के लिए, यह सही वैल्यू दिखाएगी. (ca55590)
  • रेंडरर में अब dump() तरीका है. इसे बदला जा सकता है, ताकि ABD शेल dumpsys गतिविधि सेवा WatchFaceService से जनरेट की गई जानकारी में कस्टम डेटा जोड़ा जा सके. (95235f9)
  • InteractiveWatchFaceClient.addWatchFaceReadyListener अब पहले एक्ज़ीक्यूटर की जानकारी देता है. (563ac2f)
  • StateFlowCompatHelper को हटा दिया गया है. इसके बजाय, asLiveData (androidx.lifecycle.asLiveData) का इस्तेमाल किया जाना चाहिए. (bd35d3)
  • CurrentUserStyleRepository.userStyle को अब बदला नहीं जा सकता. (I44889)
  • WatchFaceReadyListener का नाम बदलकर OnWatchFaceReadyListener कर दिया गया है. (Ic12a9)

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

  • onDestroy को कॉल करने के लिए, InteractiveInstanceManager.deleteInstance. ऐसा करना ज़रूरी है, ताकि InteractiveWatchFaceImpl को ग़ैर-ज़रूरी डेटा हटाया जा सके.(fce4af8, b/199485839)