Commit Graph

1115 Commits

Author SHA1 Message Date
Fan Zhang
f6e6ae2441 Fix a bug where bt name is updated to wrong preference.
Change-Id: Ica0ef6763e8868fc33773f2db917aba29193b632
Fix: 63772093
Test: robotests
2017-07-17 23:06:07 +00:00
Lei Yu
70966973a1 Merge "Add metric action for bt rename dialog" into oc-dr1-dev am: 8e1f509b5d
am: 23de6959af

Change-Id: I68b23030c05e9d0949675dc158f8fb7dd8ab6479
2017-07-14 17:38:25 +00:00
Philipp Weiß
036304f32d Merge "Bluetooth Settings Policy Transparency" 2017-07-14 09:51:14 +00:00
jackqdyulei
7190797b73 Add metric action for bt rename dialog
Bug: 63553537
Test: runtest -x BluetoothNetworkSettingsTests
Change-Id: Ic618133da513bb0c22ac4d79e5d7cb75412a93dd
2017-07-13 14:58:24 -07:00
TreeHugger Robot
c0ca084622 Merge "UI refresh on bluetooth list page" into oc-dr1-dev 2017-07-13 20:05:25 +00:00
Antony Sargent
27afdf0c26 Merge "Make sure PIN edit control is focused" into oc-dr1-dev am: 61e61d96d1
am: d1b5116213

Change-Id: I1df59b4c237b0daff4f5c44a444d35df8cc77cb0
2017-07-13 20:00:37 +00:00
Fan Zhang
7b9568c10d UI refresh on bluetooth list page
- xml layout clean up
- add "Device name" preference, tapping will bring up rename dialog
- Remove tap target from original device_name pref

Merged-In: I6e9764dbb6c51f94be6d6a61d5a6401141407409
Change-Id: I9cb67cc557a9b932d7cf795a8d4a6fb5215c4365
Fix: 62890841
Fix: 62891178
Test: robotests
2017-07-13 11:08:18 -07:00
phweiss
df4bb2a84f Bluetooth Settings Policy Transparency
If handleStateChanged() is called after
maybeEnforceRestriction, the disabled switch will be
enabled again, only to be disabled when the user touches it.

Bug: 37737621
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER=*BluetoothEnablerTest

Change-Id: I3086806dfd6d911d6d7fca1f1d30fa7d8b8757d1
2017-07-13 18:47:30 +02:00
Antony Sargent
4d7df06eb4 Make sure PIN edit control is focused
When doing Bluetooth pairing and the dialog reqesting a PIN comes up, we
want the PIN field to be focused and the keyboard to be shown. This fixes
a regression from N.

Bug: 62857671
Test: make RunSettingsRoboTests
Change-Id: I00dabfda737b6ac61b50518e11f21e5f9a5a1be1
2017-07-12 17:34:36 -07:00
TreeHugger Robot
a2070f9a4f Merge "UI refresh on bluetooth list page" 2017-07-12 23:05:58 +00:00
jackqdyulei
236be82872 Merge "Fix bug in DevicePickerFragment" into oc-dr1-dev am: 0e467d594e
am: ba757bb235

Change-Id: I64e8378be62775844191b8394cae203c58e4b2fd
2017-07-12 22:28:28 +00:00
TreeHugger Robot
0e467d594e Merge "Fix bug in DevicePickerFragment" into oc-dr1-dev 2017-07-12 22:20:00 +00:00
Fan Zhang
f57e167375 UI refresh on bluetooth list page
- xml layout clean up
- add "Device name" preference, tapping will bring up rename dialog
- Remove tap target from original device_name pref

Change-Id: I6e9764dbb6c51f94be6d6a61d5a6401141407409
Bug: 62890841
Bug: 62891178
Test: robotests
2017-07-12 13:24:25 -07:00
jackqdyulei
5fbdfddb13 Fix bug in DevicePickerFragment
BluetoothProgressCategory will add a no device preference if it is
not scanning and no device is added to the list. Since
DeviceListFragment doesn't report its scanning status correctly, it will
show "No nearby device" even though it is scanning.

This cl add control code for BluetoothProgressCategory in
DeviceListFragment, which avoid the unnecessary no device preference.

Bug: 62492822
Test: RunSettingsRoboTests
Change-Id: Ic49f21cb58a80dcd37c5737800181263ae876ebc
2017-07-12 12:38:12 -07:00
mingliang.x.lei
36c25af6a1 Fix memory leak in Bluetooth settings
Bluetooth settings screen has two categories. Each category should call
removeAll() method to unregister a callback from CachedBluetoothDevice.
But the method is not called for mPairedDevicesCategory.

Bug: 30004142
Test: manual - connect to Bluetooth device and then
               open and close Bluetooth settings screen repeatedly

Change-Id: I5a72994473ee2bb5fc3ad00176d9a930b4839099
2017-07-12 05:42:14 +00:00
TreeHugger Robot
c2e0e41446 Merge "Remove obsolete bluetooth pages" into oc-dr1-dev 2017-07-12 00:01:47 +00:00
Lei Yu
6fab00e64b Merge "Remove obsolete bluetooth pages" 2017-07-11 22:05:25 +00:00
jackqdyulei
07fffc3877 Remove obsolete bluetooth pages
1. Remove BluetoothSettingsObsolete
2. Remove DeviceListPreferenceObsoleteFragment
3. Update master swtich, now constantly point to new page
4. Update the tests

Future cl will remove the page switch API in BluetoothFeatureProvider

Bug: 63444548
Test: Test still pass
Change-Id: I24fb5cd03cf30044edb7201426e11e0a818f0a7f
Merged-In: I24fb5cd03cf30044edb7201426e11e0a818f0a7f
2017-07-11 15:01:59 -07:00
Jack He
549d864bbf Merge "Bluetooth: mLocalAdapter should never be null" into oc-dr1-dev am: 86fd147ac6
am: 99eab3d5f9

Change-Id: I7c78e818010bb513dd2ac1d65baa00f4159073b1
2017-07-11 21:26:09 +00:00
jackqdyulei
88a9e4cc19 Remove obsolete bluetooth pages
1. Remove BluetoothSettingsObsolete
2. Remove DeviceListPreferenceObsoleteFragment
3. Update master swtich, now constantly point to new page
4. Update the tests

Future cl will remove the page switch API in BluetoothFeatureProvider

Bug: 63444548
Test: Test still pass
Change-Id: I24fb5cd03cf30044edb7201426e11e0a818f0a7f
2017-07-11 13:12:17 -07:00
Jack He
a4503c5b8b Bluetooth: mLocalAdapter should never be null
* mLocalAdapter should never be null
* We should crash if it is ever null

Bug: 63442969
Test: make, pair Bluetooth device
Change-Id: If98f9ea0762927eb57d00224b62abf24bbec69ba
2017-07-11 12:04:01 -07:00
Antony Sargent
93b1e9bc74 Merge "Get rid of spurious gear icon in BT details page" into oc-dr1-dev am: db522a539d
am: ef7f6663ef

Change-Id: I6a20da2230e27b28c3dac6f1526414e06a13507d
2017-07-07 21:17:44 +00:00
TreeHugger Robot
db522a539d Merge "Get rid of spurious gear icon in BT details page" into oc-dr1-dev 2017-07-07 21:12:58 +00:00
Antony Sargent
2efec86bae Get rid of spurious gear icon in BT details page
The problem is that we were calling done() on the EntityHeaderController
and passing false for whether to rebind the action buttons, which means
we were getting the default behavior including a visible gear
icon. Passing true to request rebinding causes that icon to be hidden.

Bug: 63405635
Test: make RunSettingsRoboTests
Change-Id: I031f4a2d176ff3be025cc2675d7026a679936b03
2017-07-07 11:31:43 -07:00
Antony Sargent
1e673aeafb Merge "Add a confirmation dialog when forgetting BT device" into oc-dr1-dev am: 21423623bd
am: c608cfcceb

Change-Id: I67eebf79d609eff8353255e35f04bf1ff728d497
2017-07-07 02:54:18 +00:00
TreeHugger Robot
21423623bd Merge "Add a confirmation dialog when forgetting BT device" into oc-dr1-dev 2017-07-06 23:46:39 +00:00
Antony Sargent
b6fc6e31a5 Add a confirmation dialog when forgetting BT device
This adds a confirmation dialog for when you hit the "Forget" button to
unpair with a device from the Bluetooth device details page.

Bug: 37955181
Test: make RunSettingsRoboTests
Change-Id: I7643ed09bf363c48078d6de8a47583bf91fc7729
2017-07-06 12:24:32 -07:00
Jack He
bbe2cf45ac Bluetooth: Use string in remote device summary am: 04f5967c95
am: d79f6af9ae

Change-Id: If95cf2c89469d5b9220e3f2741e8c7f9288b655a
2017-07-06 03:29:58 +00:00
Jack He
04f5967c95 Bluetooth: Use string in remote device summary
* Use String in connected device summary instead of resource id
* This allows dynamic strings to be built by CachedBluetoothDevice
  such as ones involve battery level percentages

Bug: 35874078
Test: make, unit test, test with Bluetooth devices
Change-Id: I583eac73280ca17387b215a4e7095e27de399998
2017-07-06 01:22:35 +00:00
Antony Sargent
c73c4b4055 Merge "Fix Bluetooth device details crash on screen rotation" into oc-dr1-dev am: 6d50576496
am: 5438319677

Change-Id: I1595e3c80b731a4c7f86faa198f2cc6e7f05d710
2017-07-05 23:15:53 +00:00
Antony Sargent
1b6e7d76ed Fix Bluetooth device details crash on screen rotation
We were getting the following exception when you rotated the Bluetooth
device details screen:

java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.android.settings/com.android.settings.SubSettings}:
java.lang.IllegalStateException: This Activity already has an action bar
supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR
and set android:windowActionBar to false in your theme to use a Toolbar
instead.

It turns out that allowing EntityHeaderController to inflate the
settings_entity_header.xml view seems to cause this - if you instead
manually include a LayoutPreference and hand that to
EntityHeaderController, you don't have the problem.

The rotation failure couldn't be tested with Robolectric because our
version doesn't support using FragmentTestUtil.startFragment for
fragments which use PreferenceScreen's ("sorry, not yet
implemented"). So instead this includes an app test.

Bug: 62447414
Test: runtest --path=BluetoothDeviceDetailsRotationTest.java
Change-Id: I8d052d1f4ab6e2b0ca5c0e513ec366bdcc382d99
2017-06-30 16:34:40 -07:00
Andrew Sapperstein
c0d544943f Merge commit 'e414cd231656314442cb503f9cda3677561dc44a' into manual_merge_e414cd2316
Test: none
Change-Id: I5dedcc30c9f15fa61532ecad2e0f68de4fd97c8e
2017-06-26 14:28:10 -07:00
TreeHugger Robot
ee55927bd4 Merge "Add a rename dialog for paired Bluetooth devices" into oc-dr1-dev 2017-06-26 19:35:06 +00:00
Tony Mantler
1d583e125f Make PreferenceController a mixin
Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
2017-06-26 10:58:36 -07:00
Antony Sargent
843c3ead6d Add a rename dialog for paired Bluetooth devices
This adds an icon to the paired device details page which users can
click on to bring up a dialog for changing the display name for that
device.

We already had a dialog for changing the advertised name of the local
Bluetooth adapter that's used on the main Bluetooth settings page, so
I've made that abstract and created two new subclasses to encapsulate
the slight differences for this use case.

Bug: 62535241
Test: make RunSettingsRoboTests
Change-Id: I1c407f276e12aedf066a336e24b4ccd16d67c4df
2017-06-26 10:20:38 -07:00
Marie Janssen
493a76e087 Bluetooth: Make notifications local-only
am: 1138397336

Change-Id: I26d09208b0425e5cdfb8317c7aa782ad0ef1fe5d
2017-06-23 00:22:24 +00:00
Marie Janssen
1138397336 Bluetooth: Make notifications local-only
This will prevent them from showing up on external devices where they
would be less than useful.

Test: connect to watch and pair a device
Bug: 34612389
Change-Id: I8b02c20200ce78a73967b8121cf7d5653b68f356
(cherry picked from commit 426903d155)
2017-06-22 16:18:59 +00:00
Marie Janssen
852c930bfd Merge "Bluetooth: Make notifications local-only" am: 348a7085fa am: 620fe71520
am: 3cc4522cbc

Change-Id: I74688eb24e40c7c1a370a9b36dec09b876047011
2017-06-22 15:46:01 +00:00
Marie Janssen
3cc4522cbc Merge "Bluetooth: Make notifications local-only" am: 348a7085fa
am: 620fe71520

Change-Id: I3df0a009c7fc6184ea1176f6953748c5031d76cd
2017-06-22 15:41:55 +00:00
Marie Janssen
426903d155 Bluetooth: Make notifications local-only
This will prevent them from showing up on external devices where they
would be less than useful.

Test: connect to watch and pair a device
Bug: 34612389
Change-Id: I8b02c20200ce78a73967b8121cf7d5653b68f356
2017-06-19 16:11:33 -07:00
jackqdyulei
9b3d2d3ea4 Use BLUETOOTH_PAIRING metric in pairing page
Bug: 38383542
Test: Build
Change-Id: Ibc8acfa7ad7766b112389509971a36d1a4ce2394
2017-06-19 13:19:23 -07:00
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