This patch defines a new android.net.metrics.RaEvent class carrying
lifetime values contained in RA packets. RaEvent are recorded when
ApfFilter processes a new RA for which there is no match.
Example:
ConnectivityMetricsEvent(15:39:39.808, 0, 0): RaEvent(lifetimes: router=3600s, prefix_valid=2592000s, prefix_preferred=604800s, route_info=-1s, dnssl=-1s, rdnss=3600s)
Change-Id: Ia28652e03ed442d5f2a686ef5b3fafbcb77c503a
This patch adds a new ApfStats event class that counts RA packet
reception statistics on the RA listener thread of ApfFilter and reports
the maximum program size advertised by hardware.
Statistics are gathered for the lifetime of a network with APF
capabilities and uploaded at network teardown when the listener thread
exits.
Example event:
ConnectivityMetricsEvent(15:44:23.741, 0, 0): ApfStats(284945ms 2048B RA: 2 received, 0 matching, 0 ignored, 0 expired, 0 parse errors, 2 program updates)
Bug: 28204408
Change-Id: Id2eaafdca97f61152a4b66d06061c971bc0aba4c
1. Support multiple callbacks in TestNetworkCallback. This is
necessary to test situations where multiple callbacks are
generated by the same event (e.g., CALLBACK_LOSING on cell
with CALLBACK_AVAILABLE on wifi when wifi connects), which is
necessary to test callback order. So far this has not been
covered because all callback testing was using per-network
callbacks.
2. Add a benchmark test for registering NetworkRequests and for
sending onAvailable and onLosing callbacks.
Bug: 23113288
Change-Id: Ib69373358ad766ab1bd989e864a5a51ef762c73c
We skipped the applyAnimationLocked to work around a problem with
cached animation loading, however app could be animating without
window animator (only app animator) in which case we shouldn't do
the relayout for potential focus change.
Revert to the old behavior and let applyAnimationLocked decide if
we want to relayout for focus change.
bug: 29874980
Change-Id: I6fdfbe41cbafd7017477c0eda9b4fd26e66c517f
Allow wearable handsfree device for PBAP Access
Usecase:
1) Pair and connect with Jabra Stealth Headset.
2) Go out of range so that connection gets disconnected
3) Come back in range, so that reconnection happens.
Observation:
Headset fails to reconnect with DUT in some scenarios.
Root Cause:
Headset does not send page request to DUT in some scenarios
leading to reconnection issues. This propabaly happens because
Headset fails to connect PBAP in previous iteration so it goes
in bad state, and does not page after Link Supervision Timeout.
Current Settings code only allows Audio_video_Handsfree Class of
devices to have PBAP Access permission, and set Rejected Permission
for other Audio Device Class. This headset being Wearable Class (0x0404)
is set as PBAP Rejected, and all PBAP connection to DUT from this remote
device are rejected leading to issue of bad state in headset.
Fix:
Allow wearable class audio devices to also have PBAP access permission.
Bug: 29219133
Change-Id: I18d8412cbeb86c18610091898d1c79f26d3d808d
In extreme cases the list of recent tasks can grow beyond the size
of a single Binder transaction. This change moves over to
ParceledListSlice which handles chunking any large results.
Bug: 29635557
Change-Id: Iaf1227234f5f8c9451f73a6a5c1dc89f2067f05f
When function getCode is called on
NativeDaemonConnectorException object it may throw exception
due to mEvent object not being set for certain constructors.
Fix is to return a default error code as expected if mEvent
object has not been set rather than trying to call
mEvent.getCode().
Change-Id: Ia8aa23deb8871bb4df73096cc489b685a1765f16