When a network comes online, is a candidate for being the default network
(i.e. satisfies default NetworkRequest), and the device has no default
network, then make the new network the default network for the purposes
of routing network traffic. This does not affect NetworkRequests or
NetworkCallbacks. This ignores but does not affect network validation.
Benefits:
1. Offers a fail-safe in case network validation returns a false negative.
For example: It would be nice if every Android device didn't fail when
clients3.google.com/generate_204 went down.
2. Offers a method to debug connectivity issues.
For example: If WiFi is failing, disabling Cellular would rule out
interference from WiFi network validation.
3. Reduces delay between no connectivity and any connectivity.
4. Offers a fail-safe in cases of unreliable networks.
For example: You need rescuing from a remote location with a weak signal
offering 90% packet loss. You just want your distress call to go out
but are infuriated to find network validation blocks connectivity.
Change-Id: I78621a1fe8ed2a336591f65bf7b07a6cbcc7ba5e
Bluetooth carkit may need specific mode to open SCO
channel. Add a settings value using BT device's MAC address
to store the SCO mode and use it to open SCO. In case no value
is stored, use default mode: Virtual Voice Call.
Change-Id: Iea31a48be0e8f3bd2d8689635fd8ce6f6d6da15a
Even if we later get an error from sendBackupData() we need to give
the transport its teardown callback. This simplifies the transport
logic considerably.
Change-Id: Ib8c0e210d4a876ee6b083a4d619dfccc462da4e5
Also track historical install sessions for debugging purposes. Hide
signature verification API for now. Clear code cache only after
killing the app being upgraded.
Bug: 14975160
Change-Id: I52fc7f11d2506f792236d8a365c8cfed21b46c30
This is required since bluedroid needs to set wake alarms and timers.
Going through JNI back into Java code and then across Binder to
AlarmManager is both inefficient and doesn't provide the resolution
required for functions like A2DP.
Change-Id: I619be0b18a9e7ac2567b7c68ba84fcd15eecf715
This makes volume adjustments take a direction instead of a number of
steps and renames the API appropriately.
Change-Id: I6a31cbc42d889a38aa63446686a424cb2b8b2270
This makes the MediaSession/Controller constructors public and registers
with the system behind the scenes.
This also adds a bit about needing to call setActive(true) to start receiving
commands in MediaSession's docs.
Change-Id: If882d229b54c36bf0831aca0255052dda667a2bc
XXHDPI screens now make up 15% of all Android devices, so developers
should be encouraged to include assets at this density.
Change-Id: I9d845769233a71dd954b5f35246aabb774a1c40d
Not all PorterDuff modes are supported by Java's AlphaComposite. Use
BlendComposite for such modes.
Change-Id: I51486a40f09186cf8a87ce1e6a3d1cfcf39fb2d3
(cherry picked from commit b15709cd36d28c47660b0ae30918642bfd3d85f7)
Removed redundant array allocations to improve performance for various
blending modes.
Change-Id: Iaba1d6ff3ad03eebdc859c599b610cc593370438
(cherry picked from commit 9ce074610413ce3a5dd0cef9295f0ae9061402b7)
This fixes a bad merge and contains partial cherrypicks of the following
commits to make LayoutLib working again:
103d40960daa0420995aa12881bef33892a0a2ab
803d77d8904a8fd66f0370cca6ed7f8b7cf68907
6a08225cee197e5baf80dd06dae46988db284122
Bug: 15987446
Change-Id: I41563305206d30ecdbc7f609c4b90d53edb42689