何か違う

通話時画面暗転の件をどうにかこうにかしようと思ってたら
PowerManagerServiceの中の
近接センサのアクティブ判定に

boolean active = (distance >= 0.0 && distance < PROXIMITY_THRESHOLD &&
                        distance < mProximitySensor.getMaximumRange());

みたいなのがあった。
F-12Cの近接センサは1.0か0.0(distanceの値)しか返さないのに、getMaximumRange()すると1000.0が返ってくるので、CM9だと、この式は常にtrue状態。
つまり常にNEAR。
stockのROM見るとどうやら1.0を返すようにframeworkに手を入れてる様子。

これ直したら動くんじゃなかろうか?

しかし、結果はだめでした/(^o^)\
通話時に点きっぱなしになるだけでした。
もう少し弄ったら手をかざすと点いたり消えたりするようになりましたが、
二秒以上くらいかざしてるとその後目を覚ましてくれません。
メニューキーとか押せば点灯してくれますけど。
うーん。まだまだのようです。

と思ったのですが、どうやら元から入っている電話アプリは正常動作するようになった模様。
殆どをskypeで動作確認してたから気づきませんでした。
何故skypeはあかんのだ。

そんな感じで、電話でのblack screen問題は一応は解決しました。
skypeでの動作がおかしいのが気がかりですが、コード整理したら修正したものをupしようと思います。

何か違う」への2件のフィードバック

  1. お疲れ様です。
    カスタムROMでのSIMロック解除状態での3G通信(EMOBILE)が出来たこと、すっかり報告を忘れていましたのでここに書いておきます。
    素晴らしいROM移植、本当にありがとうございます。

    • ご報告ありがとうございます。
      当初、自分がどうしてもCM9(ICS)を使ってみたかっただけで根性で移植してみましたが、
      こんなに興味ある人が居るとは思いませんでした。

コメントを残す