FarEast4 の Pixel 6a 対応

Pixel 4aで使用していたFarEast4はAndrois 13にアップしても問題なく動作してました。でも、Pixel 6a (Android 13)ではログが巨大になって、ゴミが混ざっている感じ。ゴミを除けば正しいログは取れているようす。

うーん、何が差異になっているんだろう?

ログをテキストエディタで見てみると、更新分が追加されるはずが、雪だるま式に増えている。

0, 1, 2, 3, 4, … が期待だけど、0, 01, 012, 0123, 01234, …となっている。

修正箇所の目星はついたけど、なぜそうなったかが謎ですね。

■2022/ 9/ 7 追記 原因が分かりました。onNmeaMessage()はNMEAのセンテンスを手当たりしだいに出してくるので、1サイクルを$GNRMCの出現をマーカーにして判別していました。マーカーが現れるごとにキャッシュをクリアして、要求時にログを出力してました。

Pixel 6aでは$GNRMCが出力されなくなったため、キャッシュがクリアされず雪だるま式に増えていったのでした。

代わりに$GPRMCをマーカーにして、期待通りの動作になりました。Pixel 4aでは問題なかったけど、機種というよりGPSチップ(?)の差異でしょうか?