Wear स्मार्टवॉच की होम स्क्रीन
ध्यान दें: Watch Face Format का इस्तेमाल करना ज़रूरी है, ताकि वॉच फ़ेस को Wear OS 5 या उसके बाद के वर्शन वाले डिवाइसों पर इंस्टॉल किया जा सके. साथ ही, Google Play पर पब्लिश की गई सभी नई वॉच फ़ेस के लिए भी इसका इस्तेमाल करना ज़रूरी है.
जनवरी 2026 से, सभी Wear OS डिवाइसों पर वॉच फ़ेस इंस्टॉल करने के लिए, Watch Face Format का इस्तेमाल करना ज़रूरी होगा.
उपयोगकर्ताओं को दिखने वाले बदलावों के बारे में ज़्यादा जानने के लिए, सहायता केंद्र के इस लेख पर जाएं.
| नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 23 अप्रैल, 2025 | 1.2.1 | - | - | 1.3.0-alpha07 |
डिपेंडेंसी का एलान करना
Wear पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
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-alpha07
23 अप्रैल, 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha07 रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये कमिट शामिल हैं.
नई सुविधाएं
- स्मार्टवॉच की होम स्क्रीन के UserStyle स्कीमा को तय करने की सुविधा कुछ समय से उपलब्ध है. साथ ही,
ColorUserStyleSettingको एक्सएमएल में तय किया जा सकता है.
एपीआई में हुए बदलाव
- Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट का इस्तेमाल करने के लिए, KGP 2.0.0 या इसके बाद के वर्शन की ज़रूरत होती है. (Idb6b5)
- Watch Face Push API जोड़ा गया है. इसकी मदद से, Wear OS ऐप्लिकेशन, स्मार्टवॉच पर प्रोग्राम के हिसाब से होम स्क्रीन इंस्टॉल कर सकता है.
गड़बड़ियां ठीक की गईं
- 1.3.0-alpha06 का इस्तेमाल करने वाले कॉम्प्लीकेशन के डेवलपर को अपग्रेड करने का सुझाव दिया जाता है. ऐसा इसलिए, क्योंकि WearOS के अगले वर्शन में,
ComplicationDataSourceUpdateRequesterके क्रैश होने से जुड़ी गड़बड़ी को ठीक कर दिया गया है.
वर्शन 1.3.0-alpha06
26 मार्च, 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha06 रिलीज़ हो गया है. वर्शन 1.3.0-alpha06 में ये कमिट शामिल हैं.
नई सुविधाएं
- Wear Watchface Format के पक्ष में, Wear watchface APIs (watchface, watchface-client, watchface-client-guava, watchface-complications-rendering, watchface-data, watchface-editor, watchface-editor-guava, और watchface-style) को बंद कर दिया गया है. इन्हें AndroidX से हटा दिया जाएगा. complication API के इस्तेमाल पर रोक नहीं लगाई गई है और ये काम करते रहेंगे. (Ice960)
- अब complication API, सीधे
WearSDKके साथ कम्यूनिकेट कर सकते हैं. इससे IPC हॉप कम होने की वजह से, यह ज़्यादा असरदार होता है.
वर्शन 1.3.0-alpha05
15 जनवरी, 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha05 रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये कमिट शामिल हैं.
नई सुविधाएं
आम तौर पर, स्मार्टवॉच की होम स्क्रीन पर ListUserStyle का इस्तेमाल करके रंग चुने जा सकते हैं. यह तरीका काम करता है, लेकिन इसमें आइकॉन को ब्लूटूथ की मदद से, साथी एडिटर पर भेजना पड़ता है. यह तरीका असरदार नहीं है. इसलिए, हमने ColorUserStyleSetting को लॉन्च किया है. इसमें हर स्टाइल के लिए, एक या उससे ज़्यादा रंगों की सूची होती है. यह सूची, तार के ज़्यादा कॉम्पैक्ट फ़ॉर्मैट में होती है.
हमने OEM के लिए एक सुविधा जोड़ी है. इसकी मदद से, OEM के लिए कॉम्प्लीकेशन उपलब्ध कराने वाली कंपनियां, ComplicationData में कुछ और चीज़ें जोड़ सकती हैं. इनका इस्तेमाल, OEM की स्मार्टवॉच की होम स्क्रीन पर किया जा सकता है.
एपीआई में हुए बदलाव
UserStyleSettingऔरUserStyleOptionक्लास के लिए अब बिल्डर उपलब्ध हैं. हमारा सुझाव है कि इन क्लास को बनाने के लिए, बिल्डर का इस्तेमाल करें. (Iacd03)ComplicationDataमें एक्सट्रा पैरामीटर पास करने की सुविधा. इसका मकसद, OEM के लिए इस्तेमाल करना है. इसमें वे कॉम्प्लीकेशन देने वाली कंपनी और स्मार्टवॉच की होम स्क्रीन, दोनों को कंट्रोल करते हैं. अतिरिक्त सुविधा सेट करने के लिए, आपके पासcom.google.android.wearable.permission.COMPLICATION_EXTRASकी खास अनुमति होनी चाहिए. (I4e3b2)- आम तौर पर, स्मार्टवॉच की होम स्क्रीन पर,
ListUserStyleका इस्तेमाल करके रंग चुने जा सकते हैं. हरListOptionके लिए एक आइकॉन होता है.UserStyleस्कीमा, ब्लूटूथ की मदद से भेजे जाते हैं. इसलिए, स्कीमा का साइज़ कम रखना ज़रूरी है. अगर उन सभी आइकॉन की वजह से, कई दर्जन रंग के विकल्प दिए जाते हैं, तो समस्या हो सकती है. इसकी मदद से, हमनेColorUserStyleSettingजोड़ा है. इसमें आइकॉन के बजाय रंगों की सूची होती है, जो बहुत छोटी होती है. (Ib542e) ColorUserStyleSettingऔरColorOptionका इस्तेमाल करने के लिए, एपीआई 34 की ज़रूरत होती है. (I8771d)
गड़बड़ियां ठीक की गईं
- यह लाइब्रेरी अब JSpecify nullness एनोटेशन का इस्तेमाल करती है, जो टाइप-इस्तेमाल के लिए हैं. Kotlin डेवलपर को सही तरीके से इस्तेमाल करने के लिए, कंपाइलर के इस आर्ग्युमेंट का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से लागू होता है). (Ifd363, b/326456246)
वर्शन 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काम करता है.
एपीआई में हुए बदलाव
- वॉलपेपर मैनेजर कभी-कभी किसी इंजन से अलग हो सकता है और कोई दूसरा इंजन बना सकता है. हमने
DisconnectReasonint 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हिंट जोड़ा है. इससे रेंडरर को सेगमेंट के साथ रेंज वाली वैल्यू का इंडिकेटर बनाने का सिग्नल मिलता है. यहां एक सेगमेंट = एक यूनिट होता है. (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* में टाइम आउट जोड़ें औरwatchfaceOverlayStyleNullPointerExceptionको ठीक करें. सामान्य परिस्थितियों में, यह टाइम आउट नहीं होना चाहिए. इसमें, नया इंस्टॉल औरDirectBootऐसी स्थितियां शामिल हैं जहां सीपीयू पर ज़्यादा लोड होता है. हमने एक एनपीई को भी ठीक किया है. यह तब होता है, जबclose()के बादgetWatchfaceOverlayStyleको कॉल किया जाता है.(a4c3a5a)
वर्शन 1.1.0
15 जून, 2022
androidx.wear.watchface:watchface-*:1.1.0 रिलीज़ हो गया है. 1.1.0 वर्शन में ये बदलाव शामिल हैं.
1.0.0 के बाद किए गए अहम बदलाव
वीडियो में बदलाव करने की सुविधा को बेहतर बनाया गया:
- हमने हैरारकी वाले स्कीमा के लिए सहायता जोड़ी है. इससे एडिटर यूज़र इंटरफ़ेस (यूआई) की मदद से, स्टाइल की हैरारकी तय की जा सकती है. अब स्मार्टवॉच की होम स्क्रीन और साथ काम करने वाले ऐप्लिकेशन के एडिटर के लिए, अलग-अलग आइकॉन तय किए जा सकते हैं.
- स्मार्टवॉच की होम स्क्रीन के कई इंस्टेंस के लिए, ऑप्ट-इन की सुविधा उपलब्ध है. हर इंस्टेंस का एक यूनीक आईडी होता है, जो सभी एपीआई प्लैटफ़ॉर्म पर उपलब्ध होता है.
- अब एडिटर में इस्तेमाल करने के लिए,
ComplicationSlotsके लिए ऐसे नाम तय किए जा सकते हैं जिन्हें कोई भी आसानी से पढ़ सके. - स्टाइल के “फ़्लेवर” के लिए एक्सपेरिमेंटल सपोर्ट. यह स्टाइल का एक चुना गया कलेक्शन है, जो साथी एडिटर से दिखेगा.
- स्मार्टवॉच की होम स्क्रीन के दो इंस्टेंस में बदलाव करने पर, अब होम स्क्रीन के इंस्टेंस संसाधन शेयर कर सकते हैं. इससे मेमोरी बचती है
- वॉच फ़ेस एडिटर में कोई कॉम्प्लीकेशन चुनते समय, अब सेवा देने वाली मौजूदा कंपनी पहले से चुनी हुई होती है.
बेहतर Complications:
- अब प्राइमरी और सेकंडरी डेटा सोर्स के लिए
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)PhotoImageComplicationDatatapAction को सही तरीके से मैनेज न करने से जुड़ी गड़बड़ी ठीक की गई (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.tapActionLostDueToSerializationtrueदिखाएगा. साथ ही, स्मार्टवॉच की होम स्क्रीन पर, कॉम्प्लीकेशन को अलग तरीके से रेंडर किया जाना चाहिए (जैसे, धूसर या आधा पारदर्शी), ताकि यह पता चल सके कि उस पर टैप नहीं किया जा सकता. सिस्टम,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 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
PhotoImageComplicationDatatapAction को सही तरीके से मैनेज न करने से जुड़ी गड़बड़ी ठीक की गई (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)