これはつまり、AndroidのいわゆるStorage Access Frameworkに対応しようと思ったのだ。Androidのファイル選択画面を通して許可を得て、それからSAFのAPIだけで操作すれば特にPermissionの設定とか要らなくなるわけなので。
わりとめんどうだったけど、いちおう動いてると思う。でもDocumentsContractのcopyDocument()とかmoveDocument()とかってちゃんと使えるの? どうやっても期待どおりに動作しなかったので、結局、Streamを取得して普通にコピーした。よくわからん。deleteDocument()は動いたんだけど。stackoverflowとか見ても「うまく動かねえよ」みたいな話ばっかりだ。
あと、猫写真とか日常の写真とかが増えてきたので、てきとうにディレクトリを分けたりする必要がでてきて、しょうがないから「サブディレクトリの画像もぜんぶ読みこむ」というモードを作った。
さらに、一覧画面にいちいちファイル名が出ないほうが情報量が多い気がしてきたので、ファイル名とかサイズとかは長押ししたときに出るようにしてみた。
もうこのへんでけっこう大手術になってきたので、メジャーバージョンを上げることにしたのだった。
かんけいないけど、AndroidSKKを使っているとバックボタンを2回押さないといけない場合がある、とコメントをくれた人がいた。なんとなくこれSKKのせいじゃねえかなと思ってはいたのだが、やっぱりそうか。そのうち直さないとなあ。