Wear स्मार्टवॉच की होम स्क्रीन
ध्यान दें: 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)