Commit Graph

131 Commits

Author SHA1 Message Date
Fan Zhang
8e14ca0058 Remove obsolete logic in SettingsActivity.
mIsShowingDashboard is always false, it used to be true when we are
displaying homepage, but now homepage is hosted in a entirely different
activity.

so all related logic can now be removed.

Test: robotests

Misc clean up: remove unused colors

Test: rebuild, color-lint
Change-Id: I1e1628c1e9606c2b7dc40ef3c21d4ed1391a8c03
2018-11-29 11:37:00 -08: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
tmfang
012b089a91 Allow below divider for all EntityHeader
- Create an method in LayoutPreference let other class can
  set divider status.
- EntityHeaderController will allow to have a below divider
  by default.

Test: visual, robotest
Bug: 116346008
Change-Id: Ic041b8fef8d22ce1b7ea48eedfbe97c708c41ce7
2018-11-20 11:52:29 +08:00
tmfang
5c7f4de999 Remove setButtonPositive method
Since new UI design only exist two button in layout,
we don't need these methods anymore.

Test: robotest
Bug: 116346008
Change-Id: If2e8f7dddb9c13e480438f36fe3c5d6affa4e9ff
2018-11-16 14:33:16 +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
Fan Zhang
394ea1cde5 Merge "Move AppPreference to settingslib, and change imports." 2018-09-25 19:15:19 +00:00
Fan Zhang
754f737c2c Move AppPreference to settingslib, and change imports.
Bug: 116364655
Test: robotests
Change-Id: I313272737dc7c068c47abf8ea021de7d2bea0a25
2018-09-25 09:51:19 -07:00
Fan Zhang
1f0879955c Settings icon pack refresh
* ic_add_24dp
* ic_airplane
* ic_arrow_down_24dp
* ic_cellular_off
* ic_data_saver
* ic_device_others
* ic_info_outline_24dp
* ic_search
* ic_night_display
* ic_lock_open
* ic_wifi
* ic_sync
* ic_wallpaper
* ic_phone

Bug: 116360411
Test: visual
Change-Id: I626cbb88043c36d32ab34b90fc83170bca0be12a
2018-09-24 15:40:14 -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
Mill Chen
32db609df1 Remove red underline from Device name
- Turn off auto-correction for normal text.

Bug: 79421621
Test: make RunSettingsRoboTest
Change-Id: Ie7c4ebd33073ecaac2048d8630ec7b51e706341c
2018-08-24 13:38:17 +08:00
Fan Zhang
fde4f207ff Force externally injected tiles to use rounded icon.
Bug: 110405144
Change-Id: Ic65200fce5010ea8077254e7a67bbe4dae886ec3
Fixes: 79748104
Test: robotests
2018-08-10 15:45:50 -07:00
Fan Zhang
7d5a9eebb8 Add a config to force rounded icon for DashboardFragment.
And each page has ability to turn on/off rounded icons. This CL only
adds the flag, it doesn't actually change icon shape yet.

- Boolean config in xml
- New protected method for each DashboardFragment to load config
- Plumb the boolean into DashboardFeatureProvider for future use.
- Remove some unused APIs from DashboardFeatureProvider

Bug: 110405144
Fixes: 79748104
Test: robotests
Change-Id: Id34782e75aa7289967e4dd1f4fe2978688092702
2018-08-10 10:57:18 -07:00
jackqdyulei
db0b4f49c9 Update AppCheckBoxPreference to show summary
The summary is invisible by default if we use preference_app.xml,
this CL turn it on if summary is not empty.

Bug: 111366678
Test: RunSettingsRoboTests
Change-Id: I3fe5827a5e80a8e21309b163dbbaa1070f5ee61e
2018-07-26 15:06:45 -07:00
Doris Ling
c24865e242 Merge "Fix battery animation not being played." 2018-07-20 22:28:53 +00:00
Doris Ling
09f527d053 Fix battery animation not being played.
- VideoPreference now checks the view visible flag to see if it
should start playing the video when the surface texture is being
updated. Added a default controller for the VideoPreference to
update the view visible flag of the VideoPrefernece when the
setting page is paused/resumed accordingly.
- add the default controller to the adaptive battery video and the
adaptive brightness video.

Change-Id: I1aae2148c27c7157c97541346790542c74377e5a
Fixes: 111103815
Test: make RunSettingsRoboTests
2018-07-20 14:10:25 -07:00
jackqdyulei
63a5c6f9ab Use SettingsRobolectricTestRunner in settings app
Change-Id: I3682ea52c53ff4fcce7e9aa52a4a6827bb31b2cb
Fixes: 111646366
Test: robotest
2018-07-19 11:21:20 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Doris Ling
8700777839 Fix continous playing of gesture animation video.
In the gesture settings, we listen to surface texture updates to
determine when both the view and video is ready, and we auto play the
animation video. However, sometimes, the video listener will receive
the surface texture updates after the settings activity is being paused,
in which case, the video will continue to play until the user navigate
back to that gesture settings page.

In onSurfaceTextureUpdated(), check for view visibility before we try to
update anything to avoid unnecessary operation.

Change-Id: I46474c9f461d5705f599deb8b2535d8505f2fe75
Bug: 110923173
Test: make RunSettingsRoboTests
2018-06-29 14:22:36 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Fan Zhang
670ce333ae Misc clean up. move widgets from graph to widget package.
Bug: n/a
Test: robotests, rebuild
Change-Id: I910f355312d52e81a0bf57b46a3f267e1eb9882a
2018-06-11 16:05:12 -07:00
Salvador Martinez
e83388164c Change UI for wireless AP tether band selection
We decided to use the list preference after all due to
some devices not supporting various combinations of AP
configurations. This change makes it so that there are
three different UIs depending on the configurations
which are supported.
- 5.0 GHz unsupported: disable the preference and just
set the value to 2.4 GHz
- all supported, no dual mode: allow the user to choose
EITHER 2.4 GHz or 5.0 GHz
- all supported, dual mode: allow the user to choose
2.4 GHz or BOTH 2.4 GHz & 5.0 GHz with 5.0 being
preferred

Test: atest SettingsRoboTests
Bug: 80315296
Change-Id: I888d35811a98b8cf0155a3cb96c42ff762763378
2018-06-06 13:09:41 -07:00
Fan Zhang
ddc6c646c0 Convert BatterySaverButton controller to Slice compatible.
- Update preference key to match the key defined in SettingsSlicesContract
- Model TwoStateButtonPreference similar to TwoStatePreference (add
  setChecked, isChecked method)
- Remove TwoStateButtonPreferenceController entirely because all methods
  are moved into Preference directly for better encapsulation.
- Make BatterySaverButtonPrefController direclty implement
  TogglePreferenceController. It was not possible before because the
  interface between TwoStateButtonPreferene is too different from
  TwoStatePreference.

Bug: 80106671
Test: robotests
Change-Id: Ib72807dcf1b36e959e08df8d80538c3f9f79b76d
2018-05-22 20:22:26 -07:00
Fan Zhang
1d04fa9197 Merge "Don't use cached app icon in app info page." into pi-dev am: 7312f55549
am: 9b8684fd12

Change-Id: I99e6bf942928fe64595c1eba03c3099910fc0545
2018-05-18 16:10:25 -07:00
Fan Zhang
fcbf155b47 Don't use cached app icon in app info page.
The cache in ApplicationsState is causing a lot of damage because AS
object is not smart enough to invalidate the cache in all conditions. So
we end up having bugs like stale app label or icon in weird cases.

This change stops using the cache when loading app icon in entity
headres. This is only a stop gap solution to fix most visible (and most
frequently complained) parts of the page. We still need to address the
cache in ApplicationsState eventually.

Change-Id: Iea88ad99d4069d678d09943cfb0b0e5c94eb3326
Fixes: 79881693
Test: robotests
2018-05-18 14:31:48 -07:00
hughchen
b6ac12eed4 Update DialogFragment UI when BT device is add/remove/rename
* Add AudioSwitchCallback() in AudioSwitchPreferenceController.
  This callback is used to notify SoudSettings to update the dialogFragment UI.
* Add UpdatableListPreferenceDialogFragment that updates the available
  options when dialog is shown
* Add test to verify the adapter count when
  onListPreferenceUpdated() is called.

Bug: 77783217
Test: make -j50 RunSettingsRoboTests
Change-Id: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
Merged-In: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
2018-05-17 07:40:52 +00:00
Fan Zhang
cac18e12ac Move app setting link from Entity header to pref controller
Change-Id: I13a27486a9c9b4c4fb358715d678473e63c1b624
Merged-In: I13a27486a9c9b4c4fb358715d678473e63c1b624
Fixes: 79688822
Test: robotest
2018-05-16 19:56:33 +00:00
Fan Zhang
8e925a4282 Merge "Move app setting link from Entity header to pref controller" 2018-05-16 19:48:32 +00:00
Fan Zhang
e2346643c7 Move app setting link from Entity header to pref controller
Change-Id: I13a27486a9c9b4c4fb358715d678473e63c1b624
Fixes: 79688822
Test: robotest
2018-05-16 10:51:31 -07:00
hughchen
acb6e89c52 Update DialogFragment UI when BT device is add/remove/rename
* For fix the "Automatic merge failed" in pi-dev, cherry pick the ag/3937781 in
  master. Change android.support.* to androidx.*
* Add AudioSwitchCallback() in AudioSwitchPreferenceController.
  This callback is used to notify SoudSettings to update the dialogFragment UI.
* Add UpdatableListPreferenceDialogFragment that updates the available
  options when dialog is shown
* Add test to verify the adapter count when
  onListPreferenceUpdated() is called.

Bug: 77783217
Test: make -j50 RunSettingsRoboTests
Change-Id: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
2018-05-16 22:13:24 +08:00
yuemingw
01816f4cbb Policy transparency dialog should be shown when SwitchBar is restricted.
After ag/3818911, touch event of Switchbar is delegated to the switch.
When the SwithBar is disabled by admin, switch is GONE and restricted icon
is VISIBLE instead. We should let touch event be delegaed to restricted
icon and show policy transparency dialog when it's clicked in this case.

Bug: 77898233
Bug: 70206452
Test: Manually via setting disallow_share_location in TestDPC.

Merged-In: Ifa4fa6ebbe7986277f5cd0951a399ea2377a39f9

Change-Id: If4a5349134e6f0e064561b4860966f950ce423b3
2018-05-02 13:38:12 +01:00
yuemingw
69fa9e0d49 Policy transparency dialog should be shown when SwitchBar is restricted.
After ag/3818911, touch event of Switchbar is delegated to the switch.
When the SwithBar is disabled by admin, switch is GONE and restricted icon
is VISIBLE instead. We should let touch event be delegaed to restricted
icon and show policy transparency dialog when it's clicked in this case.

Cherry-picked from ag/3924516.

Bug: 77898233
Bug: 70206452
Test: Manually via setting disallow_share_location in TestDPC.

Change-Id: Ifa4fa6ebbe7986277f5cd0951a399ea2377a39f9
2018-05-02 09:40:21 +00:00
Salvador Martinez
811de70915 Merge "Check if boxes still available when restoring state" into pi-dev am: 6fcce25b72
am: f6d5f31564

Change-Id: I8b59411b62292b8f65a62f60bde8981c66f3401a
2018-04-24 19:13:32 -07:00
Salvador Martinez
be6a844a06 Check if boxes still available when restoring state
Apparently when the device is idle long enough the system will clean
up the dialog view for the hotspot band preference. This will cause
restore state to fail once it decides to pause the activity. To avoid
this we should make sure the boxes are not null.

Test: robotest
Bug: 78445411
Change-Id: I2a82b01f894f62be6c5209c78faddc4089aa6301
2018-04-23 17:07:29 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Salvador Martinez
adebfe35a9 Merge "Update Wifi Tether band selection UI" into pi-dev am: d9abb0e914
am: bef9e8516d

Change-Id: I088a291c8d936c6e321883d9a35746b42db1df3b
2018-04-19 18:13:58 -07:00
TreeHugger Robot
d9abb0e914 Merge "Update Wifi Tether band selection UI" into pi-dev 2018-04-20 00:15:45 +00:00
Salvador Martinez
10ba9c1786 Update Wifi Tether band selection UI
This CL updates the preference for selecting the enabled tether bands
to allow individual selection of multiple bands instead of forcing
a single selection. Note that while this makes the UI theoretically
support new bands in the future, the wifi backend only supports
selecting a single band or all bands which this CL does not address.

Test: robotests
Bug: 73102003
Change-Id: Ib2d4a2834c5cd11875515d308f7b20bfc8471959
2018-04-19 13:37:09 -07:00
Beverly Tai
83cbcbb72a Merge "Can disable checkbox without tint on text" into pi-dev am: 48831c837f
am: ee3164bd42

Change-Id: I63a71e144fd3b93c2c9b285cd637ba656092fa79
2018-04-19 10:30:43 -07:00
Beverly
49f7f8137f Can disable checkbox without tint on text
Fixes: 76101594
Test: DisabledCheckBoxPreferenceTest, ZenModeVisEffectPreferenceControllerTest
Change-Id: Ida92c7d94f788404d9cd48f07e779446d9ac0d54
2018-04-19 09:27:22 -04:00
Salvador Martinez
19a17d0a6e Merge "Update preference to set password field" into pi-dev am: 13c45045de
am: 46ed260d0e

Change-Id: I5cecf70da96f7b30659b341f3bdae65fb6b491d5
2018-04-17 16:35:51 -07:00
TreeHugger Robot
13c45045de Merge "Update preference to set password field" into pi-dev 2018-04-17 22:58:54 +00:00
Salvador Martinez
d35c8d6706 Update preference to set password field
The preference for the wifi tether password was having the input
type set incorrectly. This could lead to strange keyboard behavior
and the password being remembered by the keyboard which is bad.
This CL sets the appropriate field where needed.

Test: robotests
Bug: 77853620
Change-Id: I2a72fc863cd3779aed98a0df95500b652bb51cc8
2018-04-17 11:02:44 -07:00
HJ ChangLiao
f3be34e01b Move device detail edit button from menu to header
Move the edit button on Bluetooth device detail,
From action bar menu to header.
Use EntityHeaderController to add and control,
Rename those method because we use them on
more than one place now.

Change-Id: I3afad6baeab80895c109603e2ab13428582a4dd8
Fixes: 76206922
Test: make RunSettingsRoboTests
2018-04-17 12:33:01 +08:00
Isha Bobra
35e217f91f Show only 1 entry for hearing aid devices without killing the activity.
This CL tries to detect Bluetooth hearing aid devices and tries to
combine the entry of the hearing aids with the same HiSyncIds and
show only 1 entry for each pair in the connected devices list.

This CL also shows 2 battery status in the device details page.

This change shows the combined entry after a user returns to the
settings activity after pressing the back button or somehow
without killing it. It also combines the entries just after pairing.

Test: RunSettingsRoboTests
Bug: 74204427

Change-Id: I47fb0bdd96b1cc972d88a4aef85d0113985d63bb
2018-04-13 22:51:58 +00:00
Julia Reynolds
18922b50cb Add disabled checkbox preference
A checkbox preference that users can't change, but with non-disabled
test for legibilty.

Test: make -j RunSettingsRoboTests
Bug: 77657376
Change-Id: Iea9bbcc5efbf80cbc380fb8d5a360fe8386889a0
2018-04-11 13:49:58 -04:00
Daniel Nishi
f5ba67dc40 Fix a crash in Storage Settings.
This prevents a NullPtrException when the DonutView attempts to shrink
the percentage sign. By gracefully falling back when we don't understand
the percentage sign, we can avoid a crash.

Change-Id: I0b0770ce4b51eb30817dc556636f86476f4cd1bf
Fixes: 77653937
Test: Robotest -- screenshot attached
2018-04-09 10:21:50 -07:00
John Li
2df5a0b322 Move these radio buttons to the left
Assign new single layout to RadioButtonPreference for w/ or w/o icon
and call setIconSpaceReserved(false) in RadioButtonPreference's
constructor. In case of having icon, calling setIcon() can make
icon_frame visible.

Bug: 70850017
Test: m -j56 SettingsRoboTests RunSettingsRoboTests
Change-Id: I8b35f75b6d8114a5e4c69ec1a3287c55e764ffe0
2018-04-09 12:10:59 +08:00