はじめに
VLC for Androidの楽曲管理画面を解析する。ゴールは登場するクラスの洗い出しと関連性のざっくりとした把握。
各種リンク
楽曲管理画面のスクリーンショット
WIP
楽曲管理画面のオブジェクト図
こんな感じ。赤いオブジェクト図は楽曲管理部分
ざっくりいうとリポジトリクラスの状態を監視して、各モデルクラスのインスタンスを取り出してUIに反映している。
楽曲管理画面を構成する主なクラス
UI部分
- AudioBrowserFragment:楽曲管理を表現するフラグメント
- AudioPagerAdapter:ジャンル、楽曲、アルバム、アーティスト用画面を切り替えるViewPager用のアダプター
- AudioBrowserAdapter:ビューページャが管理するRecyclerViewに紐づくアダプター。ジャンル、楽曲、アルバム、アーティスト用の4つある。
- AudioBrowserViewModel:〜Providerクラスのインスタンスを管理するViewModel
- ArtistsProvider:MediaLibraryを監視してArtistを供給する。
- AlbumsProvider:MediaLibraryを監視してAlbumを供給する。
- TracksProvider:MediaLibraryを監視してTrackを供給する。
- GenresProvider:MediaLibraryを監視してGenreを供給する。
モデル部分
- MediaWrapper:音楽ファイルを表現する。
- Album:アルバムを表す。
- Arist:アーティストを表す。
- Genre:ジャンル
- MediaLibrary:上記4つのインスタンスを供給する。所謂リポジトリクラス。シングルトン。