Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
configs/ | 15-Dec-2024 | - | 9,712 | 9,710 | ||
hooks/ | 14-Jan-2024 | - | 20 | 14 | ||
protos/ | 15-Dec-2024 | - | 1,205 | 1,006 | ||
src/ | 15-Dec-2024 | - | 102,411 | 83,867 | ||
.eslintrc.js | D | 15-Dec-2024 | 1.9 KiB | 56 | 30 | |
.gitignore | D | 15-Dec-2024 | 637 | 46 | 38 | |
.prettierignore | D | 15-Dec-2024 | 256 | 7 | 4 | |
OWNERS | D | 15-Dec-2024 | 130 | 7 | 6 | |
README.md | D | 15-Dec-2024 | 1.6 KiB | 42 | 34 | |
all | D | 14-Jan-2024 | 0 | |||
google.tslint.json | D | 15-Dec-2024 | 3.4 KiB | 86 | 86 | |
karma.config.ci.js | D | 15-Dec-2024 | 2.8 KiB | 83 | 47 | |
karma.config.common.js | D | 15-Dec-2024 | 1.6 KiB | 52 | 35 | |
karma.config.dev.js | D | 15-Dec-2024 | 861 | 30 | 11 | |
package-lock.json | D | 15-Dec-2024 | 1.2 MiB | |||
package.json | D | 15-Dec-2024 | 5.9 KiB | 105 | 104 | |
prettier.config.js | D | 15-Dec-2024 | 965 | 55 | 51 | |
protractor.config.js | D | 15-Dec-2024 | 1.4 KiB | 48 | 21 | |
tsconfig.json | D | 15-Dec-2024 | 1.1 KiB | 41 | 40 | |
webpack.config.common.js | D | 15-Dec-2024 | 1.8 KiB | 74 | 54 | |
webpack.config.dev.js | D | 15-Dec-2024 | 2.4 KiB | 81 | 60 | |
webpack.config.prod.js | D | 15-Dec-2024 | 2.1 KiB | 71 | 53 |
README.md
1# Tool for visualizing window manager traces 2 3## Developing WinScope 4When the trace is enabled, Window Manager and Surface Flinger capture and 5save current state to a file at each point of interest. 6`frameworks/base/core/proto/android/server/windowmanagertrace.proto` 7and `frameworks/native/services/surfaceflinger/layerproto/layerstrace.proto` 8contain the proto definitions for their internal states. 9 10### Checking out code and setting up environment 11* [Download Android source](https://source.android.com/setup/build/downloading) 12* Navigate to `development/tools/winscope` 13* Run `npm install` 14 15### Build & test & deploy changes 16* Navigate to `development/tools/winscope` 17* Run `npm run` to get the list of available commands 18 19### Update IntDefMapping 20* Build `framework-minus-apex-intdefs` module and a preprocessor will 21 generate the latest IntDefMapping. From the `ANDROID_ROOT` run: 22``` 23. build/envsetup.sh 24m framework-minus-apex-intdefs 25``` 26 27* Copy the generated `intDefMapping.json` files to the `winscope`. 28``` 29python3 -c 'import sys,json,collections; print(json.dumps(collections.OrderedDict(sorted(collections.ChainMap(*map(lambda x:json.load(open(x)), sys.argv[1:])).items())), indent=2))' $(find out/soong/.intermediates/frameworks/base -iname intDefMapping.json) > ./development/tools/winscope/src/common/intDefMapping.json 30``` 31 32* Upload the changes. 33``` 34repo start intdef-update 35git commit -am "Update intdef mapping" "Test: N/A" 36repo upload --cbr . 37``` 38 39### Building with internal extensions 40Internal paths in vendor/ which are not available in AOSP must be replaced by 41stub files. See getWaylandSafePath for an example 42