TextGoダウンロード

2023年12月4日月曜日

呼び出し時画面カバー、メモの非表示、住所テキスト非表示登録等

以前のようにマルチスレッドで画面解析できる設定を追加

最近のバージョンアップで、画面解析速度が遅くなった可能性があります。

本来スレッドセーフでない処理をマルチスレッドで行っていたので、安全のためシングルスレッドに戻したことが原因として考えられます。

とは言え、マルチスレッドであっても実使用で問題が起こる危険性は低そうなので、好みの方を選べるように設定項目を追加しました。

デフォルトではオフになっているので、ご利用になりたい方はオンにしてください。


補足1

実際のところ、シングルスレッドとマルチスレッドで実行速度を計測してもほとんど差は見られません。

想像ですが、マルチスレッドになることによってUIスレッドが実行される機会が増え、結果的にUIレスポンスが向上しているように感じるのかもしれません。


「呼び出し時画面カバー」で意図しない受諾を防止

スマホで何か作業をしながら配達リクエスト待ちをしている時に、突然注文が入って、配達内容を確認できずに誤タップして受けてしまう事故が起こることがあります。

それを少しでも防ぐ目的で、コンパニオンに備わっている画面カバーを流用することにしました。

注文が入った瞬間に画面全体をカバーして、タップをブロックします。

「設定」→「その他」→「画面カバー」→「呼び出し時画面カバー」で設定します。

「呼び出し時に閉じる」…有効にします。その上で、タイトルメニューから画面カバーをオンにすると機能します。

「公式配達員アプリ以外のみ」…公式配達員アプリ以外のアプリを使用中の時のみ機能します。

「画面カバーを閉じている時間」…画面カバーを閉じている秒数を指定します。閉じている間でも画面カバーを上にスワイプしていつでも開けることができます。


補足1

同じ設定画面中の上の方に画面カバーの全般的な設定項目がありますので、併せて設定しておくとより便利になります。

例えば「公式配達員アプリを維持」をオンにしておくと、画面をカバーすると同時に公式配達員アプリに切り替えます。他のアプリを使用中では公式配達員アプリの地図でピック・ドロップ先を確認できませんが、公式配達員アプリに切り替われば可能になります。

「配達支援サービス開始時オン」をオンにしておくと配達支援サービスを開始した後、タイトルメニューから毎回、画面カバーをオンにする手間がかかりません。


補足2

これは、呼び出しが入った瞬間に画面カバーを閉じてタップをブロックする機能ですが、閉じるまでにタイムラグがあります。閉じるのが間に合わない可能性もあります。


補足3

デフォルトの設定では、画面カバーが閉じた状態でどこかをダブルタップ(同じ場所を素早く2回タップ)すると、その下の部分をタップします。

それで、画面カバー越しに受諾や拒否のタップをできますが、反面、たまたまダブルタップしてしまうと、誤タップが起こります。

ダブルタップを無効にしたい場合は「ダブルタップ範囲」を「0」にしてください。


補足4

最近、公式配達員アプリの呼び出し時の画面が変更になり、受諾タップ範囲がかなり狭くなったので、誤タップの危険性は大きく減少しました。

せっかく作ったのにあまり意味がなくなりましたが、公式配達員アプリ側で改良されるのが最善です。

誤タップの可能性が低くなったとはいえ、それでも、受諾または拒否防止に使うことはできますし、公式配達員アプリに自動で切り替えるという面でも活用することができます。


不要なメモを非表示

古くなったメモや、一度見たので分かっているメモを非表示にできるようにしました。

配達中に表示される各メモの右側に「車両通行止」の絵文字が表示されます。

絵文字をタップすると、メモが薄い色になり、さらに「車両通行止」の絵文字が「目」の絵文字に変わります。

これで、非表示メモとして登録されています。今後このメモは表示されません。

間違って非表示にしてしまった場合は、「目」の絵文字をタップすると非表示をキャンセルできます。


履歴ページでも業者の公開メモを非表示にできます。

履歴ページの業者地図で、公開メモが登録されている業者のマーカーをタップし、

表示された吹き出しをタップすると、

業者情報ウィンドウが表示されます。

その中に公開メモの項目があるので、各メモ右側の「車両通行止」の絵文字のボタンをタップすると非表示になります。


非表示にしたメモを再度表示されるようにしたい場合は、業者情報ウィンドウを表示しなおして「非表示メモ表示」ボタンをタップし、

「目」の絵文字をタップしてください。


補足1

非表示にした業者の公開メモは履歴ページで再度表示されるように戻せます。

しかし、配達先のメモは一度非表示にすると、再度表示されるように戻すことはできません。


補足2

メモは後から何度でも編集して変更できるわけですが、非表示になっているメモが改定されたとしても表示されません。


業者情報ウィンドウの項目を折りたたんで表示スペースを増やせる

業者情報ウィンドウには「業者情報」「公開メモ」「ピック時間(プロ用)」「配達記録(プロ用)」を表示します。

情報が多すぎるとウィンドウ内に表示できないので、各項目を折りたためるようにしました。

各項目名の右にある矢印をタップしてください。

項目が消えて、他の情報が大きく表示できるようになります。


呼び出し時にオーバーレイを最前面に移動するように

これまで、呼び出しがあった時にコンパニオンのオーバーレイが公式配達員アプリのオーバーレイの後ろ側に行ってしまっていました。

コンパニオンのオーバーレイを前面に移動するように変更しましたので、呼び出し中も操作可能になります。

これで「呼び出し時P/D地図」を表示したり、コンパニオンのオーバーレイのアイコンをタップして公式配達員アプリに切り替えることが可能になります。


住所アシスタントの特定の住所テキストを非表示登録

住所アシスタントの各行を右にスワイプして、非表示テキストとして登録できるようにしました。

業者からの注意事項等に特に重要な情報が記載されていない場合等、表示する必要がないテキストをスワイプアウトして非表示にできます。

これまでも各行をロングタップすることで非表示にできましたが、同じテキストが表示されるたびに毎回しなくてもよくしたものと考えてください。


例え非表示になっているテキストでも、住所アシスタントの下部にある「目」のアイコンボタンをタップして再表示できます。

その時、薄い灰色になっているテキストは、非表示テキストとして登録されています。

その行を左にスワイプすると、非表示テキストとしての登録を削除し、また表示されるようになります。


補足1

非表示テキストは端末にファイルとして保存します。

登録していくことで、ストレージを消費します。

「設定」→「ウィンドウ」→「住所アシスタント」→「非表示テキストDBファイル削除」で、すべて削除でき、ストレージの占有領域を開放できます。その結果、すべての非表示登録テキストはクリアされます。


補足2

端末にファイルとして保存しているため、他の端末と非表示テキストの情報を共有できません。

アンインストールしたり、ストレージを消去すると、登録内容は失われます。

ファイルをエクスポートして、USBやBluetoooth、Googleドライブ等を経由し、他のスマホにインポートして使うことはできます。


補足3

非表示するテキストは、そのテキストの内容で登録されています。

ある店舗で表示されたテキストを非表示として登録した場合は、同じ内容のテキストは他の店舗でも非表示になります。

また、例えば注意事項を非表示にしたとしても、その注意事項がわずかでも変更された場合、再度表示されるようになります。


補足4

収集モードでは公式配達員アプリから取得した無意味なテキストのいくつかが表示されないようになっていましたが、今回追加した機能で自由に非表示テキストを登録できるようになったことで、そうしたテキストテーブルは廃止しました。

それで、収集モードを使いはじめると、これまで以上に不要なテキストが表示されるようになります。しかし、それらのテキスト行を右にスワイプしてどんどん非表示登録していくことで、これまで以上に不要なテキストを非表示にできます。

この機能追加の狙いのひとつとして、そうした非表示テキストテーブルをプログラム内に保持していた分のプログラムサイズとメモリを節約したいということもあります。

2023年11月12日日曜日

ピック時にドロップ時の情報を読み上げる挙動、高速事前住所検索、おつり計算機のメモリー機能等について

数珠ったピック先に行くときに一瞬そのドロップ先が表示される公式配達員アプリの挙動があります

公式配達員アプリでドロップの完了操作をして、次のピック先が表示された時、一瞬、そのピック後のドロップ先の情報が画面に表示されることがあります。

一瞬表示が見えることもありますが、ほとんど認識できないことが多いです。

コンパニオンはそれを検出するので、ドロップ状態になったと判断し、「写真を撮る」や「現金を受け取る」等と、ドロップ時の情報を読み上げてしまいます。

収集モードを使うと、それらの情報を取得していることが分かります。


ピック時にそのドロップ先の情報まで分かるのであれば、有用な情報として活用できそうですが、おそらくすぐに対策されると思いますので、コンパニオンでそれを利用しても、このバグが修正されるまでの短期的な機能にしかならないと考えています。

それで、コンパニオンでは、配達記録データに不整合が生じないように対策をしただけで放置しています。


ナビボタンのスワイプアウト

8月頃からですが、住所アシスタントのナビボタンをスワイプアウトした時の動作を変更しています。

ナビボタンを上にスワイプアウトすると、画像検索するようになっています。

横や下にスワイプアウトすると、これまで通りメニューが表示されます。

ナビボタンを上にスワイプアウトし、そのまま指を離さないでおくと、そのナビボタンの住所テキストで画像検索した結果を全画面表示します。

指を画面から離すと、全画面表示は消えます。

信号待ち等のすきま時間に配達先のマンションの外観をサッと確認することができます。

指を離すと消えるので、スクロール操作等はできません。

万一、画像検索の結果が全画面を覆って消せなくなった場合は、電源ボタンを押す等してロック画面に戻してみてください。


高速事前住所検索でナビボタンの方位距離表示を早く

住所アシスタントの住所情報が表示される際に、ナビボタンが回転して現在地からの方位を示し、その右側に目的地までの直線距離を表示しています。

これにはGoogleのジオコーディングサービスを使っていますが、たまに応答速度が遅く、ナビボタンが黄色のまま検索中で時間がかかることがあります。それでも数秒で応答がありますが、わずかな時間とは言え最初のスタートダッシュで待たされるのでイライラします。

それを少しでも軽減するために、コンパニオンのサーバーキャッシュで高速化することにしました。

これまでのGoogleのジオコーディングと同時並行でコンパニオンのサーバーにもキャッシュがないか検索に行きます。コンパニオンのサーバーで先に見つかった場合、ナビボタンに方位と距離を暫定表示します。この時は、ナビボタンの色は少し暗い色になっています。

その後、Googleのジオコーディングの結果が返ってきたら、いつも通りの色となります。

コンパニオンのサーバーのキャッシュにヒットすれば、より早く目的地への方位と距離を知ることができるので、ナビ用テキストの選定を早くできます。


注意点としては、キャッシュの情報が古くなる可能性もあるので、Googleのジオコーディングで最新の結果が返ってきた時、方位と距離の表示が変わることがあるかもしれません。

また、ネットワークが接続できていて十分な速度が出る状況である必要があります。


ついでに、若干のメモリキャッシュも行って、直近に行ったピック/ドロップ先は即時表示できるようにもなっています。


この機能はプロ用で、「設定」→「ナビ」→「高速事前住所検索」をオンにすると有効になります。デフォルトではオフになっています。


ナビでピック/ドロップ先へ向かっている時に住所アシスタントが開くのを抑制

例えば、ピック先に向かっている時に追加のリクエストが入り、それを受けると、住所アシスタントの住所テキスト一覧が更新されるので、住所アシスタントが開きます。

しかし、その状況は、まだ一件目の店舗に向かっている途中なので、住所アシスタントを操作してナビの目的地を変更することはありません。むしろ、住所アシスタントウィンドウが地図を隠して邪魔になる可能性があります。

そこで、住所アシスタントの中でナビとして用いているであろう住所テキストに変更がなければ、住所アシスタントを開かないようできるようにしました。


「設定」→「ウィンドウ」→「住所アシスタント」→「ピック/ドロップ先への変化がある時のみ」をオンにするとそのようになります。


住所アシスタントが開かれないだけで、次のピック先等は一覧に追加されています。

また、追加の配達が、その時向かっているピック先の前に割り込んだ場合や、ドロップに向かっている途中で別のピックが割り込んでくるような状況等、ナビとして用いているであろう住所テキストが変わった場合は、これまで通り住所アシスタントが開くはずです。


ナビボタンの縦/横サイズを変更可能に

住所アシスタントのナビボタンの表示サイズを変更できるように以下の設定項目を追加しました。

「設定」→「ウィンドウ」→「住所アシスタント」→「ナビボタンの幅サイズ」

「設定」→「ウィンドウ」→「住所アシスタント」→「ナビボタンの縦サイズ」

小さすぎてタップしにくい場合は、調節してみてください。

しかし、実は、縦サイズが機能せず、幅サイズになってしまう不具合があり、Ver1.196で修正します。


コンパニオンが起動しなくなることがある件

Ver1.193から、セキュリティを高める取り組みを行っています。その影響で、コンパニオンが起動しなくなることがあります。

端末内に保持しているデータ暗号化パスワードとサーバーに記録されているダイジェストが一致しないことが原因です。

例えば、複数台の端末にインストールしていて、それぞれが異なるパスワードになっているとそのようになります。

コンパニオンのアイコンをロングタップして表示される「アプリ情報」からストレージを消去するか、コンパニオンを再インストールして、データ暗号化パスワードを再設定すると起動するようになります。


おつり計算機にメモリー機能を追加

これまで、二件連続してドロップする際に両方とも現金払いだった場合、二件目のおつり計算機に一件目の金額を加算するボタンを表示していました。同一配達先の場合に一回で現金のやり取りができるようにするためです。

しかし、現在は、公式配達員アプリが仕様変更され、同一の配達先の場合、ひとつの画面内で両方の金額を表示するようになっているようです。

これに対応するために、おつり計算機にメモリー機能を追加しました。それにともない、これまでの一件目の金額を二件目に加算する機能は廃止します。

請求金額の左に「M+」ボタンを追加しました。クリックすると、その金額がメモリーされます。ボタンは「MC」に変化しますので、もう一度タップするとメモリーをクリアします。

メモリーされた金額はキーパッドの上部に表示されます。タップすると、請求金額にメモリーの金額を加算します。

実運用では、一件目のおつり計算機でメモリーに記録し、二件目のおつり計算機でメモリーされている金額を加算します。


その他

クラッシュが発生している個所は日頃からつぶしていますが、Googleマップや入力機能で時々クラッシュしているようです。AndroidのAPI自体に問題がある可能性が高く、手が出せず、解決方法は見つかっていません。

おつり計算機の文字サイズを変更できるようにしたり、公式配達員アプリから取得できていなかった項目に対応したり、Android14対応、安定性やセキュリティの強化、開発環境やライブラリの最新化等々、細かな変更や調整を行っています。

2023年9月19日火曜日

メモと行ったことがある配達先の判定方法を変更しました

メモの変更

配達先のメモを記入しておき、再び同じ配達先に遭遇した際にはそのメモが表示されますが、同一の配達先であるかどうかは配達先の名前や住所で判断しています。

そのため、お客様が名前や住所を変更した場合、同一の配達先であることを判断できなくなります。

そこで、呼び出し時の住所や現在位置の情報を加味することで、住所を変更されても同一の配達先であることをある程度判断できるように変更しました。


【ピック時の配達先メモを検索するアルゴリズム】


【ドロップ時の配達先メモを検索するアルゴリズム】


同一の配達先であると判断するには、最低限、名前が一致する必要があります。

ただし、名前が「PayPay U.」の場合は、除外します。

逆に言えば、名前が一致する場合、誤判定する可能性もあります。


上記チャートの(1)~(4)は、情報の信頼度を表し、数字が大きいほど信頼できることを意味します。

コンパニオンのオーバーレイに表示されるメモには、その信頼度を表す数字を併記します。


呼び出し時のメモに関しては、これまで通り、単純に呼び出し時の住所テキストで検索しています。こちらも「西川通 & 東大路, 徳島市」のような表記の場合は、誤報になることが多いと思いますので、メモを検索しないようにした方がいいか検討中です。


行ったことがある配達先の検出変更

行ったことがあるかどうかの判断にもメモと同様に、呼び出し時の住所をジオコーディングした座標を利用するように変更しました。

名前が一致し、ジオコーディングした座標と配達先の座標との距離が500m未満の記録を同一配達先と判断します。

これにより、今までドロップ時に読み上げを行っていたのを、ピック時に行うよう変更しました。

読み上げ文言は、「1回行った配達先かも。最後は18日前。」のようになります。


オーバーレイの情報ウィンドウの配達番号の横にも表示します。



現状、このように変更しましたが、必要によりさらに調整していきます。

ToDo

有給休暇を管理できるアプリをダウンロード