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.
Bug: 26564277
Change-Id: I975ebc72d8f97a592d18038b3d6465b7a40efa75
WakeupMessage encapsulates a Message. Change adds mechanism (constructor)
to specify the 'mObj' member of the Message.
Change-Id: I34647d8f6bbe5c11fce1350ed6abd3366fad2a5d
If subscriber is in external app, its process can be killed. This would
lead to loss of events. To avoid that, we will be storing events in the
logger service. Clients can periodically pull data from it.
Another option for client apps is to register PendingIntent which will be
sent when certain number of new events has been received.
If events are logged at unexpectedly high rate from particular component,
then throttling mechanism will activate and new events will be blocked for
some time from that component.
Change-Id: I710409626eb5a42bcd3fe8126eac6b756fa1ab8b
API changes to allow a meteredHint to be passed
from a network scorer through to the wifi subsystem.
BUG:27702356
Change-Id: Ic466852d855af54c1754c4663388f24f54ed0691
Listen for ICMP6 router advertisements on networks that support
packet filters. Construct packet filters and install them to
ignore redundant future ICMP6 router advertisements.
Bug: 26238573
Change-Id: If78300b9fda257c21f3ee6533e1da7de9f897cb4
Also fix a couple of issues in the code:
1. Check that fields are static before attempting to read them.
Currently, if a non-static field's name starts with one of the
specified constant prefixes (by default, "CMD_" and "EVENT_")
we'd get an NPE.
2. Only read final fields.
Change-Id: I0e07c4c27a66180cbaf7f2b1c235daafc080863b
This is useful when using the new AlarmManager direct callback
interface to wake up the system and request that an object whose
API consists of messages (such as a StateMachine) perform some
action.
In this situation, using AlarmManager.onAlarmListener by itself
will wake up the system to send the message, but does not
guarantee that the system will be awake until the target object
has processed it. This is because as soon as the onAlarmListener
sends the message and returns, the system is free to go to sleep
again.
Bug: 20157436
Bug: 25823676
Cherry-picked WakeupMessage.java from 9d3aadb247
Change-Id: Idff20029d287f26347441a2523b7fb20eda6a8b0
This class uses reflection to find accessible static integer
members in a specified list of classes and returns a SparseArray
mapping the integers to their names. This will allow us to
replace various 400-line switch statements with a simple
array access.
Change-Id: I3607e6389a423cde0bd83270c00b3c863ae1bb29
1. Unhide MSIM APIs in TelephonyManager that already have non-MSIM equivalent
APIs public.
2. Make MSIM API naming consistent (overloaded, no suffix).
3. Unhide APIs in SubscriptionManager that are necessary for MSIM.
Bug: 26772894
Change-Id: Ibebab7379ea79c8e4812bbd190342827048e30e2
Current usage of NetworkSpecifier: network factory will match a request
if the request has either a (1) empty network specifier, or (2) a
network specifier which is identical to that of the network factory.
Note: 'matching' w.r.t. network specifier - all other matching rules
are still in effect.
Change: add rule (3) or the network specifier of the network factory
is the special string (which is defined as "*" and which user-facing
network requests aren't allowed to use).
Rationale: allows on-demand network creation.
Example:
- Can specify a Wi-Fi NetworkRequest with NetworkSpecifier="ssid"
- It will match a Wi-Fi network factory specifying NetworkSpecifier="*"
- That network factory will bring up a Wi-Fi network, connecting to the
specified SSID.
- Once the network is created it will create a NetworkAgent which will
now have a NetworkSpecifier matching that of the request (not the
match-all special string!)
That final step of making sure that the NetworkAgent matches the request
and not the match-all is critical to delivering any subsequent callbacks
correctly. I.e. your network will only get callbacks which match it.
Bug: 26192833
Change-Id: I49e3b492e0bb48a3f6e9a34e3f94f0e1cf89741f
The Alarm Manager now supports a set() variant that takes a listener
callback to invoke at alarm trigger time rather than a PendingIntent.
This is much lower overhead and has guaranteed low delivery latency
from the trigger time. The tradeoff is that the app must be running
*continuously* from the time the alarm is set to the time it is
delivered. If the app exits for any reason before the alarm fires,
the listener becomes invalid and the alarm will be dropped. This is
more or less equivalent to setting an alarm with a broadcast
PendingIntent that matches only a runtime-registered receiver.
The app's alarm listener can be any object that implements the new
AlarmManager.OnAlarmListener interface and implements its onAlarm()
method. There is no data delivered at alarm trigger time: whatever
state needs to be associated with the specific alarm instance should
simply be packaged inside the OnAlarmListener instance.
An alarm using OnAlarmListener can request that the onAlarm() method
be called on an arbitrary handler. If the program passes 'null' for
this parameter when setting the alarm, the callback occurs on the
application's main Looper thread.
Cherry-picked from 14a7bb0d37
Bug 20157436
Change-Id: I2eb030a24efdd466a2eee1666c5231201b43684b
- netlink from core to services/net/netlink
- IpReachabilityMonitor from core to services/net/ip
Cherry-picked from 02cc5a030a
Change-Id: I45ac3f591bade45dd5ec441111b02b621234c0e4
This expands get, getmtime, exportKey, getKeyCharacteristcs and begin to
accept a uid to run as. This is only for system to use keys owned by
Wifi and VPN, and not something that can be used to do operations as
another arbitrary application.
Cherry-picked from 5bbf04803f
Bug: 23978113
Change-Id: I06aa089859edc934a5415e3b184b917d6d171ae2
Previously printing a duration where a unit (except ms) was one and the
next smallest unit was zero would result in the duration being being
expressed in the next smallest unit. For example 1m0s0ms would be
formatted as 60s0ms.
Update testFormatHugeDuration to supporting times > 999 days
The implementation was fixed in 3d1933c45f
Cherry-picked from f9a80cbbfe
Change-Id: I9d609f7a0f82755ea653a205293a6e3785a10d1e
am: d9942006e4
* commit 'd9942006e4a45884fffda8e5888d9657f40b48d2':
ssl: make DistinguishedNameParser a package-private class in org.apache.http.conn.ssl
am: d5a5d547d0
* commit 'd5a5d547d05eee9d626db1d7977c11acbf83b0c7':
ssl: make DistinguishedNameParser a package-private class in org.apache.http.conn.ssl
Needed by AbstractVerifier in framework/base
DistinguishedNameParser taken from libcore, commit
b5259fcf87994ee18658f07887156aef3cab3b56
Change-Id: I924dc7cd21262e5e91857edf178e46c9916f3f6b