Closed Bug 804671 Opened 12 years ago Closed 12 years ago

B2G STK: support PROVIDE LOCAL INFORMATION

Categories

(Core :: DOM: Device Interfaces, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20
blocking-b2g shira+
Tracking Status
firefox19 --- wontfix
firefox20 --- fixed
b2g18 --- fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- fixed

People

(Reporter: philikon, Assigned: edgar)

References

Details

Attachments

(8 files, 16 obsolete files)

4.92 KB, patch
allstars.chh
: review+
Details | Diff | Splinter Review
2.64 KB, patch
allstars.chh
: review+
Details | Diff | Splinter Review
18.89 KB, patch
Details | Diff | Splinter Review
4.81 KB, patch
Details | Diff | Splinter Review
4.87 KB, patch
Details | Diff | Splinter Review
14.25 KB, patch
Details | Diff | Splinter Review
4.84 KB, patch
Details | Diff | Splinter Review
3.04 KB, patch
Details | Diff | Splinter Review
No description provided.
Blocks: 804679
PROVIDE LOCAL INFORMATION is session 6.4.15 in TS 101.267 / TS 11.14
Assignee: nobody → echen
implement below item first 1.) location info 2.) date-time and time-zone
Implement below item first: 1). IMEI 2). Location Info 3). Date-Time and Time-Zone
1). Combine all response item for PROVIDE_LOCAL_INFO into MozStkLocalInfo.
Attachment #684637 - Attachment is obsolete: true
1). Combine all response item for PROVIDE_LOCAL_INFO into MozStkLocalInfo. 2). add function writeTimestamp() in GsmPDUHelper. 3). add function writeLanguageTlv() in StkProactiveCmdHelper. 4). remove unnecessary code and comment.
Attachment #684639 - Attachment is obsolete: true
correct typo in comment
Attachment #685509 - Attachment is obsolete: true
Comment on attachment 685506 [details] [diff] [review] Part2: Support PROVIDE_LOCAL_INFO in RIL, v2 Review of attachment 685506 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/system/gonk/ril_worker.js @@ +2789,5 @@ > + > + GsmPDUHelper.writeHexOctet(COMPREHENSIONTLV_TAG_IMEI); > + GsmPDUHelper.writeHexOctet(8); > + for (let i = 0; i < imei.length/2; i++) { > + GsmPDUHelper.writeHexOctet(parseInt(imei.substr(i*2, 2), 16)); space between operators. @@ +5360,5 @@ > > /** > + * Convert a BCD number to an octet (number) > + * > + * Only take two digit with absolute value. *digits* @@ +6313,5 @@ > + let min = date.getMinutes(); > + let sec = date.getSeconds(); > + // The Time Zone indicates the different between the local time and GMT. > + // Expressed in quarters of an hours. > + let zone = date.getTimezoneOffset()/15; nit, space between operators. @@ +6317,5 @@ > + let zone = date.getTimezoneOffset()/15; > + > + let octet = this.BCDToOctet(zone); > + > + // If the time zone is -0800 GMT, 480 will be returned by date.getTimezoneOffset(). Could you add more comments to make the code easier to read? For example, what's the value returned from date.getTimezoneOffset() ? what's the definition of the timezone in spec, why you OR 0x08 when zone > 0? @@ +6328,5 @@ > + this.writeSwappedNibbleBCDString(mon); > + this.writeSwappedNibbleBCDString(day); > + this.writeSwappedNibbleBCDString(hour); > + this.writeSwappedNibbleBCDString(min); > + this.writeSwappedNibbleBCDString(sec); Do you think it's better to write those values directly without introducing another variables? for example, this.writeSwappedNibbleBCDString(date.getFullYear() - PDU_TIMESTAMP_YEAR_OFFSET); @@ +7151,5 @@ > + switch (cmdDetails.commandQualifier) { > + case STK_LOCAL_INFO_IMEI: > + response = {command: cmdDetails}; > + if(RIL.IMEI == null) { > + response.resultCode = STK_RESULT_REQUIRED_VALUES_MISSING; should not be STK_RESULT_REQUIRED_VALUES_MISSING here. @@ +7697,5 @@ > + GsmPDUHelper.writeHexOctet(2); > + > + // ISO 639-1, Alpha-2 code > + // TS 123.038, clause 6.2.1, GSM 7 bit Default Alphabet > + let code1 = PDU_NL_LOCKING_SHIFT_TABLES[0].indexOf(language[0]); PDU_NL_LOCKING_SHIFT_TABLES[PDU_NL_IDENTIFIER_DEFAULT] @@ +7701,5 @@ > + let code1 = PDU_NL_LOCKING_SHIFT_TABLES[0].indexOf(language[0]); > + let code2 = PDU_NL_LOCKING_SHIFT_TABLES[0].indexOf(language[1]); > + > + GsmPDUHelper.writeHexOctet(code1); > + GsmPDUHelper.writeHexOctet(code2); Again, do you think it's easier writing these octets directly, without adding 'code1' and 'code2' ?
Comment on attachment 685512 [details] [diff] [review] Part 3: xpcshell tests for PROVIDE_LOCAL_INFORMATION, v1 Review of attachment 685512 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/system/gonk/tests/test_ril_worker_icc.js @@ +129,5 @@ > + let helper = worker.GsmPDUHelper; > + > + // current date > + let date_input = new Date(); > + let date_output = new Date(); use camelCase. @@ +143,5 @@ > + do_check_eq(date_input.getTimezoneOffset(), date_output.getTimezoneOffset()); > + > + // 2034-01-23 12:34:56 -0800 GMT > + let time = Date.UTC(2034, 1, 23, 12, 34, 56); > + time = time - 8*60*60*1000; nit, space. @@ +578,5 @@ > + > + berTlv = berHelper.decode(local_info_2.length); > + ctlvs = berTlv.value; > + tlv = stkHelper.searchForTag(COMPREHENSIONTLV_TAG_COMMAND_DETAILS, ctlvs); > + do_check_eq(tlv.value.commandNumber, 0x02); Command Number is a feature reserved for future use. Currently all STK implementation use 1 for commandNumber. We should do the same.
1). add STK_LOCAL_INFO_IMEI. 1). add imei in MozStkLocalInfo.
Attachment #685505 - Attachment is obsolete: true
(In reply to Edgar Chen [:edgar] from comment #11) > Created attachment 685940 [details] [diff] [review] > Part 2: Support PROVIDE_LOCAL_INFO in RIL, v3 Address review comment #8. Thanks for the review, Yoshi.
Address review comment #9. Thanks for the review, Yoshi.
Attachment #685506 - Attachment is obsolete: true
Attachment #685512 - Attachment is obsolete: true
rebase
Attachment #685940 - Attachment is obsolete: true
Attachment #686400 - Flags: review?(allstars.chh)
rebase
Attachment #685948 - Attachment is obsolete: true
Attachment #686403 - Flags: review?(allstars.chh)
Attachment #685939 - Flags: superreview?(jonas)
Attachment #685939 - Flags: review?(allstars.chh)
Comment on attachment 685939 [details] [diff] [review] Part 1: IDL For PROVIDE_LOCAL_INFO, v3 Review of attachment 685939 [details] [diff] [review]: ----------------------------------------------------------------- comments should be updated.
Attachment #685939 - Flags: superreview?(jonas)
Attachment #685939 - Flags: review?(allstars.chh)
1). update comments
Attachment #685939 - Attachment is obsolete: true
1). Add define for 8th byte and 9th byte of Terminal Profile. Some bit is used for PROVIDE_LOCAL_INFO. 2). TLV size need to be multiplied by 2. 3). Adjust function name.
Attachment #686400 - Attachment is obsolete: true
Blocks: 816926
Comment on attachment 686486 [details] [diff] [review] Part 1: IDL For PROVIDE_LOCAL_INFO, v4 Review of attachment 686486 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/icc/interfaces/nsIDOMIccManager.idl @@ +202,5 @@ > + */ > + const unsigned short STK_LOCAL_INFO_LOCATION_INFO = 0x00; > + const unsigned short STK_LOCAL_INFO_IMEI = 0x01; > + const unsigned short STK_LOCAL_INFO_DATE_TIME_ZONE = 0x03; > + const unsigned short STK_LOCAL_INFO_LANGUAGE = 0x04; When will these values be used ?
(In reply to Yoshi Huang[:yoshi][:allstars.chh] from comment #19) > Comment on attachment 686486 [details] [diff] [review] > Part 1: IDL For PROVIDE_LOCAL_INFO, v4 > > Review of attachment 686486 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: dom/icc/interfaces/nsIDOMIccManager.idl > @@ +202,5 @@ > > + */ > > + const unsigned short STK_LOCAL_INFO_LOCATION_INFO = 0x00; > > + const unsigned short STK_LOCAL_INFO_IMEI = 0x01; > > + const unsigned short STK_LOCAL_INFO_DATE_TIME_ZONE = 0x03; > > + const unsigned short STK_LOCAL_INFO_LANGUAGE = 0x04; > > When will these values be used ? These values are used for indicating which information is required. Defined in "Qualifier" field of Command Detailed. (TS 102.223 session 8.6) Thanks! :)
Comment on attachment 686403 [details] [diff] [review] Part 3: xpcshell tests for PROVIDE_LOCAL_INFO, v2 Review of attachment 686403 [details] [diff] [review]: ----------------------------------------------------------------- This patch looks good to me, but I'd like to review this with implementation.
Attachment #686403 - Flags: review?(allstars.chh)
Comment on attachment 686486 [details] [diff] [review] Part 1: IDL For PROVIDE_LOCAL_INFO, v4 Review of attachment 686486 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/icc/interfaces/SimToolKit.idl @@ +458,5 @@ > boolean hasConfirmed; > + > + /** > + * The response for proactive command PROVIDE_LOCAL_INFORMATION > + * you can refer to 'STK_CMD_PROVIDE_LOCAL_INFO' directly
1). add MozStkProvideLocalInfo to make a more high-level design. 2). Address review comment #22 Thanks for the review, Yoshi! :)
Attachment #686486 - Attachment is obsolete: true
Changes according to comment #23
Attachment #686985 - Attachment is obsolete: true
marionette tests for PROVIDE_LOCAL_INFO
rebase
Attachment #688172 - Attachment is obsolete: true
re-write marionette tests based on patch part3 of bug 814618.
Attachment #689552 - Attachment is obsolete: true
Attachment #688167 - Flags: review?(allstars.chh)
Attachment #689606 - Flags: review?(allstars.chh)
Attachment #686403 - Flags: review?(allstars.chh)
Comment on attachment 688167 [details] [diff] [review] Part 1: IDL For PROVIDE_LOCAL_INFO, v5 Review of attachment 688167 [details] [diff] [review]: ----------------------------------------------------------------- Good! thanks You also need to request for sr? for IDL change
Attachment #688167 - Flags: review?(allstars.chh) → review+
Attachment #688167 - Flags: superreview?(jonas)
Comment on attachment 689606 [details] [diff] [review] Part 2: Support PROVIDE_LOCAL_INFO in RIL, v5.1 Review of attachment 689606 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/system/gonk/ril_worker.js @@ +8808,5 @@ > + GsmPDUHelper.writeTimestamp(date); > + }, > + > + writeLanguageTlv: function writeLanguageTlv(language) { > + GsmPDUHelper.writeHexOctet(COMPREHENSIONTLV_TAG_LANGUAGE); indent seems wrong here. should be only 2 ws.
Attachment #689606 - Flags: review?(allstars.chh) → review+
Attachment #686403 - Flags: review?(allstars.chh) → review+
Attachment #689607 - Flags: review?(allstars.chh)
Comment on attachment 689607 [details] [diff] [review] Part 4: marionette tests for PROVIDE_LOCAL_INDO, v2 Review of attachment 689607 [details] [diff] [review]: ----------------------------------------------------------------- Thanks for your hard work.
Attachment #689607 - Flags: review?(allstars.chh) → review+
Blocks: 804667
Attachment #688167 - Flags: superreview?(jonas) → superreview+
correct indent style. (comment #29)
Attachment #689606 - Attachment is obsolete: true
add reviewer and super-reviewer into title after review+ and superreview+
Attachment #688167 - Attachment is obsolete: true
Keywords: checkin-needed
Request to shira+ as this feature is required for v1.0.1
blocking-b2g: --- → shira?
blocking-b2g: shira? → shira+
This doesn't apply cleanly to b2g18 (I made it to part 2 before I gave up).
Hi Rayn, I will rebase these patches for b2g18. Thanks.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: