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
As previously InputMethodManager#toggleSoftInput is designed to tell
InputMethodService directly through IInputMethodSession to toggle
soft-keyboard visibility, this could be happened some unexpected IME
visibility issues that when the app calling this method in the wrong
state like the app toggling IME visibility when the app is off-screen
but unexpectedly it ends up showing soft-keyboard when the IME is in
invisible state.
To minimize the app compatibility without changing the public API
surface and reducing unexpected IME visibilty been toggled behavior
especially happens when switching the apps, changed the internal IPC
protocols to call IMMS#showSoftInput or IMMS#hideSoftInput directly
according the previous IME consumer requested visibility state,
so that in IMMS side can validate to see if the token user is
still focused and ready to toggle the IME visibility to show or hide.
As the result, we deprecated toggleSoftInput and
toggleSoftInputFromWindow to state the reason as the above, and
recommand to use showSoftInput or hideSoftInputFromWindow instead,
so that framework side no longer has to call {InputMethodSessionWrapper,
InputMethodSessionImpl}#toggleSoftInput.
Bug: 182071625
Test: m checkapi doc-comment-check-docs
Test: atest KeyboardVisibilityControlTest#testToggleSoftInput
Change-Id: I390dc029e7bcc30c200926a9bfbbbd0268a1f714
Note: The CL which introduced this bug was Ic9cd89e899a03010a523bee4f1ef72fbfbd8b43f
Test: visual, manual
Test: Use TalkBack to validate that the size of the touch target is still >48dp tall.
Test: Use an app (e.g. LINE) which only posts the most recent message in an update to send 2+ messages to the device (to make the unread number visible), and validate that 1) the text is visible, and 2) there are not thousands of View errors spamming adb.
Fixes: 182474419
Change-Id: Ia23113f5903fe2c508fc2dbad99160471dcec5fd
We ignore the result if startInputReason is
WINDOW_FOCUS_GAIN_REPORT_WITH_CONNECTION or
WINDOW_FOCUS_GAIN_REPORT_WITHOUT_CONNECTION
in startInputOrWindowGainedFocus.
Introduce USE_REPORT_WINDOW_GAINED_FOCUS_ASYNC
flag to control following behavior:
-. Don't wait the result if it only report the
focus gain. Have another IPC for this case
to prevent the UI thread be blocked.
-. Throw the exception to the client side if it
happened.
Bug: 185928120
Test: atest CtsInputMethodTestCases
Change-Id: Ic584203c1221fbae17f5e2d8f09e3992df061646
Add FLAG to registerDisplayListener method to receive
brightness-specific changes.
getBrightnessInfo() method added to
android.view.Display to get brightness value, min, max
and highBrightnessMode status.
Bug: 168210311
Bug: 171023136
Test: atest com.android.server.display
Change-Id: I581e86e039cc7cf1bbca4cf7af03daa41dbddfe0