アプリ全体をモダンなAndroid構成へ全面リファクタリング#29
Open
Atsumi3 wants to merge 20 commits into
Open
Conversation
- AGP 8.x はJDK 17必須のため、JDK 11のままでは配信ワークフローが失敗する状態だった - 全アクションをコミットSHAで固定(タグ書き換え攻撃対策) - 成果物パスを実際の出力先(app/build/outputs/apk/...)に修正 - push/PR時にビルド・テスト・lintを実行する検証用CIを新設 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- buildSrc を廃止しバージョンの二重管理を解消 - compileSdk/targetSdk を最新安定版へ更新 - Compose / Hilt / DataStore 等のモダンスタック依存を追加 - アノテーション処理を KSP へ移行する基盤を整備 - 署名情報をプロパティファイル経由の外部読み込みへ変更 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- API クライアントを抽象化しフレーバー実装を差し替え可能に - demo フレーバーが起動時に必ずクラッシュする問題を修正 - ドメイン別の Repository を新設し IO ディスパッチャ制御を集約 - 設定値を Flow で観測できる Repository を新設(既存設定からの移行付き、配線は後続) https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- ネットワーク・ディスパッチャ・API 実装をモジュールとして提供 - Repository をコンストラクタ注入に対応 - 既存のランタイム DI とは共存させ、旧 UI の動作は変更しない https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
新系列のDI用Gradleプラグインが新しいメジャーバージョンのビルドツールを 要求しCIが失敗していたため、現行ビルドツールと互換のある最新安定版へ変更。 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
コルーチンライブラリ更新により旧ブロードキャスト型チャネルが エラーレベル非推奨となりコンパイル不能になったため、 単一消費者で等価な動作のチャネルに置き換えた。 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- 全画面とダイアログを宣言的UIで再実装し、画面遷移をアプリ内ナビゲーションへ統一 - 旧画面・フラグメント・アダプタ・XMLレイアウトと関連リソースを削除 - DIを単一フレームワークへ統合し、イベントバスを型付きフローでの配信に置き換え - 起動画面を公式のスプラッシュ機構で再現し、エッジツーエッジ表示に対応 - 設定値の反映をリアクティブな購読方式へ変更 - 画面上の固定文言を文字列リソースへ集約 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- 外部のアイコン集への依存を避け、必要な2点のみをリソースとして同梱 - アイコンに読み上げ用の説明文を付与 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- キー入力の横取り処理に対する誤検知の警告を抑制 - CIの静的解析が失敗した際、全指摘の一覧をジョブログに出力するよう変更 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- ログ出力をメンテナンスされている軽量ライブラリへ移行し、旧ライブラリ起因の互換変換設定を削除 - リリースビルドでコード縮小とリソース縮小を有効化し、不要になった難読化ルールを整理 - 平文通信の許可をネットワークセキュリティ構成へ移行し、バックアップ規則を最新の宣言形式で明示 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- README にアーキテクチャ概要・ビルド/テストコマンド・プロジェクト構成を追記 - 開発ガイドのアーキテクチャ説明・ログ規約・テスト規約を現行構成へ刷新 - 旧構成(XMLレイアウト/旧DI/旧イベント通知)の記述を削除 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- ユニットテストから画面リソースを参照できるようテスト基盤を配線 - メイン画面の会計ボタン活性とバーコード読取による商品反映を検証 - 設定画面のアドレス入力反映・モード切替・戻る操作を検証 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- どこからも呼ばれていない疎通確認用のAPI契約を実装・Fakeごと削除 - モード切替の分岐ロジックを列挙型側の単一メソッドに集約 - 預かり金の桁削除計算を整数除算に簡約し、店舗一覧取得の ローディング表示を通信が発生する分岐のみに限定 - 設定値3種の監視を単一の合成購読に統合 - デモ用API実装を本来のパッケージへ移動 - テストの依存構築の重複を共通ファクトリに集約 - 画面実装の完全修飾参照をimportに整理 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- 別スレッドから更新される接続先アドレスの書き込み可視性を保証 - 練習モードの店舗選択テストに失敗フラグの検証を追加 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- 機密値をコマンド展開から環境変数渡しに変更 - デコード時に改行や空白の混入を許容 - 機密値が未設定の場合は同梱の開発用キーストアで続行 - デコード失敗時に同梱ファイルを上書きしないよう一時ファイル経由に変更 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
- 機密値が base64 として解釈できない場合は警告を出して続行 - 署名は同梱の開発用キーストアを使用 https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
レガシー構成のアプリ全体を、Google 推奨アーキテクチャに沿った最新構成へ全面移行しました。挙動は原則として従来どおり温存し、変更点・温存判断はすべて下記に明記しています。
主な変更
UI 層
アーキテクチャ
ビルド・CI
品質
スコープ外
挙動に関する注記(レビュー時に確認ください)
関連 Issue
https://claude.ai/code/session_01TbRomX8cQTi7d8w5hEBMQd
Generated by Claude Code