Commit Graph

988 Commits

Author SHA1 Message Date
Antony Sargent
c86440538f Stay discoverable in Bluetooth settings and pairing pages
There are two problems with the Bluetooth settings and pairing pages
that are fixed by this CL:

(1) We advertise on the page that the local device is visible to other
devices, but that only lasts for the length of the default timeout (120
seconds) for the local adapter being in discoverable mode.

(2) Both the BluetoothSettings and BluetoothPairingDetail fragments
enter discoverable mode in their onStart handler and exit it in their
onStop handler. Unfortunately when doing a fragment navigation the
onStart and onStop events interleave in a non-intuitive manner. When you
go from BluetoothSettings to BluetoothPairingDetail, we see the onStop
event for BluetoothSettings *after* the onStart event for
BluetoothPairingDetail, and similarly when going back from
BluetoothSettings to BluetoothPairingDetail. What this means in practice
is that if you go to the BluetoothSettings page, the device will be
discoverable, but once you navigate to BluetoothPairingDetail or back
again you won't be discoverable again until you go somewhere else or end
the settings activity.

This CL adds a new object called AlwaysDiscoverable which can be used to
start and stop a mode of "always being discoverable". While started, it
will listen for changes to the discoverable state, and return to
discoverable mode. This fixes (1) by returning to discoverable mode
whenever the normal timeout expires, and (2) similary by returning to
discoverable mode when we accidentally exit it due to the onStop/onStart
mismatch.

A better fix for (2) would be to avoid the "glitch" of briefly exiting
discoverable mode only to re-enter it, but the implementation of that is
a little more complicated so that's being left as future work in order
to keep this CL as small as possible.

Bug: 64130265
Test: make RunSettingsRoboTests
Change-Id: I559dd8187263ea6a0008be1a8abdfffac97cb87a
2017-08-09 22:10:40 -07:00
mingliang.x.lei
05d56ce9c8 Merge "Fix memory leak in Bluetooth settings" am: 5a652c0286 am: 8d3bb3e2ad am: c46b5e60b9 am: 8ba28798aa
am: cc6b8a868d

Change-Id: Ie742ea8ba0f1e463ddafe7d76e174df6e33fb860
2017-08-10 02:28:19 +00:00
mingliang.x.lei
cc6b8a868d Merge "Fix memory leak in Bluetooth settings" am: 5a652c0286 am: 8d3bb3e2ad am: c46b5e60b9
am: 8ba28798aa

Change-Id: Ib0f0e1d0ec3bbcf2223e5609bc6218f0c360a5cb
2017-08-10 00:06:32 +00:00
mingliang.x.lei
8ba28798aa Merge "Fix memory leak in Bluetooth settings" am: 5a652c0286 am: 8d3bb3e2ad
am: c46b5e60b9

Change-Id: I1c8766701e83c9354bebf6554742c24756de7117
2017-08-09 18:53:07 +00:00
mingliang.x.lei
8d3bb3e2ad Merge "Fix memory leak in Bluetooth settings"
am: 5a652c0286

Change-Id: Ica95ac1bed6dbbc305315a32c1c9a92bb83d4574
2017-08-09 18:34:07 +00:00
Julia Reynolds
cad51d7753 Merge "Use colorful +s" into oc-mr1-dev am: e286c0627b
am: 5d17c4284d

Change-Id: Ibe772dacaafd554b51cc9f5340453244106eefee
2017-08-09 14:17:57 +00:00
Julia Reynolds
fabe766958 Use colorful +s
Instead of grey

Change-Id: Iac0454110d3af9045a83098e67957130987ad718
Fixes: 63820885
Test: manual
2017-08-08 14:00:09 -04:00
Salvador Martinez
b1a4db26d8 Refactor permissions code for bluetooth controller enabler am: a8db5ccea8 am: b32159f242
am: 0d337881ad

Change-Id: I99e0d6509d49cf31aa17b9e340bd985ec574531b
2017-08-08 03:21:29 +00:00
Salvador Martinez
0d337881ad Refactor permissions code for bluetooth controller enabler am: a8db5ccea8
am: b32159f242

Change-Id: I7734f18a3fd1c5abc401131862701c47bfae64c9
2017-08-08 03:07:08 +00:00
Salvador Martinez
b1c0e38284 Refactor permissions code for bluetooth controller enabler
am: a8db5ccea8

Change-Id: I6288cf595419229f58abb396cbe9b6cf6e2c5fc4
2017-08-08 03:04:45 +00:00
Salvador Martinez
a8db5ccea8 Refactor permissions code for bluetooth controller enabler
Bluetooth may be disabled for a user. This CL refactors the code
that determines this a bit so we can query that without having to
have the UI open.

Test: robotests still pass
Bug: 62022517
Change-Id: Ic0837d21bdc4007a20d6ad138753d4f5d37ceceb
Merged-In: I3b54529865e16b7e1640b0adda7f7edb9d1a41f7
2017-08-07 17:51:02 -07:00
Fan Zhang
1105a1a465 Convert more pages to use ActionButtonPreference
- text to speech page
- blue tooth detail page
- installed app page

Change-Id: Ib743a144cc6025055cd496ec077f13fce4db0c69
Bug: 63991885
Test: robotests
2017-08-01 14:27:42 -07:00
Jack He
85d9a7c48a Merge "Bluetooth: reset mConnectionState when adapter is OFF" into oc-dr1-dev am: 0c6f001c09
am: dfc2fb14c6

Change-Id: Ifb3276adeecf756b5c2aa11ee78f1c039273cfbe
2017-07-26 06:38:32 +00:00
Jack He
a65e3e6795 Merge "Bluetooth: reset mConnectionState when adapter is OFF" into oc-dr1-dev
am: 0c6f001c09

Change-Id: I2a161d403cf0c8e34a16b1ac9328135c40f7e50a
2017-07-26 06:34:30 +00:00
Jack He
70f293ee50 Bluetooth: reset mConnectionState when adapter is OFF
* No device is connected when Bluetooth adapter is OFF
* BluetoothSummaryUpdater should reset its connection state tracker in
  order to display the correct summary message on ConnectedDevice
  preference
* Otherwise, "Connected to null" will be shown because no device is
  connected while BluetoothSummaryUpdater is still in CONNECTED state
* Removed unused imports from BluetoothSummaryUpdater
* Write additional unit test to verify the above behaviour
* Add additional logging when deviceName is null in CONNECTED state

Bug: 62492716
Test: Pair and connect to Bluetooth device, turning Bluetooth ON/OFF,
      unit tests
Change-Id: I30726636f5678d61d6052f5b8d211aa20f26f409
2017-07-26 00:31:55 +00:00
Fan Zhang
715f0956f4 Merge "Tweak bluetooth name preference" into oc-dr1-dev am: 03c595ce24
am: ef0e290e65

Change-Id: I77ca5052477a9e1efee01c7022378164096669b8
2017-07-22 00:32:48 +00:00
Fan Zhang
3ecdee573b Merge "Tweak bluetooth name preference" into oc-dr1-dev
am: 03c595ce24

Change-Id: I1d2f8d65fb7ba48bac656222c4501306103b385c
2017-07-22 00:32:42 +00:00
Antony Sargent
75512a3215 Merge "Switch to using gray icon for Bluetooth imaging devices" into oc-dr1-dev am: a6ac4890ed
am: 62b7527da5

Change-Id: Ibfe8afab3bf662c2855a28c27d636da17444eb79
2017-07-22 00:32:07 +00:00
Antony Sargent
0531bd48e3 Merge "Switch to using gray icon for Bluetooth imaging devices" into oc-dr1-dev
am: a6ac4890ed

Change-Id: Ib4cbffa94b0372419f60f16972836df27ad1fecf
2017-07-22 00:32:00 +00:00
Fan Zhang
03c595ce24 Merge "Tweak bluetooth name preference" into oc-dr1-dev 2017-07-21 21:41:29 +00:00
Fan Zhang
9218e3b7df Tweak bluetooth name preference
- remove accent color from device name
- remove useless ripple when tap

Change-Id: I7800523eb27bafa24f3a4549b1acf02c869ac8c8
Fix: 62891178
Test: robotests
2017-07-21 11:38:09 -07:00
Antony Sargent
64fab6f4cd Switch to using gray icon for Bluetooth imaging devices
All the other Bluetooth icons were switched to gray at some point in the
past, but we must have missed this one.

Bug: 63858978
Test: make RunSettingsRoboTests
Change-Id: I2ebefa42f3ecff8ae6d58f4bdb22dce39ae4dbd4
2017-07-20 09:54:29 -07:00
Fan Zhang
0e13d6c8a7 Fix a bug where bt name is updated to wrong preference. am: f6e6ae2441
am: c1d04860d5

Change-Id: I42525051bd0471dece01807c87adb0f2a38af1d1
2017-07-18 01:00:29 +00:00
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