Add actions to the pairing service notification so the user can dismiss
the pairing request if they want to.
Add some more information to logs when the user takes an action.
Reformat the file to match android style.
Test: pair from a remote device, dismiss using the new actions
Bug: 36036358
Change-Id: Ie110044bd4caf465f454452737000f01e7430925
Handle onDestroy in DevicePickerFragment class, which would be
called when user presses back button and does not select any device.
This will send intent to class that called DevicePickerFragment that
no device is selected.
Test: Performed the usecase overnight and see if no crash is observed.
Bug: 35626275
Change-Id: Ib3965d7dea8d59b244abdc6ffe61ef21109346fb
If BluetoothPairingService was stopped and restarted, it would receive
a null intent, and it also would not signal correctly when it needed to
be stopped.
Since restarts can happen, check that we are still bonding when starting.
Also prevent crashes when we might be called with a null intent.
Test: initiate pairing remotely, adb am kill service, notice no crash
Bug: 36130262
Change-Id: I408811935fdb36591826f4481d103cf4799db27e
Bluetooth is the receiver for the OPEN_RECEIVED_FILES intent, so we
should aim the intent directly at them.
Test: go to BT settings and click "Open Received Files" in the context
Change-Id: I057215f1faf04c8c735a7e9340325716225ad22d
Fix: 35246073
Use a foreground service to show the notification, separating dialog
creation from the receiver.
Test: pair request from remote device while the screen is off
Bug: 35234069
Change-Id: Ia3be3e8efdacf465e095af5a498ef5eb0fca83cd
Use new function getDiscoveryEndMillis() to replace use of shared preferences
and intents.
Test: scan recently, then connect from external BT device
Bug: 34395439
Change-Id: Ia498b3bb4868b656cbbb9fbdc607a49af948343b
When pairing passkey is invalid, onCreate() should return early to
prevent any dialog from displaying, which will then call onDestroy()
to destroy the activity. However mReceiver should be registered before
onDestroy() is called as onDestroy() will call unregisterReceiver(mReceiver)
that will throw an IllegalArgumentException when mReceiver was not registered.
This fix adds a flag that tracks whether mReceiver has been registered.
In addition, this fix fails the passkey confirmation request upon invalid
passkey.
Bug: 32577328
Test: Test with PTS TC_SERVER_SA_BI_01_C
Change-Id: Ifc047bad6bd99abca04404af9cd54d2034cd35aa
(cherry picked from commit 6f8e9eda2d9ed830d47971d93327792906db2dc1)
If permission review is enabled toggling bluetoth on or off
results in a user prompt to collect consent. This applies
only to legacy apps, i.e. ones that don't support runtime
permissions as they target SDK 22.
bug:28715749
Change-Id: I0b9065446f9d0cfb819065eaf2dc160eb1c1f7ec
Trying to set a discoverable timout of 0 for Bluetooth will now
not allow bluetooth to be discoverable forever.
Bug: 28177801
Change-Id: Icfa03e2100f8e7f31415ebab39889b9ec32e6c77
Was bug in some code trying to handle preference animations better.
Since those animations are all disabled now, just remove everything
again and re-add it.
Change-Id: If1ce07a8f2b4144d95a95cec6ebb1b423644825a
Fixes: 29314480
Previously, adapter names which tend to be LTR and may appear at the
beginning of the string could cause the detected bidi direction of the whole
string (which would be RTL in RTL locales) to get miscalculated as LTR.
With this fix, not only the detected bidi direction would be correct,
but also odd adapter names would not impact the bidi layout of the
whole string.
Bug: 28816891
Change-Id: I1d25edbeeff7e9c013bb6c741e7f706431e721dc
If the Bluetooth enable(true) returns false currently we are waiting for
a broadcast (which may not happen if enable returns false). We mark the
toggle to have failed (i.e. it is clickable and in OFF state) and the
switch bar text is appropriately shown.
Bug: b/28318203
Change-Id: I09ba46d2e102e7f2c4ef9a72bf38dedc1346364f
not accessible to TalkBack users.
b/28199679 Changed method to for setting the talk-back
attribute on "device type".
Change-Id: I63820d861ea1075195b98c82004ba95470448a53
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
Disable animations for all SettingsPreferenceFragments, unless they
explicitly ask for them before creating their preference screens.
Turn it on for all fragments using the cached removal currently.
Bug: 27713314
Change-Id: I1bc14e7aeb3ee5b8ddb4f3547f472305cd312edf
In the off/turning on state all items were being removed, but never
re-added to the preference screen.
Bug: 27347029
Change-Id: I8f47ee79f428fc8555a0dc6574244c81aa85c6c8
Removing all prefs causes ugly animations, so avoid it at all cost
and cache all the prefs (while still added) as long as possible.
Bug: 26271353
Change-Id: I33b84d751938b460f4b66c0158057407dd45d974