Closed
Bug 1007487
Opened 12 years ago
Closed 12 years ago
B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
Categories
(Firefox OS Graveyard :: RIL, defect)
Tracking
(blocking-b2g:2.0M+, b2g-v2.0 wontfix, b2g-v2.0M fixed, b2g-v2.1 fixed, b2g-v2.2 fixed)
People
(Reporter: sku, Assigned: sku)
References
Details
Attachments
(3 files, 7 obsolete files)
|
2.16 KB,
patch
|
sku
:
review+
|
Details | Diff | Splinter Review |
|
6.51 KB,
patch
|
sku
:
review+
|
Details | Diff | Splinter Review |
|
8.32 KB,
patch
|
Details | Diff | Splinter Review |
isDisplayNetworkNameRequired is set to false if not matching both HPLMN and EF_SPDI(see [1]). This is not correct behaviour.
By checking A.4 Service Provider Name indication in 3GPP TS 22.101, isDisplayNetworkNameRequired should be true for not matching both HPLMN and EF_SPDI case.
// Snippet of spec.
A.4
Service Provider Name indication
The service provider name is stored in the USIM in text and/or optionally graphic format. It shall be possible to associate at least 10 PLMN Identifications (MCC+MNC combination) with the same SP Name.
When registered on the HPLMN, or one of the PLMN Identifications used for Service Provider Name display:
(i) The SP Name shall be displayed;
(ii) Display of the PLMN Name is an operator"s option by setting the appropriate fields in the USIM (i.e. the Service Provider name shall be displayed either in parallel to the PLMN Name or instead of the PLMN Name).
When registered on neither the HPLMN, nor one of the PLMN Identifications used for Service Provider Name display:
(i) The PLMN name shall be displayed;
(ii) Display of the SP Name is an operator"s option by setting the appropriate fields in the USIM.
[1] - http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js?from=ril_worker.js&case=true#13833
Comment 2•12 years ago
|
||
(In reply to shawn ku [:sku] from comment #1)
> ni? Hsinyi for spec./code checking first.
Good catch! I think you are right~
Flags: needinfo?(htsai)
Updated•12 years ago
|
blocking-b2g: --- → backlog
| Assignee | ||
Updated•12 years ago
|
Assignee: nobody → sku
| Assignee | ||
Comment 3•12 years ago
|
||
| Assignee | ||
Comment 4•12 years ago
|
||
| Assignee | ||
Comment 5•12 years ago
|
||
Attachment #8444923 -
Attachment is obsolete: true
| Assignee | ||
Comment 6•12 years ago
|
||
Attachment #8444926 -
Attachment is obsolete: true
| Assignee | ||
Updated•12 years ago
|
Attachment #8444922 -
Flags: review?(htsai)
| Assignee | ||
Updated•12 years ago
|
Attachment #8444973 -
Flags: review?(htsai)
Comment 7•12 years ago
|
||
Comment on attachment 8444922 [details] [diff] [review]
Bug 1007487 Part 1: RIL patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
Review of attachment 8444922 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/system/gonk/ril_worker.js
@@ +13959,5 @@
> }
> }
> }
>
> + if (RIL.voiceRegistrationState.connected) {
Can you explain this new if-clause?
@@ +13988,2 @@
> } else {
> + // Reset flags to false in case we hit no network, but show SPN case.
It seems fine with the original code because if there's no network, RIL.operator is null and isOnMatchingPlmn is false. The original code has already covered this case. I don't see the reason to force the values to be false. Can you explain the reason and point out the reference spec for this change?
Attachment #8444922 -
Flags: review?(htsai)
Comment 8•12 years ago
|
||
Comment on attachment 8444973 [details] [diff] [review]
Bug 1007487 Part 2: test patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
Review of attachment 8444973 [details] [diff] [review]:
-----------------------------------------------------------------
Bug 973024 split test_ril_worker_icc.js into several pieces. Please rebase properly and ask for review again. Sorry about that!
Attachment #8444973 -
Flags: review?(htsai)
| Assignee | ||
Comment 9•12 years ago
|
||
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #7)
> Comment on attachment 8444922 [details] [diff] [review]
> Bug 1007487 Part 1: RIL patch - B2G RIL: incorrect
> isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
>
> Review of attachment 8444922 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: dom/system/gonk/ril_worker.js
> @@ +13959,5 @@
> > }
> > }
> > }
> >
> > + if (RIL.voiceRegistrationState.connected) {
>
> Can you explain this new if-clause?
>
> @@ +13988,2 @@
> > } else {
> > + // Reset flags to false in case we hit no network, but show SPN case.
>
> It seems fine with the original code because if there's no network,
> RIL.operator is null and isOnMatchingPlmn is false. The original code has
> already covered this case. I don't see the reason to force the values to be
> false. Can you explain the reason and point out the reference spec for this
> change?
If there is no network, yes, RIL.operator is null and isOnMatchingPlmn is false. however, isDisplaySpnRequired might be true if the 2nd bit of display condition is 0.
And,
TS 22.101 A.4 mainly talk about "registered" condition (Bug description).
In other works, we might get one case below
RIL.voiceRegistrationState.connected = false;
isDisplayNetworkNameRequired = false;
isDisplaySpnRequired = true;
when device do not camp on network which might confuse gaia.
That's why I choice to reset both flags to false.
Please let me know your opinion/concern if any.
Thanks!!
Shawn
| Assignee | ||
Comment 10•12 years ago
|
||
Hi HsinYi:
Could you please check my reply on comment 9 to see if any opinion or concern you may have?
Thanks!!
Shawn
Flags: needinfo?(htsai)
Comment 11•12 years ago
|
||
(In reply to shawn ku [:sku] from comment #9)
> (In reply to Hsin-Yi Tsai [:hsinyi] from comment #7)
> > Comment on attachment 8444922 [details] [diff] [review]
> > Bug 1007487 Part 1: RIL patch - B2G RIL: incorrect
> > isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
> >
> > Review of attachment 8444922 [details] [diff] [review]:
> > -----------------------------------------------------------------
> >
> > ::: dom/system/gonk/ril_worker.js
> > @@ +13959,5 @@
> > > }
> > > }
> > > }
> > >
> > > + if (RIL.voiceRegistrationState.connected) {
> >
> > Can you explain this new if-clause?
> >
> > @@ +13988,2 @@
> > > } else {
> > > + // Reset flags to false in case we hit no network, but show SPN case.
> >
> > It seems fine with the original code because if there's no network,
> > RIL.operator is null and isOnMatchingPlmn is false. The original code has
> > already covered this case. I don't see the reason to force the values to be
> > false. Can you explain the reason and point out the reference spec for this
> > change?
>
> If there is no network, yes, RIL.operator is null and isOnMatchingPlmn is
> false. however, isDisplaySpnRequired might be true if the 2nd bit of display
> condition is 0.
> And,
> TS 22.101 A.4 mainly talk about "registered" condition (Bug description).
>
Hi Shawan,
Agree that to precisely meet the spec, we shall consider "registered" condition.
For this "registered" condition, I think it is better to do:
In [1] we have one more check |if (regState == NETWORK_CREG_STATE_REGISTERED_HOME)|?
Sounds good?
[1] dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js?from=ril_worker.js#13951
> In other works, we might get one case below
> RIL.voiceRegistrationState.connected = false;
> isDisplayNetworkNameRequired = false;
> isDisplaySpnRequired = true;
>
> when device do not camp on network which might confuse gaia.
So far, I think it's fine, and no conflict to the spec. I'd like to keep the original logic.
>
> That's why I choice to reset both flags to false.
>
> Please let me know your opinion/concern if any.
> Thanks!!
> Shawn
Flags: needinfo?(htsai)
| Assignee | ||
Comment 12•12 years ago
|
||
Attachment #8444922 -
Attachment is obsolete: true
| Assignee | ||
Comment 13•12 years ago
|
||
Rebase the patch.
Attachment #8444973 -
Attachment is obsolete: true
| Assignee | ||
Updated•12 years ago
|
Attachment #8446430 -
Flags: review?(htsai)
| Assignee | ||
Updated•12 years ago
|
Attachment #8446431 -
Flags: review?(htsai)
Comment 14•12 years ago
|
||
Comment on attachment 8446430 [details] [diff] [review]
Bug 1007487 Part 1: RIL patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2.
Review of attachment 8446430 [details] [diff] [review]:
-----------------------------------------------------------------
Thank you!
Attachment #8446430 -
Flags: review?(htsai) → review+
Comment 15•12 years ago
|
||
Comment on attachment 8446431 [details] [diff] [review]
Bug 1007487 Part 2: test patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
Review of attachment 8446431 [details] [diff] [review]:
-----------------------------------------------------------------
The fundamental structure looks good, but I'd like to add more checks :P
::: dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js
@@ +529,5 @@
> + do_check_eq(ril.iccInfo.isDisplayNetworkNameRequired, expectedPlmnNameDisplay);
> + do_check_eq(ril.iccInfo.isDisplaySpnRequired, expectedSpnDisplay);
> + }
> +
> + ril.voiceRegistrationState = {
I think we don't need this.
@@ +537,5 @@
> + // Create empty operator object.
> + ril.operator = {};
> + // Setup SIM MCC/MNC to 310-260.
> + ril.iccInfo.mcc = 310;
> + ril.iccInfo.mnc = 260;
Can you also help add checks for 1) undefined displayCondition case, 2) the empty operator case and 3) not HPLMN but in PLMN list? Thank you!
Attachment #8446431 -
Flags: review?(htsai)
| Assignee | ||
Comment 16•12 years ago
|
||
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #15)
> Comment on attachment 8446431 [details] [diff] [review]
> Bug 1007487 Part 2: test patch - B2G RIL: incorrect
> isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI.
>
> Review of attachment 8446431 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> The fundamental structure looks good, but I'd like to add more checks :P
>
> ::: dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js
> @@ +529,5 @@
> > + do_check_eq(ril.iccInfo.isDisplayNetworkNameRequired, expectedPlmnNameDisplay);
> > + do_check_eq(ril.iccInfo.isDisplaySpnRequired, expectedSpnDisplay);
> > + }
> > +
> > + ril.voiceRegistrationState = {
>
> I think we don't need this.
Thanks for catching this.
>
> @@ +537,5 @@
> > + // Create empty operator object.
> > + ril.operator = {};
> > + // Setup SIM MCC/MNC to 310-260.
> > + ril.iccInfo.mcc = 310;
> > + ril.iccInfo.mnc = 260;
>
> Can you also help add checks for 1) undefined displayCondition case, 2) the
> empty operator case and 3) not HPLMN but in PLMN list? Thank you!
Sure, will try to address it in next patch. Thanks!!
| Assignee | ||
Comment 17•12 years ago
|
||
Attachment #8446431 -
Attachment is obsolete: true
| Assignee | ||
Updated•12 years ago
|
Attachment #8447822 -
Flags: review?(htsai)
Comment 18•12 years ago
|
||
Comment on attachment 8447822 [details] [diff] [review]
Bug 1007487 Part 2: test patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2.
Review of attachment 8447822 [details] [diff] [review]:
-----------------------------------------------------------------
r=me with comment addressed. Thanks :)
::: dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js
@@ +500,2 @@
>
> + function do_test_spdi(expectedPlmnNameDisplay, expectedSpnDisplay) {
If I understand this correctly, then |expectedPlmnNameDisplay| is always true and |expectedSpnDisplay| is always false. So having these two arguments for do_test_spdi() seem useless. Please consider removing them. Also, move the comments line 567 and line 568 to here. Thank you.
@@ +561,5 @@
> + // Create empty operator object.
> + ril.operator = {};
> + // Setup SIM MCC-MNC to 310-260 as home network.
> + ril.iccInfo.mcc = 310;
> + ril.iccInfo.mnc = 260;
Please also have these:
do_test_spn(0x00, true, true);
do_test_spn(0x01, true, true);
do_test_spn(0x02, true, false);
do_test_spn(0x03, true, false);
Attachment #8447822 -
Flags: review?(htsai) → review+
| Assignee | ||
Comment 19•12 years ago
|
||
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #18)
> Comment on attachment 8447822 [details] [diff] [review]
> Bug 1007487 Part 2: test patch - B2G RIL: incorrect
> isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2.
>
> Review of attachment 8447822 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> r=me with comment addressed. Thanks :)
>
> ::: dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js
> @@ +500,2 @@
> >
> > + function do_test_spdi(expectedPlmnNameDisplay, expectedSpnDisplay) {
>
> If I understand this correctly, then |expectedPlmnNameDisplay| is always
> true and |expectedSpnDisplay| is always false. So having these two arguments
> for do_test_spdi() seem useless. Please consider removing them. Also, move
> the comments line 567 and line 568 to here. Thank you.
Agree with you, thanks!!
>
> @@ +561,5 @@
> > + // Create empty operator object.
> > + ril.operator = {};
> > + // Setup SIM MCC-MNC to 310-260 as home network.
> > + ril.iccInfo.mcc = 310;
> > + ril.iccInfo.mnc = 260;
>
> Please also have these:
>
> do_test_spn(0x00, true, true);
> do_test_spn(0x01, true, true);
> do_test_spn(0x02, true, false);
> do_test_spn(0x03, true, false);
I believe above 4 tests should be the same condition as the line 595 ~ 601, that's non-home network case although one is with registered case, the other is not.
Should I add them in final version patch?
Thanks!!
Shawn
Comment 20•12 years ago
|
||
(In reply to shawn ku [:sku] from comment #19)
> (In reply to Hsin-Yi Tsai [:hsinyi] from comment #18)
> > Comment on attachment 8447822 [details] [diff] [review]
> > Bug 1007487 Part 2: test patch - B2G RIL: incorrect
> > isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2.
> >
> > Review of attachment 8447822 [details] [diff] [review]:
> > -----------------------------------------------------------------
> >
> > r=me with comment addressed. Thanks :)
> >
> > ::: dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js
> > @@ +500,2 @@
> > >
> > > + function do_test_spdi(expectedPlmnNameDisplay, expectedSpnDisplay) {
> >
> > If I understand this correctly, then |expectedPlmnNameDisplay| is always
> > true and |expectedSpnDisplay| is always false. So having these two arguments
> > for do_test_spdi() seem useless. Please consider removing them. Also, move
> > the comments line 567 and line 568 to here. Thank you.
>
> Agree with you, thanks!!
>
> >
> > @@ +561,5 @@
> > > + // Create empty operator object.
> > > + ril.operator = {};
> > > + // Setup SIM MCC-MNC to 310-260 as home network.
> > > + ril.iccInfo.mcc = 310;
> > > + ril.iccInfo.mnc = 260;
> >
> > Please also have these:
> >
> > do_test_spn(0x00, true, true);
> > do_test_spn(0x01, true, true);
> > do_test_spn(0x02, true, false);
> > do_test_spn(0x03, true, false);
>
> I believe above 4 tests should be the same condition as the line 595 ~ 601,
> that's non-home network case although one is with registered case, the other
> is not.
As one is registered case, and the other is not, they are two different conditions, no?
Though in the end, null operator case hits the same result as non-home network, the conditions are different. It's better to cover more *conditions*.
>
> Should I add them in final version patch?
>
Yes, please! Thank you~ :)
> Thanks!!
> Shawn
Comment 21•12 years ago
|
||
Comment on attachment 8447822 [details] [diff] [review]
Bug 1007487 Part 2: test patch - B2G RIL: incorrect isDisplayNetworkNameRequired for not matching both HPLMN and EF_SPDI. v2.
Review of attachment 8447822 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js
@@ +561,5 @@
> + // Create empty operator object.
> + ril.operator = {};
> + // Setup SIM MCC-MNC to 310-260 as home network.
> + ril.iccInfo.mcc = 310;
> + ril.iccInfo.mnc = 260;
I ignored line 571 in the previous review.
The test coverage looks good to me.
| Assignee | ||
Comment 22•12 years ago
|
||
Attachment #8446430 -
Attachment is obsolete: true
Attachment #8448537 -
Flags: review+
| Assignee | ||
Comment 23•12 years ago
|
||
Attachment #8447822 -
Attachment is obsolete: true
Attachment #8448539 -
Flags: review+
| Assignee | ||
Comment 24•12 years ago
|
||
try is green - https://tbpl.mozilla.org/?tree=Try&rev=033ab51b7227
Keywords: checkin-needed
Comment 25•12 years ago
|
||
https://hg.mozilla.org/integration/b2g-inbound/rev/1056a35af1c4
https://hg.mozilla.org/integration/b2g-inbound/rev/ae0542323b12
Keywords: checkin-needed
Updated•12 years ago
|
Target Milestone: --- → 2.0 S5 (4july)
Comment 26•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/1056a35af1c4
https://hg.mozilla.org/mozilla-central/rev/ae0542323b12
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 27•12 years ago
|
||
| Assignee | ||
Updated•12 years ago
|
blocking-b2g: backlog → 2.0M?
Updated•12 years ago
|
blocking-b2g: 2.0M? → 2.0M+
Updated•12 years ago
|
status-b2g-v2.0:
--- → affected
status-b2g-v2.0M:
--- → affected
status-b2g-v2.1:
--- → fixed
status-b2g-v2.2:
--- → fixed
| Assignee | ||
Comment 28•12 years ago
|
||
try green on 2.0m - https://tbpl.mozilla.org/?tree=Try&rev=87c8cc11c119
Hi Seinlin:
Please help push to 2.0m branch.
For 2.1, I will check if solution is there or not.
Flags: needinfo?(kli)
Keywords: checkin-needed
| Assignee | ||
Comment 30•12 years ago
|
||
Solution is there on 2.1. there is no effort for 2.1 uplifting.
Comment 31•12 years ago
|
||
Updated•12 years ago
|
Keywords: checkin-needed
Comment 32•11 years ago
|
||
Hi Shawn,
partner uploaded new log.
https://bugzilla.mozilla.org/show_bug.cgi?id=1087880#c4
Could you check again? Thanks!
Flags: needinfo?(sku)
| Assignee | ||
Comment 33•11 years ago
|
||
Already replied in https://bugzilla.mozilla.org/show_bug.cgi?id=1087880#c6.
Gecko part works as expectation, one gaia bug needs to be fixed now.
Flags: needinfo?(sku)
You need to log in
before you can comment on or make changes to this bug.
Description
•