Commit Graph

108 Commits

Author SHA1 Message Date
Julia Reynolds
3527ef7c29 Notification settings updates
- Text changes
- Show channels on the app settings screen (again)
- Hide most of the channel settings under 'advanced' (note: this hides
  the footer preference(s) also, at the moment. the functionality
  to exclude those is coming in a later cl)
  - Add a 'show notifications' toggle for each app created group

Bug: 63927402
Test: make RunSettingsRoboTests

Change-Id: I9906ef943d05e1915061b59294a25d81c4e6cbb5
2018-01-02 15:34:58 -05:00
Julia Reynolds
ac3f7e80dc PreferenceControllers are the way of the future.
Migrates Notification settings (app level, group level, and channel
level) into PreferenceControllers (and most importantly:
PreferenceControllerTest)

Note: this removes the 'Advanced' preference group, but does
not yet use the standard system 'Advanced' grouping as it does
not currently support our use case (where we don't know how many
fields to show outside of 'Advanced' until onResume() and also
where we need fields to show below the 'Advanced' group).

Test: make RunSettingsRoboTests
Change-Id: Iddd1b4771922db322e5f73562e9d63ed077c5396
2017-11-06 13:50:26 -05:00
Alison Cichowlas
bff0e971ca Notification importance/selected sound conflict fixes.
- When you've selected "Silent" as your sound, update notification
importance messaging to match.
- When you explicitly move from a silent type of notifications to a
loud type, but have "Silent" selected as the sound, change the
sound to the default notification sound also.

Change-Id: I462785d593e1d6c7d1e87388aeee1bdcbcf6aa3d
Fixes: 63109928
Test: RunSettingsRoboTests, manual
2017-09-21 17:36:32 -04:00
Julia Reynolds
0c3f4bce57 Add settings page for notification channel groups
Bug: 63927402
Test: tests/unit/src/com/android/settings/notification/.*
Change-Id: Iebf7d8ba54f0cf5801a42f3161354d3cc5e5c848
2017-08-31 11:02:36 -04:00
Fan Zhang
75bee9bf98 App header cleanup
- Refactor the entity header layout to use LinearLayout and add id to
  content area
- Remove now unused AppHeader class
- Make entire icon+text area clickable and link to app info page
  Refactor the binding logic from bindButton to its own method.
- Remove unused MultiLinePreference

Fix: 62705377
Test: make RunSettingsRoboTests

Change-Id: I6db554695410e71b669f6fdba29d98fedc3364b9
2017-07-06 13:23:38 -07:00
Alison Cichowlas
7b0a8b6815 Notification settings update.
- Use "what happens" descriptors instead of priority level names in summary
- Group some settings under Advanced header.

Bug: 62705435
Test: make RunSettingsRoboTests; manual verification
Change-Id: Iac31575d894d7f3532c8e631ee9d77ee21830b29
2017-06-19 08:53:45 -04:00
Fan Zhang
fdcb8b1dc8 Hide app info button from app notification settings header
Change-Id: I10803e78fe4f30c2d84ec795c343ed660aab7762
Bug: 62708686
Test: visual and runtest --path AppNotificationSettingsTest.java
(cherry picked from commit 5d811c40d3)
2017-06-16 22:30:31 +00:00
Alison Cichowlas
665384a8eb Limit unconfigurability to specified channels.
am: 80fa6b5833

Change-Id: I63c40ae241f6891fa1e6b85a78dc78d2b918ca6d
2017-06-13 01:45:10 +00:00
Alison Cichowlas
80fa6b5833 Limit unconfigurability to specified channels.
Bug: 62426259
Test: Unit test in NotificationBackendTest.java
Change-Id: I79d069cee0b641d520b02f8a25751ec3e0d4632d
2017-06-12 23:17:11 +00:00
Alison Cichowlas
a90a144ef3 Merge "If two groups are posted to settings, remove old group and log." into oc-dev am: 9fa5e66a66
am: 59b4e5b6c4

Change-Id: I0661ae34df7dcca80b394e9751ce91dd2f5f25e1
2017-06-07 00:11:08 +00:00
Alison Cichowlas
130a028f33 If two groups are posted to settings, remove old group and log.
Bug: 62136650
Test: manual: set debugger in asynctask at line 110 to force
race condition, triggered task twice then released both.
also ran existing tests with no new failures.
Change-Id: I8508fe9f191ca6cd0bb6dfbc62d884420d3fd747
2017-06-06 17:02:23 -04:00
Julia Reynolds
d85ff59ce7 String changes
- channel summaries
- Notification listener name
- notifications app page title

Change-Id: I0745c06aad44bfa7636ee2b10be9387313093fe3
Fixes: 36529184
Fixes: 38178073
Test: manual
2017-06-05 11:05:43 -04:00
Alison Cichowlas
0f7e904dbe Merge "Delay adding app settings link until data fetch returns, to avoid reordering/visible misplaced "additional settings in the app" during transition." into oc-dev am: e811873b4e
am: f62c6372e8

Change-Id: Ic1434ccc7a4ec01957a7d1219fa5cf6cc1f84948
2017-06-02 18:52:33 +00:00
Alison Cichowlas
afe44799f7 Delay adding app settings link until data fetch returns,
to avoid reordering/visible misplaced "additional settings
in the app" during transition.

Bug: 62051521
Test: manual with transition scale turned to 10x sloooow.
Change-Id: I50666fbcb2a14344bbdbb2f4347c8470edb96619
2017-06-01 16:07:32 -04:00
Julia Reynolds
f1239e1b84 Merge "Allow some system channels to be blocked" into oc-dev am: 540e8f50e3
am: 166a994a4c

Change-Id: Ide3aeac0c328f08becc693795ef5553fa0c9a281
2017-05-26 15:02:40 +00:00
Julia Reynolds
3a77e1d4a0 Allow some system channels to be blocked
Test: manual
Bug: 38428796
Change-Id: If6853f1d847ade968d2bd3a7454ddce0fdda62f0
2017-05-25 14:26:58 -04:00
Fan Zhang
841d1d5aab Show shadow when entity header starts scrolling.
- Add a controller to manage add/remove onScrollChangedListener to
  recyclerviews.
- When recyclerview on each screen is scrolled to top, set actionbar
  elevation to 0, otherwise set it to non-zero.
- When screen is moved to background, detach the listener.
- Use the controller in entity header.

Change-Id: Iecf194d885098c98c392810f62893ae9189f3936
Fix: 37670670
Test: make RunSettingsRoboTests
2017-05-22 17:16:24 -07:00
Fan Zhang
d7414259d0 Move entity header controller out of application package.
Bug: 37669238
Test: rerun robotests
Change-Id: I54eb30f28fa0a88a6f0b97b53f9f1408320b5ce0
2017-05-18 16:36:32 -07:00
Fan Zhang
f5bd885a1d Clean up settings_entity_header layout.
update layout view IDs, and controller variable names to be more
generic.

Fix: 36734470
Bug: 37669238
Test: make RunSettingsRoboTests
Change-Id: Ib80827ae3eae6d01a600068b4a8a44b239c32511
2017-05-18 16:35:27 -07:00
Juan Lang
777ed2535a Depend on SettingsLib's version of lifecycle and FooterMixin.
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.

Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
     && make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067
2017-05-12 11:10:46 -07:00
Julia Reynolds
2f0547c783 Notification settings, importance and pre-O apps
- Show pre-O settings for the misc channel, should the app still have it
(versus the full channel settings)
- Fix the importance summmary text in various places
- Update the color of the blocked description text
- Fix what fields appear/disappear based on blocked status and importance

Fixes: 38177887
Bug: 38120923
Fixes: 38012300
Fixes: 37923612
Test: manual, with an O app, a pre O app that has channels, and a pre-O
app with no channels
Change-Id: I42965b81b795e8fb427f857c7766fe5480a99f2e
2017-05-11 14:48:17 -04:00
Julia Reynolds
fc730aa947 Only show one copy of each preference
Fixes: 37912144
Fixes: 37909560
Test: manual, load app settings for legacy and upgrade apps from
inline settings, click (i), and click back.

Change-Id: Ieb96cca03f2596fd44cd33facafa3d4af1fbc24d
2017-05-04 10:10:22 -04:00
Julia Reynolds
38c16a9417 App & channel notification settings updates
- change 'block all' to an on/off switch bar
- update channel list summary text when notifications are
toggled on/off on app settings page
- Add 'off state' text
- change style of foot items
- change 'importance' from a dropdown to its own page

Bug: 37538972
Bug: 37479730
Fixes: 37541624
Fixes: 37549732
Test: manual

Change-Id: I0e5cc66ba539ce2b76b4ad6541bf6bfb5b58c373
2017-04-25 13:30:48 -04:00
Julia Reynolds
8da8951b4b 'Allow sound' = let the app decide
Bug: 37479730
Test: manual
Change-Id: Ia5073dd0ef79664229c5aff0b89e7ef36edb68ee
2017-04-25 08:53:26 -04:00
Alison Cichowlas
7f431e3cd1 In apps with no channels, provide settings for misc channel in top level.
Test: robolectric tests pass, plus manual verification
Bug: 36561295

Change-Id: I58872a41fab562787d85bade0552c7735d716e5b
2017-04-18 18:49:24 +00:00
TreeHugger Robot
526185c89b Merge "Channel settings updates" into oc-dev 2017-04-18 15:03:55 +00:00
Julia Reynolds
c68ae0b9fd Channel settings updates
- Update master switch preference to store enabled state in case
it's set before the view holder is bound
- Update master switch preference to prevent disabled switches
from being toggled
- Show an importance summary for max importance
- properly handle null notification sounds

Change-Id: I395b95b76d2a3c1c94b41d1c2720bb0cf1cae917
Fixes: 36920159
Fixes: 37421928
Fixes: 36939825
Test: RunSettingsRoboTests & manual
2017-04-17 14:42:09 -04:00
Fan Zhang
be6fab0135 Update action bar style in app header UI.
- Update background color of actionbar
- Remove elevation of actionbar so it appears to be the same entity as
  app header.
- Add a shadow below app header view. We can't set elevation on app
  header unfortunately because that will add shadow all round the view,
  but we only want shadow below it.
- Updated app icon size/text size per to match UI spec.

Change-Id: I63d7fa42b859a008fa662aaf19848cd40529c2ff
Fix: 37207527
Fix: 37079248
Test: visual && make RunSettingsRoboTests
2017-04-17 09:30:40 -07:00
TreeHugger Robot
d09c7e61f4 Merge "Allow settings preference title to span over multiple lines." into oc-dev 2017-04-12 17:57:28 +00:00
Doris Ling
aa805e70ed Allow settings preference title to span over multiple lines.
- add singleLineTitle=false to SettingsPreference style, so that it will
not confined the title to a single line.
- remove the custom multi line title from DividerPreference and
MasterSwitchPreference.

Change-Id: I5a78d2cd6ac00c4482e252b0789fd2d265bd9adf
Fix: 34886787
Test: manual
2017-04-11 13:17:38 -07:00
Julia Reynolds
7be0dbd86c Sort channels and groups by id
Test: manual
Change-Id: I3949e9eb7b901bd897d848627682878937aac0c1
2017-04-10 12:47:13 -04:00
Julia Reynolds
dd8d392d7d Don't run postexecute if activity is gone.
Change-Id: I9133a4d9e4e0fd2a92cc4df786e0bc5407d981fe
Fixes: 36551766
Test: monkey tests
2017-03-29 10:42:07 -04:00
Julia Reynolds
521c8751b3 Show channel description.
Test: manual
Change-Id: I0965b0ad2c64571a01a5f221f8d344c60d54b53d
2017-03-17 15:10:29 -04:00
Julia Reynolds
8973e2786d Notification channel settings updates
- Show a deleted count instead of individual deleted channels
- Make the link to app settings more prominent
- Reload settings onresume

Change-Id: I4f493181194943310ba536eb2bca270cec7cafce
Fixes: 36119790
Fixes: 36191444
Test: manual
2017-03-16 14:31:00 +00:00
Julia Reynolds
2194f3db37 Display channel/group names only.
Test: manual
Change-Id: I7da68f71ddb78f3150ebc64af40310de65cd010c
2017-03-16 14:21:56 +00:00
Julia Reynolds
dcee38d02e Prevent whitelisted apps from blocking and silencing
Change-Id: I34cb5c2c59d56b68ed1500c8c79cd65676c0af25
Fixes: 35841524
Test: manual
2017-03-13 18:46:03 +00:00
Doris Ling
f2cf2aea37 Remove code that check for dashboard feature.
- remove DashboardFeatureProvider.isEnabled() and all relating code
and tests.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: If7796677abc8904b7436525836d50cdef38e37a4
2017-03-07 11:15:03 -08:00
Julia Reynolds
ca662cc9a7 Notification channel group res id labels.
Test: manual
Change-Id: Icf7208dc952a7306f04d53f4d681ec794563f2fd
2017-03-02 16:02:17 -05:00
Julia Reynolds
3327eac198 Show localized channel names
Test: manual
Change-Id: I85d60e564aeff8074cdb8138fe7ac1c078be986a
2017-03-02 10:35:33 -05:00
Julia Reynolds
762a733afa Allow switch preferences to span lines.
Test: manual
Change-Id: Ifcc801873ed143c4d9ceb6fb928c276808a95f81
2017-02-28 16:30:48 -05:00
Fan Zhang
c6ca314c0b Log source with visibility change
- Add a method in VisibilityLoggerMixin to log visible event using
  LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
  to next page.
- In next page's onResume(), extract the previous page's metricsCategory
  and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters

Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
2017-02-15 17:17:19 -08:00
Julia Reynolds
e971015fd9 Link back to app settings from channel page
Test: manual
Change-Id: Ieb1118bd662a662bd34027f2ef44b420d4c94183
2017-02-09 10:08:52 -05:00
Julia Reynolds
6f57f2c2af Notification app screen updates
- Load channels asynchronously
- Add importance summary & block/unblock toggle for channel list
- Change channel list headers and sorting.

Test: manual
Change-Id: If024c741df4d85227055563d5bbc8210705c420b
2017-02-08 14:49:01 -05:00
Julia Reynolds
5d1506a2af Show channel groups in settings.
Test: manual
Change-Id: Icfaed2d2d898245fcfa50b25d7ad456e4db07bae
2017-01-30 14:58:35 -05:00
Julia Reynolds
694928883d Let extra apps launch channel settings.
Test: manual
Change-Id: I689c0b35224dffc306ecbfa6f25ad3f072cd4dba
2017-01-25 12:43:29 -05:00
Julia Reynolds
1f178a9ed1 Notification settings updates
- Add 'show badge' for apps
- disable deleted channel rows
- Add an importance reset for pre-O apps

Test: manual
Change-Id: Ic32415497fe48a17f6cdb9aace37e35f9388195a
2017-01-20 09:38:33 -05:00
Julia Reynolds
b41cf299fe Show deleted channels.
Test: run cts, verify manually in Settings ui
Change-Id: Ib6376decaa4ae427bb706ea48608a5aa8924da2f
2017-01-17 15:01:15 -05:00
Julia Reynolds
d6835a20fc Support showing notifications as badges.
And remove unneeded app level settings.

Change-Id: I88f506b0704195181d1748a3135f8ee0f39b774f
Test: manual for now. will add tests when have real mocks for the pages
2016-12-20 13:07:04 -05:00
Tamas Berghammer
265d3c2a0c Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:17 +00:00
Julia Reynolds
ec767cc440 Channel updates from users lock fields from interference.
Also some apis have changed.

Test: manual, modify settings and check policy xml.

Change-Id: I967cb1fb30d8d400bdc0f3aa92fa07b4c87ddcf5
2016-10-31 15:16:28 -04:00