Bixby: Unable to print message - bixby

user: set my location to new york
Bixby will asked for permission and then asked to store the location and then asked to choose from list of map. User will click one and i will message user that your location is set to New York, USA. Everthing is good. But When i click on the map to select address, I won't get the message but if I voice command like "First one" or type "first one", then i get the message.
My location is result view where in message I checked if levelOne.subdivisionCode exists and country name exists, it will combine and message.
I have summary layout-macro and details 'layout-macro'.
Please let me know if you need some more information. and let me know why my message is not appearing when click select the map?
result view:
result-view {
match: Location (this)
message{
if (exists(this.levelOne.subdivisionCode) && exists(this.country.name)){
template ("Your location is set to #{value(this.name)}, #{value(this.country.name)}. You can now browse by saying following statement.")
}else-if (exists(this.country.name)){
template ("Your location is set to #{value(this.country.name)}. You can now browse by saying following statement.")
}else{
template ("We are unable to find any city")
}
}
Summary-layout
where-each (album) {
layout-macro (location-summary) {
param (location) {
expression (album)
}
}
}
Detail Layout
layout-macro (location-details) {
param(location) {
expression (this)
}
}

This may be an issue that we'll need to investigate further. Can you submit a bug report via Bixby Studio?

With new SDK 19J release, this issue is solved by enable allow-dialogs-on-detail-pages in runtime-flags
After talking with internal team, it is a generic issue we became aware of.
Current version of Bixby does NOT render message section when click from a list of results. The UL utterance "first one" actually re-run the search and display a single result, thus the message is rendered.
A request to add feature of displaying dialog/message when click a list of results is submitted to product management team. Please continue your capsule development with Bixby, and we'll see if next release include such feature.
Have fun with Bixby! And thank you for sharing the diagnostic report with us!

Related

Extra layout after select card with intent

Found this question in other place, similar to Start playing the audio after selecting card in results view and How to trigger onclick on selection in bixby but i am unable to comment to ask for further question, and i am so blur about the answer provided, so decided to open a new question.
What i want to achived is to display a list for user to choose and after user choose, it will play the news audio (action 'playnews').
So this is my view which connect to layout macro
render{
list-of (this){
has-details (true)
where-each (one){
layout-macro (display-list){
param (one){
expression (one)
}
}
spoken-summary("#{value(one)}")
}
}
}
And this is my layout-macro-def
layout-macro-def (display-list){
params{
param (one){
type (userWantToHear)
min (Required) max (One)
}
}
content{
cell-card{
slot2{
content{
primary{
template ("#{value(one)}"){
}
}
}
}
on-click{
intent{
goal: playNews
}
}
}
}
}
What i achieved is when i clicked on the list of selection,
it bring me to another page with the topic i clicked just now, and the audio play only if i click the card on the new page shown.
Yes this question is similar to those i mentioned above, but i require a further explanation as i really blur about this (and yea i can't post a comment).I want to get rid of the one-extra-click before the audio play.
Thanks !
First the easy answer:
Unfortunately, on-click does not work on list-of in result-view. So the extra page is required when doing the on-click way of the result-view.
Now the useful answer:
To implement the feature you want, an input-view with selection-of might be much easier than list-of in result-view.
This might be difficult to explain in words, so I made a sample capsule, you can download it and try.
In the two training examples provided, show me all titles use the result-view, and redirect using on-click. While play title directly use the action which triggers an input-view.
As it shows here, no extra page, one click, the same result.

How to locate default dialog for detail page?

I successfully display a dialog on detail page thanks to guidance from how do I customize dialog to the detail page of an answer set?. But yet I am unable to customise the dialog shown on the detail page, "Here what i found"
Would love to know where could i find out the concept/dialog that is relate to the default dialog on detail page, based on the debug console? or there is others ways?
[Extra infomation] I display detail page with layout match,
}else-if (size(this.audioItem)==1){
layout-match (this.audioItem){
mode (Details)
}
}
It success. But when i customise the result view's message,
message{
if (size(this.audioItem)==1){
template ("Can?")
}
The message come out 'Here what i found'.
The default dialog part might be a bit confusing, there is no need to do dialog model in your case. To replace the default "here is what I found", just use the message child-key in any view model.
For example, the following would display "In result view" instead of "here is what I found"
result-view {
match: TextName (this)
message ("In result view")
render {
if (size(this)>1) {
To check the complete example, download capsule from GitHub.

Display element in layout view base on existence of other element

Come after going through the solution for How to check whether a text value content exists in a Bixby layout view.
My issues is on audio element, i will check for the existence of audioItem.duration before display their title one-by-one on a list. I had make sure on the debug console that some audio is with duration while some didn't. So i try on the result view with macro
content{
if(exists(audioItem.duration)){
thumbnail-card{
image-url ("#{value(audioItem.albumArtUrl)}")
title-area {
slot1{
text{
style(Title_XS)
value ("#{value(audioItem.title)}")
}
}
}
}
}
}
It display empty but without that if it will display all of it without filter. How should i improve on the code?
The code you provided does not look wrong. In this case, the support team may need to view your code in its entirety in order to help you with this behavior.
I would recommend reaching out to the support team via the "Contact Support" option under the Help dropdown menu of Bixby Developer Studio.

Phone Call Functionality for Bixby Capsule

Does anyone know or have a clue on implementing a phone call functionality in a Bixby capsule. That is for example, like from the Yelp capsule, a user presses a 'Call Business' button at the bottom and the capsule initiates a phone call with the business.
I have extensively been looking at the Developer's Guide (Contact library):
https://bixbydevelopers.com/dev/docs/dev-guide/developers/library.contact
But it seems like they don't have an action call for a phone call.
compound-card {
content {
single-line {
image {
url("../assets/ic_btn_call.png")
}
spacer
text {
value ("Call #{value(phoneNumber)}")
style(Title_XS)
}
}
}
on-click {
intent {
// goal : Call action not implemented
value {
$expr (phoneNumber)
}
}
}
}
An alternative solution:
Although it is not documented, use app-launch to take advantage of Android's built-in href
add the following code in your view file
app-launch {
payload-uri ("tel: 1-800-726-7864") // samsung number
}
do a private submission and load revision number to your phone.
get to the view with app-launch, and you will be re-direct to phone-call with the number.
you need to confirm the call by press the green dial icon.
Some of Bixby's early adopters helped us explore and develop new features. As a part of this partnership, they have access to newer features.
The ability to make a call is one such feature which is being developed comprehensively and will soon be available to all of our developer community!
Please follow this feature request https://support.bixbydevelopers.com/hc/en-us/community/posts/360029568074-Allow-access-to-phone-dialer for updates on release date and to share your comments or thoughts.

How to make bixby read the card?

Is there any way i can make bixby to read information on my card. Like if my card has title, date, description, so after bixby read the message "Here is what i found", it should read like "India vs Australia, Green park, Kanpur, 10th March, 1:30 PM".
Is it possible to add speech in result-view? I am showing like 6 cards on one result and want bixby to read all of them one by one and need like 3-4 seconds pause between each cards.
I am showing compound card in my result-view and using single-line. Adding speech in template resulting nothing. I am adding few lines of my code.
list-of (all) {
has-details (false)
where-each (single) {
compound-card {
content {
single-line {
if (exists(single.Name)){
text {
value {
template ("#{value(single.Name)}"){
speech("#{value(single.Name)}")
}
}
style (Title_S)
}
}
}
}
}
}
}
You would need to define the speech key of your dialog template (documentation link). This can be different from what the dialog template text says so you can customize it as needed. Your speech did not work since it needs to be a part of the dialog template.
Adding more information after initial question was modified:
Hands-free List Navigation would be the correct way for you to enable a voice output for every entry in a summary mode result-view. This allows you to choose a few different ways the summary content will be read to the user and how the user can select one of the options.

Resources