[flexiglass] Removes SCENE_CONTAINER ENABLED.
THIS CL INCREASES APK AND ODEX SIZE, WE KNOW, AND IT'S APPROVED BY SYSTEM HEALTH - PLEASE DO NOT REVERT IT FOR THAT REASON ALONE. Change-Id: I15bf21f67a1546a38fac84cd35efb7e641020ad6 --- This CL removes SCENE_CONTAINER_ENABLED = false from Flags.kt, a hard-coded boolean that we used, in addition to the flags, to prevent builds from growing too large (the build system strips out code from paths that are unreachable and SCENE_CONTAINER_ENABLED being false makes all of Flexiglass unreachable code). The removal of the constant boolean is necessary for several reasons: 1. With it, nobody can turn on Flexiglass in any way without making a local code change; this prevents Teamfood to happen. We're not ready for Teamfood, but we need to get ready for it eventually. 2. With it, end-to-end tests can't actually work with Flexiglass on; we're already funding an effort to run end-to-end tests with Flexiglass on and fix them or fix the code such that they can still run and hopefully pass. This is also not something we'll need until we enter Staging, but is something that we're anticipating. 3. With it, development is harder as all devs have to keep a local change that sets SCENE_CONTAINER_ENABLED to true to be able to work and need to be careful to never accidentally include that in a CL. The removal of SCENE_CONTAINER_ENABLED, therefore increases the odex size by 2.33mb, which is expected (the build system no longer strips code that's unreachable when the flag is off because now that code is reachable). We performed an analysis on the increase and found what we expected to find: mostly new parts of the Compose library that weren't being pulled in before and lots of new Compose-based code that we added in Flexiglass that uses that. While the size increase affects development and dogfood builds (e.g. "start" through "trunkfood full" in Gantry) it doesn't affect release builds (e.g. "nextfood" in Gantry), at least not until we roll out to nextfood; for release builds, the current flag value is hard-coded into the build, causing the build system to again strip out Flexiglass as it's all unreachable code; this has been confirmed by the ACE team and verified by jdduke@ in this comment thread: https://googleplex-android-review.git.corp.google.com/c/platform/frameworks/base/+/26638042/comments/b834c68f_4ed62ed3 The System UI team will start working on b/331840768 to help reduce the size back down (and alleviate future size increases) before we roll it out to nextfood. Bug: 283121968 Test: made sure that flexiglass can still be turned on and off using the go/flexiglass-script as described in go/flexiglass-dev-guide. This is an important test to make sure that the removal of the SCENE_CONTAINED_ENABLED constant, which was a part of how the code calculates whether Flexiglass is on or off, still works. Flag: N/A Change-Id: Id5c97013abb5ff291bef7f76dffdadf556cf54e6
Loading
Please register or sign in to comment