You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 years ago | |
|---|---|---|
| .. | ||
| adb_proxy | 3 years ago | |
| env | 3 years ago | |
| libs/virtualList | 3 years ago | |
| loaders | 3 years ago | |
| spec | 3 years ago | |
| src | 3 years ago | |
| static | 3 years ago | |
| tests/samples | 3 years ago | |
| .babelrc | 3 years ago | |
| .eslintrc.json | 3 years ago | |
| .gitignore | 3 years ago | |
| README.md | 3 years ago | |
| package.json | 3 years ago | |
| trace.sh | 3 years ago | |
| tsconfig.json | 3 years ago | |
| vue.config.js | 3 years ago | |
| webpack.config.common.js | 3 years ago | |
| webpack.config.dev.js | 3 years ago | |
| webpack.config.js | 3 years ago | |
| webpack.config.prod.js | 3 years ago | |
| webpack.spec.config.js | 3 years ago | |
| yarn.lock | 3 years ago | |
README.md
Tool for visualizing window manager traces
Developing WinScope
When the trace is enabled, Window Manager and Surface Flinger capture and
save current state to a file at each point of interest.
frameworks/base/core/proto/android/server/windowmanagertrace.proto
and frameworks/native/services/surfaceflinger/layerproto/layerstrace.proto
contain the proto definitions for their internal states.
Checking out code and setting up environment
- Install Yarn, a JS package manager
- Download Android source
- Navigate to
development/tools/winscope - Run
yarn install
Building & testing changes
- Navigate to
development/tools/winscope - Run
yarn run dev
Update IntDefMapping
- Build
framework-minus-apex-intdefsmodule and a preprocessor will generate the latest IntDefMapping. From theANDROID_ROOTrun:
. build/envsetup.sh
m framework-minus-apex-intdefs
- Copy the generated
intDefMapping.jsonfiles to theprebuiltsrepo.
python3 -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) > ./prebuilts/misc/common/winscope/intDefMapping.json
- Upload the changes.
cd ./prebuilts/misc/common/winscope
repo start intdef-update
git commit -am "Update intdef mapping" "Test: N/A"
repo upload --cbr .
Building with internal extensions
Internal paths in vendor/ which are not available in AOSP must be replaced by stub files. See getWaylandSafePath for an example