Friday, July 11, 2014

B2G: move bluedroid to another process

最近在 B2G 上 也要用一個 BT daemon 了
詳情請見

https://bugzilla.mozilla.org/show_bug.cgi?id=1005934
https://bugzilla.mozilla.org/show_bug.cgi?id=1002917

話說剛好這陣子有人提把 NFC daemon 的 code 搬進 gecko 裡

這就好像公司一樣

外面的人拼命命的想進來
裡面的人拼了命的想逃出去 :P

Monday, July 7, 2014

Do we have ANR for FirefoxOS?

在 Android 上,某一個 App 沒有 response 一段時間後,ANR 的 dialog 就會跳出來來告訴 user 要不要終止這個 app。

http://developer.android.com/training/articles/perf-anr.html



但在 FirefoxOS 上,如果在某個 app 裡寫個 while(1); 的 loop,然後去執行這個 app,
然後就會發現~~  很抱歉 你的手機就再也動也不動,要強制拔電池重開了。


目前不知道 FireoxOS 要怎麼 support 這個,先開了個 bug

https://bugzilla.mozilla.org/show_bug.cgi?id=1034530

不過在 Firefox browser 上
如果在某個 tab 裡,跑 while(1); 的話

Unresponsive script 的 Dialog 就會跳出來了

https://support.mozilla.org/en-US/kb/warning-unresponsive-script

Monday, June 30, 2014

gcc visibility

在處理某個 bug (https://bugzilla.mozilla.org/show_bug.cgi?id=933588#c26)  時,遇到了 linking error :

hidden symbol '_ZNK7android6Parcel9readInt32Ev' is not defined locally


最後研究了一下
原來是本來的 build system 是用 -fvisibility
這只會影嚮到 definition
但後來用了 prama gcc visibility ,這是更 strong 的 directive, 也會影嚮到 reference 到的 symbol

Monday, June 9, 2014

The History of Scotland for Children

上星期到蘇格蘭玩時,看了一本
The History of Scottland for Children

http://www.amazon.co.uk/History-Scotland-Children-Fiona-MacDonald/dp/1842040731/ref=pd_sim_b_1?ie=UTF8&refRID=17F1AP7D6KX61M602H4R




是本簡明易懂的故事書(寫給小朋友的嘛~~)
不過特別的是
書中寫 某某某為什麼要作這件事時,都很直接明瞭的講
"因為他想要錢,想要當老大,...." 等等的

不會像台灣的書略過,或會寫著
"為了解救人民,為了多少同胞的未來,...."等

國外從小就在教育小朋友 "Why"
反過來如果是台灣的教科書,重點可能就在於 "Who, When, What"

另外書裡面也有介紹到羊毛,也很直接的就提到
羊毛的利潤遠高於農產品所帶來的利潤,所以地主為了飼養羊群,而把許多已住在當地的人們趕離,即使他們已經住在這好幾個世代,甚至好幾百年。

Wednesday, May 28, 2014

format NDEF for Felica Lite S tag

因為工作的需要
同事買了 NFC Forum Type 3 的 tag 來測試

http://www.identivenfc.com/en/nfc-tags/identive-blank-nfc-tags/blank-nfc-tags-type-3-felica-lite-42mm-dia.htm

這個 tag 其實就是 Felica Lite S RC-S966

http://www.sony.net/Products/felica/business/products/RC-S966.html

但現在遇到的問題是 不能寫 NDEF 進去

看了 Felica Lite S 的 spec,

http://www.sony.net/Products/felica/business/tech-support/#Lite01S

3.1.12 MC
裡面提到

Byte3: System Option (SYS_OP)
Perform the setting to store NDEF data. When the value of this Byte is 01h, FeliCa Lite-S is compatible
with NDEF
, and returns a response to the Polling command in which System Code of 88B4h or 12FCh is
specified. If compatibility with NDEF is unnecessary, set this Byte to 00h. With this setting, FeliCa Lite-S
returns a response only to the Polling command in which System Code of 88B4h is specified.
01h: Compatible with NDEF
00h: Incompatible with NDEF
02h-FFh: Reserve

拿了 TagInfo 的 app 來看這個 tag, 果真是 00h
(Block 88h, MC)


正在想說是不是要有什麼 Felica Writer 才能寫 NDEF 進去時
有發現到
  • NdefFormatable 只有在 Type 1 and Type 2 (Mifare-UL) 的 tag 才會有
http://androidxref.com/4.4.2_r2/xref/packages/apps/Nfc/nci/jni/NativeNfcTag.cpp#1347

  • 在 libnfc-nci 裡有對 Felica format 的 function, "RW_T3tFormatNDef", 而這會被 NFA_RwFormatTag() call 到,而且這個 API, 只對 Felica-Lite 的 tag 有效!
所以就想試著用這個 function 來 format 這個 Felica Lite S 的 tag
我的手機是 Nexus 5
再 call 了 NFA_RwFormatTag() 後 ,果真 format 成 NDEF format 了!!!