It turns out that IInputMethodManager#reportActivityView() [1], which
was added a few years ago to support CursorAnchorInfo API on edit
fields hosted on an ActivityView [1], is now also used by task
organizer [2]. This means that we would continue living with this
@hide API for a while even after ActivityView gets completely removed
at Bug 179161778. Then, converting this IPC into truly asynchronous
would probably make sense.
There should be no behavior change unless the target IME client is
running on an embedded display environment.
[1]: Id0411a80456182111bb5b681c6d1230b58e7ec2e
b4f328a2f3
[2]: Id422bb2547197c617f914ed7cf5085e02a1c3fb5
a1f869d10e
Fix: 186874025
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest
Change-Id: I0463e8e9daaa8ab6d3eadb395843ca5e6bc1bb5e
For consumers who don't care about blocking package data updates and
only need data at a specific snapshot in time, these methods would
avoid locking PMS during the iteration process.
Bug: 183643808
Test: atest com.android.server.pm.test.verify.domain
Change-Id: Ia951381798d75f77c4ad5fc010a469b69992f074
We now have two notions of profileable:
* profileable from shell: the user can profile the app using ADB-based
tools (e.g. Android Studio or shell) . This is off unless the app
opts in.
* profileable from platform services: trusted platform services can,
in accordance to the app installer's Terms Of Service profile the
app. This is the default unless the app opts out. This is enforced
by the profilers with information provided by the framework.
A new flag <profileable android:enable="false"/> can be used to opt out
of profiling in general. If this is not given, the app is considered
profilable by the platform, but the data will *not* be exposed to the
user via shell or adb. If profiles of the app should be given to the
user (e.g. for using Android Studio), <profileable
android:shell="true"/> can can still be used.
We write whether the app opted out or not to packages.list, to be
consumed by the profilers.
CTS-Coverage-Bug: 186720347
Test: m
Test: on userdebug: /data/system/packages.list for preinstalled, Play
Store installed app and sideloaded app.
Test: on user: atest CtsPerfettoTestCases.
Bug: 170284829
Change-Id: I8d4bbedc043976fd11a95a511bd95a05c7ced7b9
Previously these two states in AMS are being mapped into the ImpFg
in the ProcStats, we were unable to distinguish them in the aggregated
proc stats. Now with these two new states in ProcStats, the process
states we're using in AMS could be mapped into them, and eventually
get mapped into the state definition in the aggregated proc stats.
Bug: 186438656
Test: atest ProcStatsValidationTests
Test: atest ProcessStatsDumpsysTest
Test: atest CtsIncidentHostTestCases:ProcStatsProtoTest
Test: atest CtsStatsdHostTestCases
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest
Change-Id: I94eaa18d9c99f90200603fd0aafe198b62e963f7
Patch action:
Add the state or content description into the corresponding feature target.
Bug: 178289063
Test: atest AccessibilityTargetAdapterTest AccessibilityTargetAdapterTest
Change-Id: I2f421da027bc95021ab24cadf8b3afdc30fa6d4a
-. Remove VoidResultCallback of applyImeVisibility.
and let it be truly asynchronous.
-. Rename this method to applyImeVisibilityAsync.
Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ica564c526223d32641a2485c0c0f3490fe4bfd39
Add a debug log to identify calls to showSoftInput from Insets API.
Fix: 1865976
Test: manually using steps:
1. Use an app like launcher that uses Insets API to show IME.
2. dump using adb shell dumpsys input_method
3. Verify log.
4. use another app that shows IME using showSoftInput like gmail
5. verify the log
Change-Id: I6ba0d3f7912855f31e033735557b44eeed3e6652
-. Remove VoidResultCallback of notifyUserAction.
and let it be truly asynchronous.
-. Rename this method to notifyUserActionAsync.
Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: I384fd689b6bd1d418ff5208444fbba2c1eac6f85
* add/modify icons list: color correction, color inversion,
magnification, extra dim
Fix: 184081577
Test: manual test
Change-Id: I5ceee75f0263072805af23a7bbdfc68d7008db6e
-. Remove VoidResultCallback of updateStatusIcon
and let it be truly asynchronous.
-. Rename this method to updateStatusIconAsync.
Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ic7759354ec06a3293ea370ab7afe7422eb2d9356
Process state association tracks the state via the bindings between
the source and the destination processes, there could be overlaps
from the timeline wise over these bindings, hence the exact duration
that a source process binds to a destination process is unknown.
Now add the support of this, by tracking the association sources per
process, the state changes of these sources will be driven by the
changes from individual source state per association.
The output of 'procstats dump -a; will include a new section
"Aggregated Association Sources" per process.An example:
* com.android.providers.contacts / u0a122 / v30:
Process android.process.acore (multi, 2 entries):
[......]
Aggregated Association Sources:
<- com.android.bluetooth/1002 (com.android.bluetooth):
Active count 271 (ImpFg): +1m0s849ms / 9.2%
Also updated the logic of pulling the procstats data from stastd to
use this new data structure.
Bug: 183101565
Bug: 186438656
Test: atest ProcStatsValidationTests
Test: atest ProcessStatsDumpsysTest
Test: atest CtsIncidentHostTestCases:ProcStatsProtoTest
Test: atest CtsStatsdHostTestCases
Test: Manual - compare statsd proto dump vs. dumpsys procstat -a
Change-Id: I9bf9ba7565761ae3d42046ed4886c8d17f6c18b3
used to collect binder latency data from bluetooth and telephony.
Test: latency collection is unit tested, this is just an alternative settings configuration
Bug: 180584913
Change-Id: Ide51afb7eb26a96c7692bceb0a22585a74f08aa7