CertPath will include a cert of the trusted hardware and necessary
intermediate certificates.
Bug: 73784851
Change-Id: Ic70616b8f119891a82402b91035456e404c5f6de
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
First, JobStatusFunctor was really Consumer<JobStatus> before we
had the java.util.function APIs, so switch everyone over. Replace
most usages with lambdas; no additional runtime cost, since existing
code was already creating classes.
Move dump() to accept Predicate<JobStatus> for their filtering
behavior, enabling more future advanced filtering using any
attributes of JobStatus. Also move dump() to IndentingPrintWriter
to avoid passing around tedious prefix information. Makes it much
easier to print sane-looking output.
Add IndentingPrintWriter support for initial prefix values.
Test: manual dumpsys output looks sane
Bug: 73019091
Change-Id: I4c2398443b42dfb48135ab900d4331ff6d2bb5c4
Package name is implicit. Recovery agent can only act for the same uid.
Bug: 73757432
Test: runtest frameworks-services -p
com.android.server.locksettings.recoverablekeystore
Change-Id: I45abf4b956fa4e97d981614d9e61295e85d5669e
Kernel now exposes cpu time proc files in binary format to save cpu
cycles. New proc files are:
Per uid freq time: /proc/uid_cpupower/time_in_state
Per uid active time: /proc/uid_cpupower/concurrent_active_time
Per uid cluster time: /proc/uid_cpupower/concurrent_policy_time
(See PowerProfile.java on how these data are used)
KernelUidCpuActiveTimeReader, KernelUidCpuClusterTimeReader and
KernelUidCpuFreqTimeReader are modified to use these new data.
Meanwhile, statsd needs these data too. So the actual reading
fuctionality is delegated to singletons in KernelCpuProcReader to
accomodate concurrent access of these proc files by more than one
party. When multiple read requests hit the singleton within the
throttle interval, the singleton will return stale data.
Optimization
KernelCpuProcReader reuses the same ByteBuffer to save results.
KernelUid***Reader all reuse the same long[] array to send results
back to BatteryStatsImpl. Estimated saving of ~200 KB GC effort
per read request.
Add a flag to control throttle interval:
kernel_uid_readers_throttle_time
Bug: 72763654
Bug: 71906435
Bug: 71905885
Bug: 70517018
Fixes: 73166477
Fixes: 72172569
Test: BatteryStatsCpuTimesTest
Test: KernelUidCpuActiveTimeReaderTest
Test: KernelUidCpuClusterTimeReaderTest
Test: KernelUidCpuFreqTimeReaderTest
Test: KernelCpuProcReaderTest
Change-Id: I1012667ce3b9eb35e37882a058bd4bceccabbbe9
Some packages in the system image are not built against the SDK, so
enforcing hiddenapi checks for these will break them. Add a whitelist
for such packages.
For now, just add the contacts provider to the whitelist. The list will be
further populated later.
Test: Added test app package name to whitelist to verify.
Bug: 73244707
Change-Id: I94746b7f12dd9371d5068bb235eb853f63ee4d97
Length of the last array in readFromParcel should be the same as
value of mNextIndex.
Test: PoC app in the bug
Bug: 73252178
Change-Id: I69f935949e945c3a036b19b4f88684d906079ea5
This uses the new ZygoteProcess.startChildZygote() method to launch the
webview_zygote, rather than having init start it. This will share more
memory between the app_process and the webview_zygote, reducing the
overall system footprint.
Bug: 63749735
Test: m
Test: Launch "Third-party licenses" activity from Settings, and it
renders correctly via the WebView.
Change-Id: I3e39cd8adb9c099c92ee34640428916d90cb2b8f
This is a temporary fix until we can resolve why the permissing
isn't granted properly.
Bug: 73640774
Test: receive mms, reply from hun
Change-Id: I77d909762d90c84b95f32c4c20c495ba46b5a176
Normal app launches always define a target SDK, but system_server
doesn't pass in an "--target-sdk-version" option, meaning we left
the default value target SDK of "0" in place, which isn't a valid
SDK level, meaning we treat it as targeting Android 1.0.
The majority of target SDK checks are using the higher-level value
provided from Context, meaning they've always been enforced; this
change means that we're now applying lower-level target SDK checks
that go through VMRuntime.
Test: builds, boots, typical operations still work
Bug: 72331067
Change-Id: I6940bb8c3a1cd2234bcacadbf60c902625876a76
Log the deferred jobs event count, number of deferred jobs,
time since last job execution and break those down into
different time-since buckets in case the average becomes
too noisy.
Bug: 70297451
Test: dumpsys batterystats --checkin
Change-Id: Iafad6137989246f203a623ce1511140d4eac35b0
System singed components can watch for starting/finishing of
long running app ops. Also protected the APIs to watch op mode
changes with a singature permission for the cross-uid use case.
Test: atest com.android.server.appops.AppOpsActiveWatcherTest
bug:64085448
Change-Id: Id7fe79ce1de4c5690b4f52786424ec5a5d9eb0fa
Sleep time for cellular is based on information sent by the modem.
Sleep time added to ControllerActivityCounterImpl. This field applies
to Cellular, Wifi, BT. This change is for cellular only.
BUG:72177330
Test: Manual
Change-Id: Ia2b35204094edd3972abb43cc16889116ddedabc
This CL adds a setPatternFade() method that allows enabling or
disabling the pattern fade (it's enabled by default).
Test: Pattern fades everywhere else but during the setup flow.
Bug: 72798512
Change-Id: I2bb87975b1e50eb1add9e18a224a81f3448ec91a
This adds a new --start-child-zygote argument that instructs the main
zygote to create a new child process that will also be a zygote. The
system_server generates a random name in the abstract socket namespace
for it and the child-zygote to communicate over, and that is passed as
an argument to the new process.
A child-zygote bypasses the normal post-fork-child of the zygote process
in order to preserve itself as a zygote. This means not starting the
Binder threadpool nor launching into ActivityThread. Instead, a
child-zygote calls into its own main function. The main function runs a
ZygoteServer select loop, listening on the socket name specified by the
system_server when it was forked.
Unlike the system zygotes, a child-zygote can be killed without bringing
down the system. Killing a child-zygote will not terminate its child
processes, which will be reparented to init for reaping when they
eventually exit.
Bug: 63749735
Test: m (with multi-project commits landed)
Change-Id: I3e7ebbdba498f8fec1d84cdf927dc43a92be4b68
Added parameters for local transport in secure setting for setting up
local transport to test transport flags GTS test.
Test: GTS test in topic CL.
Bug: 73100304
Change-Id: If654175d91fdf1ea68db0f3320d59b2b770a4db3