Commit Graph

563 Commits

Author SHA1 Message Date
Fan Zhang
420f385a18 Fix a incorrect type cast for alert dialog
Change-Id: I2265c4510785f88ef7950cd29779848eb2e58dc4
Fixes: 111488148
Test: manual
2018-07-16 12:23:57 -07:00
Fan Zhang
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
TreeHugger Robot
368eec88b5 Merge "Add new widget SingleTargetGearPreference" 2018-07-12 08:16:32 +00:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
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
Fan Zhang
4560ab7a35 Add a few pages to search index.
- Data saver
- A few special permission access pages
   - Picture-in-picture
   - Premium sms
   - do not disturb access
- And a unrelated cleanup: move EmptyTextFragment from
  notification/ to widget/

Bug: 70720645
Test: robotests
Change-Id: I6a87f712bf81f9fd32fa9a3826fba851ca748409
2018-07-10 17:02:09 -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
Ivan Chiang
ca0101fe1f Add new widget SingleTargetGearPreference
Add the new widget SingleTargetGearPreference
with a gear on the side.

Bug: 110238502
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: I7463e5b4fdd8bc86d0ab6cb930f0053ce0fa79fa
2018-06-29 16:06:28 +08:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Leo Hsu
2e4f9fe61b Usage graphs support RTL style.
Flips the canvas horizontally before drawing paths under RTL mode.

Bug: 78008951
Test: manually verified graphs of wifi data usage, app data usage, and
battery usage.

Change-Id: I79286e9f3f98632e3a9710d42c3e197231a14c39
2018-06-12 12:48:20 +08: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
71c402b152 Misc GAR fixes
- Use colorPrimary for EntityHeader background.
- Update data usage header text to be 87% black.

Change-Id: Ic361155d7cd36a2f1cca96e918af0e3855fb8ced
Fixes: 79773433
Test: robotests
Test: visual
2018-05-21 15:37:43 -07:00
Jason Chang
a76797e756 [SettingsLib] Update Utils.getColorAccent() and Utils.getColorError() to return ColorStateLists instead of colors.
Update Utils.getColorAccent() and Utils.getColorError() to return ColorStateLists instead of colors and change every callers entry.

Bug: 78215054
Test: manually test for UI
Change-Id: Ie201aee439bd9e8337eca989b4cdc836a6e8e917
2018-05-21 17:23:41 +08: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
android-build-team Robot
02ec86a17b Merge "Establish permanently unavailable settings" 2018-05-09 18:14:32 +00:00
Matthew Fritze
bd376296cd Establish permanently unavailable settings
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.

The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.

Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.

Bug: 78910582
Fixes: 79245656
Test: robotests
Change-Id: I42c2cedab66be2d76999795f46470a079cc1ec71
Merged-In: I58821a6cfd6134b3b351657b6edf5f74ead00643
2018-05-09 10:03:40 -07:00
Matthew Fritze
f87a1f3f41 Establish permanently unavailable settings
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.

The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.

Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.

Bug: 78910582
Bug: 79245656
Test: robotests
Change-Id: I58821a6cfd6134b3b351657b6edf5f74ead00643
2018-05-09 08:36:59 -07:00
android-build-team Robot
714b15cbdf Merge "Use ListFormatter to join strings" 2018-05-08 20:20:28 +00: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
jyhshiangwang
4d015b17b3 Use ListFormatter to join strings
Currently in Settings we are using R.string.join_many_items_first, R.string.join_many_items_middle and R.string.join_many_items_last to manually join strings. The join code is messy and the joined string is incorrect in some languages, so we migrate all string join to just use ListFormatter.getInstance().format().

Bug: b/78248791
Test: robotests
Change-Id: I898339978e6e2027587e28994b0280fa46821fd6
2018-05-02 11:15:32 +08:00
Tony Huang
e0b3323bde Merge "Update StorageSummaryDonutPreference content" into pi-dev am: 070238df13
am: 3ba6c42ab0

Change-Id: Ibb80c748317948ab1b5b62f606c06375ee0c1cc9
2018-04-26 20:09:01 -07:00
Tony Huang
070238df13 Merge "Update StorageSummaryDonutPreference content" into pi-dev 2018-04-27 02:58:15 +00:00
Phil Weaver
16904e3019 Merge "Improve battery saver setting a11y semantics" into pi-dev am: 577f2af92b
am: d7d1f98fa7

Change-Id: Ic79fa7da89397c517acd3087e23d652056296e89
2018-04-26 17:57:23 -07:00
Phil Weaver
577f2af92b Merge "Improve battery saver setting a11y semantics" into pi-dev 2018-04-26 23:50:54 +00:00
Tony Huang
494a848545 Update StorageSummaryDonutPreference content
- Set its view as unclickable
- Add content discription on DountView

Fixes: 78172416
Fixes: 78170302
Test: manual open talkback to check voice content
Change-Id: Ic40f88fb27344822bbb14cf62a79d8e030ee16ac
2018-04-25 10:55:51 +08: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
Phil Weaver
1979829294 Improve battery saver setting a11y semantics
Adding the ability to override a couple a11y traits
of the Settings version of SeekBarPreference.
Setting semantics for the battery level to report
itself as a percentage. Also tweaking the content
description to use a different title. The title isn't
exactly what I'd like, but it is better than just
saying "At 15% - 15%".

Bug: 74357845
Fixes: 78479637
Test: Used a custom accessibility service to inspect
the information coming from the battery saver seek bar.

Change-Id: I9db55cf0bb3cfee86a46d22c1208262407332d5f
2018-04-24 15:23:38 -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
ea72074ed7 Merge "Show only 1 entry for hearing aid devices without killing the activity." into pi-dev am: d87acaf3cf
am: 595cda2d14

Change-Id: I49973a65a31f5f79722c4e4841f2dcda34128edb
2018-04-16 10:03:34 -07: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
Jason Chang
a29ed7ef71 Merge "[SettingsLib] Update Utils APIs usage" 2018-04-12 12:44:04 +00:00