29 Commits

Author SHA1 Message Date
Irfan Sheriff
c0e0dbb454 DO NOT MERGE Pick upstream intf with valid IP conf
As a work around for the issue of picking
the wrong interface, add a check for selecting
an upstream interface that has a valid IP configuration

Bug: 3362306
Change-Id: I3e8ab5ef30b69f1adab755d83f5b65c078f73936
2011-03-25 10:09:55 -07:00
Mike Lockwood
40bbf9295d DO NOT MERGE: Backport USB accessory support to gingerbread
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01 23:09:12 -08:00
Mike Lockwood
f13ec7a3ac DO NOT MERGE: Clean up USB notifications:
Add support for separate USB connected and configuration events

Include both USB connected/disconnected and configuration state
in USB_STATE Intent

Remove redundant USB_CONNECTED and USB_DISCONNECTED Intents
Now we just have the sticky USB_STATE broadcast

Move USB disconnnect rebouncing from Tethering to UsbService

Change-Id: I1dea480f4b0daf14247cf37c5f2060498882c002
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 18:39:26 -08:00
Mike Lockwood
7916432b3c DO NOT MERGE UsbManager: squashed commit of:
USB: Add functions for querying if a USB function is supported and enabled.

Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService

Change-Id: I920a211934d993eab8ce744c1cc7b05342389286
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 18:39:21 -08:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
Mike Lockwood
ba56dfce7c DO NOT MERGE Tethering: Delay 1000ms before processing USB disconnect events
This change is already in master

On some devices, switching the USB configuration to enable RNDIS can
result in multiple USB disconnect/reconnect events being generated.

Change-Id: I14b02aaca11bb708f6b3334e41a2f4d4fa7b7296
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-19 14:04:38 -04:00
Mike Lockwood
ac051ae7ac Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state
Replaces use of battery status, which will not work on devices that do not
charge over USB.

Change-Id: I1e123bb534d46b890461ddfdee24f81da5798756
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-28 16:38:33 -04:00
Robert Greenwalt
77b32ddbbe Make the DUN apn data secure.
Rather than come out of the user-modifiable APN DB, the DUN APN data will
come first from a built-in resource and then potentially overriden by a secure
setting (which is gservices upgradable).

Also made the "require-dun" setting secure-setting overridable.
bug:2736390

Change-Id: I1e4644c3839f06c977b83797641f3948785146a2
2010-06-04 11:13:34 -07:00
Robert Greenwalt
7eae25021d Move Tethering off the ServerThread.
An ANR has been reported because somebody else was hogging the Netd
link.  We can't pause the server thread for that, so make a new thread.

bug:2609904
Change-Id: I0430a08621da1cda0a0010ce15826cceee59a529
2010-04-20 15:51:20 -07:00
Robert Greenwalt
b37f0c6513 Fix Tethering of multiple downstream ifaces.
We weren't notifying the second tethered iface of it's upstream iface name so its traffic
was not getting routed correctly.
We also weren't clearing out our connected iface name when we untethered, so the route rules
weren't getting flushed when the last tether came down.

Change-Id: I34e5d672ea882c89c8f582d69d6dc421cb52d4b4
2010-03-25 15:29:57 -07:00
Robert Greenwalt
bfb7bfa538 Update Framework to support multiple dhpc ranges
Previously we only supported a single range - this was inadequate for
multiple interfaces.  Adding a second range so we can support
both usb and wifi tethering.

Also moving out of the zero-conf range as our dhcp client won't
accept ip addrs in that range (no nexus to nexus wifi action).

bug: 2537963
bug: 2533491
bug: 2538303
Change-Id: I600b421343c28c2f9839ed2076122ae3d0ff5d3d
2010-03-25 14:46:13 -07:00
Robert Greenwalt
77e638dee8 Fix Tethering when DUN is required but wifi is ok
If the phone is configured to require a DUN connection when on mobile but also accepts
wifi upstream connections, there was a bug in the logic and you'd be left with no
upstream connection.

bug:2533914
Change-Id: I30d44764f578be4cf2c29ee90d39e8563dda06fb
2010-03-22 15:28:09 -07:00
Wink Saville
951749ba2e Use the new HSM capability that allows transitionTo in enter methods.
Change-Id: If87a30257111d4a2b0506428c75eae81a7ccf77b
2010-03-19 09:09:12 -07:00
Robert Greenwalt
db3fe9edd4 Fix Tethering Notifications for multiple ifaces
Used to see multiple notifications if usb tethering and wifi tethering were both used.

bug:2527862
Change-Id: Idc6299c0a70564dd7c8d8d7fe13bde83723134ae
2010-03-19 08:59:20 -07:00
Robert Greenwalt
6a1967c908 Make Tethering not disconnect on every net change.
Tethering will now persist to on (until turned off) through upstream net drops,
tunnels, switches to wifi or 2G, mms sends, etc.  It will also strive to use
the most natural connection and only go to HiPri/Dun APNs when needed.

bug:2519915
bug:2501837
Change-Id: Iedf6647daad8df507d7c87d1130b204b0a0acc7b
2010-03-17 22:06:43 -07:00
Robert Greenwalt
bb51d9feea Fix UMS broadcasts in Tethering.
Now Tethering gets notified of UMS changes.  Turns out UMS Broadcasts
have attached data with a file scheme and the filter had to be set
correctly.

bug:2504908
Change-Id: I67d979000196c90068fe59846b4fa2bbf6ea00d8
2010-03-12 11:42:09 -08:00
Robert Greenwalt
dfadaeac08 Stop creating threads for tethering.
Use the passed in looper and save threads.

Change-Id: I6db04ef64e339a5fb2b71e9fb1da32e2d600447c
2010-03-11 15:39:30 -08:00
Robert Greenwalt
030f5e18df Disable USB Tethering when UMS is active
Make the tethering module aware of UMS.

bug:2469818
Change-Id: I29995812db41bf01a17c303f31fd1707a8d55328
2010-03-10 16:51:35 -08:00
Robert Greenwalt
a599fe7c0d Re-add tethered notification to framework.
Add new artwork and string.

Change-Id: I9c4b2b4bdbd10ee9355c3a7ca81b29fba3b5830c
2010-03-09 11:20:13 -08:00
Robert Greenwalt
e7085e909d Update framework tethering UI
Getting rid of notification dialog - maybe the entire TetherActivity.
Also getting rid of toasts - to ephemeral.
2010-03-04 18:20:58 -08:00
Robert Greenwalt
5a73506cdd Add error reporting for Tethering.
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.
2010-03-03 15:14:29 -08:00
Robert Greenwalt
c9d5fb7c95 Add build options for tethering.
Dun-required bool and list of allowed upstream ifaces.
2010-02-26 17:48:09 -08:00
Mike Lockwood
1cb3cb1a94 Tethering: Use battery changed broadcast instead of UMS broadcast to determine
when USB is connected and disconnected.

This is needed because the UMS broadcasts will not be sent when UMSis disabled.

Change-Id: I4488fee2c19ac9c901596d1430ea371df97e4325
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-26 18:00:58 -05:00
Robert Greenwalt
d70a3d4e2d Tethering improvements.
Changes due to comments.
Fixing Tether teardown.

bug:2422545
2010-02-24 18:03:40 -08:00
Robert Greenwalt
6142a0b68f Fix build.
clicked "submit" on I65ae29bd when I shouldn't have.

Fixing according to comments and a build error change.
2010-02-23 18:15:29 -08:00
Robert Greenwalt
65ae29bd85 Add USB RNDIS enable/disable control
Also adding interface configuration to the tethering machine.
Also fixing netd bug that didn't send up/down portion of iface config command.
2010-02-23 16:04:41 -08:00
Mike Lockwood
a4437fc93a Fix null pointer exception in connectivity service broadcast receiver.
Change-Id: I80c7175ffd1a323a02201395ff6092e2ab0fdd1c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-17 07:40:50 -05:00
Robert Greenwalt
2a091d7aa0 Update Tethering.
Adds telephony support, async model, multiple tethered iface suport,
better notifications, device config.

bug:2413855
2010-02-16 16:56:09 -08:00
Robert Greenwalt
d0e18ffb82 First pass at USB Tethering.
bug:2281900
2010-02-04 09:15:06 -08:00