When app process been killed by AMS or lowmemkiller just before ANR report,
because process record info has been cleared after received death recipient,
it also cannot dump trace log because process already dead,
so report ANR & show ANR UI to let user wait seems is unnecessary.
(compare normal ANR case, if kill app process by command,
ANR dialog will also dismissed, it seems reasonable.)
To check above condition, if ANR process record killed set as true,
it means process already dead & can skip report this ANR.
Change-Id: I483cb02bacb10c32db80ca1097310b02abbac24d
getCurrentInputMethodSubtype() acquires InputManagerService.mMethodMap
within its body. There seems to be no reason for holding
InputMethodManager.mH to call getCurrentInputMethodSubtype(). Holding mH
can cause potential deadlock b/w two threads acquiring mH and mMethodMap
in different orders.
Bug: 31247871
Bug: 31273203
Bug: b.android.com/218423
Change-Id: I20cf2c20f49b1b02c0f7a18257b49d4bcc081b5d
frameworks/base/core/jni/android_text_StaticLayout.cpp does actually use
ScopedIcuLocale, so I've left that for now.
Change-Id: I6458cd133871281a747a9da2e304da10b445051a
Don't make allowances for older kernels. Kernels must handle this
properly since it is now a CTS requirement.
Also remove some unreachable return statements.
Change-Id: I280c4ed5e461d37672236747b5dbb7d1e97ecfec
There is no functional change. This is to support adding new types of zygotes
that all operate using the same protocol.
Bug: 21643067
(cherry picked from commit 94e824bc1b)
Merged-In: Ie673ee816cae34ac20ffb8c774ec3e6461c3fd0a
Change-Id: I104e6133a90dc93a9854836b5e92d3cd542163a3
This is a non-functional change that separates out functionality
that should be shared between the system zygote and the WebView
zygote from that which is system zygote specific.
* Move MethodAndArgsCaller to Zygote.
* Split out server socket functions into ZygoteServer.
* Add a new (stub, for now) WebViewZygoteInit class.
Bug: 22084679
Bug: 21643067
(cherry picked from commit ba816e0c9e)
Merged-In: I4c508a42af7ab7b53d10570ad53b846df7782cc4
Change-Id: I54f04c03443d10dabe6426697d1ff8a0cc66b985
NMPS was listening to both ACTION_UID_REMOVED and
ACTION_PACKAGE_REMOVED, which not only was redundant but would also
cause problems when a package with shared UIDs was removed.
BUG: 31375684
Change-Id: I78da95ef168321a837ed85ce2787a66a16830a78
As Error Prone states:
Suppressing "deprecated" is probably a typo for "deprecation"
Bug: 27723540
(cherry picked from commit a7f834f1ce)
Change-Id: I0c6a9fc0a160769955cccf97ec7decb1f2b9b8fb
If user captures screenshot, screenshot process is started. Screenshot
process also starts services that is defined SERVICES_PER_USER.
As a result Recents class's object is unexpectedly constucted from
screenshot process, and cause to connect with system-user's SystemUI
with mUserToSystemServiceConnection. So, binder proxy from system-user's
SystemUI to secondary-user's SystemUI is replaced with proxy to
screenshot process. In this case Overview key doesn't work at all
until reboot.
Bug:30340532
Change-Id: I84b8b4a02ac3ff781e06d57be19cff56efa76521
If a controller is attached and decides to kill a process after an ANR,
other ANR reports for that app that are queued up won't be handled until
after the app has died. This can create a report without the relevant
callstacks because the app is dead by the time the traces are dumped.
Since the trace file is global, the traces recorded for the first ANR
are overwritten, leaving us with no clue as to what happened.
After the app has been killedByAm, it is not interesting to handle ANRs
for that app until it is started again, so killedByAm can be used to
filter out these spurious reports.
Change-Id: I34ba790f6d29d563c819dc2f6ac71a3c8955bb76
Add TRANSPORT_WIFI_NAN - specifies a peer-to-peer Wi-Fi NAN data
connectivity request.
While NAN uses Wi-Fi L1 PHY and part of the MAC - it is a different
protocol and constitutes a different transport.
(cherry-pick of commit 7b84987a6a)
Bug: 26564277
Change-Id: I975ebc72d8f97a592d18038b3d6465b7a40efa75
* changes:
Release mPackages lock earlier
OtaDexopt: Special-case system app classpaths
OtaDexoptService: Run dexopt on all apps
Frameworks/base: Add compiler stats to Package Manager
[RFC] Special case system apps for profile optimizations
Compile core-apps according to their own "reason" for A/B
Frameworks/base: Add new flow to OtaDexoptService
Otadexopt: Expose progress percentage
cp preopted files from B partition during PM init.
We cannot hold mPackages when calling into generatePackageDexopts().
This method takes Package Manager's mInstallLock. By holding mPackages,
we have lock inversion and hilarity ensues.
Change-Id: Ia11a158677051e3511702f38cde6780e75b256fb
Fixes: 30927731
(cherry picked from commit a8d4f48997)
Specialize system apps' shared libraries so that classpath checks
are elided.
Bug: 30568568
Change-Id: Id1f2555ef43984b616e01f8596701ccba77895b3
(cherry picked from commit c7e02c1d2a)
To avoid work after reboot, dexopt all apps. However, unimportant
apps are optimized with the first-boot reason (which is usually
interpret-only) for space reasons.
Bug: 30468718
Change-Id: Ia05d879957388967c69f9380e50d8a9834afe07d
(cherry picked from commit 115514b236)
Add a simple class for storing compiler statistics. Capture compile
times for code paths from a package.
Bug: 29223204
Change-Id: I1b066de6a83a739470a42480eee0bfef88423eea
(cherry picked from commit 37e5fdc6b4)