Add KeyStore.onUserPasswordChanged for the lockscreen to call when
the user changes their password. Keystore will then handle the logic of
deleting keys. Instead of calling Keystore.password_uid for both
unlocking and password changes the behavior has been split into
Keystore.unlock and onUserPasswordChanged.
(cherry-picked from commit a91a850419)
Change-Id: I324914c00195d762cbaa8c63084e41fa796b7df8
Symptom: Force gc caused activity launch time took longer
Root Cause: Runtime.getRuntime().gc will block binder thread
Solution: Use VMRuntime.requestConcurrentGC() will not block binder
thread
Bug: 20554807
Change-Id: I48a103c8241c4c85ced4d9a0b231d9f1dc200f35
Add a null check for each values of SparseArray in Bundle#hasFileDescriptor
to avoid NullPointerException.
Change-Id: I43ecc01f2759ccbe85b902fa118d55cb74ebf38b
Do not cache compiled regular expression and date formatter. Both
cannot be compile-time created, are expensive at preloading time,
and only used in the rare case of dumping the connection (mainly
on errors).
Bug: 19498458
Bug: 19542228
Change-Id: Ia38491a3f852ccf699b815ff05289b338e932f2a
Use the three-argument version of Class.forName. This saves an
expensive stack lookup for the caller's class-loader on each
invocation.
Bug: 19498458
Change-Id: I859affde31e580fd2de3f70ee0a9295936c2d9f4
This was originally to avoid RuntimeException in RouteInfo#matches():
When an IPv6 prefix with a length greater than the max permitted
for IPv4 is matched against an Inet4Address, the call to
NetworkUtils throws RuntimeException.
Change-Id: I92e2bd19a4e7d656cf682fd27678da07e211850d
This replaces int-based enums from KeyStoreKeyConstraints with
String values commonly used in JCA API.
As part of under the hood refactoring:
* KeyStoreKeyCharacteristics and KeyStoreKeyConstraints have been
merged into KeyStoreKeyProperties.
* KeymasterUtils methods operating on KeymasterArguments and
KeymasterCharacteristics have been moved to their respective
classes.
Bug: 18088752
Change-Id: I9c8b984cb3c28184adb617e34d87f2837bd1d3a1
We can get a number of exceptions (e.g. SecurityException) when
a process is acquiring a provider. We need to clean-up correctly
so that other threads that try to acquire the provider the progress.
Bug: 20122809
Change-Id: Icac1d391df7e8c24198be89035b1c5a23da834cf
crash info
Symptom:
This issue happens because the ANR process got killed
(because it crashed) before the ANR dialog dismissed.
In that case, the process record is marked as crashed
(ProcessRecord.crashing = true). When the ANR dialog
dismissed by user, it will cause NullPointerException
when writeToParcel while performing IPC because there
is no crash info (ApplicationErrorReport.crashInfo = null)
Solution:
Check crashinfo before access it
Change-Id: I2995de57684c1e13aab8297f5eea1e82ca3b7ad8