This CL added null check for the case that dialog
is started from adb command.
Bug: 129783237
Test: manually
Change-Id: I47d47cb5ddfe3487e2d616d1cf2ed08bd11d215d
This patch focused on fixing compile errors and some runtime errors.
Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
* When Activity.finish() is called, it's associtated fragments are all
dismissed automatically
* Cached used fragments are dimissed in onCreate() before new ones are
created
Bug: 62230203
Test: Pair with Bluetooth device, Settings unit tests
Change-Id: Ieca88ba0660c5407f0d88d572d06a722c642ac39
* Existing pairing dialog should be dismissed when user clicks on Yes/No
* In a pairing session with multiple pairing dialogs, this is necessary
as otherwise the second pairing dialog will not be shown
* Modified unit test to test this behavior
* Launch pairing dialog as UserHandle.CURRENT to avoid Context warnings
Bug: 35833536
Test: make, unit test, pair with Bluetooth devices
Change-Id: I1823b78d287134505f59eab7caca2329ecc3a36f
Dialogs displayed when attempting to connect
to a bluetooth device have been refactored so
that they use a proper dialog fragment. Hardware
dependencies have also been refactored into a
controller class to make it possible to test
these dialogs as well as the controller
independently of one another.
Test: RoboTests
Bug: 32180625
Change-Id: I5447f8299bc13e139052635fc63546cbfc997f33
Fixes: 31539689
Test: manually enabled talkback and focused on bt pairing pin. Verified
read-out is digits instead of a big number.
Change-Id: I71c53094762a71459e70485470684c515053b600
BluetoothPairingDialog no longer asks for a
pair code when the user only needs to
confirm that they would like to connect
to a device. Also, the layout padding
was updated a bit to make it look nicer.
Test: RunSettingsRoboTests
Bug: 31340598
Change-Id: I9394fcd53dffcff9a17fbafabdce0e94ae88fba2
Remove the always there checkbox for phonebook permission when pairing
from a device that supports the client side of PBAP rather than the
server side. A device should not support both PBAP PSE and PCE.
Bug: 25933871
Change-Id: I9535bbb9d5fcdfeaa13a2fec3461f47bb5518e28
+ In BT pairing dialog, uncheck checkbox for contact sharing by default
for devices not recognized as carkits at pair time.
Bug: 23607427
Change-Id: I7f1d40d86e713e248d3c225459be4895c4f75d76
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.