ওয়াচফেস পরুন
দ্রষ্টব্য: Wear OS 5 বা তার পরবর্তী সংস্করণ আগে থেকে ইনস্টল করা ডিভাইসগুলিতে ওয়াচ ফেস ইনস্টল করার জন্য এবং Google Play তে প্রকাশিত সমস্ত নতুন ওয়াচ ফেসের জন্য ওয়াচ ফেস ফর্ম্যাট প্রয়োজন।
২০২৬ সালের জানুয়ারি থেকে, সমস্ত Wear OS ডিভাইসে ওয়াচ ফেস ইনস্টল করার জন্য ওয়াচ ফেস ফর্ম্যাটের প্রয়োজন হবে।
ব্যবহারকারী-মুখোমুখি পরিবর্তনগুলি সম্পর্কে আরও জানুন এই সহায়তা কেন্দ্র নিবন্ধে ।
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ১৭ ডিসেম্বর, ২০২৫ | ১.২.১ | - | ১.৩.০-বিটা০১ | - |
নির্ভরতা ঘোষণা করা
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" }
কোটলিন
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" }
গ্রোভি
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" }
কোটলিন
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" }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যোগ করুন দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করবে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন অথবা এই লাইব্রেরি উন্নত করার জন্য কোন ধারণা থাকে তাহলে আমাদের জানান। নতুন একটি তৈরি করার আগে দয়া করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি একবার দেখে নিন। আপনি তারকা বোতামে ক্লিক করে বিদ্যমান সমস্যাটিতে আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.3
সংস্করণ 1.3.0-beta01
১৭ ডিসেম্বর, ২০২৫
androidx.wear.watchface:watchface-*:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- স্ট্যাটিক জটিলতা পূর্বরূপ ডেটার জন্য সমর্থন যোগ করা হয়েছে, যেখানে একটি জটিলতা প্রদানকারী তার ম্যানিফেস্টে স্ট্যাটিক পূর্বরূপ ডেটা নির্দিষ্ট করতে পারে, আরও বিস্তারিত জানার জন্য
androidx.wear.watchface.complications.data.parser.StaticPreviewDataParserদেখুন। - ডেটা এবং সময় যতটা সম্ভব সংক্ষিপ্তভাবে ফর্ম্যাট করার জন্য ইউটিলিটি ক্লাস
ComplicationTextFormattingযোগ করা হয়েছে, যা জটিলতার জন্য কার্যকর যেখানে স্থান খুব বেশি।
API পরিবর্তনগুলি
- পূর্বে পরীক্ষামূলক সম্পত্তি
Renderer.watchfaceColorsএখন ব্যক্তিগত। এই সম্পত্তির জন্য এখনও পাবলিক অ্যাক্সেসর রয়েছে। ( Ifdf60 , b/409363281 )
বাগ ফিক্স
- Kotlin 2.0 দিয়ে মুক্তিপ্রাপ্ত প্রকল্পগুলির জন্য KGP 2.0.0 বা তার পরবর্তী সংস্করণ ব্যবহার করা প্রয়োজন। ( I48968 , b/407632515 )
সংস্করণ 1.3.0-alpha07
২৩ এপ্রিল, ২০২৫
androidx.wear.watchface:watchface-*:1.3.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha07-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- কিছুদিন ধরেই ওয়াচফেসের ইউজারস্টাইল স্কিমা সংজ্ঞায়িত করা সম্ভব হয়েছে, এবং XML-এ
ColorUserStyleSettingসংজ্ঞায়িত করা সম্ভব।
API পরিবর্তনগুলি
- Kotlin 2.0 দিয়ে মুক্তিপ্রাপ্ত প্রকল্পগুলির জন্য KGP 2.0.0 বা তার নতুন সংস্করণ ব্যবহার করা প্রয়োজন। ( Idb6b5 )
- ওয়াচ ফেস পুশ এপিআই যোগ করা হয়েছে যা একটি Wear OS অ্যাপকে প্রোগ্রাম্যাটিকভাবে একটি ঘড়িতে একটি ওয়াচ ফেস ইনস্টল করার অনুমতি দেয়।
বাগ ফিক্স
- 1.3.0-alpha06 ব্যবহারকারী জটিলতা সরবরাহকারীদের আপগ্রেড করার জন্য উৎসাহিত করা হচ্ছে কারণ WearOS-এর পরবর্তী সংস্করণে
ComplicationDataSourceUpdateRequesterএর সাথে একটি ক্র্যাশ বাগ ঠিক করা হয়েছে।
সংস্করণ 1.3.0-alpha06
২৬ মার্চ, ২০২৫
androidx.wear.watchface:watchface-*:1.3.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha06-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- Wear Watchface ফর্ম্যাটের সুবিধার্থে wear watchface API গুলি (watchface, watchface-client, watchface-client-guava, watchface-complications-rendering, watchface-data, watchface-editor, watchface-editor-guava, এবং watchface -style) অবমূল্যায়ন করা হয়েছে এবং অবশেষে AndroidX থেকে সরানো হবে। জটিল API গুলি অবমূল্যায়ন করা হয়নি এবং থাকবে। ( Ice960 )
- জটিল API গুলি এখন
WearSDKসাথে সরাসরি যোগাযোগ করতে সক্ষম, যা কম IPC হপসের কারণে আরও দক্ষ।
সংস্করণ 1.3.0-alpha05
১৫ জানুয়ারী, ২০২৫
androidx.wear.watchface:watchface-*:1.3.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha05-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
ওয়াচ ফেস সাধারণত ব্যবহারকারীদের ListUserStyle ব্যবহার করে রঙ নির্বাচন করার সুযোগ দেয়। যদিও এটি কাজ করে, এর জন্য ব্লুটুথের মাধ্যমে আইকনগুলিকে কম্প্যানিয়ন এডিটরে পাঠানো প্রয়োজন যা অদক্ষ, তাই আমরা ColorUserStyleSetting চালু করেছি যেখানে পেলোড হল প্রতি স্টাইলে এক বা একাধিক রঙের তালিকা যার তারের বিন্যাস উল্লেখযোগ্যভাবে কমপ্যাক্ট।
আমরা একটি OEM ফেসিং বৈশিষ্ট্য যুক্ত করেছি যা OEM জটিলতা প্রদানকারীদের OEM ঘড়ির মুখগুলির ব্যবহারের জন্য ComplicationData-তে অতিরিক্ত যোগ করার অনুমতি দেয়।
API পরিবর্তনগুলি
-
UserStyleSettingএবংUserStyleOptionক্লাসগুলিতে এখন বিল্ডার রয়েছে যা এগুলি তৈরি করার প্রস্তাবিত উপায়। ( Iacd03 ) -
ComplicationDataতে অতিরিক্ত পাস করার জন্য সমর্থন। এটি OEM-দের ব্যবহারের জন্য তৈরি যেখানে তারা জটিলতা প্রদানকারী এবং গ্রহণকারী ওয়াচফেস উভয়ই নিয়ন্ত্রণ করে। অতিরিক্ত সেট করার জন্য বিশেষাধিকারপ্রাপ্তcom.google.android.wearable.permission.COMPLICATION_EXTRASঅনুমতি প্রয়োজন। ( I4e3b2 ) - ওয়াচ ফেস সাধারণত ব্যবহারকারীকে
ListUserStyleব্যবহার করে রঙ নির্বাচন করতে দেয়, প্রতিটিListOptionএর জন্য একটি আইকন থাকে। যেহেতুUserStyleস্কিমাগুলি ব্লুটুথের মাধ্যমে পাঠানো হয়, তাই স্কিমার আকার কম রাখা গুরুত্বপূর্ণ, যা এই সমস্ত আইকনের কারণে কয়েক ডজন রঙের বিকল্প দেওয়া হলে সমস্যা হতে পারে। এটিতে সহায়তা করার জন্য আমরাColorUserStyleSettingযুক্ত করেছি যেখানে বিকল্পটিতে আইকনের পরিবর্তে রঙের তালিকা রয়েছে, যা অনেক বেশি কম্প্যাক্ট। ( Ib542e ) -
ColorUserStyleSettingএবংColorOptionব্যবহারের জন্য API 34 প্রয়োজন। ( I8771d )
বাগ ফিক্স
- এই লাইব্রেরিটি এখন JSpecify nullness annotations ব্যবহার করে, যা টাইপ-ব্যবহারের। সঠিক ব্যবহার জোরদার করার জন্য Kotlin ডেভেলপারদের নিম্নলিখিত কম্পাইলার আর্গুমেন্ট ব্যবহার করা উচিত:
-Xjspecify-annotations=strict(এটি Kotlin কম্পাইলারের 2.1.0 সংস্করণ থেকে শুরু করে ডিফল্ট)। ( Ifd363 , b/326456246 )
সংস্করণ 1.3.0-alpha04
১৮ সেপ্টেম্বর, ২০২৪
androidx.wear.watchface:watchface-*:1.3.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha04-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
-
UserStyleSettingsএবংUserStyleOptionsএ আইকনগুলির অলস লোডিংয়ের জন্য সমর্থন যোগ করা হয়েছে যা ওয়াচফেস লোড করার জন্য একটি পারফরম্যান্স জয়। ( Iaf43d ) - নতুন
Watchface.setUpdateScreenshotOnConfigurationChangeএর মাধ্যমে সিস্টেম কনফিগারেশন পরিবর্তন হলে (যেমন লোকেল পরিবর্তিত হলে) আপডেট করা স্ক্রিনশট নেওয়ার জন্য একটি বিকল্প যোগ করা হয়েছে। ডিফল্টরূপে এই সেটিংটি বন্ধ থাকে। ( I765a1 )
বাগ ফিক্স
- নতুন প্ল্যাটফর্ম API-তে অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরানো হয়েছে কারণ এটি AGP 7.3 বা তার পরবর্তী সংস্করণ (যেমন R8 সংস্করণ 3.3) ব্যবহার করার সময় এবং AGP 8.1 বা তার পরবর্তী সংস্করণ (যেমন D8 সংস্করণ 8.1) ব্যবহার করার সময় সমস্ত বিল্ডের জন্য API মডেলিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে ঘটে। যে ক্লায়েন্টরা AGP ব্যবহার করছেন না তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরও বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন। ( Ia60e0 , b/345472586 )
সংস্করণ 1.3.0-alpha03
১৭ এপ্রিল, ২০২৪
androidx.wear.watchface:watchface-*:1.3.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
- আমরা
EditorSession#setOverrideComplicationsযোগ করেছি যা সম্পাদনার সময় অন্তর্নিহিত ওয়াচফেস ইনস্ট্যান্সেরComplicationDataঅস্থায়ীভাবে সেট করে। যদি জটিলতাগুলি খুব কমই পরিবর্তিত হয়, তবে এটিEditorSession#renderWatchFaceToBitmapএর মাধ্যমে ওভাররাইড পাস করার চেয়ে বেশি কার্যকর। ( I19384 )
বাগ ফিক্স
- পূর্বে
selectComplicationDataForInstantযেকোনো টাইমলাইনের জন্যtoApiComplicationDataকল করত, যার অর্থ পরবর্তী === রেফারেন্স সমতা পরীক্ষা সর্বদা ব্যর্থ হত। এর অর্থ হল প্রতিটি ফ্রেমে জটিলতা পুনরায় লোড হচ্ছিল যার ফলে ব্যাটারি নিষ্কাশন হচ্ছিল। ( 717406 )
সংস্করণ 1.3.0-alpha02
৩ এপ্রিল, ২০২৪
androidx.wear.watchface:watchface-*:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- ইকুয়ালস অপারেটরটি ব্যয়বহুল হওয়ায় আমরা এখন সেরা এবং
selectedDataতুলনা করার জন্য রেফারেন্স ইকুয়ালিটি ব্যবহার করি। ( 446b00 )
API পরিবর্তনগুলি
- আমরা
GoalProgressComplicationDataএর জন্য একটি নো-ফলব্যাক ডায়নামিক API যোগ করেছি। ( c33264 )
সংস্করণ 1.3.0-alpha01
৭ ফেব্রুয়ারী, ২০২৪
androidx.wear.watchface:watchface-*:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
-
WatchFaceServicesএকই সাথে ইনিশিয়ালাইজ করা যেতে পারে এবং সেগুলি স্টেটলেস হওয়া উচিত, এটি সমর্থন করার জন্য আমরাStatefulWatchFaceServiceযোগ করেছি যেখানেcreateExtra()দ্বারা তৈরি একটি ব্যবহারকারী সংজ্ঞায়িত অতিরিক্ত ইনিশিয়ালাইজেশনের সময় কল করা সমস্ত ওভাররাইডগুলিতে পাস করা হয়। -
GlesRenderer2এখন একটি কনস্ট্রাক্টর ওভারলোড রয়েছে যা আপনাকেeglChooseConfigদিয়ে চেষ্টা করার জন্য বৈশিষ্ট্যের একটি তালিকা নির্দিষ্ট করতে দেয়।
API পরিবর্তনগুলি
-
StatefulWatchFaceServiceএখনgetComplicationSlotInflationFactoryএর একটি ওভাররাইড সমর্থন করে যেখানেcreateExtra()দ্বারা তৈরি ব্যবহারকারী-সংজ্ঞায়িত অতিরিক্ত পাস করা হয়। ( I82d9f ) - কিছু ঘড়ির মুখের জন্য
createUserStyleSchemaএর সময় তৈরি করা সহায়ক ডেটা অন্যান্য প্রাথমিক পদ্ধতির সাথে ভাগ করে নেওয়া প্রয়োজন। যেহেতু এর চেয়ে ভালো বিকল্প ছিল না, তাই ডেভেলপাররা সাধারণত তাদেরWatchFaceServicesস্টেটফুল করে তোলে। এটি বিপজ্জনক কারণ একাধিক উদাহরণ একসাথে তৈরি করা যেতে পারে যা বাগের কারণ হতে পারে। এটি সমাধানের জন্য আমরাStatefulWatchFaceServiceএবংStatefulWatchFaceRuntimeServiceচালু করেছি যেখানেcreateExtra()দ্বারা একটি ব্যবহারকারী-নির্ধারিত প্রকার তৈরি করা হয় এবং একটি প্যারামিটার হিসাবে বিভিন্ন create পদ্ধতিতে প্রেরণ করা হয়। ( 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কে false এ যুক্ত করতে পারে যা জটিলতা স্লটটিকে কনফিগার করা হয়নি হিসাবে চিহ্নিত করবে। ( I6c505 )
সংস্করণ 1.2
সংস্করণ 1.2.1
২৪ জানুয়ারী, ২০২৪
androidx.wear.watchface:watchface-*:1.2.1 প্রকাশিত হয়েছে। সংস্করণ 1.2.1-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- Samsung Galaxy Watch 4, 5 এবং 6-এ একটি ক্র্যাশ ঠিক করা হয়েছে। ( 43f0b0 )
সংস্করণ 1.2.0
২৯ নভেম্বর, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-এ এই কমিটগুলি রয়েছে।
১.১.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি
- আমরা কিছু নতুন জটিলতার ধরণ যোগ করেছি যা Android T থেকে ব্যবহারের জন্য উপলব্ধ:
-
GoalProgressComplicationDataযাRangedValueComplicationDataএর অনুরূপ, তবে এটি এমন একটি লক্ষ্যের দিকে অগ্রগতির জন্য যেখানে min স্পষ্টতই শূন্য, এবং মানটিtargetValueচেয়ে বড় হতে পারে। -
WeightedElementsComplicationDataযা ঐচ্ছিক টেক্সট/শিরোনাম/ছবি সহ উপাদানগুলির একটি অ্যারে (ওজন এবং রঙের জোড়া) নিয়ে গঠিত। এগুলি একটি পাই চার্ট হিসাবে প্রদর্শিত হতে পারে যেখানে প্রেক্ষাপটের ভিত্তিতে রঙগুলি অর্থপূর্ণ হতে হবে, কারণ সাধারণত লেবেল রেন্ডার করার জন্য কোনও জটিলতার জায়গা থাকে না।
-
- আমরা
RangedValueComplicationDataতে ঐচ্ছিকColorRangesএর জন্য সমর্থন যোগ করেছি। সাধারণত জটিলতাগুলি ঘড়ির মুখের পছন্দের রঙে রেন্ডার করা হয়, তবে কখনও কখনওComplicationDataSourceরঙগুলি সেট করার জন্য সবচেয়ে ভালভাবে স্থাপন করা হয়, যেমন যখন তাদের একটি নির্দিষ্ট শব্দার্থিক অর্থ থাকে। যেমন তাপমাত্রার জন্য লাল থেকে নীল। - প্রায় সব ধরণের
ComplicationDataএখনSmallImagesসমর্থন করে। - আমরা
ComplicationDisplayPolicyযোগ করেছি যেখানেDO_NOT_SHOW_WHEN_DEVICE_LOCKEDএকটি সামঞ্জস্যপূর্ণ ওয়াচ ফেসকে নির্দেশ দেয় যে ডিভাইসটি লক থাকা অবস্থায় জটিলতা প্রদর্শন না করার জন্য। - Android T থেকে, OEM গুলি নির্ধারণ করতে সক্ষম হবে যে কোনও জটিলতার অনুরোধ তাদের প্রদানকারীর
android.support.wearable.complications.SAFE_WATCH_FACESComplicationRequest#isForSafeWatchFaceদ্বারা সংজ্ঞায়িত তালিকার একটি ওয়াচফেস থেকে এসেছে কিনা। TargetWatchFaceSafety.UNKNOWN` ছাড়া অন্য কিছু পেতে প্রদানকারীরcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEঅনুমতির প্রয়োজন হবে। -
UserStyleFlavorsএকটি অ-পরীক্ষামূলক বৈশিষ্ট্যে পরিণত হয়েছে।
সংস্করণ 1.2.0-rc01
১৮ অক্টোবর, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিটগুলি রয়েছে।
সংস্করণ 1.2.0-beta02
৬ সেপ্টেম্বর, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta02-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
-
SuspendingComplicationDataSourceService#onDestroyএখন খোলা আছে। অনুগ্রহ করে মনে রাখবেন সিস্টেমের ডিফল্ট আবহাওয়া সংক্রান্ত জটিলতার জন্য সমর্থন সরানো হয়েছে।
API পরিবর্তনগুলি
- "আবহাওয়ার জটিলতার জন্য একটি নতুন ডেটা উৎস প্রকাশ করুন"। ( I6f335 )
সংস্করণ 1.2.0-beta01
২৩ আগস্ট, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- অ্যান্ড্রয়েড টি থেকে, WearOS এখন একটি ডিফল্ট আবহাওয়া সিস্টেম জটিলতা সমর্থন করবে।
API পরিবর্তনগুলি
- জটিলতার জন্য আবহাওয়ার ডিফল্ট সিস্টেম ফলব্যাক যোগ করুন। ( Ia0994 )
- এই প্যাচটিতে পেয়ারার র্যাপারের সাথে
WatchFaceRuntimeServiceএবংWatchFaceControlClient.createWatchFaceRuntimeControlClientযোগ করা হয়েছে। এগুলি ওয়াচ ফেস রানটাইমের জন্য সমর্থন যোগ করে যা একটি বিশেষ ধরণের ওয়াচ ফেস যা অন্য প্যাকেজ থেকে এর সংজ্ঞা লোড করে। বর্তমানে WearOS শুধুমাত্র অ্যান্ড্রয়েড ওয়াচ ফেস ফর্ম্যাটের জন্য রানটাইম সমর্থন করে। ( I2799f ) - এই প্যাচটি aosp/2636578 এর একটি ফলো-আপ যেখানে আমরা int defs এর নাম পরিবর্তন করি যাতে
WatchFaceType,CanvasType,TapTypeবাComplicationsSlotBoundsTypeএর উপর নির্ভর করে যেকোনো কোড পরিবর্তন করার প্রয়োজন হয় না। ( I4098b ) - সামঞ্জস্যতা দমনের জন্য অ্যানোটেট করার জন্য API ফাইলগুলি আপডেট করা হয়েছে। ( I8e87a , b/287516207 )
- এই প্যাচটি
WatchFaceTypesএWatchFaceTypeধ্রুবক,CanvasTypesএCanvasTypeধ্রুবক,TapTypesএTapTypeধ্রুবক এবংComplicationsSlotBoundsTypeএComplicationsSlotBoundsTypeধ্রুবক প্রকাশ করে। ( I3b85a , b/288750666 ) -
WatchFace.OverlayStyleব্যবহার খুবই কম এবং OEM গুলি এটিকে ভালোভাবে সমর্থন করে না, তাই আমরা পরবর্তী সময়ে এটি অপসারণের উদ্দেশ্যে এটির মূল্য হ্রাস করছি। ( I7344a )
সংস্করণ 1.2.0-alpha09
২১ জুন, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha09-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
-
RangedValueComplicationData.BuilderএখনDynamicFloatগ্রহণ করে, এবংComplicationTextএর একটি সাবক্লাস হিসেবে একটি নতুনDynamicComplicationTextউপলব্ধ, যা উভয়ই গতিশীল এক্সপ্রেশন এবং সমর্থিত Wear 4 ডিভাইসে 1hz এ আপডেট করা প্ল্যাটফর্ম বাইন্ডিং ব্যবহার করতে পারে।
API পরিবর্তনগুলি
- দৈনিক দূরত্ব, দৈনিক ক্যালোরি এবং দৈনিক ফ্লোরের জন্য ডায়নামিক টাইপ যোগ করা হয়েছে। প্ল্যাটফর্ম স্বাস্থ্য উৎসের জন্য কীগুলি এখন
PlatformHealthSources.Keys( Ib7637 ) এর অধীনে রয়েছে। - হৃদস্পন্দন এবং দৈনিক পদক্ষেপ প্রদানের জন্য
PlatformDataProviderবাস্তবায়ন করুন। পাবলিক API থেকেSensorGatewayইন্টারফেস সরানো হয়েছে। ( I55b84 ) -
StateEntryValueএর নাম পরিবর্তন করেDynamicDataValueকরুন, এবংDynamicDataKeyব্যবহার করার জন্য state API গুলি আপডেট করুন। ( If1c01 ) - অ্যাপ পুশ করা অবস্থা অ্যাক্সেস করার জন্য
AppDataKeyযোগ করুন; প্ল্যাটফর্ম ডেটা অ্যাক্সেস করার জন্যPlatformDataKeyযোগ করুন;StateStoreএ নেমস্পেস সাপোর্ট যোগ করুন। ( I7985e ) -
DynamicTypeEvaluatorথেকেenable/disablePlatformSourceপদ্ধতিগুলি সরানো হয়েছে। আপডেটের জন্য কলকারীরই দায়িত্ব থাকা উচিত। ( I78c6d ) - বাউন্ড ডেটা টাইপের আকার ক্যাপ করার অনুমতি দিন। ( Ie2966 )
সংস্করণ 1.2.0-alpha08
১৯ এপ্রিল, ২০২৩
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কে ওভাররাইড করে। এর অর্থ হল একটি জটিলতা প্রদানকারী বিশ্বস্ত বনাম অবিশ্বস্ত ওয়াচফেসে বিভিন্ন ধরণের পরিবেশন করতে পারে।
API পরিবর্তনগুলি
- সম্পত্তিতে
@Deprecatedশ্রেণীর প্রচার ( I882d1 , b/271441831 ) -
Enum.valueOfএর জন্য মান প্যারামিটারের নাম পরিবর্তন করা হয়েছে ( Ia9b89 ) - enum valueOf ( I818fe ) থেকে আরও থ্রোন করা ব্যতিক্রম
- আমরা
createRemoteWatchFaceViewএর পক্ষেrenderWatchFaceToSurfaceসরিয়ে দিয়েছি, যা SurfaceControlViewHost এর উপরে তৈরি এবং কলারকে ওয়াচফেস থেকে একটি ভিউ এম্বেড করার অনুমতি দেয়, যা ক্লায়েন্ট যখনRemoteWatchFaceViewHost#renderWatchFaceকল করে তখন রেন্ডার হয়। ( Ib311d ) - আমরা
InteractiveWatchFaceClient,HeadlessWatchFaceClientএবংEditorSessionএrenderWatchFaceToSurfaceযোগ করেছি। সাধারণত এটি একটি বিটম্যাপে রেন্ডারিংয়ের চেয়ে বেশি কার্যকর হবে। ( 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
২২ ফেব্রুয়ারী, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha07-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
Android T থেকে, OEM গুলি নির্ধারণ করতে সক্ষম হবে যে কোনও জটিলতার অনুরোধ তাদের প্রদানকারীর
android.support.wearable.complications.SAFE_WATCH_FACESComplicationRequest#isForSafeWatchFaceদ্বারা সংজ্ঞায়িত তালিকার একটি ঘড়ির মুখ থেকে এসেছে কিনা।TargetWatchFaceSafety.UNKNOWNছাড়া অন্য কিছু পেতে প্রদানকারীরcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEঅনুমতির প্রয়োজন হবে।এছাড়াও অ্যান্ড্রয়েড টি থেকে
CustomValueUserStyleSetting2ব্যবহারের জন্য উপলব্ধ যা ১২.৫kb পর্যন্ত ধারণ করতে পারে।CustomValueUserStyleSettingএর পূর্ববর্তী সীমা ছিল ১kb। বর্ধিত আকারের সীমা সত্ত্বেও, ওয়াচফেস ডেভেলপারদের ডেটা ছোট রাখতে উৎসাহিত করা হচ্ছে কারণ সম্পাদনার সময় সেটিংস ব্লুটুথের মাধ্যমে পাঠানো হয় এবং ব্লুটুথ ব্যান্ডউইথ সীমিত।
API পরিবর্তনগুলি
- আমরা
GlesRendererএবংGlesRenderer2তে একটি ঐচ্ছিক প্যারামিটারeglContextAttribListযোগ করেছি যা আপনাকেEGL14.EGL_CONTEXT_CLIENT_VERSIONকেEGL14.eglCreateContextতে পাস করা সেট করতে দেয়। ( I2a83e ) - আমরা ওয়াচ ফেস লিবগুলিকে
java.util.function.Consumerএর পরিবর্তেandroidx.core.util.Consumerএ স্থানান্তরিত করেছি। ( I273f5 ) - KT প্রোপার্টি অ্যাক্সেসর থেকে আরও থ্রোন করা ব্যতিক্রম ( Iff9d9 )
- আমরা
InteractiveWatchFaceClient.isComplicationDisplayPolicySupportedযোগ করেছি যাতে ক্লায়েন্ট নির্ধারণ করতে পারে যে তাকে পুরানো ওয়াচফেসের পক্ষে সমর্থন অনুকরণ করতে হবে কিনা। ( I24c89 ) - আমরা সিদ্ধান্ত নিয়েছি যে
isForSafeWatchFaceএকটি ত্রি-অবস্থাIntDefহওয়া উচিত। ( Ief2f7 ) - অ্যান্ড্রয়েড টি-এর জন্য আমরা
ComplicationRequest.isForSafeWatchFaceচালু করেছি যা OEM ব্যবহারের জন্য তৈরি এবং এর জন্যcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEপ্রয়োজন। সিস্টেম ইমেজে ডেটা সোর্সের জন্য, যদি অনুরোধকারী ওয়াচফেসটি তার ম্যানিফেস্টে ডেটা সোর্স দ্বারা নির্দিষ্ট করা নিরাপদ ওয়াচফেসের তালিকার ভিতরে থাকে তবে এটি true ফিরে আসবে। ( I0cbb6 ) - অ্যান্ড্রয়েড টি-এর জন্য আমরা
CustomValueUserStyleSetting2যোগ করেছি যা ১২.৫kb পর্যন্ত ধারণ করতে পারে।CustomValueUserStyleSettingএর পূর্ববর্তী সীমা ছিল ১kb। ( I0b100 )
সংস্করণ 1.2.0-alpha06
২৫ জানুয়ারী, ২০২৩
androidx.wear.watchface:watchface-*:1.2.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha06-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- জটিল প্ল্যাটফর্ম বাইন্ডিংয়ের জন্য সমর্থন যোগ করার কাজ চলছে, এটি এখনও ব্যবহারের জন্য প্রস্তুত নয়, তবে সাথে থাকুন!
- আমরা নতুন জটিলতার ধরণ, GOAL_PROGRESS এবং WEIGHTED_ELEMENTS-এর জন্য XML
ComplicationSlotসমর্থন যোগ করেছি।
বাগ ফিক্স
- Samsung ডিভাইসে ওয়াচফেস এডিটর সঠিকভাবে প্রকাশিত না হওয়ায় একটি লিক ঠিক করা হয়েছে। ( 3b5987 )
- একাধিক পছন্দের ওয়াচফেসের মধ্যে স্যুইচ করার সময় জটিলতাগুলি সঠিকভাবে প্রদর্শিত না হওয়ার একটি বাগ সংশোধন করা হয়েছে। ( b38ece )
- perOptionScreenReaderNames এর সাথে একটি সিরিয়ালাইজেশন বাগ সংশোধন করে যা ঘড়ির মুখ ক্র্যাশের দিকে পরিচালিত করে। ( e9f466 )
সংস্করণ 1.2.0-alpha05
৭ ডিসেম্বর, ২০২২
androidx.wear.watchface:watchface-*:1.2.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha05-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
কিছুদিন আগে আমরা হাইয়ারার্কিকাল
UserStyleSettingsএর জন্য সমর্থন যোগ করেছি, এবং অ্যান্ড্রয়েড টি থেকে এখন একটি হাইয়ারকিতে একাধিকComplicationSlotsUserStyleSettingরাখা সম্ভব। ব্যবহারকারীর স্টাইল নির্বাচনের উপর ভিত্তি করে শুধুমাত্র একটিComplicationSlotsUserStyleSettingসক্রিয় থাকবে।আমরা একটি
screenReaderNameক্ষেত্র যোগ করেListOptionএবংComplicationSlotsOptionএর জন্য স্ক্রিন রিডার সাপোর্ট উন্নত করছি, মনে রাখবেন android T-এর আগে এই ক্ষেত্রটি সহযোগী সম্পাদকরা উপেক্ষা করবে।
API পরিবর্তনগুলি
- আমরা সম্পাদকদের ব্যবহারের জন্য
ListOptionএবংComplicationSlotsOptionএ একটি নতুন ঐচ্ছিকscreenReaderNameক্ষেত্র যুক্ত করেছি - android T-এর আগে ডিভাইসগুলিতে সহযোগী সম্পাদকরা এটি উপেক্ষা করবে। ( I75326 ) - অ্যান্ড্রয়েড টি থেকে একাধিক
ComplicationSlotsUserStyleSettingsএখন একটি স্টাইল হায়ারার্কিতে সমর্থিত, যতক্ষণ না তাদের মধ্যে সর্বাধিক কেবল একটিই যেকোনো সময়ে সক্রিয় থাকতে পারে। আমরাUserStyleSchemaতেfindComplicationSlotsOptionForUserStyleএকটি ইউটিলিটি ফাংশন যুক্ত করেছি যা সক্রিয়ComplicationSlotsOptionখুঁজে পেতে সাহায্য করবে। ( Ic2b06 ) -
RangedValuesTypesRangedValueComplicationDataএর কম্প্যানিয়ন অবজেক্টে টেনে আনা হয়েছে এবংTYPE_UNDEFINED,TYPE_RATINGনামকরণ করা হয়েছে এবং একটি নতুনTYPE_PERCENTAGEযোগ করা হয়েছে। ( I55d02 ) - আমরা পরীক্ষামূলক
DynamicFloatনাম পরিবর্তন করেFloatExpressionরেখেছি এবং এটিকে@hideহিসেবে চিহ্নিত করেছি। ( Idf4f1 ) -
@JvmDefaultWithCompatibilityটীকা যোগ করা হচ্ছে ( I8f206 )
সংস্করণ 1.2.0-alpha04
৯ নভেম্বর, ২০২২
androidx.wear.watchface:watchface-*:1.2.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha04-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- Android T-এর জন্য আমরা দুটি নতুন জটিলতার ধরণ,
GoalProgressComplicationDataএবংWeightedElementsComplicationDataএর জন্য সমর্থন যোগ করেছি। -
GoalProgressComplicationDataRangedValueComplicationDataএর অনুরূপ, কিন্তু এর মান লক্ষ্যমাত্রা অতিক্রম করতে সক্ষম (RangedValueComplicationDataএর জন্য মানটি [সর্বনিম্ন .. সর্বোচ্চ] পরিসরে আটকানো থাকে) যার ফলে ভিজ্যুয়াল ডিজাইনের উপর প্রভাব পড়ে যা সমস্ত ঘড়ির মুখের সাথে মানানসই নাও হতে পারে। -
GoalProgressComplicationDataপাই চার্ট এবং সাধারণ ডেটার অনুরূপ ভাঙ্গনের জন্য সমর্থন যোগ করে। - আমরা
RangedValueComplicationDataতেColorRampsএর জন্য ঐচ্ছিক সমর্থন যোগ করেছি। - অ্যান্ড্রয়েড টি-এর জন্য, আমরা
ComplicationDataতেComplicationPersistencePolicyএবংsetCachePolicyযোগ করেছি যা বর্তমানে একজন প্রদানকারীকে নিয়ন্ত্রণ করতে দেয় যে কোনও জটিলতা টিকে আছে কিনা (অর্থাৎ রিবুট করার পরে এটি ক্যাশে করা হয়েছে কিনা)। বেশিরভাগ জটিলতার জন্য ক্যাশে নিয়ন্ত্রণ সেট করার প্রয়োজন হবে না, তবে এটি করার ফলে কিছু জটিলতার জন্য স্টেল ডেটা দিয়ে কর্নার কেসগুলি ঠিক করা যেতে পারে যা ঘন ঘন আপডেট হয় (যেমন স্বাস্থ্য ডেটা জটিলতা)। আমরাComplicationDisplayPolicyও যোগ করেছি যেখানেDO_NOT_SHOW_WHEN_DEVICE_LOCKEDএকটি সামঞ্জস্যপূর্ণ ওয়াচ ফেসকে নির্দেশ দেয় যে ডিভাইসটি লক থাকা অবস্থায় জটিলতা প্রদর্শন না করতে। ( Ic9574 )
API পরিবর্তনগুলি
-
GoalProgressComplicationData,WeightedElementsComplicationDataএবংColorRampআর পরীক্ষামূলক নয়। ( Ica9e2 ) -
ComplicationPersistencePolicyএবংComplicationDisplayPolicyএখন সঠিকভাবে T API হিসেবে চিহ্নিত করা হয়েছে। ( I31d88 ) - অপ্রচলিত
ComplicationSlotOverlayকনস্ট্রাক্টরে এখনDeprecationLevel.WARNINGআছে যার ফলে এটি আবার জাভা থেকে কল করা যাবে। ( Ib308c ) - আমরা
ComplicationRequestListener,CanvasComplication,ComplicationTapFilterএবংInteractiveWatchFaceClientএর সাথে কিছু জাভা কম্প্যাট সমস্যা@JvmDefaultWithCompatibility( Id94fc ) দিয়ে টীকা দিয়ে সমাধান করেছি। - আমরা পরীক্ষামূলক
ProtoLayoutComplicationDataএবংListComplicationDataসরিয়ে ফেলেছি। এগুলোর ডেভেলপারের গল্প অস্পষ্ট ছিল, আমরা ভবিষ্যতে আবার দেখার আশা করছি। ( I9df05 ) - আমরা
RangedValueComplicationDataতে একটিValueTypeযোগ করেছি।WeightedElementsComplicationDataএখন একটি ব্যাকগ্রাউন্ড কালার সমর্থন করে। আমরাDiscreteRangedValueComplicationDataসরিয়ে দিয়েছি কারণ এর কার্যকারিতাWeightedElementsComplicationDataএর একটি উপসেট। ( I6446c )
বাগ ফিক্স
- equals এবং হ্যাশ কোডে
isForScreenShotঅন্তর্ভুক্ত করুন। নিশ্চিত করুন যেonRenderParametersChangedসঠিকisForScreenshotমান ( I04a41 ) পেয়েছে। - হেডলেস ক্লায়েন্টদের কাছ থেকে
WatchFaceControlServiceফাঁস ঠিক করা হয়েছে। ( e90e00 )
সংস্করণ 1.2.0-alpha03
৫ অক্টোবর, ২০২২
androidx.wear.watchface:watchface-*:1.2.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha03-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- কোনও নতুন বৈশিষ্ট্য নেই, তবে আমরা ওয়াচফেস এডিটরের কয়েকটি বাগ ঠিক করেছি।
API পরিবর্তনগুলি
-
rootUserStyleSettingsস্টাইলসেটিংস হিসাবে অপ্রচলিতUserStyleSchema.userStyleSettingsঅ-পরীক্ষামূলক হয়ে যায় ( Ie96e3 ) - পরীক্ষামূলক ( I8d6b3 ) থেকে
rootUserStyleSettingsসরান। - আমরা
WatchFaceColorsপরীক্ষামূলক হিসেবে চিহ্নিত করেছি কারণ এটি সমস্ত সিস্টেমে সমর্থিত নয় ( I6d75d ) -
IntDefসাথে কাজ করার জন্য পাবলিক API-তেDisconnectReasonsএক্সপোজ করুন। ( I791f8 )
বাগ ফিক্স
-
SysUIবন্ধ হয়ে গেলে যেকোনো খোলা ঘড়ির সম্পাদক বন্ধ করুন। যদিSysUIবন্ধ হয়ে যায় এবং অন ওয়াচ ফেস সম্পাদক বন্ধ না হয়, তাহলে ঘড়ির মুখটি একটি অসামঞ্জস্যপূর্ণ অবস্থায় থাকতে পারে কারণ সিস্টেমটি ব্যবহারকারীর স্টাইল পরিবর্তন অব্যাহত রাখার জন্যSysUIউপর নির্ভর করে। ( ba762a) -
ComplicationDataSourceInfoRetrieverএ একটি মেমরি লিক ঠিক করুন, যেখানে একটি kotlin coroutine ধারাবাহিকতা একটি gc রুট হিসেবে কাজ করছিল এবং সম্পাদক কার্যকলাপ ধরে রাখছিল। ( 33ee06 )
সংস্করণ 1.2.0-alpha02
২১ সেপ্টেম্বর, ২০২২
androidx.wear.watchface:watchface-*:1.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
কিছু ঘড়ির মুখের
UserStyleএর বাইরে কনফিগারেশন থাকে যা এটিকে দৃশ্যত প্রভাবিত করে, (যেমন একটি ব্যাকগ্রাউন্ড ছবি নির্বাচন করা)। আমরাRenderer.sendPreviewImageNeedsUpdateRequestযোগ করেছি যা ঘড়ির মুখকে একটি আপডেট করা প্রিভিউ চিত্রের অনুরোধ করতে দেয়। মনে রাখবেন এটি কাজ করার জন্য একটি সংশ্লিষ্ট সিস্টেম আপ-ডেট প্রয়োজন।আমরা ঘড়ির মুখগুলির রঙ সিস্টেমে প্রকাশ করার জন্য একটি APIও যুক্ত করেছি যা এর উপর ভিত্তি করে এর রঙ প্যালেট বেছে নিতে পারে। মনে রাখবেন যে এটি একটি ফলো-অন প্যাচে পরীক্ষামূলকভাবে তৈরি করা হয়েছে।
প্রায় প্রতিটি ধরণের
ComplicationDataএখনSmallImagesসমর্থন করে।
API পরিবর্তনগুলি
- ওয়ালপেপার ম্যানেজার কখনও কখনও একটি ইঞ্জিন থেকে বিচ্ছিন্ন হয়ে আরেকটি তৈরি করতে পারে। আমরা একটি
DisconnectReasonint def এবংClientDisconnectListenerবর্ধিত করেছি একটি নতুন পদ্ধতির সাথে যার মধ্যে একটিDisconnectReasonঅন্তর্ভুক্ত রয়েছে, যা শ্রোতাকে ইঞ্জিন বিচ্ছিন্নতা পর্যবেক্ষণ করতে দেয়। ( I45cce ) -
ComplicationSlotOverlayকনস্ট্রাক্টরে ( I157e8 ) দুটি ঐচ্ছিক প্যারামিটারnameResourceIdএবংscreenReaderResourceIdযোগ করা হয়েছে। - আমরা
getOrCreateInteractiveWatchFaceClientএর নতুন ওভারলোডের জন্য একটিPreviewImageUpdateRequestedListenerসহ একটি পেয়ারার মোড়ক যুক্ত করেছি। ( Ic31f0 ) - আমরা
Renderer.sendPreviewImageNeedsUpdateRequestযোগ করেছি যাUserStyleSchemaএর বাইরের অবস্থাযুক্ত ঘড়ির মুখগুলির জন্য কার্যকর যা তাদের চেহারাকে প্রভাবিত করে (যেমন একটি নির্বাচনযোগ্য ব্যাকগ্রাউন্ড চিত্র সহ একটি ঘড়ির মুখ)। ক্লায়েন্ট সাইডে আমরা এই অনুরোধগুলি পর্যবেক্ষণ করার জন্যgetOrCreateInteractiveWatchFaceClientএর ঐচ্ছিক প্যারামিটার হিসাবেPreviewImageUpdateRequestedListenerযোগ করেছি। ( Iff44a ) - আমরা
WatchFaceColorsএক্সপোজারের জন্য API সহজ করেছি, এখন Renderer-এwatchFaceColorsনামে একটি সহজ বৈশিষ্ট্য রয়েছে যা ওয়াচফেস সেট করতে পারে, যেকোনো স্টাইল পরিবর্তনের প্রতিক্রিয়ায় এটি প্রয়োজন অনুসারে আপডেট করা উচিত। রঙের পরিবর্তন পর্যবেক্ষণ করার জন্যWallpaperManagerব্যবহার করার পরিবর্তে, আমরাInteractiveWatchFaceClientএOnWatchFaceColorsListenerযোগ করেছি। ( I490bc ) - আমরা একটি
WatchFaceColorsক্লাস যোগ করেছি যা তিনটি সবচেয়ে বিশিষ্ট ঘড়ির মুখের রঙ ধারণ করে এবং খোলা পদ্ধতি যোগ করেছেwatchfaceColors¬ifyWatchFaceColorsChangedরেন্ডারারে পরিবর্তিত হয়েছে, এগুলি সিস্টেমকেWallpaperManager.getWallpaperColorsএর মাধ্যমে ঘড়ির মুখের রঙগুলি পেতে দেয়। ( I3d611 ) -
ShortTextComplicationData,RangedValueComplicationData,NoPermissionComplicationData(এবং পরীক্ষামূলকDiscreteRangedValueComplicationData,GoalProgressComplicationDataএবংWeightedElementsComplicationData) এখনSmallImagesসমর্থন করে। যদি একটি ওয়াচফেস একাধিক রঙের একটি জটিলতা রেন্ডার করতে পছন্দ করে, তাহলে এখন এটি একটি বহু রঙেরSmallImageব্যবহার করার বিকল্প পাবে যেখানে আগে এটিকে একটি একরঙা ছবি ব্যবহার করতে হত। ( I257df ) - রিফ্যাক্টর
PreviewImageUpdateRequestedListenerপরিবর্তে ( Ia875d ) একজনConsumer<>হতে হবে। - কাস্টম সিঙ্গেল অ্যাবস্ট্রাক্ট মেথড (SAM) টাইপ
OnWatchfaceColorsListenerজেনেরিক জাভা SAM টাইপ (Consumer) ( I0c489 ) দিয়ে প্রতিস্থাপন করুন। - আমরা পুরনো
getOrCreateInteractiveWatchFaceClientএবংlistenableGetOrCreateInteractiveWatchFaceClientপদ্ধতিগুলি বাতিল করেছি যাPreviewImageUpdateRequestedListenerনির্দিষ্ট করে না। ( Iec502 )
বাগ ফিক্স
-
DisconnectReason.BINDER_DIEDএর নাম পরিবর্তন করেDisconnectReason.ENGINE_DIEDরাখা হয়েছে। ( I4eb0e )
সংস্করণ 1.2.0-alpha01
১০ আগস্ট, ২০২২
androidx.wear.watchface:watchface-*:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- আমরা বিভিন্ন নতুন জটিলতা ফর্ম্যাটের জন্য পরীক্ষামূলক সহায়তা যোগ করেছি। এটি সক্রিয় উন্নয়নের একটি ক্ষেত্র; এই নতুন ফর্ম্যাটগুলি কোনও নোটিশ ছাড়াই পরিবর্তন সাপেক্ষে এবং বর্তমানে
CanvasComplicationDrawableথেকে কোনও রেন্ডারার সমর্থন নেই। - আমরা জটিলতার স্লটে ঐচ্ছিক মার্জিনও যুক্ত করেছি যা ছোট জটিলতাগুলি সহজেই সমাধান করতে সাহায্য করে।
API পরিবর্তনগুলি
- পরীক্ষামূলক
BoundingArcক্লাসটি এখন অপরিবর্তনীয়। ( If624a ) - ছোটখাটো জটিলতা মোকাবেলা করা কঠিন হতে পারে। এটি কমাতে, আমরা মার্জিনের জন্য সমর্থন চালু করেছি যা রেন্ডারিংকে প্রভাবিত না করেই ট্যাপযোগ্য এলাকা বৃদ্ধি করে। নির্দিষ্ট না করা পর্যন্ত (কোডে বা XML এর মাধ্যমে)
ComplciationSlotsমার্জিন শূন্য আকারের থাকে। ( I14089 ) -
getComplicationSlotInflationFactory(CurrentUserStyleRepository)স্বাক্ষর পরিবর্তন করে একটি নন-নাল ফ্যাক্টরি ইনস্ট্যান্স ফেরত পাঠানো হয়েছে। আগে null ফেরত দেওয়া একটি ত্রুটি ছিল, তাই এটি কেবল API চুক্তিটিকে আরও স্পষ্ট করে তুলছে। ( I0fcc0 ) -
createComplicationSlotsManagerএর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য আমরাWatchFaceService.getComplicationSlotInflationFactoryপদ্ধতিতেcurrentUserStyleRepositoryআর্গুমেন্ট যোগ করেছি। ( I2ddd2 ) -
UserStyleFlavorsএখন অ-পরীক্ষামূলক বৈশিষ্ট্যে পরিণত হয়েছে। ( I69cdc ) - আমরা
RangedValueComplicationDataথেকে পরীক্ষামূলকValueTypeসরিয়ে দিয়েছি এবং এর পরিবর্তে পরীক্ষামূলকDiscreteRangedValueComplicationDataচালু করেছি যাRangedValueComplicationDataমতো, পূর্ণসংখ্যার পরিসর এবং মান ছাড়া। আমরা পরীক্ষামূলকGoalProgressComplicationDataও চালু করেছি যাRangedValueComplicationDataএর মতো, তবে এটি এমন একটি লক্ষ্যের দিকে অগ্রগতির জন্য যেখানে min স্পষ্টভাবে শূন্য, এবং মানtargetValueচেয়ে বড় হতে পারে। দ্রষ্টব্য: সমস্তRangedValueভেরিয়েন্টের জন্য কমপক্ষে একটি monochromeImage, text বা title নির্দিষ্ট করতে হবে। ( I9590c ) - আমরা
ComplicationSlotStateথেকেboundsWithMarginsসরিয়ে ফেলেছি কারণ সিস্টেম সফ্টওয়্যারের এটির জন্য কোনও ব্যবহারের কেস নেই। ( I42e26 ) - আমরা
WeightedElementsComplicationDataএর জন্য পরীক্ষামূলক সহায়তা যোগ করেছি যার মধ্যে রয়েছে ঐচ্ছিক টেক্সট/শিরোনাম/ছবি সহ বিভিন্ন উপাদানের (ওজন এবং রঙের জোড়া) অ্যারে। এগুলি একটি পাই চার্ট হিসাবে প্রদর্শিত হতে পারে যেখানে প্রেক্ষাপট বিবেচনা করে রঙগুলি অর্থপূর্ণ হতে হবে, কারণ সাধারণত লেবেল রেন্ডার করার জন্য কোনও জটিলতার জায়গা থাকে না। ( I87eea ) -
RangedValueComplicationDataএবংGoalProgressComplicationDataদ্বারা ঐচ্ছিকভাবে ব্যবহৃত পরীক্ষামূলকColorRampsএখন আপনাকে সাতটি রঙের একটি ক্রম এবং একটি পতাকা নির্দিষ্ট করার অনুমতি দেয় যা নির্দেশ করে যে রঙগুলি মসৃণভাবে টুইন করা উচিত কিনা অথবা রঙের সমান আকারের কঠিন ধাপগুলি রেন্ডার করা উচিত কিনা। ( I9f5bf ) -
RangedValueComplicationData.drawSegmentedvalueTypeতে পরিবর্তন করা হয়েছে যা একটি int যার সাথে সংশ্লিষ্টValueType IntDefরয়েছে যা রেঞ্জড মানের অর্থ প্রদান করে এবং স্টাইলিংকে প্রভাবিত করার জন্য জটিলতা রেন্ডারার দ্বারা ব্যবহার করা যেতে পারে। ( I0616b ) - আমরা
RangedValueComplicationDataতে ঐচ্ছিকColorRangesএর জন্য পরীক্ষামূলক সহায়তা যোগ করেছি। সাধারণত জটিলতাগুলি ঘড়ির মুখের পছন্দের রঙে রেন্ডার করা হয়, তবে কখনও কখনওComplicationDataSourceরঙগুলি সেট করার জন্য সবচেয়ে ভালভাবে স্থাপন করা হয়, যেমন যখন তাদের একটি নির্দিষ্ট শব্দার্থিক অর্থ থাকে। যেমন তাপমাত্রার জন্য লাল থেকে নীল। ( I5153a ) - আমরা
RangedValueComplicationDataতে একটি পরীক্ষামূলকdrawSegmentedইঙ্গিত যোগ করেছি। এটি রেন্ডারারদের সেগমেন্ট সহ রেঞ্জড মান সূচক আঁকতে সংকেত দেয়, যেখানে 1 সেগমেন্ট = 1 ইউনিট। ( I7d7c1 )
বাগ ফিক্স
- আমরা একটি পূর্বনির্ধারিত স্ক্রিন স্থানাঙ্ক সিস্টেমের সাপেক্ষে
ComplicationSlotBoundsসংজ্ঞায়িত করার ক্ষমতা যুক্ত করেছি। ( I0985d )
সংস্করণ 1.1
সংস্করণ 1.1.1
১০ আগস্ট, ২০২২
androidx.wear.watchface:watchface-*:1.1.1 প্রকাশিত হয়েছে। সংস্করণ 1.1.1-এ এই কমিটগুলি রয়েছে।
- এটি একটি বাগ ফিক্স রিলিজ এবং ১.১.০ সংস্করণের ব্যবহারকারীদের আপগ্রেড করার জন্য জোরালোভাবে উৎসাহিত করা হচ্ছে।
বাগ ফিক্স
ওয়াচ ফেস ইনিশিয়ালাইজেশন অ্যাসিঙ্ক্রোনাস এবং যদি ওয়াচ ফেস প্রস্তুত হওয়ার আগে কোনও জটিলতা পাওয়া যায় তবে এটি
pendingInitialComplicationsতালিকায় রাখা হয় এবং পরে প্রয়োগ করা হয়। দুর্ভাগ্যবশতpendingInitialComplicationsখুব তাড়াতাড়ি প্রয়োগ করা হয়েছিল যার অর্থ ওয়াচ ফেস ইনিশিয়ালাইজেশনের সময় একটি সময়সীমা ছিল যেখানে জটিলতাগুলি এখনওpendingInitialComplicationsএ রাখা হত এবং উপেক্ষা করা হত। এটি এখন ঠিক করা হয়েছে। এছাড়াও এই প্যাচটি একটি বাগ সংশোধন করে যেখানেComplicationRendererভুলভাবে প্লেসহোল্ডারগুলিকে অ্যাসিঙ্ক্রোনাসভাবে লোড করার চেষ্টা করছিল, যা ব্যর্থ হওয়ার ফলে সংকলন গ্রাফিক কখনও আপডেট হয়নি। অবশেষে এই প্যাচটি একটি আশাবাদী তাত্ত্বিক বাগ সংশোধন করে যেখানে একাধিকpendingInitialComplicationsএকত্রিত করতে হবে। ( 0d03ba3 )Fix potential deadlock in
InteractiveInstanceManagerwheregetExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstancewas holding the lock longer than necessary. Usually we'd expectengine.setUserStyleto be quick but if for some reason it's not then we could end up with a deadlock/ANR. This patch moves unnecessary work out of the lock, removing the potential for a deadlock.( 5a2adca )Fix several issues that retained
WatchFaceService. The WakeLock can sometimes retain theWatchFaceService, adding arelease()call fixes this. Also theStateFlowscan retainWatchFaceService, canceling the underlyingCoroutineScopesfixes that.( fd48138 )Add timeouts to
awaitDeferredWatchFace* and fixwatchfaceOverlayStyleNullPointerException. In normal circumstances this shouldn't timeout including after fresh install andDirectBootscenarios where the CPU load is high. We've also fixed a NPE ifgetWatchfaceOverlayStyleis called afterclose().( a4c3a5a )
সংস্করণ 1.1.0
১৫ জুন, ২০২২
androidx.wear.watchface:watchface-*:1.1.0 is released. Version 1.1.0 contains these commits.
১.০.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি
Improved Editing:
- We added support for hierarchical schemas, which allows a hierarchy of styles to be scribed by editor UIs. You can now specify separate icons for use by on watch face and companion editors.
- There is opt-in support for multiple instances of a watch face, each instance has a unique ID available across all API surfaces.
- You can now specify human readable names for
ComplicationSlotsfor use in editors. - Experimental support for styling “flavors”, a curated selection of styles which will be visible from the companion editor.
- When editing two instances of the watchface are loaded, it's now possible for watchface instances to share resources, saving memory
- When picking a complication in the on watch face editor, the current provider is now preselected.
Improved Complications:
- You can now specify the
ComplicationTypefor the primary and secondary data sources, giving developers more flexibility for the out of box experience. - We added
ComplicationDataTimelinewhich provides a sequence of time-gated data to be delivered to the watch face which can be cached and updated automatically. For example, today's weather forecast at various times or multiple upcoming calendar events. - The
ComponentNameof the complication provider is part of theComplicationData. - Complications are now cached which provides a better experience when switching between watch faces.
Other changes:
- The
UserStyleSchemaandComplicationSlotscan now be defined in XML. This simplifies watch face construction and allows for faster metadata queries from the system. - Watch faces can now influence the colors used for rendering the system overlay.
সংস্করণ 1.1.0-rc01
১৮ মে, ২০২২
androidx.wear.watchface:watchface-*:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.
নতুন বৈশিষ্ট্য
- We've made some usability tweaks to watchface XML support, making it easier to specify
ComplicationSlotBoundsand supporting references. Experimentation with edge complicationBoundingArccontinues, plumbing it through todrawHighlightalthough it's not recommended for use at that time.
API পরিবর্তনগুলি
- We've added an experimental overload of
drawHighlightwhich accepts aBoundingArcparameter. ( I705f8 ) - Watch face XML now supports resource references. It lets you use the same constants both in XML and your code. ( I3ef61 )
- We've added the ability to define
ComplicationSlotBoundsincenter_x,center_y,size_x,size_yform. Now it is also possible to use different units (ie dp) using resource references. ( Iace98 )
বাগ ফিক্স
- Fix
runBlockingWithTracingwhich was running tasks on the wrong context.( 4f595fe ) - Make
BaseEditorSession.closesynchronous. The problem withBaseEditorSession.closebeing asynchronous is that we release theComplicationDataSourceInfoRetrievertoo late leading to warning spam in logcat. This was probably harmless but logcat spam is distracting and should be avoided.( 35a5308 )
Version 1.1.0-beta02
১১ মে, ২০২২
androidx.wear.watchface:watchface-*:1.1.0-beta02 is released. Version 1.1.0-beta02 contains these commits.
নতুন বৈশিষ্ট্য
- We've added experimental support for new
ComplicationDatatypes, these are not yet ready for use but watch this space.
API পরিবর্তনগুলি
- We've added
BoundingArc, an experimental class that describes the geometry of an edge complication slot. This has been added toComplicationSlotand plumbed through toComplicationSlotStateandWatchFaceMetadataClient. ( I61a40 ) - We've added the ability to inherit settings in
UserStyleSettingXML. It lets you reduce verbosity and share a setting between watchfaces. ( Ief841 ) - We have added two new experimental types of
ComplicationData:ListComplicationData&ProtoLayoutComplicationData. Currently there's no rendering support for either of these types and WearOS doesn't currently recognize these types if added to aComplicationDataSource'smanifest. ( I1811c )
বাগ ফিক্স
- Fix serialization of
TimeLineEntrytype. We were not serializing theTimeLineEntrytype which meant cachedTimeLineEntriesof type NoData would be incorrectly interpreted as having the parent complication's type leading to NPEs when non-existent required fields were accessed. ( 55ffdf5 ) - Fix a bug where
setComplicationDatadropped timeline fields( fb392f5 ) - Fixes a bug where very occasionally
runBlockingWithTracingwould lead to an NPE( 12ca62e ) - Fixes a bug where we sometimes get
ClassNotFoundException: android.support.wearable.complications.ComplicationTextwhen receiving a complication.( 217942d9 ) - Fixes a bug in
GlesRenderer.backgroundThreadInitInternalwhere it was only callingonBackgroundThreadGlContextCreatedifEGL14.eglCreateContextwas called. Fixes another bug where there was a visual glitch in the screenshot caused byverticalFlip.( c674ad2 ) - Fix
WatchFaceServiceXML version check, it was loading from the wrong package.( dfa06f3 ) - Placeholder wire format now uses an inner bundle. We don't want placeholders to break existing watchfaces which might use the hidden inner aswcComplicationData. Previously the wire format of a
NoDataComplicationdata stored the placeholder in the usual fields (problematic because old watch faces would render the placeholder string which isn't intended), instead we now use an inner bundle to fully isolate this.( d5e7bd2 )
সংস্করণ 1.1.0-beta01
April 20, 2022
androidx.wear.watchface:watchface-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits.
API পরিবর্তনগুলি
- Now
WatchFaceMetadataClientmethods (getUserStyleSchema,getComplicationSlotMetadataMap,getUserStyleFlavors) andHeadlessWatchFaceClient.getUserStyleFlavorsthrow unchecked RuntimeException instead ofWatchFaceException. ( I0718a ) -
WatchFaceMetadataClient.WatchFaceExceptionhas been moved out of the class to allow it to be reused. ( I4e869 )
বাগ ফিক্স
-
WatchFaceMetadataClientwill no longer crash when sent partialComplicationSlotBounds.( Iaafd )
সংস্করণ 1.1.0-alpha05
৬ এপ্রিল, ২০২২
androidx.wear.watchface:watchface-*:1.1.0-alpha05 is released. Version 1.1.0-alpha05 contains these commits.
নতুন বৈশিষ্ট্য
- You can now tell which data source sent a
ComplicationDataby inspectingComplicationData.dataSource, some watch faces may use this to customize complication display. ( I44a73 )
API পরিবর্তনগুলি
-
Renderer.CanvasRendererandRenderer.GlesRendererhave been deprecated in favor ofRenderer.CanvasRenderer2andRenderer.GlesRenderer2which supportSharedAssetswhich are passed to the render methods. For java interop we've introducedListenableCanvasRenderer2andListenableGlesRenderer2. ( I31ffa ) - Added
@WatchFaceFlavorsExperimentalability to define flavors - preconfigured list of styled watchfaces ( I04dd0 ) -
Renderer.sharedAssetsis now a StateFlow and we've removed the unusedRenderer.SharedAssetsFactory( I12ac5 ) -
UserStyleSchema.userStyleSettingsis not deprecated anymore ( Iba7e3 ) - We've added
HeadlessWatchFaceClient.getUserStyleSchemaDigestHashwhich allows aHeadlessWatchFaceClientto avoid the relatively low overhead of passing the schema over AIDL before computing the digest hash. ( I33597 ) - We've added
isUserStyleSchemaStatictoWatchFaceMetadataClientwhich is true if and only if theUserStyleSchemacan be relied on not to change unless the watch face APK is updated. ( I45a3f ) - We have added
getDigestHashtoUserStyleSchemawhich computes a digest hash of the schema. This can be used to efficiently determine if theUserStyleSchemahas changed. ( I2063d ) -
METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTEDrenamed toMETADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED( I9ba5d ) -
UserStyleSetting.OnWatchEditorDatahas been renamed toUserStyleSetting.WatchFaceEditorData, it contains data that's used purely by the on watch face editor. ( If3afb )
সংস্করণ 1.1.0-alpha04
March 9, 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
API পরিবর্তনগুলি
- Up to date
ComplicationDatamay not always be available (eg expired cached ComplicationData) so we've extendedNoDataComplicationwith an optional placeholder ComplicationData and addedComplicationText.PLACEHOLDER,MonochromaticImage.PLACEHOLDER,SmallImage.PLACEHOLDER,PhotoImage.PLACEHOLDERwhich are only allowed to be used inside the context of aNoDataComplicationDataplaceholder. If selected these placeholders are suggested to be rendered with gray boxes/arcs. ( I6285d ) - We've added
ComplicationData.getNextChangeInstantwhich tells you the next Instant after the reference Instant at which any field of the complication may change. This is used internally to schedule frames for complication updates. Eg if a watch face normally updates once per minute, setting the stop watch complication will cause it to update once per second. ( I7ceb2 ) -
EditorSession.watchFaceIdcan now be used on all API levels. In addition its value will now always be consistent withWatchState.watchFaceInstanceId. ( I323b9 ) - The
getPendingIntentForTouchEventAPI is no longer necessary since the underlying issue has been fixed in the framework, so all the related APIs have been removed. Watchfaces do not need to do anything special forPendingIntentsto fire, even if the home button has recently been pressed. ( I1f2e8 ) - We've added
RendererParameters.isForScreenShotwhich will be true if the render is for a screen shot. Some watch faces with animations need to know this in order to make adjustments to ensure the best results. ( I96d99 ) - We've added
WatchFaceExceptionReasontoWatchFaceExceptionto give some context to what went wrong. ( I01d15 ) -
ComplicationDataSourceService.onImmediateComplicationRequesthas been removed, insteadComplicationRequest.immediateResponseRequiredhas been added to signal that the provider needs to respond quickly (ideally responding in < 100ms). Note this functionality is guarded behind the privilegedcom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATEpermission. ( Ie6b23 ) - Updated nullability in core and appcompat to match Tiramisu DP2 ( I0cbb7 )
বাগ ফিক্স
- Now watchface app crashes with an exception if the schema validation fails ( Ia400f )
সংস্করণ 1.1.0-alpha03
৯ ফেব্রুয়ারী, ২০২২
androidx.wear.watchface:watchface-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.
API পরিবর্তনগুলি
- We've added experimental support for hierarchical style schemas. We've added a new property to
androidx.wear.watchface.style.UserStyleSetting.Option, childSettings which is initially only used byListOption. This allows a hierarchy of styles to be described for use by Editor UIs, the underlying UserStyle is unchanged and is still aMap<String, ByteArray>. ( Iaf6f4 ) - We've added
WatchFace.OverlayStylewhich allows the watch face to configure the rendering of the system status overlay. ( I8520d ) - We've introduced
clearWithBackgroundTintBeforeRenderingHighlightLayera new optional constructor parameter forCanvasRenderer(default is false), if set to true then the canvas will be cleared with the background tint color. ( Ie01e5 ) - Added
androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTEDmetadata key which allows complication data sources to indicate they can provide a default value without any configuration ( Icc0d4 ) - It's common when editing a watch face for there to be both an interactive and a headless instance. To help save memory we've introduced
Renderer.SharedAssetswhich allows a watch face renderer to share immutable data (eg textures and shaders) between instances.GlesRenderer.setEglConfigandGlesRenderer.setEglDisplayare deprecated, it was never intended for these to be settable, and doing so would have led to undefined behavior. ( I0d9e7 ) - We've added
setNameResourceId&setScreenReaderNameResourceId(which reference string resources) toComplicationSlot.Builderand corresponding getters inandroidx.wear.watchface.client.ComplicationSlotState. This allows the system to fetch the names of ComplicationSlots for use in editors and screen readers. ( If6c6a ) -
WatchfaceMetadataClient.getUserStyleSchemaandgetComplicationSlotMetadataMapnow throwWatchFaceExceptioninstead ofRemoteException. ( I86f11 ) -
onSynchronousComplicationRequestand related functions inComplicationDataSourceServicehave been renamed toonImmediateComplicationRequestetc... ( I87ba0 ) - Watch face editors have much less screen real estate than companion editors, therefore it makes sense to support different icons for on watch face editors. This patch adds
OnWatchEditorData(currently containing just an icon) to all UserStyleSettings and where appropriate their Option classes. ( If1886 ) - We've added
@JvmOverloadsto ListenableGlesRenderer's constructor for better java interop. ( I2974a )
বাগ ফিক্স
-
ListenableGlesRenderer's constructor is now correctly marked as@Throws(GlesException::class), and it is now possible to extend this class in java. ( Iac6d0 ) - Fixes bug with
PhotoImageComplicationDatatapAction not being correctly handled ( I1cc30 )
সংস্করণ 1.1.0-alpha02
১২ জানুয়ারী, ২০২২
androidx.wear.watchface:watchface-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
- To aid debugging and testing,
ComplicationDataand related subclasses now have overridden hashcode, equals and toString methods making them easier to work with.
API পরিবর্তনগুলি
-
WatchfaceMetadataClientmethods once again throwRemoteExceptionswhere appropriate, making it easier for client code to catch errors from the watch face. ( I78785 ) -
ComplicationDataand sub classes now have hashcode, equals and toString. ( I24bc6 )
সংস্করণ 1.1.0-alpha01
১৫ ডিসেম্বর, ২০২১
androidx.wear.watchface:watchface-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
The
UserStyleSchemaandComplicationSlotscan now be defined in XML. This simplifies watch face construction. In addition,WatchFaceMetadataClientqueries are faster because it doesn't need to bind to the service to get the metadata. TheWatchFaceMetadataClientandListenableWatchFaceMetadataClientare no longer experimental and will become part of the stable api. The system will be able to optionally support multiple instances of a watch face, each with distinct user defined styling options. These will be visible in the watch face picker. To opt into this a watch face must include the following meta data tag in its manifest.<meta-data android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED" android:value="true" />Some watch faces have state that's not captured in the
UserStyle, to support this and multiple instances, the watch face's instance ID is now available viaWatchState.watchFaceInstanceId.ComplicationDatais now being cached to allow complications to be displayed immediately upon loading. SometimesComplicationDatais cached in memory by the system and sometimes it is serialized by the watch face libraries. When serialized any associated tapAction will be lost, if this happensComplicationData.tapActionLostDueToSerializationwill returntrueand the watch face should render the complication differently (eg grayed out or semi-transparent) to signal that it can't be tapped. The system will send updatedComplicationDatawith atapActionas soon as possible.Some
ComplicationDatashouldn't be cached for a long time, to support this we've added a more general featureComplicationDataTimeline. This can be used to provide a sequence of time-gatedComplicationDatato be delivered to the watch face which can be cached and updated automatically. For example, today's weather forecast at various times or multiple upcoming calendar events.ComplicationRequestListenerhas been extended with a new methodonComplicationDataTimelinewhich you can use to return this data.DefaultComplicationDataSourcePolicyhas been extended so you can specify theComplicationTypefor the primary and secondary data sources.We've added support for synchronous complication providers where the complication is updated at a higher frequency than normal, up to once per second when the watch face is visible and non-ambient. Note: synchronous complication providers may have limited usage due to memory pressure concerns.
The
PendingIntentTapListenerchanges are likely to be reverted because we solved the underlying problem (it's not possible for the watch face to launch activities for 5 seconds after pressing the home button) in the framework instead.
API পরিবর্তনগুলি
-
ComplicationData.isCachedhas been changed totapActionLostDueToSerializationwhich is more useful when determining if the complication slot should be rendered differently to signal that it can't be tapped. ( I6de2f ) - Added
ComplicationDataTimelinetowear-complication-data-source. This can be used to provide a sequence of time-gatedComplicationDatato be delivered to the watch face which can be cached and updated automatically. For example, today's weather forecast at various times or multiple upcoming calendar events.ComplicationRequestListenerhas been extended with a new methodonComplicationDataTimelinewhich you can use to return this data. There's a new kotlin wrapperSuspendingTimelineComplicationDataSourceServicefor suspending data source services. ( Idecdc ) - Added
PendingIntentTapListenerandWatchFaceControlClient.getPendingIntentForTouchEvent. This can help watch faces that need to launch intents in response to taps to work around a problem where the framework blocks launching new activities for 5 seconds after pressing the home button. ( I98074 ) - Introduced a per-watchface
ComplicationDatacache. The purpose of this is to allow the watch face to display last known complication data values upon loading until the system has had a chance to update them. There is a new API methodWatchFaceControlClient.hasComplicationCacheintended for OEMs. This may influence the system's strategy for sending complications to a watch face. In addition,ComplicationDatahas anisCachedproperty and it is recommended that cached complications are rendered differently because thetapActioncan not be cached and will benullin a cached complication. ( I404b0 ) - The watch face's instance ID is now available via
WatchState.watchFaceInstanceId. Most watch faces won't need to use this, but if there's a per-watch face state that's not stored in the Schema then this is the key to use to identify the watch face instance. To help support this you can now provide an ID when callingWatchFaceControlClient.createHeadlessWatchFaceClient. ( I1ff98 ) - Extended
DefaultComplicationDataSourcePolicywith the ability to set the defaultComplicationTypesfor the primary, secondary provider and for the fallback system provider.ComplicationSlot.defaultDataSourceTypeis now deprecated. ( If0ce3 ) -
ComplicationSlot.configExtrasis now mutable and can be updated before callingEditorSession.openComplicationDataSourceChooser(). ( I6f852 ) - Added
WatchFace.setComplicationDeniedDialogIntentandsetComplicationRationaleDialogIntent. These intents are launched to to show a rationale dialog before requesting complication permissions, and another dialog explaining that complication permission is needed when trying to edit a complication when permissions have been denied (the provider chooser will fail to open so the dialog is needed). ( I3a29c ) - The
UserStyleSchemaandComplicationSlotscan now be defined in XML. This simplifies watch face construction and makesWatchFaceMetadataClientqueries faster as they do not need to bind to the service to get the metadata. ( I85bfa ) - Added
InteractiveWatchFaceClient.supportsPendingIntentForTouchEventso a client can determine if a watch face supportsgetPendingIntentForTouchEvent. ( I0b917 ) -
WatchFaceMetadataClientandListenableWatchFaceMetadataClientare no longer experimental. They can be used to efficiently obtain watch face metadata, where possible without opening a binder to the watch face. ( Ibb827 ) - Added support for synchronous complication providers where the complication is updated at a higher frequency than normal, up to once per second when the watch face is visible and non-ambient. To use this the provider must include a new
androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDSmetadata tag in its manifest and overrideonSynchronousComplicationRequest. Depending on the nature of the data source, it may also need to overrideonStartSynchronousComplicationRequestsandonStopInteractiveComplicationRequeststo get notifications of when the complication enters and exits interactive mode. ( I8fe9d )
সংস্করণ 1.0
সংস্করণ 1.0.1
৯ ফেব্রুয়ারী, ২০২২
androidx.wear.watchface:watchface-*:1.0.1 is released. Version 1.0.1 contains these commits.
বাগ ফিক্স
- Fixes bug with
PhotoImageComplicationDatatapAction not being correctly handled ( I1cc30 )
সংস্করণ 1.0.0
১ ডিসেম্বর, ২০২১
androidx.wear.watchface:watchface-*:1.0.0 is released. Version 1.0.0 contains these commits.
Major Features of 1.0.0
The androidx.wear.watchface package is the new recommended library for developing WearOS watch faces. It has a number of new features over the old Wearable Support Library.
- User styling (eg to change the color palette, the style of the watch hands, the look of the hour marks etc) is directly supported by the library (see
androidx.wear.watchface.style). It's now much easier to develop an on watch face editor using androidx.wear.watchface.editor and your watch face can be edited from the system companion app without you needing to write any extra code. - Best practices baked in. The library automatically generated screen reader content labels for complications (you can also add your own ones), and the framerate automatically drops when the battery is low and not charging to improve battery life.
- Less code is needed to develop a watch face, especially for complications where a lot of the boilerplate has moved into the library.
বাগ ফিক্স
- Fix
EditorSession.userStyle.compareAndSet( I6f676 ) - Fix very short watch face delays ( Iffb97 )
- Dispatch
InteractiveWatchFaceImpl.onDestroyon the UI thread ( I83340 ) - Fix several problems with broadcast receivers ( I7d25f )
সংস্করণ 1.0.0-rc01
৩ নভেম্বর, ২০২১
androidx.wear.watchface:watchface-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.
বাগ ফিক্স
Fix dump() (called by adb shell dumpsys) which got broken by flow migrations. ( 087cf9e )
Ensure proper ordering of writeDirectBootPrefs. We want writeDirectBootPrefs to always run after initStyleAndComplications or we risk delaying UI thread init.( 37650ac )
Ensure Renderer.onDestroy is called. In the scenario where the renderer has been created but WF init has not completed and Engine.onDestroy is called, we need to call Renderer.onDestroy. ( f9952dc )
Optimization/fix to isBatteryLowAndNotCharging. This patch moves the initial setup of isBatteryLowAndNotCharging earlier which means it can be done in parallel with createWatchFace. In addition we now listen to ACTION_POWER_DISCONNECTED. ( ddffd80
InteractiveWatchFaceClientImpl.isConnectionAlive to be false after close ( ab9774e )
সংস্করণ 1.0.0-beta01
২৭ অক্টোবর, ২০২১
androidx.wear.watchface:watchface-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
Version 1.0.0-alpha24
১৩ অক্টোবর, ২০২১
androidx.wear.watchface:watchface-*:1.0.0-alpha24 is released. Version 1.0.0-alpha24 contains these commits.
API পরিবর্তনগুলি
- Classes in package
androidx.wear.watchface.complicationshave been moved into a newwear:watchface:watchface-complicationsproject. Note this means you can't include this library as well as any previous alpha version ofwear:watchface:watchface-complications-databecause you'll get errors about duplicate classes. ( I97195 ) - Renderer.dump has been renamed to Renderer.onDump and has been annotated with @UiThread. ( I44845 )
-
InteractiveWatchFaceClient.addWatchFaceReadyListenerhas been renamed toaddOnWatchFaceReadyListenerandremoveWatchFaceReadyListenerhas been renamed toremoveOnWatchFaceReadyListener. ( I48fea ) - EditorSession
getComplicationsPreviewDataandgetComplicationsDataSourceInfoare no longer suspend functions, instead they areStateFlow<>properties whose value is initially null. In ListenableEditorSessiongetListenableComplicationPreviewDataandgetListenableComplicationsProviderInfohave been removed in favor of the newStateFlow<>objects from the base class. If you need to listen to changes in java code, consider usingandroidx.lifecycle.FlowLiveDataConversions.asLiveDatato convert toLiveData<>. ( Ic5483 )
Version 1.0.0-alpha23
২৯ সেপ্টেম্বর, ২০২১
androidx.wear.watchface:watchface-*:1.0.0-alpha23 is released. Version 1.0.0-alpha23 contains these commits.
নতুন বৈশিষ্ট্য
The watchface library is now a single library group, and as a result the libraries have moved and you will need to update your gradle imports as follows:
| পুরাতন | নতুন |
|---|---|
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 |
API পরিবর্তনগুলি
- Migrate the separate
androidx.wearWatchface and complications libraries intoandroidx.wear.watchfacelibrary group. ( b25f3c0 ) - Added EditorRequest.canWatchFaceSupportHeadlessEditing to let a client know if a watchface editor supports headless editing. Note there will be some false negatives with this because support was added in asop/1756809 however it will return the correct value for all future watchfaces. ( ca55590 )
- Renderer now has a dump() method which can be overridden to add custom data to the information generated by ABD shell dumpsys activity service WatchFaceService. ( 95235f9 )
- InteractiveWatchFaceClient.addWatchFaceReadyListener now specifies the executor first. ( 563ac2f )
- StateFlowCompatHelper has been removed. asLiveData (androidx.lifecycle.asLiveData) should be used instead. ( bd35d3 )
- CurrentUserStyleRepository.userStyle is no longer mutable. ( I44889 )
- WatchFaceReadyListener has been renamed to OnWatchFaceReadyListener. ( Ic12a9 )
বাগ ফিক্স
- InteractiveInstanceManager.deleteInstance to call onDestroy This is needed to ensure InteractiveWatchFaceImpl gets garbage collected.( fce4af8 , b/199485839 )