Commit Graph

250 Commits

Author SHA1 Message Date
Lei Yu
2c1672c482 Merge "Add Bluetooth metadata listenr" 2019-02-26 01:30:13 +00:00
jackqdyulei
344d761e60 Add Bluetooth metadata listenr
If it is updated, we need to refresh UI to display latest information

Fixes: 124455912
Test: RunSettingsRoboTests
Change-Id: I73b03f4931e3c2b0d367bbd2d3b2057b26c84b59
2019-02-25 15:02:10 -08:00
jackqdyulei
c51e5aae59 Remove hardcoded Uri to get slice settings
Now we get it from BluetoothDevice.getMetaData()

Bug: 124121451
Test: RunSettingsRoboTests
Change-Id: Id96480f257b93dd03bb290c954e01cde9dcf30ad
2019-02-22 14:49:30 -08:00
jackqdyulei
5e5dd25b8f Fix issues in BT detail header
1. Update isAvailable() in controller
2. Update method to get fast pair icon

Bug: 124455912
Test: RunSettingsRoboTests
Change-Id: I24a04c8c91d74e9b8b7e8746ad6279fafa37f0a9
2019-02-22 14:46:10 -08:00
jackqdyulei
5cb4d251ee Update advanced bt header
1. Add callback to listen to device update
2. Add charging support for bt battery icon
3. When disconnected, only show main icon

Follow CL will update battery icon to show exclamation when it is
low.

Bug: 124455912
Test: RunSettingsRoboTests
Change-Id: I03fb3bf4c4b77711e14b1f2f53733771b525fe4b
2019-02-21 12:43:29 -08:00
jackqdyulei
715408e592 Add intent action for BT device detail page
Also update detail page to accept cold start:
1. Check whether profile is ready
2. When it is ready, refresh UI

Bug: 123665527
Test: SettingsRoboTests
Change-Id: I39382fd97e9da46fca08cd2e4a3ef15d32703664
2019-02-11 13:48:16 -08:00
Lei Yu
cda45e5d66 Merge changes Ifb5507cb,Ide044cf9
* changes:
  Update BT header using BT metadata
  Add layout for advanced BT detail header
2019-01-29 01:29:23 +00:00
Amin Shaikh
9391361438 Move SettingsLib icons to android.
Bug: 122263617
Test: make
Change-Id: Ia2ab06561824656951fbd0019e9c921442c714e1
2019-01-28 13:46:54 -05:00
jackqdyulei
47123c8224 Update BT header using BT metadata
As for unthethered headset, get BT data from BT metadata, rather than
CachedBluetoothDevice

Bug: 122460277
Test: RunSettingsRoboTests
Change-Id: Ifb5507cbbce9602726ba272c12d1bf95eff91001
2019-01-28 17:12:17 +08:00
jackqdyulei
1fc7629dda Add layout for advanced BT detail header
If device supports metadata, then we display advanced UI in Bluetooth
details header. This CL adds layout for this header.

In advanced layout, it will show:
1. Device name
2. Left, right and case icon
3. Left, right and case battery level

Once API is ready, following CL will get metadata from it and set it
to UI.
Bug: 122460277
Test: RunSettingsRoboTests
Change-Id: Ide044cf9705f350b431b2cb3a9ad82cc4425a17e
2019-01-28 14:12:49 +08:00
hjchangliao
c37973f073 Move edit icon from header to action bar
Move edit icon in bluetooth detail page,
from header back to action bar.

Change-Id: I6afd7c611fe4db8c6c27921b5da316d8a1a000db
Fixes: 76206922
Test: make RunSettingsRoboTests
2019-01-12 07:36:32 +08:00
jackqdyulei
22904a05b7 Add UiBlocker for DashboardFragment
If DashboardFragment detects blocker controllers, it won't display
until:
1. All blocking controllers finish bg works.
2. Timeout

This CL adds UiBlockerController to control this behavior and
BlockingSlicePreferenceController as an example.

Bug: 120803703
Test: atest SettingsUnitTests
Change-Id: I66fc194776d46ee49b3ec7685f3167834e673ba2
2019-01-10 14:25:43 -08:00
Yanting Yang
1c9b97d537 Clean up assertion methods in SliceTester
Fixes: 120592507
Test: robotests
Change-Id: Ic20fa96aa500d9ab50ef2adcb59f48c328989ec8
2018-12-27 17:24:36 +08:00
Raff Tsai
ecc5bf11f1 Remove ignore in Robolectric test
This was broken due to framework changes. Now framework works with
this well.

Change-Id: I2d862d4851efaefcd9866e9fd4b6deb6450f296c
Fixes: 119592320
Test: make RunSettingsRoboTests
2018-12-22 17:06:52 +08:00
jackqdyulei
bdc4ea6336 Add feature provider for bluetooth settings
Also add method to get settings uri for specific device. Use feature
provider here because it give us more flexibility.

Bug: 120803703
Test: RunSettingsRoboTests
Change-Id: I6f4840e76279c02a75b95fdecd822a72cb0b42e5
2018-12-18 14:42:49 -08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
tmfang
8ad18fb3eb Use SettingsLib's ActionButtonsPreference
Since we moved old ActionButtonPreference into
SettingsLib, we need to update new imports and
declaration in Settings source code.

Test: robotest, manual test
Bug: 120005054
Change-Id: I1e3514ba68a856071c81534d54c99c3d1a11a8ca
2018-12-03 15:12:41 +00:00
tmfang
15f2fe9551 Expand more buttons for ActionButtonPreference
Old design, we only need two action buttons in Settings app.
In the future, we need four buttons for some use cases.

Test: visual, robotest
Bug: 120005054
Change-Id: I859fee8d7167ce59222059cc441e4a3c167c7b34
2018-11-28 10:24:07 +08:00
tmfang
dce94bb237 Use SettingsLib's LayoutPreference
- Remove LayoutPreference in Settings source code.
- Remove unused style, layout
- Replace old imports to com.android.settingslib.widget.LayoutPreference
- Replace old XML tag to com.android.settingslib.widget.LayoutPreference

Test: robotest, manual test
Bug: 120005054
Change-Id: I9ae1ae14a16f443e11ac5d75b6038c7c5e253844
2018-11-27 13:12:53 +08:00
James Lemieux
3a55de44c5 Prepare tests for impending robolectric merge
Some ShadowUserManager function moved into the basic shadow in
robolectric proper and has been removed from the Settings
ShadowUserManager.

Test: make -j56 RunSettingsRoboTests
Change-Id: I38647dae5d16bc79bc7925ca139c9362a2035393
2018-11-20 16:40:57 -08:00
TreeHugger Robot
3704899fc9 Merge changes from topic "settings-action-button"
* changes:
  Remove setButtonPositive method
  Apply new action button visual design
  Create a new visual design for action buttons
2018-11-16 10:45:29 +00:00
Raff Tsai
d103f8eb81 Fix testcase fail
-Ignore testcase in RemoteDeviceNameDialogFragmentTest
-Fix SettingsPreferenceFragmentTest and ApnEditorTest testcase fail

Test: make RunSettingsRoboTests
Change-Id: I63053cd2256c9c00f92b57a813513e5df05fd60a
Bug: 119592320
2018-11-16 12:26:23 +08:00
tmfang
8f65efa8f9 Create a new visual design for action buttons
- Create a new style for two action buttons.
- Change the layout of two_action_buttons.
  Since we use same style for positive/nagative
  buttons now, we only remain button1/button2 for
  this layout.
- Create a setButtonIcon interface in ActionButtonPreference.
  So, user can set icon for each button in this preferece.

Test: visual, robotest
Bug: 116346008
Change-Id: I511272cba5fd961349b85cae6d30004ddabe2c8e
2018-11-15 10:15:58 +08:00
Fan Zhang
cdf284b732 Make Settings robotest work with tot Robolectric
Bug: 116278591
Test: make -j RunSettingsRoboTests
Change-Id: I32cb2fcf6094675f79d2fc24702ef6298a9691e4
2018-10-31 17:59:17 -07:00
jackqdyulei
0edde89f83 Add ACL state listener for bt devices
Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: Ic8bee34fa940f95265ed838f7c7f038ba3cf8143
2018-10-30 15:54:41 -07:00
timhypeng
c95056d7b5 Make HearingAid code more generic
-handle UI updating when sub device connection state changes
-add test case

Bug: 112735753
Test: make -j42 RunSettingsRoboTests
Change-Id: Ie2643657c47a0956aac3f8cac4bfdbdea0399ce8
2018-10-25 04:06:40 +00:00
Mill Chen
2559f02d68 Clean up unnecessary spy context statements
Remove spy context syntax because we do not need to
mock context anymore in the test cases.

Bug: 117644158
Test: robotests
Change-Id: I222eec4fbc1994d7bb79adead40b76ac0a000bdc
2018-10-12 21:54:02 +08:00
Fan Zhang
2f324c9484 Merge "Remove mocked resources from slice test cases" 2018-10-10 20:13:52 +00:00
Philip P. Moltmann
035ea3b0d1 Use new RestrictedLockUtils API
This is made necessary by changes to the SystemAPI the lib relies on.

Test: RunSettingsRoboTests
Bug: 116798569
Change-Id: I2812ce9e58e3fb15a5579ddc10cd0edf33d0ed44
2018-10-09 12:39:19 -07:00
Mill Chen
fdf06e242a Remove mocked resources from slice test cases
Clean up some resources which are useless for the moment.

Bug: 117485451
Test: robotests
Change-Id: Id3591178791cc6c9f628a99a8916e9007a399728
2018-10-09 23:25:44 +08:00
Lei Yu
4b2a053bed Merge changes I44039704,Iee0de8a2
* changes:
  Use isConnected in CachedBluetoothDevice
  Update "Previous connected device" preference
2018-10-03 19:04:16 +00:00
jackqdyulei
8800b9e1ff Use isConnected in CachedBluetoothDevice
This method check whether it has connected profile, not physical
connection between devices.

It make more sense to use it in settings:
1. We only care about whether it has active profile(i.e. A2dp, hfp..)
2. Sometime when profile is disconnected, BluetoothDevice.isConnected()
still return true. This may make UI flaky.

Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: I44039704508a742c7a8aef0a035afcf169b08939
2018-10-02 15:55:21 -07:00
tmfang
c28c836dcb Remove FragmentUtilsTest class
We directly use FragmentController to start fragment.

Change-Id: Iff78f321165d666f96d84f001ff054257a1aaede
Fixes: 111195449
Test: robotest
2018-09-27 18:51:20 +08:00
Leon Liao
1f1671ca28 Merge "Rename isConnectable()" am: ec65174f11 am: 09385137e3
am: af7aed6d79

Change-Id: I5b0a11396ccce092778b6cfda444f52cfd469525
2018-09-26 06:25:41 -07:00
Leon Liao
af7aed6d79 Merge "Rename isConnectable()" am: ec65174f11
am: 09385137e3

Change-Id: Iffe650dd574633cacc6197c6f6f69316b528fb0a
2018-09-26 06:14:55 -07:00
Leon Liao
09385137e3 Merge "Rename isConnectable()"
am: ec65174f11

Change-Id: Ibfc536ba78a118bc33890e52efa6650b21bff62e
2018-09-26 05:59:20 -07:00
timhypeng
eb230c76d9 Fix the logic error on PBAP permission assignment
-add test case

Bug: 114808220
Test: make -j42 RunSettingsRoboTests
Change-Id: Id77ade12c28e31a21c1c7a5dcb28906112d3465b
2018-09-25 01:51:40 +00:00
Lei Yu
ccbf7f3fff Merge "Fix null pointer crash in BT renaming dialog" 2018-09-21 02:25:34 +00:00
Leon Liao
6786e32a73 Rename isConnectable()
LocalBluetoothProfile.isConnectable() checks whether the user can initiate a connection
for a specific profile, not really whether the profile is connectable.

Change-Id: If6c6cd1554acf35db2460ea6ddb65148a7e86e45
Bug: 79982487
Test: atest tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
2018-09-20 09:23:30 +08:00
jackqdyulei
5b7fc8f3a5 Fix null pointer crash in BT renaming dialog
The dialog may become null after onDestroy has been invoked, so
we need to catch this case.

This CL also moves the listener outside to make it easy to test.

Change-Id: I4ce640c5bdaf1f201f9fecb14b3e5e38e10d4b79
Fixes: 115679393
Test: RunSettingsRoboTests
2018-09-18 14:41:37 -07:00
Lei Yu
499013b05e Revert "call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager"
This reverts commit 3029efc5f7.

Reason for revert:
To fix null pointer crash in Pairing dialog. Dialog maybe triggered by intent, in which LocalBluetoothManager couldn't have instance for BluetoothDevice and will return null. As a result, we need to depend on method in CachedBluetoothManager to handle it.

Bug: 115754654
Bug: 112735753
Change-Id: I1ebf1f1c2829cfb75e6c382df5acf785fe54a185
2018-09-17 22:15:14 +00:00
jackqdyulei
04e48eae76 Merge "Update PBAP info for all pairing dialogs. DO NOT MERGE" into pi-dev
am: 205479c25d

Change-Id: Ib1ae9f0af0cabdc26dc883f58dbc28b37ce54e42
2018-09-06 13:14:18 -07:00
Fan Zhang
de117046ad DO NOT MERGE Import clean up.
Reordered all imports according to Android codestyle.

Test: rebuild
Change-Id: I750f01f70f2114d51838bf652833aebdc4065c98
2018-09-04 13:54:46 -07:00
timhypeng
3029efc5f7 call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager
-add test case "onGetDeviceName"

Bug: 112735753
Test: make -j42 RunSettingsRoboTests
Change-Id: Id62b6eb8be38fb6ac69ca371563be899b8d61aff
2018-08-30 08:06:19 +00:00
Fan Zhang
c21f4a512a Merge "Sort imports" 2018-08-29 00:19:53 +00:00
Aurimas Liutikas
03fcde338b Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
(cherry picked from commit b1af85d155)
2018-08-28 16:35:52 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
TreeHugger Robot
064af9a48e Merge "Show bonded devices in "Pair new device"(2/2)" 2018-08-28 14:32:04 +00:00
Ash_Chen
8f7092a15e Show bonded devices in "Pair new device"(2/2)
Some users forgot they had paired devices and couldn't see their BT device
when they search device in "Pair new device". (b/80382940, b/80133137).
Need to change the behavior to let paired devices can be shown on "Available devices".

Bug: 111738593
Test: Bluetooth Pairing Test
Change-Id: Ib499785abaa8e4efc1875be113ac87bdbe0c89ba
2018-08-28 11:39:38 +08:00