A recent change made the HiPri MobileDataStateTracker listen for notifications
about the default connection (which HiPri shadows). Local code was sending
itself a notification using the old HiPri badging instead of the new Default
badging and those notifications where therefore ignored.
Manifested itself on HiPri connections when we were already on 3g.
See change 42422 on master platform/frameworks/base for the change this is completing.
Change-Id: I375026048724d0035297287c61c6c2f58d4e0294
Also make the usb interface configuration more robust so retries are possible.
Makes all Tethering errors recoverable - no harm letting them try again anyway. Worst case
is they need to reboot.
Merge commit '6d626d41e9db62a0eadb61ccb2aa4081a8b9f6d0'
* commit '6d626d41e9db62a0eadb61ccb2aa4081a8b9f6d0':
Refine fix I53e91db7 to apply only to wifi network
A refactoring of handleDisconnect instroduced a bug - we were reporting
NO_CONNECTIVITY after any non-primary network (supl, mms, hipri) was lost.
bug:2395006
Change-Id: Ifa9e008872ec646981a35f2c316120cb9685a6a4
The original fix eliminated duplicate wifi connectivity changes stemming from
location provder scan's for APs. These would generate two DISCONNECTED broadcasts every
two minutes and many apps mis-interpreted them.
The fix was to ignore notifications where the major state was the same as the previous one
for each network. Unfortunately the state of per-apn notifications on cellular is hacky
and so the wifi fix was breaking mms (mms when you're on cellular with a common default+mms apn does
not generate a disconnect notification (apn still connected) so subsequent connect notifications
get dropped as duplicates).
This change refines the previous change so that it only applies to wifi networks.
bug:2392061
Change-Id: I05d8a46a4b55f8d28df8af12e05284e5e68bfc02
drno: ryanpc
This shouldn't be required, but there seems to be something odd going on
in wifi and it doesn't hurt to try other available options. Makes a
connection failure case work like a disconnected case.
bug: 2378462
Backported from master change Ib9285359.
We've had a couple bug reports showing the effects of a left-live feature request.
We need a bit more bugreport-time logging.
bug: 2323226
bug: 2377507
change-id: I296b2887101c260aea678bf6db91144535cbad7e
Backport of MR2 change 421c72b6.
Removes entries sooner. A bug.
Doesn't add one for phone process at all. This was intended to be removed long ago.
bug: 2329900
bug: 2377507
Prevents sending out ConnectivityManager broadcasts when the connection
is repeating the same major state. This means continued wifi scanning
does not generate CM broadcasts (though wifi state broadcasts continue).
bug: 2265222
Dr No approval: jsh
Merge commit '83652ebfe1963bcecdcf24383165904223baca6e'
* commit '83652ebfe1963bcecdcf24383165904223baca6e':
Implement API to have new broadcasts replace existing broadcasts.
Use this in various places where it should serve no purpose to deliver
both broadcasts. This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
Accidentally submitted into eclair instead of eclair-mr2.
I apparently rebased my mr2 working dir to eclair by mistake.
Do not merge this so the desired change will survive on mr2 as intended.
bug: 2265222
Merge commit '90d1b745ec4a7ccd15cdcc185420bf2000b4f7a3' into eclair-mr2
* commit '90d1b745ec4a7ccd15cdcc185420bf2000b4f7a3':
Filter out minor Connectivity Notifications.
Don't send a connectivity change notification if the change is in detailed state only.
IE, Disconnect/Idle -> Disconnect/Scanning should not trigger a connection change
notification.
bug: 2265222
We can now locate event log tag definitions in individual packages
(and java constants for the tag numbers get auto-generated), so move
all the tags used by the system server into the package.
Track requests independently with seperate timers. Clean up on expiration
by just stopping that particular request, not immediately restoring the default.
bug: 2127590
Mark cellular variants with the same availability, regardless of which are currently in use.
Availability just means the radio is enabled and sees the network, but has no guarantees that
we could connect to an APN if requested.
Fix the requestRouteToHost logic to support apn switches without WIFI.
bug:2093841
When switching default networks we should erase any excess dns server entries. The old code
used the wrong index and didn't erase all of them properly.
Found in conjunction with
bug: 2077628
Fix some race conditions (check isTeardownRequested).
Fix the passing of mInterfaceName to subtypes (mms, etc).
Fix the generation of CONNECTED message to already active subtypes.
Fix the enabling of Data in DataConnectionTracker.
bug: 2065037
This also refactors ConnectivityService a bit towards supporting multiple simultaneous connections by making each a seem like a seperate Network with it's own stateTracker, etc.
Also adds tracking of process death to clean orphaned startUsingNetworkFeature features.
The previous implementation used a database for storing all of its state, which could cause
a significant amount of IO activity as its tables were updated through the stages of a sync.
This new implementation replaces that in-memory data structures, with hand-written code
for writing them to persistent storage.
There are now 4 files associated with this class, holding various pieces of its state that
should be consistent. These are everything from a main XML file of account information that
must always be retained, to a binary file of per-day statistics that can be thrown away at
any time. Writes of these files as scheduled at various times based on their importance of
the frequency at which they change.
Because the database no longer exists, there needs to be a new explicit interface for
interacting with the sync manager database. This is provided by new APIs on IContentService,
with a hidden method on ContentResolver to retrieve the IContentService so that various
system entities can use it. Other changes in other projects are required to update to the
new API.
The goal here is to have as little an impact on the code and functionality outside of
SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.