Commit Graph

624 Commits

Author SHA1 Message Date
jackqdyulei
837200041f Move "Received files" in BluetoothSettings
Move it from menu to preference

Also clean up the code about menu since there is no menu anymore
in BluetoothSettings

Bug: 35876447
Test: RunSettingsRoboTests
Change-Id: I4a3821595a0cc75382f1cf74bcafb3ecc44cc178
2017-06-16 13:45:46 -07:00
TreeHugger Robot
5bf8d87454 Merge "Add a new Bluetooth device details page" 2017-06-06 01:28:54 +00:00
Jack He
c11af01481 Bluetooth: Always scan while on pairing or DevicePicker page
* Modified DeviceListPreferenceFragment to have enable/disable scanning
  methods. In ENABLE state, each onScanningStateChanged(false) will
  restart another round of scanning
* Subclasses of DeviceListPreferenceFragment should call enable/disable
  scanning when scanning is needed for long period of time
* Currently, BluetoothPairingDetail and DevicePickerFragment call
  enableScanning() when Bluetooth is turned ON and call disableScanning
  when some device is picked in their lists
* Both BluetoothPairingDetail and DevicePickerFragment will re-enable
  scanning if pairing failed for selected device
* Added associated unit tests as well

Bug: 32172815
Test: make, pair Bluetooth device, send file over Bluetooth Opp
Change-Id: I99325e06aadd7b00e7a7ba6d6c282a6831859d8b
2017-06-05 12:13:46 -07:00
Antony Sargent
04a3b2199e Add a new Bluetooth device details page
Bug: 35877479
Test: make RunSettingsRoboTests

The existing behavior is to bring up a dialog with Bluetooth device
details with checkboxes for each supported profile. This adds a new page
that serves the same purpose with a switch for each profile and a footer
containing the MAC address.

Whether to use the new page or old dialog is controlled by a flag
accessible via BluetoothFeatureProvider.

Change-Id: I026c363d4cd33932a84017a67cbef51c258bad10
2017-06-05 11:17:06 -07:00
Antony Sargent
e4a9530cc1 Add a flag for the Bluetooth device details page
This flag will be used to control whether we use a new, separate page
for Bluetooth device details, or the existing dialog.

Bug: 35877479
Test: make RunSettingsGoogleRoboTests
Change-Id: I2bda77493695ebe3b3bb824657a1422a68918256
2017-05-24 16:37:42 -07:00
TreeHugger Robot
602a714502 Merge changes Ief9e9690,I1cc1bc2d
* changes:
  Split BluetoothSettings into two pages
  Dupe BluetoothSettings and DeviceListPreferenceFragment
2017-05-23 01:36:22 +00:00
jackqdyulei
52ccb49fbe Split BluetoothSettings into two pages
This cl splits the BluetoothSettings into paired device page and
pairing page, including small changes about:
1. Refactor the pages so they could get as much as static preference
from xml file rather than dynamically add/remove them everytime.
2. Remove creating method in BluetoothDeviceNamePreferenceController
and add it in xml file
3. Create BluetoothPairingDetail page, basically move the logic from
BluetoothSettings.
4. Make pairing preference clickable and jump to BluetoothPairingDetail
5. Add and update bunch of tests

Bug: 35877041
Test: RunSettingsRoboTests
Change-Id: Ief9e9690c612f7b46c58e866e5cecc511af642c8
2017-05-22 16:57:37 -07:00
Hemant Gupta
40901478f9 Merge "Settings: Convert notifications to use NotificationChannel (2/2)" into oc-dev am: 860b608e41
am: 7eb5647656

Change-Id: I8d9c6e314a1b02cafc9523fae31a06dabfad4465
2017-05-20 01:39:52 +00:00
Hemant Gupta
7eb5647656 Merge "Settings: Convert notifications to use NotificationChannel (2/2)" into oc-dev
am: 860b608e41

Change-Id: If246a2f7d340b1d21c805322fa10f0c2fed8115c
2017-05-20 01:37:14 +00:00
Hemant Gupta
7bec5bf895 Settings: Convert notifications to use NotificationChannel (2/2)
Test Setup:
===========
HW DUT: Pixel O
Remote: MecApp (PBAP Client, MAP Client, SAP Client)

Steps:
=====
1. Enable BT on DUT and bond with Remote.
2. Connect from MecApp for PBAP, MAP, SAP and observe if
   connection goes through fine.

Reproducibility:
===============
5/5

Observation:
============
MAP, PBAP and SAP cannot be connected.

Root cause:
In Android O, notifications are hidden by default.
This must be changed to use notification channels so that the
priority of the notifications can be updated.

Test: PBAP/MAP/SAP connection works fine with MecApp.

Bug: 38331825
Change-Id: I51de0ea303037bf88773352d99f092673acda2e3
(cherry picked from commit bd9f532013f0397879101f68f21ac8841fec344b)
2017-05-19 23:33:29 +00:00
jackqdyulei
5333ecd1fb Dupe BluetoothSettings and DeviceListPreferenceFragment
Create the obsolete version of the belowing fragments, so we could
flip between old page and new page.

BluetoothSettingsObsolete and DeviceListPreferenceObsoleteFragment
contains all the old logic but:
1. Logic about BluetoothPairingPreferenceController(ag/2239482),
since this preference shouldn't be checked in without the flag :(

This cl also adds logic in MasterSwitchPreferenceController to flip
these two pages.

Following cl will refactor these fragment to make it compatible
to new framework.

Bug: 35877041
Test: RunSettingsRoboTests
Change-Id: I1cc1bc2d49d8a3e11c3127e56f6409fbc84028d8
2017-05-18 14:12:02 -07:00
Antony Sargent
3033c1a2cf Merge "Add a "Use high quality audio" option to Bluetooth A2DP device settings" into oc-dev am: c439202da9
am: 3afb6616c6

Change-Id: I37280e12b32047ddef316be763f69b5ff648b557
2017-05-17 19:41:16 +00:00
Antony Sargent
3afb6616c6 Merge "Add a "Use high quality audio" option to Bluetooth A2DP device settings" into oc-dev
am: c439202da9

Change-Id: I2e0eed6c7332a9968b020c69dcc7f5507b355f6e
2017-05-17 19:12:43 +00:00
Antony Sargent
f1d544f945 Add a "Use high quality audio" option to Bluetooth A2DP device settings
This change adds a checkbox reading "Use high quality audio: <codec
name>" to the details dialog for A2DP audio bluetooth devices that
support codecs other than the mandatory SBC (eg AAC, LDAC, aptX, etc.).

Bug: 37441685
Test: make RunSettingsRoboTests

Change-Id: I6e5423db11a0cd7fe0b1141dd998e7c936c240f0
2017-05-16 11:02:52 -07:00
jackqdyulei
1b853c5597 Add pairing preference
This preference lives in paired category. When clicked, it will
go to the pairing page.

Bug: 35877041
Test: RunSettingsRoboTests
Change-Id: I64706c49c8d303a494d4c1827e1f86b59effd54c
2017-05-15 10:46:28 -07:00
Juan Lang
777ed2535a Depend on SettingsLib's version of lifecycle and FooterMixin.
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.

Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
     && make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067
2017-05-12 11:10:46 -07:00
TreeHugger Robot
631120f1ad Merge "Add bluetooth visible item" 2017-05-11 23:45:29 +00:00
jackqdyulei
ae86781edd Add bluetooth visible item
Show "Visible as [Device name]". Also remove the menuitem for
changing device name.

This cl creates a preference controller to handle the logic for
device name preference.

Bug: 35876447
Test: RunSettingsRoboTests

Change-Id: I9ab6c9d2df5b053d15b8ff887073ef82616243a4
2017-05-11 11:12:25 -07:00
Lei Yu
7932d5a66f Merge "Expose mac address in bluetooth main page" 2017-05-10 20:42:03 +00:00
Lei Yu
c0d798ff06 Merge "Add feature provider for Bluetooth" 2017-05-10 19:55:17 +00:00
jackqdyulei
d2ba0117fc Expose mac address in bluetooth main page
This mac address means the owned device, not the device
to connect.

Bug: 35875420
Test: RunSettingsRoboTests
Change-Id: I142f49fdca72d8ffbb9b8b2e2666a61aefb80505
2017-05-10 11:18:10 -07:00
jackqdyulei
3db59a8430 Add feature provider for Bluetooth
Also add method to check whether pairing page is enabled.

Bug: 38134564
Test: RunSettingsGoogleRoboTests
Change-Id: Ib74ece46f9624242895a366eac889957924f84c6
2017-05-08 16:06:42 -07:00
jackqdyulei
e407e67a3b Create RestrictedDashboardFragment.
RestrictedDashboardFragment has all the same logic coming from
RestrcitedSettingsFragment but extends from DashboardFragment.
As a result, we could use preferenceController in child class of
RestrictedDashboardFragment.

This cl also make DeviceListPreferenceFragment as child of
RestrictedDashboardFragment, which enfluences the bluetooth page.

Bug: 38041586
Test: Build
Change-Id: I01395d506176c5cc584948478f7ca16c1c7c7045
2017-05-08 13:34:54 -07:00
Jack He
a16bcf17d4 Merge "Bluetooth: Dismiss pairing dialog on user click" into oc-dev
am: fdd8d3f6ae

Change-Id: Ie5d30226ef700f29af206416b8392fd9f6017784
2017-04-27 00:37:38 +00:00
TreeHugger Robot
fdd8d3f6ae Merge "Bluetooth: Dismiss pairing dialog on user click" into oc-dev 2017-04-27 00:32:12 +00:00
Jack He
2a67cf0465 Bluetooth: Dismiss pairing dialog on user click
* 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
2017-04-25 14:13:26 -07:00
Ruchi Kandoi
7094f1d170 Merge "Add searchable index for Bluetooth and Nfc only if the feature exists" into oc-dev
am: 41a858fde1

Change-Id: Ida195181c34d5f53ea544b1a0c81d3154385219e
2017-04-25 19:20:06 +00:00
TreeHugger Robot
41a858fde1 Merge "Add searchable index for Bluetooth and Nfc only if the feature exists" into oc-dev 2017-04-25 19:05:42 +00:00
Ruchi Kandoi
7ca6c2410c Add searchable index for Bluetooth and Nfc only if the feature exists
Test: make RunSettingsRoboTests
Bug: 35657961
Change-Id: Ie2f4722b2b1599981c933f87f95016909ba92022
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2017-04-24 13:15:35 -07:00
Lei Yu
96cba04e0d Merge "Add device name for connect string" into oc-dev
am: bcaabec925

Change-Id: I83920ad2cecfece9ed7bb4acb50fe6a6068bd51b
2017-04-24 19:43:08 +00:00
Lei Yu
bcaabec925 Merge "Add device name for connect string" into oc-dev 2017-04-24 17:00:49 +00:00
Ajay Panicker
344405d87a Merge "Add Bluetooth Pairing notifications to a channel" into oc-dev
am: 8b09195f80

Change-Id: Iced885cd7195ed48920667ef96c0cbbdec587466
2017-04-22 01:53:42 +00:00
Ajay Panicker
2432051bfd Add Bluetooth Pairing notifications to a channel
Bug: 37531430
Test: Send a pairing request to DUT from remote phone
Change-Id: I2014b0aa3c4797cbf8e601003471372f4920d21d
2017-04-21 16:44:55 -07:00
jackqdyulei
471d71bae0 Add device name for connect string
When there are more than one connected device, show
a general summary.

Bug: 37365660
Test: RunSettingsRoboTests
Change-Id: I0eed734e82750969bef97a61dd59167e679c0203
2017-04-21 15:10:56 -07:00
Marie Janssen
f8aaed9e1f Bluetooth: Make pairing notification cancellable
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
(cherry picked from commit c79470d089)
2017-04-21 20:19:20 +00:00
Marie Janssen
f119ab31ad Merge "Bluetooth: Make pairing notification cancellable" am: 6c142b35b4 am: 28bbd5bacb
am: c7ad828691

Change-Id: I1b6a63bdca7a104f993b9114f7c0da18c5e8df22
2017-04-21 18:54:11 +00:00
Marie Janssen
c79470d089 Bluetooth: Make pairing notification cancellable
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
2017-04-20 15:22:20 -07:00
Lenka Trochtova
33707767be Check for user restrictions disallowing BT in BluetoothEnabler.
am: 363b3303c0

Change-Id: I6c85b31a44930e174a8caff04696d70884fc1dbc
2017-04-20 16:03:26 +00:00
Lenka Trochtova
363b3303c0 Check for user restrictions disallowing BT in BluetoothEnabler.
Test: make RunSettingsRoboTests -j40
Test: manual

BUG: 35596982
BUG: 32895313

Change-Id: Ie8f53b665a4aad4e6b17b20602cbe5502998d7a2
(cherry picked from commit 479d197196)
2017-04-20 10:26:14 +00:00
Fan Zhang
668dae22e7 Merge "Revert "Revert "Convert BT preference to use TwoTargetPreference""" into oc-dev
am: fd29aada6b

Change-Id: I30e9087f3e90055ccc1192743814c42f3a28a21e
2017-04-11 23:42:46 +00:00
Fan Zhang
00d8ff5d6e Revert "Revert "Convert BT preference to use TwoTargetPreference""
This reverts commit 457c3cbec2.

Revert with fix/test.
The fix is that we removed DevicePickerFragment#initDevicePreference(),
which incorrectly set a useless widget on preference, and removes the
gear icon from preference, preventing bind() call to go through

Change-Id: Ia70cdb51d13cca6035a4e7fe8008d195f7f00c6e
Fix: 36511169
Test: runtest --path tests/app/src/com/android/settings/bluetooth/DevicePickerActivityTest.java
2017-04-11 09:45:27 -07:00
Marie Janssen
d76cc0a468 Bluetooth: only unregisterReceiver if we register
We can get to onDestroy() without registering now.

Test: none
Fixes: 36501241
Change-Id: I90da3b350f9951993238d51f9fde86ccb335cafd
(cherry picked from commit af34ed06f1)
2017-04-06 08:45:27 -07:00
Marie Janssen
097b20b453 Merge "Bluetooth: only unregisterReceiver if we register" am: 4dc556bda8 am: c27d7effb0
am: f72e86f332

Change-Id: Ic0a53a4904b11342fe89bed6d4dea69e595a6cf7
2017-04-06 00:20:16 +00:00
Marie Janssen
4dc556bda8 Merge "Bluetooth: only unregisterReceiver if we register" 2017-04-06 00:01:58 +00:00
Jack He
4b27231fd4 Fix a crash when an app requests Bluetooth to be discoverable
am: ebbfce0bf1

Change-Id: I3fcdf1abcf7ce42b7f95dc9ca34aad6dac03daff
2017-04-04 04:12:08 +00:00
Jack He
ebbfce0bf1 Fix a crash when an app requests Bluetooth to be discoverable
* When an app requests Bluetooth to be discoverable with a timeout and a
  non null EXTRA_PACKAGE_NAME, Settings app should put in the correct
  timeout values in the dialog string

Bug: 36870303
Test: make, try making Bluetooth discoverable via
      ACTION_REQUEST_DISCOVERABLE intent

Change-Id: I0cebc2f20371c9de5f28feb26425422c0777aa45
2017-04-04 01:53:20 +00:00
Hemant Gupta
ec6815ea7c Merge "Bluetooth: Fix Resource Leak in OPP (1/2)" am: e270a6aa85 am: 2ffab51c0e
am: b5e14d5f30

Change-Id: Ie2246c812f6a34086c19561f62e73f714bdd8eff
2017-04-03 17:57:42 +00:00
Hemant Gupta
2ffab51c0e Merge "Bluetooth: Fix Resource Leak in OPP (1/2)"
am: e270a6aa85

Change-Id: Ia5108737add480f2cce52663f13d496653c37320
2017-04-03 17:50:36 +00:00
Hemant Gupta
33c7e03b6a Bluetooth: Fix Resource Leak in OPP (1/2)
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
2017-03-29 13:45:34 +00:00
Doris Ling
457c3cbec2 Revert "Convert BT preference to use TwoTargetPreference"
This reverts commit 09c7f15b12.

Change-Id: I29aa67f026c0b54da08b19657f9916275e5a3459
2017-03-28 20:03:10 +00:00