)]}'
{
  "commit": "9eeb5923af71663d897bcecc892efc9178d89b6d",
  "tree": "aa18f30599afa70d4f00ed5226991f5554ce3817",
  "parents": [
    "21754b0235a8b66372fc3e8db8faac07b9a3235c"
  ],
  "author": {
    "name": "Eric Miao",
    "email": "ericymiao@google.com",
    "time": "Fri Oct 04 13:39:53 2024 -0700"
  },
  "committer": {
    "name": "Eric Miao",
    "email": "ericymiao@google.com",
    "time": "Thu Oct 10 18:09:09 2024 -0700"
  },
  "message": "Add a readonly version for flags in libcore\n\nBug: 368409430\nFlag: EXEMPT bugfix\n\nThe exported flag native_metrics from com.android.libcore breaks\nsome use cases of Isolated Process as reading of the flag requires\nI/O permission which Isolated Processes don\u0027t have.  In this CL,\nwe added a readonly version of the flags in libcore, and use\n`force-read-only` mode, the resulting generated code will return\nthe values hardcoded. This prevents reading of the flag value\nfrom storage, and thus allows Isolated Process to work.\n\nAccess to the flag will be done by:\n\n  com.android.libcore.readonly.Flags.nativeMetrics()\n  com.android.libcore.readonly.Flags.postCleanupApis()\n\nThis readonly flags will be kept to be synced with the one in libcore.\nOnce the new aconfig API is landed, there will be no need to keep the\nreadonly version, and thus this CL can be reverted.\n\nChange-Id: If4c56dae63be879b54f951bb8c7904ca3b98607e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fbe4905d9754fc15752c5d08fe53bab7ba8c9c78",
      "old_mode": 33188,
      "old_path": "AconfigFlags.bp",
      "new_id": "9bc4047ec443f9921d182b866b74bf0949cb137c",
      "new_mode": 33188,
      "new_path": "AconfigFlags.bp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3cda92c45190537fcd242d87e80b4602d9ba9a51",
      "new_mode": 33188,
      "new_path": "libcore-readonly.aconfig"
    }
  ]
}
