Garminウォッチフェイス用ウォッチフェイスを作る(その8)

前回で完成と書いてしまいましたが、どうも問題があったようです。
alasixosaka.hatenablog.com
前回のウォッチフェイスを実機にインストールしてしばらく動かしていたら、いつの間にやらパーシャルアップデートが止まっていました。
何かのタイミングで規定時間の30msを越えてしまったらしく、秒針が止まっていました。手に持つとアクティブになってフルアップデートに入るのでしばらく動くのですがローパワーモードに入ると秒針が止まるという状態になりました。
そこで、以前ConnectIQストアからダウンロードしたウォッチフェイスの動作を確認したところ、スマホとの接続に関してはフルアップデートの時のみ情報を見に行っているようでした。
つまり、System.getDeviceSetting()を実行するとタイミングによっては30msを越えてしまうのではないかということがわかりました。まだ、推定の段階で実証できていませんが。実機でもスマホ側のBluetoothを入れたり、切ったりしてスマホとの接続を入、切して、問題なく表示されて秒針も止まらないことを確認していたのですが、System.getDeviceSetting()では色々な情報をゲットするので情報の種類や量がその時によって違ってしまい、所要時間が異なるのではないかと推定しています。
ですので、一旦、スマホとの接続確認はフルアップデートの場合のみにして、onUpdate()の所でチェックして表示するように変更し、しばらく様子を見ることにしました。