Skip to content

走行中画面を Picture in Picture (Android) で表示できるようにする #6035

Description

@TinyKitten

概要

Android で、走行中の運行情報を Picture in Picture (PiP) ウィンドウとして表示できるようにする。
他アプリ利用中でも次駅・現在駅などをフローティング表示で確認できる体験を提供する。

対象プラットフォームは Android のみ

背景

過去 #2378 で PiP 対応を試みたが、PiP 自体は表示されるものの遷移直後にアプリがクラッシュするため
当時は保留として CLOSE した。Android 側の PiP API 周辺・React Native との連携実装の現状を踏まえ、
クラッシュを起こさずに導入できるかを改めて検討・実装する。

表示内容

走行中画面 (Permitted) をそのままミラーするのではなく、PiP 用に別途用意した簡易レイアウトを表示する。
PiP は表示領域が小さく可読性が支配的なため、フル画面の LED 表示を等倍縮小しても情報が潰れる。

具体的なレイアウトは本 Issue では確定させず、実装と合わせて検討する
(次駅名・現在駅程度に絞った最小構成が候補)。

起動フロー

ユーザーが明示的に opt-in した場合のみ PiP に入る:

  • アプリ設定に PiP の有効/無効スイッチを設ける (デフォルトは有効)
  • 設定が ON の状態で、走行中にホームボタン押下 / 他アプリへの切り替えなど
    バックグラウンド遷移したタイミングで PiP モードへ移行する
  • 設定 OFF のときは従来通り通常のバックグラウンド遷移挙動

受け入れ条件

  • Android で PiP モードに移行してもアプリがクラッシュしない (PIP対応 #2378 の再発防止)
  • 設定画面に PiP の有効/無効スイッチがあり、デフォルト有効である
  • 設定 ON 時、走行中にバックグラウンド遷移すると PiP ウィンドウが表示される
  • 設定 OFF 時は PiP に入らず、従来のバックグラウンド遷移挙動になる
  • PiP ウィンドウに走行中の最小限の運行情報 (次駅等) が表示される
  • PiP ウィンドウから本体アプリへ復帰できる

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions