Closed Bug 919942 Opened 11 years ago Closed 6 years ago

The voicemail notification only can receive once

Categories

(Firefox OS Graveyard :: Gaia::System, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: zmm, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 Chrome/25.0.1364.160 Safari/537.22

Steps to reproduce:

1.restart the phone
2.send a voicemail to the phone
3.the voicimail notification can receive successful
4.send second voicemail to the phone 
5.the second voicemail notification can not receive ->KO


Actual results:

the second voicemail notification can not receive


Expected results:

the second voicemail notification can receive successful
test version:
Firefox os  v1.1
Mozilla build ID:2013091604120

I investigate this issue, found that the message "statuschanged" can not be received in second time (https://github.com/mozilla-b2g/gaia/blob/v1-train/apps/system/js/voicemail.js#L18).

Maybe the reason is in gecko/dom/system/gonk/RILContentHelper.js

handleVoicemailNotification: function handleVoicemailNotification(message) {
    let changed = false;
    if (!this.voicemailStatus) {
      dump('zmm:this.voicemailStatus='+this.voicemailStatus);
      this.voicemailStatus = new VoicemailStatus();
    }
    
    if (this.voicemailStatus.hasMessages != message.active) {
      changed = true;
      this.voicemailStatus.hasMessages = message.active;
    }

    if (this.voicemailStatus.messageCount != message.msgCount) {
      changed = true;
      this.voicemailStatus.messageCount = message.msgCount;
    } else if (message.msgCount == -1) {
      // For MWI using DCS the message count is not available
      changed = true;
    }

    if (this.voicemailStatus.returnNumber != message.returnNumber) {
      changed = true;
      this.voicemailStatus.returnNumber = message.returnNumber;
    }

    if (this.voicemailStatus.returnMessage != message.returnMessage) {
      changed = true;
      this.voicemailStatus.returnMessage = message.returnMessage;
    }

    if (changed) {
      this._deliverCallback("_voicemailCallbacks",
                            "voicemailNotification",
                            [this.voicemailStatus]);
    }
  }

Because the "changed = false" in second time, so the voicemail message can not send out. Please check.Thanks a lot.
Hi Alive, I have filed a new bug for the voicemial, please have a look, thanks a lot.
Hi, if the "changed==false", the voicemial notification will never be send out. Please make sure whether this behavior is right.
Firefox OS is not being worked on
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.