The previous approach no longer works with the new USB drivers, since the usb0
interface is no longer enabled by default.
This introduced a chicken & egg problem - usb0 will not be enabled until the
user tries to start tethering, but Settings will not enable the checkbox unless
usb0 is enabled.
To fix this we add an explicit call to start USB tethering in the connectivity manager.
This will enable RNDIS if necessary and then bring up tethering once usb0 is enabled.
Change-Id: If3972c89e05377af00b7a71cc2588e44bd4cfaed
Signed-off-by: Mike Lockwood <lockwood@android.com>
- Updated hint text for BT tethering checkbox to
"[Sharing|not sharing] this [tablet|phone]'s mobile data connection".
- Show correct hint text when user enters tethering screen.
- Show correct status after user enables tethering when Bluetooth is off.
When BluetoothPan.setBluetoothTethering(true) is called with BT off,
BluetoothPanProfileHandler will add a broadcast receiver to enable
tethering after BT turns on. This happens too late to show the correct
status when TetherSettings gets the adapter state changed event, so set
a flag (mBluetoothEnableForTether) instead, and call setBluetoothTethering
ourselves after the state changes to ON. Also, clear the flag if the
adapter state changes to OFF or ERROR.
- Show correct status when user enables tethering, then disables Bluetooth,
then returns to the tethering screen. Previously it would show
Bluetooth tethering enabled, even though adapter state was OFF.
- Show the number of connected devices in tethering preference screen.
- Distinguish between PANU and NAP in device profiles screen, and show
appropriate text to clarify the direction of tethering.
- Remove profiles from device profiles list when the device removes the UUID
(e.g. Mac OS X turning NAP on/off) and after a NAP disconnection when the
remote device only supports PANU.
Bug: 3414575
Change-Id: I2c0830876d5b9bddb293e57c4d3ca74f105911b8
Bug: 3249998
Remove an extra level of menu by moving the Configure Wi-Fi hotspot preference to the Tethering settings page.
Change-Id: I20b67ae1ddd7e9967c99ff6a8039799be792382f
Major refactoring of Bluetooth settings classes.
- Moved all functionality from LocalBluetoothManager into new
LocalBluetoothAdapter and LocalBluetoothPreferences, and into
existing classes.
- Refactored functionality from BluetoothEventRedirector into new
BluetoothEventManager class, deleting the original version. New
version uses a HashMap from action Strings to implementers of the
BluetoothEventManager.Handler interface.
- Created new BluetoothDiscoveryReceiver to update shared preferences
timestamp for Bluetooth discovery start/finish. This is the only event
handling we need to do when the settings app is not visible, so it has
its own receiver entry in AndroidManifest.xml. Edits are written using
QueuedWork.singleThreadExecutor(), which BroadcastReceiver knows about
and will wait for completion, eliminating the need for PendingResult.
- Miscellaneous cleanups to code style and logic for readability.
- Pulled some large switch statement code blocks into new methods.
- Changed all Bluetooth state references to the new BluetoothProfile
constants.
- Changed use of deprecated Notification constructor in
BluetoothPairingRequest to use Notification.Builder.
- Moved Utf8ByteLengthFilter helper function from BluetoothNamePreference
into its own class, and moved test cases into the same package.
- Moved all LocalBluetoothProfileManager functionality related to
specific profiles into new top-level classes (A2dpProfile, etc.), all
implementing the LocalBluetoothProfile interface.
- Moved all UI-related methods from CachedBluetoothDevice into the class
that uses the method, or into the static Utils class for shared methods.
Change-Id: I6d49b7f4ae0c7d7dcf62551ee40b51ecb5fe4f47
Bug: 3407666
onCreateView can get called on returning from another fragment. Moved the
relevant code to onCreate().
Change-Id: Icf08c18a3981051cce4eca2d07334d0a9f3c0116
Bug: 3368545
Also fix a couple of bugs in TetherSettings:
Bug: 3090156 - view was being reused without removing from old dialog
Bug: 3368493 - preference being removed a second time
Change-Id: I8fe513d41e1f3af6994783be5ead69b6bd205711
Remove obsolete Bluetooth tethering settings screen. BT tethering can
be turned on and off, but the connection must be initiated by the
remote device. For reverse tethering, there will be a checkbox for
that profile in the regular Bluetooth device settings screen.
Bug: 3283928
Change-Id: Ic25139f8862b305feb0381e61c24b7783fad2366
Add UserLeaveHintListener.java, so that the settings won't use
its implementation around Activity#onUserLeaveHint().
Also fragmentize bluetooth tethering screen.
Change-Id: Id06ae3161fbdb5854ddb7a257f464fb16ea9b089
(This replaces Iaa0f3b25eaadb094a4c3fb4cecbd09e0322aae33)
This change removes the need to convert Object[]->String[] for each iteration
of each of available,tethered,errored states in updateStatus()
by converting these as soon as possible.
This fix (and the code before) is strange because each of available,tethered,
errored are defined as type ArrayList<String> but
intent.getStringArrayListExtra() returns type Object[] dispite its name.
Because other calls to updateState() use String[] it seems best to do the
conversion outside this method in the Object[] case and thus avoid the
per-iteration casting in the Object[] case and the downright wasteful
per-iteration String[]->Object[]->String[] casting in the String[] input cases.
I've also removed some unused imports and an unused variable.
Change-Id: I805ef19aa9ceff7e4fc491623cdcb413ce170798
If the monkeys turn on USB tethering they kill their usb connection
and we lose the results of the run. Fix it by not showing that UI
during monkey runs.
bug:2679627
Change-Id: I7bb476a2d60c97dc9d3922d317fdcb586d0c7aec
It worked with language+country resources but for some resources it's just language.
Added a check to see if we had lanugage+country before deciding which to use.
bug:2605981
Change-Id: Icb667a51f0c376f5188e3a43f264e236cd265468
Had to update the filter settings to accomodate the data scheme
sent with the broadcast.
bug:2504908
Change-Id: Idf07d3b6d408489735c55df5f3310551cf6192f5
Framework Tethering now will remove USB interfaces from the available iface list
when UMS is started. Do note when UMS changes though so we can display the correct
strings.
bug:2469818
Change-Id: I5bf1eaea71994cbf9882e10301e88593533651a2
If tethering is disabled (build var or a gservices property) for the device,
don't show any of the tethering options. If Usb Tethering is disabled (config.xml) don't show
Usb Options. If Wifi Tethering is disabled (config.xml) don't show Wifi Options.