This change enable the posibility to enforce using a
16-digit pin or MITM for a RFCOMM or L2CAP connection.
This is needed for the SIM access profile.
Change-Id: I6bb2b0dff1ebf4b4f1d8faad97aa7c480000d3ea
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
Move the non-ui bluetooth control/tracking code to SettingsLib so
that it can be shared with others.
Mostly just move classes to frameworks/base/packages/SettingsLib,
however a few things had to move around.
- Dock handling had to move back to code still in settings
- Local preference related code had to be moved back to settings
- Added an error flow from SettingsLib to Settings
Depends on I69fd888362c6dbb325f6113b32c4b15cc6a23a41
Bug: 19180466
Change-Id: Ie57fe26a27bbb0adc2ef69e042a05c7290c6a52a
As a result of commit 7de119c (ag/591931), SDP is performed when the
pairing dialog pops up. There are multiple problems with this. On badly
behaved devices an SDP request might trigger pairing from the remote
side, other devices (like Logitech keyboards) will close the connection
once SDP disconnects, causing the pairing to fail.
Further more, fetchUuidsWithSdk() is an asynchronous call. The code that
was added does not wait for SDP to complete. Thus the check for the PBAP
UUID will always fail and cause the permission check to still be
displayed.
With this change, SDP is not performed when the dialog is popped up and
PBAP permission is granted after bonding and subsequent service
discovery in accordance with final consensus in bug 16964116.
Bug: 18948640
Change-Id: I149afa8ae59b63f59ba579c12f97c3ea3d70112c
+ When two devices are executing Bluetooth simply pairing, which does
not need keyboard input, the message "Type the pairing code then press
Return or Enter." has been removed.
+ Note that in legacy pairing the message to type in the pairing key
should remain even if the user is only verifying the key. The reason is
that we are not able to guarantee the other device does not have to input
the key.
+ Also updated pin entry to Material/Quantum specification.
Bug: 17400402
Change-Id: I7853fa13835f7f60d0e71102de9a079708f3544e
During bluetooth pairing, HTML injection is possible via the device name displayed to the user. This escapes the device name, before creating HTML from it, so it will preserve things like < and > but will not affect rendering of HTML
Bug: 12976386
Change-Id: I8a02d3be8c1a779dc9ed1c9ef8083a1159ab3f2b
- Pressing back key when pairing dialog appears infront , device shows "Pairing..."
if we don't have any bonded device in device list.
- when press back key will perform onCancel() operation.
Change-Id: Iacd654efad455f17a5c3bb09f822d9af5a7aed7d
Signed-off-by: jhtop.kim <jhtop.kim@samsung.com>
- In pairing dialog box even if PIN was removed in text box, still the OK button is enabled
- When length is zero , disable the OK button in pairing dialog
- update fix to prevent error while mOkButton is not ceated.
Change-Id: I38ff3029cff2e7c4e87b7f9c93fa262125e91d44
Signed-off-by: jhtop.kim <jhtop.kim@samsung.com>
* Change Bluetooth pairing dialogs to match ICS wireframes.
* Default to numeric soft keyboard for PIN entry, and add checkbox
to allow user to switch to alphanumeric keyboard if necessary.
* Move all Bluetooth advanced settings into action bar menu.
* Toggle visibility by touching "My device" entry in devices list.
Change-Id: Ic2377eb4364f41d215181cb1e3933997c9db9106
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
Allow individual Bluetooth profiles to be connected/disconnected from
the device's settings pane.
Bug: 3137982
Change-Id: I21512c5bf965fc523f3dc1e83d029b16b5e22440
Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.
BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).
- Changed the Passkey confirmation to show Pair/Don't Pair.
- Fixed the problem where the Ok button was showing up as Pair for the error dialog box.
- Disable the toasts when pairing failed in this case. Will need to check if this causes regression in other cases.