Commit Graph

987 Commits

Author SHA1 Message Date
TreeHugger Robot
467a6559c1 Merge "Use Settings.Secure values, not Global values" 2018-07-31 17:13:27 +00:00
tmfang
4b5cbca5c8 Fix windows leaked in ZenModeScheduleRuleSettings
ZenModeScheduleRuleSettings creates an DaysDialog when user clicked
Days option.

If Activity was destroyed suddenly, WindowsManager throws a windows leaked exception.
And then DaysDialog try to do something(dismiss), settings app will crash.

So, we need to dismiss dialog when activity was destroyed.

Test: robo test, change code to recover symptom, manual test
Change-Id: I8d5370fe9673573581d613da91c7ab9be55d8199
Fixes: 111841375
2018-07-31 16:45:07 +08:00
Beverly
b00cef308e Use Settings.Secure values, not Global values
The following Settings are being moved to Settings.Secure
from Settings.Global since they are settings that exist
per user
 - CHARGING_SOUNDS_ENABLED
 - CHARGING_VIBRATION_ENABLED
 - ZEN_DURATION
 - SHOW_ZEN_UPGRADE_NOTIFICATION
 - SHOW_ZEN_SETTINGS_SUGGESTION
 - ZEN_SETTINGS_UPDATE
 - ZEN_SETTINGS_SUGGESTION_VIEWED

Bug: 110926544
Test: make ROBOTEST_FILTER=ZenModeDurationPreferenceControllerTest RunSettingsRoboTests
Change-Id: I3e3d6f6653b81a121fbda7d2f9f1b75651f536b7
2018-07-26 16:46:06 -04:00
tmfang
41ab6b4bf8 Migrate all AlertDialogs to AndroidX version
This CL only changed AlertDialog imports.
So, reviewer can review it easily.

Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.
2018-07-20 11:32:13 +08:00
TreeHugger Robot
9bd3687c8e Merge "Disable notification settings access from work apps." 2018-07-18 14:45:20 +00:00
Irina Dumitrescu
127fa65575 Disable notification settings access from work apps.
Fixes: 79241388
Test: the following command does not open the notification settings in
work profile user:
$ adb shell am start --user $USER -W -a android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS
Moreover, triggering the notifications from a sample app results in the
new toast being displayed.

Change-Id: I0a330a9cf22c813aea7600557660868263817e1e
2018-07-18 14:37:18 +01:00
Fan Zhang
af32e726e6 Allow activity to delegate onActivityResult to fragments
Change-Id: Iac388f1726269239313d666f3123f28348e0c90a
Fixes: 111531567
Test: rototests
2018-07-17 10:59:02 -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
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
af1552251f Add some pages to search index.
* Notification access page
* VR Listener page
* Feature flags in dev options
* QS Tile developer options
* User dictionary
* Billing cycle
* Some accessibilty pages

Bug: 70720645
Test: robotests
Change-Id: I4f7d3d65b2803cebf178ac345a79721232df707c
2018-07-11 16:39:29 -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
TreeHugger Robot
d0ecbe1c33 Merge "ZenScheduleRule is valid even if it never occurs" 2018-07-09 22:28:55 +00:00
Beverly
322a022442 ZenScheduleRule is valid even if it never occurs
Bug: 111167252
Test: make RunSettingsRoboTests -j40
Change-Id: Ibb564b2b0bca049afb17641e372276e58e487df2
2018-07-06 12:05:00 -04:00
TreeHugger Robot
2fcd7a1cd3 Merge "Use primary user's LOCK_SCREEN_SHOW_NOTIFICATIONS." 2018-07-03 20:54:29 +00:00
Pavel Grafov
f14de789f4 Use primary user's LOCK_SCREEN_SHOW_NOTIFICATIONS.
Only primary user can set LOCK_SCREEN_SHOW_NOTIFICATIONS,
profile can only set notifications to be redacted. When the
user changes notification settings for a work app, this class
is invoked from the profile, meaning it attempts to read
LOCK_SCREEN_SHOW_NOTIFICATIONS for the profile, which is not
there. As a result the function always returs 0 for work apps.

Bug: 111112011
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/notification/VisibilityPreferenceControllerTest.java
Change-Id: Ifb50209ea8ea8fb6639f00ca8b7cf8a4295890ad
2018-07-03 20:47:08 +01:00
Beverly
0394ab2db0 Use getSummary in ZenStarredContactPrefController
Change-Id: I517d959371e7dde2eafef540fe000f177c064104
Fixes: 110989450
Test: ZenModeStarredContactsPreferenceControllerTest.java
2018-07-02 11:25:02 -04:00
Fan Zhang
7431c91de6 Remove search indexing pipeline from Settings
Index is already handled by SettingsIntelligenec. No longer needed in
Settings.

Change-Id: Id43fb3100dc2759185744441cff8cb9cd2d2da20
Fixes: 69808376
Test: robotests
2018-06-21 09:38:36 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Julia Reynolds
7b5ef08b81 Add notification sent count to app info
Test: robotests
Bug: 79607096
Change-Id: I6f96ad7890ff8f224749db10fc8a18d4626cac11
2018-06-14 16:25:01 -04:00
Julia Reynolds
8ebfb12cac Add notification sent count to channel settings
Bug: 79607096
Test: robotests
Change-Id: I3c1d8fd1cbd9f5b8e997f1bfd50926121a5040fb
2018-06-14 14:58:59 -04:00
TreeHugger Robot
28e0ce5b40 Merge "Don't force lower case in ZenSettings" 2018-06-08 14:44:33 +00:00
Julia Reynolds
9e2ec5fa07 Hide block pref on non-configurable channels
Test: robotests
Bug: 109875297
Change-Id: I164ae2e07d178db9e84746e5c59f0968e6c77eae
2018-06-07 19:49:49 +00:00
Beverly
bb0501c2fd Don't force lower case in ZenSettings
Programatically lower casing letters is bad for translations

Change-Id: Iea39186b9716f628ed96ad457b09440bd177d821
Fixes: 77961695
Test: ZenModeSettingsTest.java
2018-06-07 11:14:11 -04:00
Beverly
da412f07e5 If zen settings are updated, don't show onboarding
Change-Id: I33c328e5d90f1b948c7dacb2e7f6265a1e496d35
Bug: 109668117
Test: ZenOnboardingActivity
2018-06-06 14:24:12 -04:00
Fan Zhang
44931d1e96 Properly suppress zen mode entry from soundsetting page.
Change-Id: If2c033232b05753f3ba52bb986dd6c85cab6e452
Fixes: 72748524
Test: robotests
2018-06-05 15:10:45 -07:00
TreeHugger Robot
4d142c992b Merge "Add null check in displayPreference" 2018-06-05 18:14:17 +00:00
Beverly
b77145401f Add null check in displayPreference
Change-Id: I3afaa3f587dc5c9989d5e520f1c8a0b33e57ec7d
Fixes: 109740402
Test: ZenModeStarredContactsPreferenceControllerTest.java
2018-06-05 13:05:12 -04:00
Fan Zhang
3f34335e2e Suppress work-profile search terms when no AfW is on device
- Share the same set of pref controller between main UI and search
  in AccountDashboardFragment.
- Update WorkSoundPreferenceController to actually do something for
  updateNonIndexable() method.
- LockscreenDashboardFragment to also suppress "Work notification" header. I
  think we just missed it previously.

Change-Id: Ifa6f9b2077c9810ffff33f240929f418d4a8a5aa
Fixes: 62167659
Test: robotests
2018-06-04 22:37:42 +00:00
Beverly
1aa6826e80 Fix null pointer in StarredContactsPrefController
Change-Id: I9b2209825b30a6cc8dfe355632201b8082572dbb
Fixes: 80084826
Test: ZenModeStarredContactsPreferenceControllerTest.java
2018-05-31 17:29:08 -04:00
Matthew Fritze
111fc0344b Merge "Fix DND crash from SpringboardActivity" into pi-dev am: 3f790b76b0
am: 7fcbaf4ac9

Change-Id: I999288a61ebc780986ed108cd0b255db6ee4d791
2018-05-29 12:52:43 -07:00
TreeHugger Robot
3f790b76b0 Merge "Fix DND crash from SpringboardActivity" into pi-dev 2018-05-29 18:47:23 +00:00
Matthew Fritze
a559103b1b Fix DND crash from SpringboardActivity
Special case Uris need to explicitly add their intents.
This unfortunately duplicates a list of special-cased Slices,
but I have attached a bug with a plan to address this duplicity in Q.

Change-Id: I346915c32543713d33716422018d7c950cce323d
Fixes: 80065409
Test: atest SliceDeepLinkSpringBoardTest
2018-05-25 13:35:23 -07:00
TreeHugger Robot
da07a66365 Merge "Add remaining whitelisted controllers" into pi-dev 2018-05-25 16:53:44 +00:00
TreeHugger Robot
fdef0464e9 Merge "Add remaining whitelisted controllers" 2018-05-25 16:47:57 +00:00
Antony Sargent
97e418f45c Merge "Update sound settings icons" into pi-dev am: 2e0709b3b8
am: 75ffd61ee3

Change-Id: I60c903d44a89e09eadd469d67d6351efcb2b9721
2018-05-24 23:50:12 -07:00
Matthew Fritze
61227fb093 Add remaining whitelisted controllers
Because I missed them in the long whitelist the first time...

Change-Id: I9fbd7b33e06b3f2f6e5e5778f78abfdb1a52006a
Merged-In: I01c8c80fe306667c1d3ac007b16fad546c5a5f40
Fixes: 79779103
Test: robotests
2018-05-24 17:29:03 +00:00
Matthew Fritze
0cb62643d6 Add remaining whitelisted controllers
Because I missed them in the long whitelist the first time...

Bug: 79779103
Test: robotests
Change-Id: I01c8c80fe306667c1d3ac007b16fad546c5a5f40
2018-05-24 10:27:29 -07:00
Antony Sargent
2e0709b3b8 Merge "Update sound settings icons" into pi-dev 2018-05-24 06:12:50 +00:00
Julia Reynolds
fea643e243 Merge "Use standard displayPreference" into pi-dev am: eba0723a57
am: b7bfb04f50

Change-Id: I8f6704247d5e633cc1d6cd3d75403837606fca03
2018-05-23 16:05:38 -07:00
Antony Sargent
75ae43b5cc Update sound settings icons
In several places we were referencing private icons from
frameworks/base/core instead of versions we already had in
settings. Also add in a "media stream off" icon to match the one we
already had for "media stream on".

Bug: 77982107
Test: manual (Settings->Sound, then use hardware controls to modify
media and ring volumes)

Change-Id: I3a1d808b3028bb4f2feae4536194dc58c3177a66
2018-05-23 15:44:53 -07:00
Julia Reynolds
b9676e9076 Use standard displayPreference
For notification fields. This is required for them to
display properly within an 'advanced' preference category.

Test: robotests, manual
Change-Id: I1e1ff0e801e136c6a86a0d9164ed21d4160e897a
Fixes: 80132743
2018-05-23 16:44:44 +00:00
Matthew Fritze
e31e60ce94 Add Location Slice
Location is an intent-only Slice.

Test: Robotests
Change-Id: Ie9ed05be2224f2c4b393ed201d5f313f80183edc
Merged-In: I07e27683b46fe4ded8215009a983bb909555fb59
Fixes: 67997314
2018-05-23 08:09:07 -07:00
Matthew Fritze
f1a7006d31 Add Location Slice
Location is an intent-only Slice.

Test: Robotests
Bug: 67997314
Change-Id: I07e27683b46fe4ded8215009a983bb909555fb59
2018-05-22 21:13:47 -07:00
Matthew Fritze
1dd25fd87c Add isSliceable API to BasePrefController
Only support explicitly approved Settings Slices,
dictated by controllers which return true for the new
method isSliceable.

Updating the supported settings to a whitelist means that
the method to return all available slices must be updated,
and checking slicability when we index slices.

Test: robotests
Change-Id: I85848c2cdf3e151fa94b33dd1dc5c0374ef94b5b
Merged-In: Ib2b9690cdd0036b5cc4a1cb846c52bce7c824ab9
Fixes: 79779103
2018-05-22 22:43:24 +00:00
Matthew Fritze
bf1f5b5813 Add isSliceable API to BasePrefController
Only support explicitly approved Settings Slices,
dictated by controllers which return true for the new
method isSliceable.

Updating the supported settings to a whitelist means that
the method to return all available slices must be updated,
and checking slicability when we index slices.

Test: robotests
Bug: 79779103
Change-Id: Ib2b9690cdd0036b5cc4a1cb846c52bce7c824ab9
2018-05-22 11:06:42 -07:00
Julia Reynolds
49d8b0a3e4 Merge "Don't reset channel field when loading the app" into pi-dev am: 7ae4b0bbdc
am: a7aee6eea5

Change-Id: Ib6804e0fa325d04360b620aa36f043c6c707db1b
2018-05-22 08:51:52 -07:00
Julia Reynolds
306e2d9f84 Don't reset channel field when loading the app
Only save data that's changed.

Change-Id: Iaa8265f543a7c1ec418d9d016986e0a253f28df6
Fixes: 79216856
Test: robo tests
2018-05-22 13:43:24 +00:00
TreeHugger Robot
14bf352f5e Merge "styleActionBar when updating header" 2018-05-21 22:18:57 +00:00
TreeHugger Robot
f703d1cb3b Merge "Set click listeners on displayPreference" 2018-05-21 22:18:53 +00:00