Commit Graph

105 Commits

Author SHA1 Message Date
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
Fan Zhang
fdb833873a Use new app header in more screens.
- This covers app data usage settings, power usage details
- Addded helper method on AppHeaderController to build the header as
  Preference because every fragment needs to do this anyway.

Bug: 32442716
Test: RunSettingsRoboTests

Change-Id: I6d38321b867154f8fb5194b993d118bcdbbfedc9
2016-10-28 17:16:39 -07:00
Fan Zhang
1ff25ba7e6 Modify AppHeaderController to provide UI for notif settings
- The AppHeaderController is no longer a singleton. Each time appheader
  should be updated we will create a new controller. It acts as a
  builder/mutator, user provides customizable inputs, and the controller
  will bind everything to UI when calling done().

Bug: 32442716
Test: RunSettingsRoboTests
Change-Id: Icfc5bcd8bc170a02b57432d864eaddf71db0d5b4
2016-10-27 17:23:33 -07:00
Julia Reynolds
b5ec2d71a2 Add notification channel settings.
If a user has set a preference at an app wide level, it cannot be
undone at a channel level, but channels can be more restrictive.

Tests: changing settings for apps and channels.

Change-Id: I7907b8179ffc24d68197c917f182e63d8e1ff7a7
2016-09-15 21:46:17 -04:00