0

I have used hands-free list-of navigation in my capsule where I select a single item from multiple items to get the detailed information using voice command ("select one, choose second, etc").

But If I have a single item only, I am unable to give a voice command to go to another page. (hands-free list-of navigation not working when we have a single item).

So, how can I go to another page when I have a single item only, using voice command. (hands-free navigation)

Please help me with this.

Rahul Gupta
  • 972
  • 11
  • 29

1 Answers1

0

For a single item case, should be checked first and probably not enter list-navigation at all. The logic for render in view is recommended as following:

if (size(this)==1) {
  // render content (maybe different between HEF and non-HEF, but no navigation needed) 
}
else {
  if ($handsFree) {
    // do list navigation here 
  }
  else {
    // render non-HEF content
  }
}

Please consider the following code as a sample, this view works for multiple item list and single item. For HEF with multiple items, the flow is "do you want one of these" --> "yes" --> "which person would you like" --> "first/second one" --> Bixby renders the content in detail-stuctA macro. For HEF with single item, it directly renders detail-stuctA macro and skip all the navigation part.

It is true that if skip the (size(this)==1) check would result stuck in list-navigation forever, but that is understandable, because each time Bixby try to render, it fits the condition of list-navigation and take the list-navigation route.

result-view {
  match: StructA(this)
  message: template ("In result view") 
  render {
    if (size(this)==1) {
      layout-macro (detail-structA) {
        param (person) {expression (this)}
      }
    }
    else {
    if ($handsFree) {
      list-of (this) {
        navigation-mode {
          read-many {
            page-size (6) 
            list-summary("In hands free") 
            page-content {
              underflow-statement (This is the first page.)
              page-selection-question (Do you want one of these?)
              item-selection-question (Which person would you like?)
              overflow-statement (Those are all the persons that meet your search.)
              overflow-question (What would you like to do?)
            }
          }
        }
        where-each (item) {
          layout-macro (summary-structA) {
            param (person) {expression (item)}
          }
        }
      }
    }
    else {
      list-of (this) {
        where-each (item) {
          layout-macro (summary-structA) {
            param (person) {expression (item)}
          }
        }
      }
    }
    }
  }
}

If the above does not answer your question, please submit a ticket using Bixby IDE --> Help --> Contact Support with a copy of sample capsule to demo the issue.