Commit Graph

16 Commits

Author SHA1 Message Date
Svetoslav Ganov
13088cac84 Add Bluetooth toggle prompts - settings
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: I5ae0c532c92b2c05a91f0d769ca6744002747fca
(cherry picked from commit b06766f129)
2016-10-26 13:30:38 -07:00
Ajay Panicker
3c1149871d Do not allow apps to cause Bluetooth to be discoverable forever
Trying to set a discoverable timout of 0 for Bluetooth will now
not allow bluetooth to be discoverable forever.

Bug: 28177801
Change-Id: Icfa03e2100f8e7f31415ebab39889b9ec32e6c77
(cherry picked from commit 6dcab67c0c)
2016-08-18 13:28:27 -07:00
Jason Monk
f2982a9ba1 Move isolatable bluetooth code to SettingsLib
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
2015-02-05 10:43:57 -05:00
Wei Wang
17d2124c1c Revert "BLE peripheral mode (4/4): Settings change for advertising preference."
This reverts commit eb56b9ccb8.

Conflicts:
	src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
	src/com/android/settings/bluetooth/BluetoothSettings.java
	src/com/android/settings/bluetooth/LocalDeviceProfilesSettings.java

Change-Id: I2ce6b9eb0e335ba1b9aa4e1cb61a041f00d9aa87
2014-03-03 11:18:21 -08:00
Wei Wang
eb56b9ccb8 BLE peripheral mode (4/4): Settings change for advertising preference.
Change-Id: I5721f136267fe25e55f764bb4a6c53acd45b318b
2014-01-13 17:41:02 -08:00
Jake Hamby
95c1003f1c Fix Bluetooth enable dialog to match Android style guide.
When an app requests to enable Bluetooth and/or Bluetooth discovery,
we show a dialog for user confirmation. Remove the dialog title,
update the message text and button labels to be more descriptive,
and use the standard dialog layout instead of a custom layout.

Also fixes the button layout on the Bluetooth permission test app so
that the "Discoverable" button doesn't wrap to two lines.

Bug: 6001468
Change-Id: I731e2f31b4c822395fc3f83584a092550d9ae7d3
2012-11-20 18:21:44 -08:00
Srikanth Uppala
4bb010a67f add discoverability timoeut when set by 3rd party app
Change-Id: Ibfd358121f8f9fbbf3b9bc06c5be7b9300e0ba53
2012-07-16 15:38:37 -07:00
Mike J. Chen
31c5ec8202 Allows auto dismissing of bluetooth activation dialogs
Create a new overlay boolean that allows products (like Android@Home
ones that have no or minimal display) to not bring up the bluetooth
activation confirmation dialog.

Change-Id: Ib76a26d440ede34cc8a41ffc8b680ca2b20b38ca
Signed-off-by: Mike J. Chen <mjchen@google.com>
2012-02-10 15:29:44 -08:00
Jake Hamby
436b29e68e Refactor Bluetooth settings for readability and performance.
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
2011-03-01 18:44:36 -08:00
Jaikumar Ganesh
d955af8461 Changes for public API of Bluetooth Discoverability.
1. Apps can ask for any time between 0 and 3600 secs
2. O implies always discoverable
3. Any invalid values will default to the defaul - 120 secs.

Change-Id: Ife1bc803587ba975bb103a5ba7629d4a382cd705
2011-02-01 19:58:29 -08:00
Chris Wren
1b0489cb3e Allow users to change the length of Bluetooth discoverability to
be two minues, five minutes, an hour, or forever discoverable.

This addresses the internal bug 2413429:
	http://b/issue?id=2413429
and external issue 6348:
	http://code.google.com/p/android/issues/detail?id=6348

Original Author: Chris Wren <crwen@google.com>
Modifications done by: Jaikumar Ganesh<jaikumar@google.com>

Change-Id: Ie12e56ac41aa01a161d263c7525b6e021d4eeb1f
2011-02-01 16:25:44 -08:00
Jake Hamby
39ef225e7c Enable reverse tethering in BT settings screen.
- Enable support for reverse tethering in BT settings.
- Add string resource for "Auto connect" preference.
- Remove unused imports and other minor cleanups.
- Add isConnectable() and isAutoConnectable() methods to Profile
  enum type and remove isConnectableProfile() method.

Change-Id: Ie606db04028a8278e98231f0671a388671f2f067
2010-12-22 14:54:33 -08:00
Brad Fitzpatrick
c5c8dad0af Use new apply() instead of commit().
apply() starts an async disk write and doesn't have a return
value but is otherwise identical in observable effects.

Change-Id: I0f528607319d7eb5136bb11fce0b24d8741ccdf9
2010-09-14 09:26:51 -07:00
Michael Chan
a0de1dcd19 b/2630339 Fixed the crash when an app requests BT to be enabled
For AlertActivity, the dialog needs to display at onCreate() time.
Otherwise, the decor view would be made. Trying to display the
dialog afterward would crash. Changed to AlertDialog instead.

Change-Id: I2ea8463b4c475b9b54746d0a722fa80eea3d4529
2010-04-28 11:24:00 -07:00
Michael Chan
834e5993e4 b/2234854 Fixed Bluetooth API return codes for requesting permission to enable bluetooth
Also added test app.
2009-11-05 18:32:09 -08:00
Michael Chan
e1089ad338 b/2142065 Added Bluetooth API to allow developer to request the user's permission to enable discovery mode.
Change-Id: I6da1598661ad05b4cfd2b7cc81e05d3053df5777
2009-09-28 17:16:23 -07:00