Watch Face Studio v1.4.13

Thanks @catherina00 :smiley:
I know that targetsdk does not mean maximum supported version.
Righ now, WFS produces aab with minSDK and targetSDK of 30.

Shouldn’t we use targetsdk = 33 to better comply with upcoming Play Store policies (31+) and also to have better optimization on Wear OS 4?

The current policy of Google play is API 30 for Wear OS(here). So now it is OK but we will consider it for next version. Thank you for your comment.

Hi all!

Thank you all for your interest in the new WFS version.
We worked deeper with Google from this release and tried to give a better user experience through WearOS 4. (Please look at the notice shared by Dorothy and Google IO.)

This makes it possible for HR or Steps Goal to link with data from device representative health apps such as Samsung Health, rather than measuring or setting it watch face independently.
The HR shared by health app has the following characteristics: When the watch face is newly loaded, the previously measured HR is not visible right away. However, it will be updated as soon as the device measures the HR. We are trying to improve this part, but it will take more time.
Instead, we provide shortcuts that can jump directly to the heartrate screen of the health app as the “open app” action of WFS. When designing a watch with WFS, it is recommended to connect it instead of using measure action. On the HR screen, users can measure HR manually or change the measurement cycle.

I hope you understand the above. Please let us know the additional inconvenience. We will take care of it as soon as possible.

Thank you!

Hi @sinjae , thanks again for this WFS update! It changes a lot!

Maybe WFS team can use MeasureCallback | Android Developers in callbackFlow when watch face with [HR] tag is initially set to measure HR through Health Services? In onDataReceived you can simply write HR value which is greater than zero and then can rely completely on PassiveData updates?

Just a thought :slight_smile:

Edit: Also, I saw some people complaining that the data is not updated correctly after some time. PassiveListenerService for me is not that quick as PassiveListenerCallback in the Heart Rate Complication app. Don’t know which one is utilized by WFS.

Tomas

Thank you for the suggestion :slight_smile:

We are using PassiveListenerCallback of Fitur Kesehatan di Wear OS  |  Developer Android  |  Android Developers,
and I believe this feature will be improved more and more!

1 Like

HI @sinjae ,

thanks for your updates and the great work you’re doing !

I did some tests in the last 24hr with the [HR] tag and it works quite well.

However, as I already reported in a previous post, I found some issues with this data:

  • The [HR] data does not seem to “always” update correctly, even using the TAP shortcut (Open App → Heart Rate).

  • More important: If the [HR] tag is used with expressions, the result is shown about 10 minutes late.

There seems to be some kind of lag between the HR data and the result that the HR tagged expression should show.

BTW, the delay only happens on the real device obviously. From WFS everything works normally.

Thanks again!

@Matteo_Dini Thank you for the report!
Could you please generate and share the logdump when you observe the problem?

Here is a manual how to get the log dump from wearable device.
NOTE. You can enter *#9900# from number pad of Phone app instead of tapping Serial number

Thank you!

@sinjae

Thanks for your quick response.

I did the LOG_DUMP. Where can I send it?

Thank you!

BTW,

In the meantime, I send a .WFS file with this example.

This is a simple test file that contains the [HR] tag + 3 expressions with this tag and Heart Rate shortcut.

If the HR data is equal to or greater than “100”, it shows “HR >100”
If the HR data is between “55” and “99”, it shows “HR 55-99”
If the HR data is equal to or less than “54”, it shows “HR <54”

It works fine on WFS but on real device expressions with [HR] tag are updated very late.

WFSHRTest.zip (165.5 KB)

1 Like

Hello Matteo!
Please check my message in Forum and get back to me.
Thank you

1 Like

@catherina00

Done, thanks for your quick response! :slight_smile:

Thanks WFS team for releasing this new version, it’s great to see new tech being introduced, which will hopefully make our work easier in the future! :slightly_smiling_face:

Couple of bugs/issues to report:

  • [SC_PER] in a text element doesn’t seem to work, it just shows “0”.
    For comparison, the steps indicator in short_text complication works normally.
    I’ve tried going into Project - Settings - Health - turn “Sync to device” both on and off, but that didn’t change anything.
    It all seems to work well in WFS but on physical device it stays “0”, all permissions allowed etc.

  • This new way how the [HR] indicator works will undoubtedly result in some angry/confused users, possibly even Play Store reviewer rejections, at least until everyone learns how it works.
    In my testings it’s been very random - First time testing, the HR refreshed on its own within a minute, but in all other cases it kept showing “0” for well over 10 minutes.
    Using the TAP shortcut to open the Heart rate app and measuring there didn’t refresh the indicator either.

I don’t understand exactly how/when the HR should refresh with this new system, and it’s a bit annoying not having any kind of “tap-to-measure” option anymore.
Any ideas or plans to improve upon this?

Thanks! :pray:

1 Like

@enkei_design

Read the newest FAQ 11 and 12 Wear OS 4 is required for Step Count and HR tags to work.

Ron
Samsung Developer Relations

It seems like we can’t use tags for complications anymore. E.g. dynamically changing the x and y coordinates of a complication with a tag.

Another thing I noticed as well is, that e.g. an image which is included in a complication doesn’t disappear when “empty” is selected anymore.

Are these things not possible anymore due to the new complication styles?

And, will watch faces created with 1.3.13 still be compatible with Wear OS 4, or do we have to update all of our watch faces?

Thanks!

It seems like we can’t use tags for complications anymore. E.g. dynamically changing the x and y coordinates of a complication with a tag.

I can ask but I assume this is the same reason as listed in FAQ 13 regarding grouping.

Another thing I noticed as well is, that e.g. an image which is included in a complication doesn’t disappear when “empty” is selected anymore.
Are these things not possible anymore due to the new complication styles?

I’m not sure I am following you on that can you be clearer what image and what type of complication slot/complication you mean?

And, will watch faces created with 1.3.13 still be compatible with Wear OS 4, or do we have to update all of our watch faces?

My understanding that they will be will not have the Sync to Health feature and any other limitations that are already in it.

Ron
Samsung Developer Relations

I understand that it is a function that works normally in Wear OS 4. So when will Wear OS 4 be updated on Watch4 or 5 series? If it is a schedule after the release of the Watch6 series, watchface makers will have a lot of worries.

1 Like

Hello. I worked with the new version. I have a problem with the complications. I add a complications slot circle, activate all supports types, default provider Watch Battery. The complication with Progress bar is displayed in the WFS, but on the watch without progress bar. All complications that support a progress bar are displayed without progressable. If I activate in Supported Types only Range Value is it correct on the watch. What am I doing wrong?

It is described …the supported typ of the top of the list will be used as default type. If a complication provider doesen’t support default typ, the next type in the list will be used instead.

Test.zip (189.2 KB)

Hi @SGWatchDesign . You need to move ranged value above short text. The list with supported types also specifies the priority. If the short text is above ranged value, then short text layout will show regardless which complication types are supported by provider.

If only RANGED_VALUE is provided, then it will show but a lot of apps do support multiple types together (SHORT_TEXT,LONG_TEXT,RANGED_VALUE)

Tomas

1 Like

Ah okay. Thanks Tomas. I haven’t seen the small arrows for moving the supported types … I get old! :joy:

I can ask but I assume this is the same reason as listed in FAQ 13 regarding grouping.

My understanding that they will be will not have the Sync to Health feature and any other limitations that are already in it.

So I won’t have to update all my watch faces with the new version of WFS? Because e.g. this watch face I made has a moving complication. It moves in relation to the current hour + minute. But with the new version of WFS the watch faces can’t be moved dynamically using a tag anymore .

I’m not sure I am following you on that can you be clearer what image and what type of complication slot/complication you mean?

We can use the watch face I linked above as an example. When a complication data is set the ring appears to make a border around the complication. I simply used an image for that. When selecting “empty” this image disappears as well. This is not the case with the new version anymore.

Are these new limitations or can these functions be added again?

(I hope I could explain it well)

Thanks!

BUGREPORT

There are also some issues with complication updating mechanism. Watch face does not respond on complication update call as before (1.3.13). For example, weather provider changes weather icon and uses

ComplicationDataSourceUpdateRequester.create(context,component)
        req.requestUpdateAll()

But the watch face will not respond to this change and the icon will not change at all. The change happens instantly on WFS 1.3.13 watch face custom complications.

Logcat shows absolutely nothing so it’s hard to tell. This issue makes nearly all ranged value complications unusable after some time.

See this–>
Ranged Value complication progress bar does not reflect battery % value.
screenshot_17-29-37