IMHO we don't need to expose switch in SwitchWidgetController.
This controller already has enough API to control the switch.
Also rename mSwitchWidget to mSwitchController because it is not a
widget.
Bug: 69973752
Test: test still pass
Change-Id: I0ac247e34468a44109ab26019f1303c814e381f2
This is a clean up to action bar menu item pattern, we will use the same
pattern to build search icon on all pages in a later change.
Bug: 68814716
Test: robotests
Change-Id: Iedd3ec263e8ccb63ed75ec7a95b28c00878b1de4
Step by step:
1. Pair and connect with BTHS (e.g. SBH50).
2. Click the settings icon of paired device, and check "Use for" items.
-----------------------------------------------------------------
Expected Result:
After step 2, "Contact sharing" should not be checked.
Actual Result:
After step 2, "Contact sharing" is checked.
Fix:
Set phone book permission as REJECTED if class of Device is
not AUDIO_VIDEO_HANDSFREE
Test: Checked above usecase and issue is not observed
Bug: 64372703
Change-Id: I178a09dd9e76d67c461c4b04d9b2ee0078ed24c9
Get the PreferenceGroup there and add/remove preference
through the callback
Also add ConnectedBluetoothDeviceUpdater which only filter
the connected device.
Bug: 69333961
Test: RunSettingsRoboTests
Change-Id: Ia2ab6b6708329227929d6fe442df3a8d45bf86f5
The core thing is to find out a way to update group when devices
(bt device and usb device)are updated.
The infrastructure contains three parts:
1. ConnectedDeviceController
Normal PreferenceController. Get info from sub controller and update
the preferenceGroup.
2. BluetoothDeviceUpdater
Listen to bluetooth callback, decide whether to add/remove devices
3. DevicePreferenceCallback
Interface to add/remove preference. This interface will be used in
ConntectedDeviceController and future SavedDeviceController
Bug: 69333961
Test: RunsettingsRoboTests
Change-Id: I85a9ef216a801d5f0dd1cf0130d53850a68be4bd
Add feature flag to toggle connected device between new and old
feature.
ConnectedDeviceDashboardFragment will contain new feature will
ConnectedDeviceDashboardFragment2 will hold old feature.
Bug: 69333961
Test: Build
Change-Id: I0ea932c69dea5242129aab994d5142b1f87fbea0
The BluetoothDevicePreference need to know whether to display with an
invalid name. However pass in the whole fragment is over-killing.
This cl decouple it for several reasons:
1. In P, BluetoothDevicePreference will be used in other fragment.
2. In preference lifecycle from end user side, this flag is constant.
Bug: 69333961
Test: RunSettingsRoboTests
Change-Id: I3dbcd2a4aafa3ead74371534250e5e7c3ee221f7
- Remove the old DevelopmentSettings
- Remove references to the feature flag
Fixes: 65522949
Test: make RunSettingsRoboTests -j40
Change-Id: Ie2eb3465127d79a027de6bb58a47bb15e3094f89
This cl contains the moving about:
1. Several methods in Bluetooth/Utils.java
2. Bluetooth icon drawables
3. Bluetooth strings
4. Tests
Bug: 65488978
Test: RunSettingslibRoboTests
Change-Id: I682daa3eeb5022beb90a95763c70d19d32d54915
The forget button should be left and connect button be right.
Bug: 67915643
Test: RunSettingsRoboTests
Change-Id: I71bb99270c4a3d480346db1ded554ecc9b99e706
Steps to Reproduce:
- Click on Density Settings (DPI Settings) / Renaming BT Device / Renaming SIM Settings
- EditText Dialog pops up
- The cursor is at the leftmost side of the text
- Logically Cursor should be at rightmost side which can be aligned grabbing text length
Screenshots:
Before:
http://imgur.com/a/o4vkrhttp://imgur.com/a/6Qext
After:
http://imgur.com/a/fuxqThttp://imgur.com/a/vm2WX
Bug: 65185652
Test: RunSettingsRoboTests: OK (47 tests)
Change-Id: Id00308e7e019434edad4afab56cf4719be0d0d54
Signed-off-by: PMS22 <prathams99@rediff.com>
* LocalBluetoothAdapter is already a cache of BluetoothAdapter and its
methods should be used directly to obtain states instead of caching them
in BluetoothSummaryUpdater
- Use LocalBluetoothAdapter.isEnabled() to check whether Bluetooth
is enabled
- Use LocalBluetoothAdapter.getBondedDevices() to get list of bonded
devices
* BluetoothDevice is a stable Bluetooth API and its methods should not
incur large latency. We should use API methods as much as possible to
avoid intermediate wrappers
- Use BluetoothDevice.isConnected() to check if a device is connected
* Add more logging messages in error conditions
* Show status as "Not Connected" when there is a state mismatch (i.e.
adapter says it is connected, but no bonded device is connected)
* Updated unit tests to reflect the latest behavior
Bug: 65591907
Test: make, unit test, pair with Bluetooth devices, check Settings UI
Change-Id: I0fa54959c8bed8ac67a935f150785ba8197d0411
In ag/2863892, we add a new parameter to tune the size of battery icon.
This cl use this parameter and update the icon in bluetooth detail page.
Bug: 65397557
Test: RunSettingsLibRoboTests & Screenshots
Change-Id: I6dd26f14b3209101dd39320b3720fbd4f79acf54
The symptom observed is that the Bluetooth master switch on the
Connected devices page doesn't properly respond to Bluetooth turning off
via quicksettings - either turning on airplane mode or just toggling
Bluetooth.
The root cause was that MasterSwitchPreference's isChecked method would
not return the true value of whether the switch was checked - if the
control is disabled, it always just returns false. This interacts badly
with code in BluetoothEnabler - we disable the switch when the Bluetooth
state is in transition (eg becomes STATE_TURNING_OFF), and we also
attempt to avoid calling setChecked if the switch is already in the
desired state. So the switch would be checked but disabled, and we'd
avoid ever calling setChecked(false) on it.
A thorough fix would be to remove the code from MasterSwitchPreference's
isChecked method that looks at the enabled state, since enabled and
checked really should be treated as separate concerns. But given the
timeframe of MR1, we're opting for a more conservative fix of directly
accessing the switch and checking it's state, to avoid introducing bugs
in other consumers that might be depending on the current
behavior. We'll then do the thorough fix on the master branch which will
give a lot more time for any unexpected issues to be found (I audited
other usages and none seemed likely to be a problem, but it's better to
be safe than sorry).
Change-Id: I19a6c6b71e74595be3ef32a9718a430b67a89d53
Bug: 64940731
Test: make RunSettingsRoboTests
* When Activity.finish() is called, it's associtated fragments are all
dismissed automatically
* Cached used fragments are dimissed in onCreate() before new ones are
created
Bug: 62230203
Test: Pair with Bluetooth device, Settings unit tests
Change-Id: Ieca88ba0660c5407f0d88d572d06a722c642ac39
* Add a developer menu option to allow name-less devices to be shown
when a Bluetooth developer needs it, but hide it for non-developer
users.
* Set BluetoothDevicePreference to invisible when CachedBluetoothDevice
does not have a name besides MAC address and the above developer option
is false.
* This affects BluetoothPairingDetail and DevicePickerFragment, but does
not affect BluetoothSettings. BluetoothSettings will show all paired
devices regardless whether an user friendly name exists.
Bug: 34685932
Test: pair Bluetooth device, send file over Bluetooth, unit tests
Change-Id: Idd7ad4b1671dfdcf3204efb50eddb6dae1065aa5
This cl change util method in bluetooth package to return
drawable instead of resId.
If the bt device has battery level, then method return customized
layerDrawable, otherwise return a simple drawable created from
resId.
Bug: 63393322
Test: RunSettingsRoboTests
Change-Id: Ib21822eafda0e8570212ce5cb070478e4f4876a2
Merged-In: Ib21822eafda0e8570212ce5cb070478e4f4876a2
This cl change util method in bluetooth package to return
drawable instead of resId.
If the bt device has battery level, then method return customized
layerDrawable, otherwise return a simple drawable created from
resId.
Bug: 63393322
Test: RunSettingsRoboTests
Change-Id: Ib21822eafda0e8570212ce5cb070478e4f4876a2
BluetoothPairingDialogFragment has code that makes the OK button on the
dialog disabled until the user has entered at least one character into
the PIN field. However it didn't properly handle the case where the user
had entered some text and then rotated the screen - because it always
marked the OK button as disabled during onShow even if it already had
some content. This CL fixes that by looking at the text content and only
disabling the OK button if the content is empty.
Bug: 36514895
Test: make RunSettingsRoboTests
Change-Id: I4e8e70089a862e67b20ff614bbaa64fc2b641fd4