Instead of deriving network identity based on raw subsystem broadcasts,
listen for updates from ConnectivityService. Added atomic view of all
active NetworkState, and build map from "iface" to NetworkIdentity set
for stats tracking.
To avoid exposing internal complexity, INetworkStatsService calls use
general templates. Added TelephonyManager mapping to classify network
types using broad labels like "3G" or "4G", used to drive templates.
Cleaned up Objects and Preconditions.
Change-Id: I1d4c1403f0503bc3635a59bb378841ba42239a91
DNS based techniques dont always work. Some hotspots
redirect on data fetch on IP. Use a known pattern match
on URL to detect a walled garden instead.
Also, added gservices capability to turn off the feature
or change the URL & the pattern to match
Bug: 4378442
Change-Id: I78b4208d3ea3ace20069169e7c01ed769892d94d
Every available shared-storage volume is backed up, tagged with its
ordinal in the set of mounted shared volumes. This is an approximation
of "internal + the external card". This lets us restore things to the
same volume [or "equivalent" volume, in the case of a cross-model
restore] as they originated on.
Also fixed a bug in the handling of files/dirs with spaces in
their names.
Change-Id: I380019da8d0bb5b3699bd7c11eeff621a88e78c3
Events.lastSynced: flag marking this as a duplicate of the lastSynced sate of the event
Events.sync_data7: General purpose sync column (will be used for editUrl in Google Sync Adapter)
Calendars.canPartiallyUpdate: Flag indicating sync adapter can perform partial updates.
Change-Id: I5c153fb9cbf43dd1def0267c2f912a59038b28c1
Bug: 4124987
Only show one spot per touch point instead of one spot per
finger for multitouch gestures.
Tweaked the pointer acceleration curves.
Dissociated the hover/tap timeouts from the "tap" timeout
since they mean very different things.
Change-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c
The way that smooth scrolling is implemented in the Browser,
repeated requests to scroll by a certain amount do not add up
to one large scroll by the cumulative amount. This makes
the mouse wheel unusable on large pages because the Browser
will scroll at a more or less constant rate no matter how often
the wheel is turned.
The fix is to not animate scrolls when using the mouse wheel.
Change-Id: I23c05cdd2383944b8730deb225b7f3f57f1729df
1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.
2. An accessibility service receives AccessibilityEvents and can ask
for its source and gets an AccessibilityNodeInfo which can be used
to get its parent and children infos and so on.
3. AccessibilityNodeInfo contains some attributes and actions that
can be performed on the source.
4. AccessibilityService can request the system to preform an action
on the source of an AccessibilityNodeInfo.
5. ViewAncestor provides an interaction connection to the
AccessibiltyManagerService and an accessibility service uses
its connection to the latter to interact with screen content.
6. AccessibilityService can interact ONLY with the focused window
and all calls are routed through the AccessibilityManagerService
which imposes security.
7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
based on some criteria. These API go through the AccessibilityManagerServcie
for security check.
8. Some actions are hidden and are exposes only to eng builds for UI testing.
Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
Added comments. Made internal only stuff private. Added @hide to
methods only used by the provider. Added/altered methods for
consistency across contract classes.
Change-Id: I4d810995042583f1ab05b859f320828f83329e90
Normally this wouldn't happen as a new picture should come after
webcore has initialized. However, now that a view state can be loaded,
setting a new picture needs to be delayed until after everything has
initialized.
Change-Id: I823bc17eb939eab0436d7a398ebcbe849c0fb945