Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f131beed authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Read the voice message count properly"

parents 09b4cd2c 4b9edae9
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -467,9 +467,8 @@ public class GsmCdmaPhone extends Phone {
                // get voice mail count from SIM
                // get voice mail count from SIM
                countVoiceMessages = r.getVoiceMessageCount();
                countVoiceMessages = r.getVoiceMessageCount();
            }
            }
            int countVoiceMessagesStored = getStoredVoiceMessageCount();
            if (countVoiceMessages == IccRecords.DEFAULT_VOICE_MESSAGE_COUNT) {
            if (countVoiceMessages == -1 && countVoiceMessagesStored != 0) {
                countVoiceMessages = getStoredVoiceMessageCount();
                countVoiceMessages = countVoiceMessagesStored;
            }
            }
            logd("updateVoiceMail countVoiceMessages = " + countVoiceMessages
            logd("updateVoiceMail countVoiceMessages = " + countVoiceMessages
                    + " subId " + getSubId());
                    + " subId " + getSubId());
+3 −0
Original line number Original line Diff line number Diff line
@@ -128,6 +128,9 @@ public abstract class IccRecords extends Handler implements IccConstants {
    public static final int CALL_FORWARDING_STATUS_ENABLED = 1;
    public static final int CALL_FORWARDING_STATUS_ENABLED = 1;
    public static final int CALL_FORWARDING_STATUS_UNKNOWN = -1;
    public static final int CALL_FORWARDING_STATUS_UNKNOWN = -1;


    public static final int DEFAULT_VOICE_MESSAGE_COUNT = -2;
    public static final int UNKNOWN_VOICE_MESSAGE_COUNT = -1;

    @Override
    @Override
    public String toString() {
    public String toString() {
        String iccIdToPrint = SubscriptionInfo.givePrintableIccid(mFullIccId);
        String iccIdToPrint = SubscriptionInfo.givePrintableIccid(mFullIccId);
+3 −3
Original line number Original line Diff line number Diff line
@@ -509,7 +509,7 @@ public class SIMRecords extends IccRecords {


    public int getVoiceMessageCount() {
    public int getVoiceMessageCount() {
        boolean voiceMailWaiting = false;
        boolean voiceMailWaiting = false;
        int countVoiceMessages = 0;
        int countVoiceMessages = DEFAULT_VOICE_MESSAGE_COUNT;
        if (mEfMWIS != null) {
        if (mEfMWIS != null) {
            // Use this data if the EF[MWIS] exists and
            // Use this data if the EF[MWIS] exists and
            // has been loaded
            // has been loaded
@@ -519,7 +519,7 @@ public class SIMRecords extends IccRecords {


            if (voiceMailWaiting && (countVoiceMessages == 0 || countVoiceMessages == 0xff)) {
            if (voiceMailWaiting && (countVoiceMessages == 0 || countVoiceMessages == 0xff)) {
                // Unknown count = -1
                // Unknown count = -1
                countVoiceMessages = -1;
                countVoiceMessages = UNKNOWN_VOICE_MESSAGE_COUNT;
            }
            }
            if (DBG) log(" VoiceMessageCount from SIM MWIS = " + countVoiceMessages);
            if (DBG) log(" VoiceMessageCount from SIM MWIS = " + countVoiceMessages);
        } else if (mEfCPHS_MWI != null) {
        } else if (mEfCPHS_MWI != null) {
@@ -529,7 +529,7 @@ public class SIMRecords extends IccRecords {
            // Refer CPHS4_2.WW6 B4.2.3
            // Refer CPHS4_2.WW6 B4.2.3
            if (indicator == 0xA) {
            if (indicator == 0xA) {
                // Unknown count = -1
                // Unknown count = -1
                countVoiceMessages = -1;
                countVoiceMessages = UNKNOWN_VOICE_MESSAGE_COUNT;
            } else if (indicator == 0x5) {
            } else if (indicator == 0x5) {
                countVoiceMessages = 0;
                countVoiceMessages = 0;
            }
            }