Bug 1007487 - Part 1: RIL patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2. r=HsinYi.
authorShawn Ku <sku@mozilla.com>
Tue, 01 Jul 2014 11:51:20 +0800
changeset 191892 1056a35af1c4ad2608f998917c72417bb743c09d
parent 191891 92e92c0cd9876ffe009645bf9fe8b92cc64f1996
child 191893 ae0542323b126cc75b187e3edd02573aa9e94260
push id45685
push usercbook@mozilla.com
push dateWed, 02 Jul 2014 13:09:48 +0000
treeherdermozilla-inbound@60133a85f8ae [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersHsinYi
bugs1007487
milestone33.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1007487 - Part 1: RIL patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2. r=HsinYi.
dom/system/gonk/ril_worker.js
--- a/dom/system/gonk/ril_worker.js
+++ b/dom/system/gonk/ril_worker.js
@@ -14025,16 +14025,18 @@ ICCUtilsHelperObject.prototype = {
           let plmnMnc = iccSpdi[plmn].mnc;
           isOnMatchingPlmn = (plmnMcc == operatorMcc) && (plmnMnc == operatorMnc);
           if (isOnMatchingPlmn) {
             break;
           }
         }
       }
 
+      // See 3GPP TS 22.101 A.4 Service Provider Name indication, and TS 31.102
+      // clause 4.2.12 EF_SPN for detail.
       if (isOnMatchingPlmn) {
         // The first bit of display condition tells us if we should display
         // registered PLMN.
         if (DEBUG) {
           this.context.debug("PLMN is HPLMN or PLMN " + "is in PLMN list");
         }
 
         // TS 31.102 Sec. 4.2.66 and TS 51.011 Sec. 10.3.50
@@ -14044,20 +14046,17 @@ ICCUtilsHelperObject.prototype = {
         iccInfo.isDisplayNetworkNameRequired = (displayCondition & 0x01) !== 0;
       } else {
         // The second bit of display condition tells us if we should display
         // registered PLMN.
         if (DEBUG) {
           this.context.debug("PLMN isn't HPLMN and PLMN isn't in PLMN list");
         }
 
-        // We didn't found the requirement of displaying network name if
-        // current PLMN isn't HPLMN nor one of PLMN in SPDI. So we keep
-        // isDisplayNetworkNameRequired false.
-        iccInfo.isDisplayNetworkNameRequired = false;
+        iccInfo.isDisplayNetworkNameRequired = true;
         iccInfo.isDisplaySpnRequired = (displayCondition & 0x02) === 0;
       }
     }
 
     if (DEBUG) {
       this.context.debug("isDisplayNetworkNameRequired = " +
                          iccInfo.isDisplayNetworkNameRequired);
       this.context.debug("isDisplaySpnRequired = " + iccInfo.isDisplaySpnRequired);