Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Combo button bugs

<svg id="watchface-view" >
  <use id="compass-button" href="#combo-button-upper-right" fill="fb-peach">
    <set href="combo-button-icon" attributeName="href" to="watchface/btn_combo_timer_p.png"/>
    <set href="combo-button-icon-press" attributeName="href" to="watchface/btn_combo_timer_p.png"/>
    <set href="combo-button-stroke" attributeName="display" to="inline"/>
  </use>

  <use id="timer-button" href="#combo-button-lower-right" fill="fb-red">
    <set href="combo-button-icon" attributeName="href" to="watchface/btn_combo_timer_p.png"/>
    <set href="combo-button-icon-press" attributeName="href" to="watchface/btn_combo_timer_p.png"/>
    <set href="combo-button-stroke" attributeName="display" to="inline"/>
  </use>

  <text x="0" y="30%" font-size="100" id="current-time">00:00</text>

  <section x="0" y="70%" height="30%" width="70%">
    <text x="0" text-anchor="start" y="100%-5" font-size="65" fill="grey" id="from-start">no race</text>
  </section>
</svg>

Combo button doesn't react on tap unless you remove text tags. It behaves as if combo buttons would be overlapped with text. And somehow they actually are, but they probably shouldn't.

That's a pretty weird bug. It seems that there is no workaround, and I'm afraid an app with such a behavior would never pass QA before publishing. @JonFitbit, do you think it will?

P.S.: Having the public bug tracker would be very helpful.

Best Answer
0 Votes
2 REPLIES 2

Ok, found the workaround with "layer" attribute.

 

<svg id="watchface-view">
  <use id="compass-button" href="#combo-button-upper-right" fill="fb-peach" layer="1">
    <set href="combo-button-icon" attributeName="href" to="watchface/btn_combo_timer_p.png"/>
    <set href="combo-button-icon-press" attributeName="href" to="watchface/btn_combo_timer_p.png"/>
    <set href="combo-button-stroke" attributeName="display" to="inline"/>
  </use>

  <svg x="0" y="0" height="30%" width="50%">
    <text x="0" y="100%" font-size="100" pointer-events="visible" id="current-time" layer="0">0</text>
  </svg>
</svg>
Best Answer
0 Votes

That works fine, but now "onactivate" combo-button handler doesn't work. And this time there's really no workaround for catching events from the physical button. onkeypress is not triggered when the combo button is present on the screen.

That's the showstopper. In order to make it work, I need to implement the combo button myself. And I can do that, of course. But I don't want to.

Best Answer