<!-- TITLE: Diary --> <!-- SUBTITLE: 日記/日報/作業メモ --> # 2018-12-29 ## FlokoROM * FlokoROM とかいうのを生やした https://github.com/FlokoROM * やることはOreoまでの AICP-mordiford みたいなやつです * UNOFFICIALビルドというにはちょっと方向性や差分が違ってて、そんな状況でこっちの不具合報告をAICP本家に投げるユーザが出てきちゃったりしてて、混乱を減らすべくリネームすることにした * まあfork元になるAICPのIce Cold要素にちなんで、雪とか氷絡みで名前つけようかとは思ってた * Floko はWikipediaの [en:Snowflake](https://en.wikipedia.org/wiki/Snowflake) を見ていたときに「他の言語」みたいなとこからエスペラント語選んだら[出てきた](https://eo.wikipedia.org/wiki/Floko)のでノリで採用したけど、割と広めに「軽く小さくてふわふわ舞うもの」らへんを指してそう…? * まあ見た目通りsnowflakeのflakeのほうでは… * 他の候補には glacierom (glacierでもglacieroでもお好きな方とROMを合わせて) とかもあったけど、検索性の微妙さ(Google先生に「もしかして: gracier」って言われちゃう)とか、綴りと読みがすぐ出やすいほうがいいかなみたいな感じで * とりあえずビルドが始まるとこまではどうにかした * 3割くらいでsepolicy絡みでコケるとこまで https://gist.github.com/lindwurm/9d10c49fe6dfdbad8bc08519386e6a21 * 名前を変えるの結構作業量があり、覚悟がいる…という感想 * どこまで寄生してどこから独立して動かしていくか、難しい… # 2019-01-04 ## Floko進捗 * cheeseburger向けのビルドが通った * たぶんこれ: https://github.com/FlokoROM/vendor_floko/commit/e99a84bf9c14fe07c7ef9eb502cb76327b329747 * `SELINUX_IGNORE_NEVERALLOWS := true` * 起動した * ほぼAICPそのもの * ro.floko.version とかは生えてて、おかげでバージョン番号が不明 * SIMを読めてない * clover向けはkernelでコケてる # 2019-01-05 ## ROM探し 他のROMも見てみようと思いいくらか焼いたり焼かなかったりした…が、やっぱりAICPやっていくかなあ ### Havoc * なんかclover向けで人気だったので * 機能は充実しててよい * スイッチの見た目をOnePlus風にできるの面白いなと思った * 再起動すると「Phone is starting...」のまま帰ってこないとか微妙に不安定 * あとダークテーマ固定から戻せない * フォントたくさん同梱してるの最近の流行りなんですか https://github.com/Havoc-OS/android_vendor_havoc/tree/pie/themes/Fonts/assets/fonts * つーか San Francisco Pro 同梱してるの大丈夫なんですかね… * iOS, macOS, tvOS向けのアプリケーション開発におけるUIモックアップ用とかであってその他の使途だめではみたいなところある * ~~のであんまり信用したくねえになってきた~~ 個人の感情 ### BootleggersROM * 家 * 実家のような安心感ROMとか言われるあれ * https://github.com/BootleggersROM/vendor_bootleggers/tree/pasta/extra/fonts/assets/fonts * 今度は Helvetica Neue ### CandyRoms * 以前axon7あたりで参考にした * ちょっと機能足りないかも * 通知、Heads upよりも最近は一周回ってticker派なので… * 全体的には軽快で良い * ロックにパターン認証使う時3x3しかないのでおしまいです ### ほか * Pieでも動くOmniSwitchのflashable zipがあったので、基本的にはSmartNavがあるROMならだいたい生きていけますね。よかった * それ以外の要素でだめになるんですけど * https://forum.xda-developers.com/android/apps-games/7-0-nougat-omniswitch-flashable-zip-t3456566 # 2019-01-06 * 相変わらず探す * もはやなくない?になってきた * AICP: 4,5,6^2のパターンロックがないらいい(Discordでちょうどそんな話になった) ### 続き https://mstdn.maud.io/@hota/101369720532790532 って感じでSmartNavSettingsがあるプロジェクトのvendor_romを漁るわけですよ * Helvetia Neue * https://github.com/AospExtended/platform_vendor_aosp/tree/9.x/themes/Fonts/assets/fonts * San Francisco Pro * https://github.com/LiquidRemix/android_vendor_liquid/tree/pie/themes/Fonts/assets/fonts * https://github.com/BlissRoms/platform_vendor_bliss/tree/p9.0/google/themes/Fonts/assets/fonts * 要確認(とりあえず上2つは無い) * https://github.com/StatiXOS/android_vendor_statix/tree/9/fonts/assets/fonts * https://github.com/syberia-project/platform_vendor_syberia/tree/9.0/themes/Fonts/assets/fonts * そもそもフォント非同梱 * https://github.com/AOSiP # 2019-01-07 * AOSiPのビルドを通す * https://mstdn.maud.io/@madoka/101375638619737288 * https://mstdn.maud.io/@hota/101375657996015301 * この後結局寝る前に一回焼いた * なお起動しない模様(1+ロゴループ) # 2019-01-11 * 学業再開したので平日は作業進まねえ * AICP(p9.0)のビルドを再開する * これ書いてる時点でこのページ見直してようやくパターンロック無いの思い出したのアホ * 雑なrenameをする * crDroidを見たら結構LineageOSの要素残したままやっていってて、あっそういう緩やかな寄生でもやっていけるんだなあになったので * 結局のところ、oreoのときと変わらないくらいの気楽さで向こうにあんまり迷惑のかからない名前にしようねという感じになってきた * ビルドを通したがROMのzipが `aicp_cheeseburger_p-9.0-UNOFFICIAL-20190111` になってしまい頭を抱える * `TARGET_PRODUCT` が `aicp_cheeseburger` を司ってて、ここ弄ろうとするとlunchでのターゲット指定とかに行き着いてenvsetup中心にまた激しい改変が必要そうでつらい * crDroidを見に行ったら `LINEAGE_BUILD` を使って機種名だけ取り出して `CR_VERSION` には `crdroid` ベタ書きしてたので同様の手法で解決する * https://github.com/mordiford/vendor_aicp/commit/4c2e315cdb6db809b8c813f6d465c67004354863#diff-4fa2c2af1b4646f4c3d134fddd857001 * AicpExtrasもakanefyしておきました # 2019-01-12 ## 6x6パターンロック * 無事に動くようになったのでここからやっていくことにした * https://mstdn.maud.io/@hota/101401338801716427 * https://mstdn.maud.io/@hota/101402475662592241 * アプリのアイコンが四角いので丸くする * https://github.com/mordiford/vendor_aicp/commit/e410bfa640c691ec55b965b8d3c7e87f97683b87 * `config_useRoundIcon` を立てるだけ。adaptive iconといえば他にもsquircleとかteardropとかあった気がするけどどこかわからんのでパス。 * 欲が出たのでパターンロックを追加したくなる * 取り込むcommit自体はLOSとBootleggersROMを参考にしたけど `ChooseLockPatternSize.java` の最後で返すMetricsEventわからんので今日はお手上げ # 2019-01-13 * LOSが返してる `MetricsEvent.CHOOSE_LOCK_PATTERN` は https://github.com/LineageOS/android_lineage-sdk/blob/bbc2643632457417636bb2ede876173fde36ac29/sdk/src/java/org/lineageos/internal/logging/LineageMetricsLogger.java#L35 の通りだった * BootleggersROMが返してる `MetricsEvent.BOOTLEG` は https://github.com/BootleggersROM/frameworks_base/commit/627bc5698e4f2e0e92ee0ad90d428c9f2445b2fd の通り追加していた * とりあえず後者の通り他のは `frameworks/base/proto/src/metrics_constants.proto` にあると知ったので助かった # 2019-01-16 * frameworks_base みたいなサイズも履歴も巨大なリポジトリはいきなりGitHubに向けて1回ではpushできない。 * 解決策の例として https://shogo82148.github.io/blog/2014/09/13/github-remote-push-pack-size-exceeded/ 及びネタ元の https://stackoverflow.com/questions/15125862/github-remote-push-pack-size-exceeded がある。 * 特に後者の回答の中にあった `:refs/heads/{branch}` で書くのがめちゃめちゃに役立った。 * `git push origin c67085832fd4588a55544f1c6fa81afa83626f47:refs/heads/p9.0` * 結果として[32万commit前](https://github.com/AICP/frameworks_base/commits/p9.0?after=4a0230f13748b281b443061764f1f9873ae6568e+320000)まで遡って2011年くらいの時点のハッシュ指定してpushした * GitHubのhistory、「このcommitからn個前までを表示」ってできるの今日はじめて気づいた * この頃まだ600MBなくて時代を感じる * 全文検索とかの事情があってforkでなく新しいリポジトリを生やしてからでかいpushをするときは気をつけようという回でした * FlokoROM/manifesto を整備した。今はFlokoROMではなくmordifordのほうを参照する必要がある(そのようなlocal_manifestsを書いて運用中)が、それ以外の配置は実運用版になった。いくらかのリソースの差し替えが完了したらflokoにpushしようかな… # 2019-01-18 * AicpExtrasの機能のうち、[AICP本家で運用されているHastebin](http://haste.aicp-rom.com/)にログを投げつけるところだとか、[インストール統計情報](http://stats.aicp-rom.com)の送信をやめるようにした。 * 実運用されているリポジトリの p9.0 ブランチをorg:FlokoROMに一通り移した。これでいい感じにぶら下がりつつも独自の改変を提供する下地が整った。 * clover向けのビルドが通った * MoKeeをLineage-ifyしてAICP-ifyしてlineage-sdk周りを潰すみたいな感じになった * LiveDisplayに加え、面倒になったDozeを潰したので実用性は謎 * まだ動作確認してない(チキン) * 雪の結晶をExtrasのaboutと、ビルド通った時およびROM焼いた時のAAに入れた * stats消す時に各言語の stats_strings.xml を消す: `find -name "stats_strings.xml" -exec git rm {} \;` * ![Floko Logo](/uploads/floko-logo.png "Floko Logo") * リリースに向けて残る課題はbootanimation… # 2019-01-20 * リリース前なのにWebサイトができる https://floko.maud.io