本日、Solaの新しいアップデートを公開しました。修正は2件です。Samsung Galaxy A06(および画面の小さい他のエントリーモデルAndroid端末)で発生していた、頻度は低いものの致命的な起動時クラッシュと、画面下部で切れて表示されることがあったウィジェット配置サブメニューの表示不具合です。

1.0.10 — Samsung Galaxy A06での起動時クラッシュ

症状

Samsung Galaxy A06(Android 16)を利用しているユーザーから、Solaの起動時にクラッシュが発生するとの報告がありました。アプリがホーム画面に到達する間もなく、起動直後に即座に閉じてしまうというものです。Google Play Consoleを通じて完全なスタックトレース付きのクラッシュレポートが送られてきたため、原因を正確に特定できました。

原因

Samsung Galaxy A06は720×1600の画面と、特殊な画面密度(260 dpi)を持つエントリーモデル端末です。この仕様は、Solaが主にテストを行ってきたPixel端末とは異なります。

一部の構成では、ウィジェット「ひと目で」(ホーム画面上部にあり、時刻・天気・次の予定を表示するもの)が、過渡的なフレームで自身の高さをゼロと計測してしまうことがありました。このゼロという値がそのまま記憶され、下にあるアイコングリッドに伝播し、グリッドのセルの高さもゼロになっていました。Jetpack ComposeのLazyVerticalGridコンポーネントはこの測定を受け入れられず、例外を発生させてアプリをクラッシュさせていました。

修正内容

2つの防御的なガードを追加しました。

この修正は、Galaxy A06の正確な仕様(720×1600、260 dpi、Android 16)を再現したエミュレーター、および Pixel 4a(Android 10)、Pixel Tablet(Android 14)、Pixel 8 Pro(Android 16)で検証済みです。クラッシュや目立った不具合の再発は確認されませんでした。

画面下部で切れて表示されるウィジェット配置サブメニュー

症状

ウィジェットが画面下端付近に配置されている場合、長押しするとコンテキストメニュー(「設定」「配置」「削除」)が表示され、全体が見えるように自動的に位置がずれる仕組みになっていました。ここまでは正しい挙動です。しかし、続けて「配置」をタップして細かい配置調整用のサブメニューを開くと、そのサブメニューは位置がずれず、常にウィジェットの下に表示されてしまい、結果として画面下部で切れて表示されていました。

修正内容

親メニューと同じ自動リポジショニングのロジックを、配置サブメニューにも適用するようにしました。スペースがあればウィジェットの下に、なければ上に表示され、それでも収まらない場合は画面下端に沿って表示されます。パネルの幅もウィジェットを中心に揃え、左右にはみ出さないようクランプ処理を行っています。

結果として、ウィジェットがグリッド上のどこに配置されていても、サブメニューは常に全体が表示されるようになりました。

アップデートの入手方法

このアップデートはPlayストアを通じて段階的に配信されます(まずユーザーの20%から開始し、24〜48時間かけて段階的に100%まで拡大)。2日以内には全ユーザーに行き渡る見込みです。Playストアアプリの「アプリとデバイスの管理」セクションから、手動で更新を確認することもできます。

Google Playで開く