用のMastodon&Misskey&Blueskyクライアント #ZonePane (@zonepane) を作っています。Twitterクライアント #TwitPane の作者です。
開発をご支援いただける方はFANBOX https://takke.fanbox.cc/ にてお願いします
昨日でFragment周辺のモジュール構成の整理はひとまず完了。謎の依存関係はほぼなくなってすっきりした。ビルドがほんの少し速くなったはず。
丸2日かけて2画面(トレンドとリスト一覧)のCompose化を行ったことで pf_tw -> timeline_renderer_impl への依存を消すことができた。次はこれの Fediverse 版だけど3画面あるなあ(Mastodonのリスト、トレンド、Misskeyのリスト)。1画面4時間くらいかかるんであと2日は必要か。。
寝れないので2時から2時間ほどかけてトレンドのCompose化を完成させた。10年前に書いた本当に初期からのコードを再実装した感じ。
整理して問題点をざっくり把握したところ。
モジュール間の依存関係を整理してるんだけど、いよいよFragment周辺を手がけようと図解してみたらカオスだったw
とりあえず載っけてみた
my new gear
ここ2ヶ月ほどの色つき星取表(簡易的な日誌みたいなもの)を見るとRとFediverse(MM=Mastodon,Misskey)、Bluesky、タイッツーを行ったり来たりしながら開発してることが分かる。あと今日久しぶりにBluesky機能を触ったのにいま気づいた。
めっちゃ雪降ってるww雪おろし用のスノーブラシ積み忘れたので積もらないうちに帰らねば。。
そうそう、Composeだとルビをまだうまくレンダリングできないんだよね。引用エリアはまあ大目に見るとして本文に適用するかはちょっとこの辺りで迷うところ。
Misskey機能でも引用エリアのCompose版(上)を、View版(下)と同じようなレンダリングにほぼできたのでいったんこれで完成かなー。MFM対応とか絵文字サイズが不定だとか、ずっとごにょごにょしてた。
たいぺん(タイッツークライアント)用のスタンプピッカーの完成形をこちらでも。タイッツーに上げた動画なのでかわいい音楽と左下にアカウント名が付いてる。タイッツーの「スタンプ」はLINEのスタンプとかに近い感じで大きめの画像をポンッと贈る感じなので専用のピッカーがあるのは割と便利。
ほぼ置き換え完了。アニメーションが停止しないなどの差分があるんだけどそもそもアニメーションを停止させていたのはリソースが枯渇するバグ回避のためだったので不要といえば不要なんだよな(バッテリー消費が多くなるのはあるんだろうけど)
引用エリアなので行間を詰めてるということもありCompose版(上)のほうが現行のView版(下)よりも良さそうに見えるね。まあ全くレンダリング方式が違うので。。
ひとまずここまで。「ぴったりモード」とかちゃんと実装できるだろうか。
jsoup 使って軽く HTML を巡回して AnnotatedString 作った。さて、カスタム絵文字か。ということでサンプル⇒ 🐧
雑にRとほぼ同じのを持ってきたらこんな感じ。上がCompose版で下がAndroid View版。カスタム絵文字がレンダリングされてなかったり、タグが出ちゃったりしてる。
タイッツー用のスタンプピッカーを試作中。Jetpack Composeでイチから作ってるのでタブとページャの連携をどうするか微妙に悩んだが、ページャのStateをタブ側が利用するのが一番簡単だった
さっきからめちゃめちゃ頭痛くて作業できてないんだけど、気圧が上がってるせいかな。イブでやりすごせるだろうか。参った。
確かに明日の夜にかけての気圧の下がり方がヤバい
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。