Commit Graph

182 Commits

Author SHA1 Message Date
Jason Monk
96ab63640f Battery graph in QS Detail
Add new usage graph view to SettingsLib that shows usage with
same labels and whatnot.

Use that graph in the battery detail panel to show more stuffs.

Change-Id: I397b1314f65f668df566e93bdbc15420e1b3a280
2016-02-16 16:25:44 -05:00
Winson
1bcf3c4742 Moving dim calculation into the stack layout.
- This simplifies code and also prepares the code for dimming certain
  tasks when focused.
- Ensuring that cancelling transitions will completely remove all 
  listeners in a given animation.

Change-Id: I77050d94097f9af404250c287522d83c146cfb25
2016-02-12 17:07:14 -08:00
Jason Monk
e24194f079 Update QS defaults list
Also allow custom tiles to be in the default list.

Bug: 26425051
Change-Id: I88af8b251dda333f1392e9959c8505e85f4cbafa
2016-02-05 14:55:05 -05:00
Winson
40a2273377 Minor tweak to enter/exit animation for the home activity.
- Fixing issue where the animation props was not applied to the progress
  and callback animations correctly
- Ensuring that all tasks animate the same distance on enter/exit, and 
  not just to the edge of the screen
- Removing unused styles and animation resources

Change-Id: I88bd0f79f386304373fe63b49e92f02eeb882e55
2016-02-04 17:33:26 -08:00
Winson
50448630a4 Tweaking enter from/exit to home animations.
Change-Id: Idedf00457055b6f0268c0f93a0a14c6a553e1168
2016-02-02 12:25:36 -08:00
Rubin Xu
491d1f7b36 Enable work mode quick settings tile
Bug: 22541941
Change-Id: Ide90bb9824fa8a89111eeb7cd5309b4a22ac149a
2016-01-27 11:08:54 +00:00
Winson
4b9cded143 Enabling fast switching for all users.
- Consolidating notion of fast toggling and indicator in the tuner - if 
  it is enabled, the indicator will be enabled
- Upon entering recents, immediately enable the timer to jump to the 
  previous task
- Allowing for multiple durations in the first and subsequent toggles
- Disabling fast-toggle on freeform devices and when touch exploration 
  is enabled
- Simplifying UserInteractionEvent to a reusable event

Change-Id: Id1ca3cd035f4eded5141b2b333a2cab5434b79ee
2016-01-26 21:05:06 -08:00
Jorim Jaggi
cdb06caebb Grow recents when in multi-window on phones
- Make sure all methods in RecentsImpl are called from the main thread.
- On secondary users, call dockTopTask in correct process.
- When opening recents, split it differently when on phones.

Change-Id: I10224452b1a9c0ae691d64cceeae5bb93cc4f6d8
2016-01-26 12:21:29 -08:00
Jason Monk
a20818257e Make nav bar customizable through Tunable
Change-Id: I18c6bc3db1555ca8ec94f1ce594eb01158f32736
2016-01-22 09:47:08 -05:00
Winson
65c851e6e9 Fixing several regressions with affiliated tasks.
- Now that we are sorting tasks for freeform and history, ensure that
  the affiliated tasks have a useful active time (based on the task
  they are affiliated with) for sorting
- Fix issue with the initial stack and focus state not taking the
  launch task into account due to the launchTask flag not being set
  until the activity was started (now set in RecentsTaskLoadPlan)
- Fixing issue with affiliated tasks not being launched from the stack
  due to the animation trigger not firing when the action button is
  already hidden/visible
- Fixing issue with title text being occasionally hidden (something we
  only need for freeform tasks)
- Tweaking the launch/enter animations for tasks occluded affiliated
  tasks

Bug: 26685208

Change-Id: I0f6e9dbf8deec2e4fc15364e686367cc0f57b41f
2016-01-21 16:07:31 -08:00
Winson
8aa9959413 Starting the dismiss animation in parallel with the gesture.
- Introduces notion of ignored tasks for the purposes of layout in 
  TaskStackView.  This can be used during drag and drop, and while 
  dismissing to calculate the state of the stack without the task that
  the user is currently interacting with.
- Fixing minor layout issue when the front/back task transforms are 
  improperly calculated when there is a single task
- Fixing minor issue when the anchor task is calculated incorrectly when
  dismissing task views

Change-Id: I1eb0864a52e53562e4d573a6ed4f8a5a1615aff9
2016-01-21 16:05:53 -08:00
Xiyuan Xia
6a13e3be66 Merge "Refactoring for better extendability" 2016-01-15 17:31:32 +00:00
Peter Schiller
b124d5607f Indicator for task auto-select
Change-Id: I081222b84a5f90e77890724977821ed481fe3924
2016-01-14 14:37:11 -08:00
Xiyuan Xia
1b30f79cff Refactoring for better extendability
- Exposing members of PhoneStatusBar, StatusBarKeyguardViewManager and
  KeyguardBouncer to sub class;
- Add a configuable SystemUIFactory as class factory for components;
- Add logoutCurrentUser and switchToByUserId to UserSwitcherController;

BUG:22407003
Change-Id: I3902baf3c721d89217b27a6310c4202a198cb209
2016-01-14 09:47:57 -08:00
Winson
f24f21695f Refactoring and unifying TaskView animations.
- Adding notion of a TaskViewAnimation to animate a TaskView to a
  specific TaskViewTransform
- Refactoring task view enter/exit/launch/delete animations into
  a separate class so that we can improve them easier
- Removing individual TaskView view property animations in favor
  of using the existing TaskStackView stack animation. This ensures that
  we don't have to add separate logic when animating TaskViews.  It is
  all handled by the TaskStackView now.
- Breaking down the TaskStackView synchronize method into binding
  TaskViews and updating them to transforms.  This allows us to
  synchronously update in many cases and is cleaner than the many
  request* calls.

Change-Id: Ib26793568a14e837e6782358155f21158a133992
2016-01-06 14:55:20 -08:00
Jason Monk
ec9af01df5 Fix default QS tiles
Also add emergency only to header.

Bug: 26124044
Change-Id: If39fa2cca052b711516bd5a92a91f541ad00e62a
2015-12-10 11:10:23 -05:00
Jason Monk
deba7a42ed Make the new QS the new QS
Some UI updates to the header, then make the new QS the default
state for everyone.

Change-Id: I82b6bebb0b21a5c9eb926cb1a761cac340a293df
2015-12-08 16:19:13 -05:00
Winson
116b2c2c54 Minor tweak to initial paging state.
- Making the scroll and focus animations identical so that it doesn't
  cause a weird flicker.

Change-Id: If1e3d23cd5ef45e429341c6bf7ac62b3a17eb662
2015-12-04 01:23:17 +00:00
Winson
c29ff0025b Adding history view.
- Initial changes to show a history view within Overview (behind tuner
  flag)
- Restoring the task view dim in the stack

Change-Id: I0503d11768736c86f3145942404391dfacd0ddd6
2015-11-25 11:42:19 -08:00
Winson
397ae74733 Removing unused code
- Removing code related to dismiss-all and stack filtering

Change-Id: Ife3c300970b234a5f7828a3c04f1eb9cb861399f
2015-11-23 15:56:26 -08:00
Winson
4993c2f17e Initial changes to stack layout to support paging and nonsquare thumbs.
- Moving to a couple piecewise curves to define the various overview
  layout states.  Added a new state for focus (to be used in follow up
  CL) to control paging of overview from the nav bar button.  This 
  allows us to control the visible range of items on the curve, and 
  to better fit other UI controls around the stack.
- Removed the scaling of the tasks in the stack
- Also refactoring parametric curve to just use the system Path

Change-Id: I4108da77986d86896576e36fa8f31189d6fcb6f3
2015-11-23 15:55:46 -08:00
Vladislav Kaznacheev
38f426c808 Show the app shelf depending on the platform feature
This CL uses PackageManager.
FEATURE_FREEFORM_WINDOW_MANAGEMENT to determine
whether app shelf should be displayed, and removes
config_enableAppShelf flag that was previously used for that.

Bug: 25329519
Change-Id: I6460eca8e158b0e114e8f2cfdfea4a2e5eadd03b
2015-10-28 15:48:12 -07:00
Winson
0d14d4da91 Refactoring the focus state to be independent of view focus.
- This allows us to ensure that a task is always focused in the stack,
  which simplified focus logic, and allows us to unify the accessibility
  focus and normal view focus handling.
- Refactoring some focus actions to events
- Adding flags to experiment with fast-toggle.

Change-Id: I5623f2a5584994033f1ebf1760b55e8bd019944b
2015-10-26 17:38:29 -07:00
Selim Cinek
978deb2e90 am 05f88187: am ab8616cf: am 235a6911: am 714a61cd: Merge "Ambient display now comes up immediately when a notification comes in" into mnc-dr-dev
* commit '05f88187463119d59955a77c463075e4b12adbc2':
  Ambient display now comes up immediately when a notification comes in
2015-10-06 02:22:53 +00:00
Selim Cinek
01db67d9f7 Ambient display now comes up immediately when a notification comes in
Previously there was always a 1s delay which could even become a 5-8s
delay if the Alarm was not delivered in time.

Bug: 24355754
Change-Id: I1625c69719eee81403a1fcce1358d4d6c9fcf3e9
2015-09-29 11:59:29 -07:00
Winson
35f3050959 Moving resources out of ResourceConfiguration.
- We can no longer make assumptions about the ability to
  get resources for the RecentsActivity before the activity
  is launched (the configuration of the launched activity
  can differ than the current configuration if a window
  is docked).  As such, we reduce RecentsConfiguration
  to the set of values that are context agnostic, or can
  be calculated directly given an application context.
  This ensures that we will continue to be able to compute
  the target task bounds given any context.

Change-Id: I423c90635eb294aa2d78a6f56771b98ee2b9d5e4
2015-09-28 16:41:20 -07:00
Winson
6aa91e6357 Removing unused resources.
Change-Id: Ie013b164892eaccaaab7b8c2bcdd3cb5ac51a485
2015-09-25 20:13:25 +00:00
Xiyuan Xia
40f9dabaa8 Rename fullscreen user switcher config
config_camelCase is the preferred format for config names.

Bug:19908596
Change-Id: I69f953fb1bd74ec61b2845c54a7c54c3c9b6b86e
2015-08-18 15:53:11 +00:00
Xiyuan Xia
cc3a74f6ef Add full screen user switcher to lock screen
- Add a FULLSCREEN_USER_SWITCHER status bar state;
- Switch to this state when lock screen is shown and fullscreen
  user switcher is enabled;
- Add a build config and a test boolean system setting to enable
  fullscreen switcher;
- Placeholder GridView UI for fullscreen user switcher;

Bug:19908596
Change-Id: Ief1bc987532522245f4172beca19053d34004cee
2015-08-14 14:56:35 -07:00
Jorim Jaggi
23999bffaf am 05b9dc9f: am c74a43bb: am 4fb3e9b3: am 50ff3afb: Start pulse fading exactly when screen is turned on
* commit '05b9dc9fb5ed4b41a5eb44335dd8307171e771ba':
  Start pulse fading exactly when screen is turned on
2015-08-14 20:14:47 +00:00
Jorim Jaggi
50ff3afb01 Start pulse fading exactly when screen is turned on
Bug: 23163299
Change-Id: I0f6d5dbfa02e455292e06a4f8f69ab68e9da2b6b
2015-08-14 18:47:59 +00:00
James Cook
ed5b3e2cad Move shelf config setting into SystemUI
It doesn't need to be visible to the rest of the framework.

Also add a system setting so adb can override the default before for demos:
adb shell settings put system demo_app_shelf 0  # Zero forces it off.
adb shell settings put system demo_app_shelf 1  # Non-zero forces it on.

Bug: 22332617
Change-Id: I75b228a24b307447a7e6df11ba0d024b88759beb
2015-07-10 13:39:39 -07:00
Jorim Jaggi
9ff1510aeb Fix vibration when expanding notifications
To make it more consistent with other vibration feedback in the
system.

Bug: 21549323
Change-Id: Ia4ef1cf17c28f6069635797af94991a639e1cef0
2015-06-10 23:17:32 +00:00
Selim Cinek
2c97e5cc5e Shortened the duration of HUNs
Bug: 20917402
Change-Id: I7c1af3507b28a70432c5352f07530d0ea47a731c
2015-05-29 17:08:05 +02:00
Jorim Jaggi
be4116a347 Round rect clipping for notification contents
Enable round rect clipping on notifications for the following kind
of notifications:
- Big picture style.
- Big media narrow style.
- Custom notifications.

Bug: 16142505
Change-Id: I157650fe470636ed624a81557c08135827eac0cb
2015-05-26 14:14:10 -07:00
Jorim Jaggi
3b028d754f Use platform delay for assist long press gesture
Bug: 20853645
Change-Id: I1f25a04bfc7d07077211743b9d258fd637a402e6
2015-05-13 14:17:16 -07:00
John Spurlock
8dbcda1b33 Merge "Volume: Simple dialog footer, DND in quick settings." into mnc-dev 2015-04-29 14:02:52 +00:00
John Spurlock
d9c75dba75 Volume: Simple dialog footer, DND in quick settings.
- Show DND tile by default, this is now the only
   place to manage DND modes / end conditions.
 - Remove super footer from volume dialog, replace with
   a simplified version that displays the current mode
   and allows ending DND.
 - Remove obsolete text-only footer from codebase.
 - Migrate remaining volume items into main resource files.
 - Rename "No interruptions" to "Total silence".
 - Add new user information banner for "Total silence"
 - Crude media filtering for Total Silence.
   (deeper muting changes will be done as a followup)
 - Disable volume dialog sliders completely if muted due
   to zen.
 - Cleanup ZenModePanel: assume embedded mode, remove
   expandable subhead
 - Remember "favorite" DND mode inside the DND config panel.
 - AudioService: consult ringer-mode-delegate before voluming
   down into silent.
 - Add new hour options to time-based exit conditions.
 - Volume dialog visual updates to move closer to final visuals.
 - Unify ringer=silent with DND.

Bug: 19260237
Change-Id: I05d7e001eca3b5125418ec3bc4087d0cb8866717
2015-04-29 09:58:38 -04:00
Selim Cinek
684a442b81 Follow up CL for heads up notification refactoring
Change-Id: Iaf286dfd30a86d3d7d6dd947d3c10ac9eb8c2b1e
2015-04-28 16:24:40 -07:00
John Spurlock
90be37953d An update on VolumePanel.
Retired, and removed all claimed resources.

VolumeDialog is now the only option.

Bug: 19260237
Change-Id: I6e8abff0f8c16c4e02c47c8b7f24d5703cb3dbdf
2015-04-16 12:14:56 -04:00
Andrew Flynn
a478d70a68 SysUI: Carrier Network Change icon
- Listen for new PhoneStateListener.CARRIER_NETWORK_CHANGE events.
- Show/hide a new unique animated icon in status bar and quick settings during
  Carrier Network Change events if we are instructed by PhoneStateListener
  and it's during a period without connectivity.
- ObjectAnimator doesn't let you animate colors between themed colors, so
  there's quite a bit of boilerplate duplication in the animation xml.
- Add a new demo mode command to toggle it on/off.

Change-Id: Ic5bb2aa7444303c6b7f2456526a9c25325c6e1f4
2015-04-16 08:37:43 -04:00
Selim Cinek
b8f09cf553 Integrate Heads-up notifications into the shade
Change-Id: I4ca0fb4e76e7c974490538c168da0564fe97e0ae
2015-04-15 12:32:00 -07:00
John Spurlock
3c4076a246 DND: Add a hidden DND tile to quick settings.
Invisible by default, not activatable when the platform
volume controller is active.

However, when the platform volume controller is not active,
it can be enabled via a broadcast intent.

When enabled, the status bar icon also changes to a single
dnd icon.

Very little more than embedding the existing zen mode panel
into the detail pane of a new QS tile.

Change-Id: I1e0ff6fbb99b00f67b53bceda8cbf121f3ef6b52
2015-02-25 12:46:13 -05:00
John Spurlock
60c08aceea Doze: pulse less often. automerge: 618e420 automerge: 43c7741
automerge: 90fc289

* commit '90fc289102465e7c267d3f19f7e3e5c56beb5fc0':
  Doze: pulse less often.
2015-02-10 19:06:05 +00:00
John Spurlock
618e420adf Doze: pulse less often.
Remove the trailing pulse @ 2 minutes, and only allow 2 schedule resets.

Bug: 19330195
Change-Id: I492581c081fafd2a1e5e09f7cce08d7a14da6d6b
2015-02-10 09:23:29 -05:00
Chris Wren
930eccaf44 Don't let the heads up close too quickly.
The public API of HeadsUpNotificaitonView was not well suited to the
new requirements, so it changed slightly.

Old API:
 - showNotification: show or update a notification
 - clear: close the window and forget the notification
 - release: send the notification to the shade and forget about it.
 - releaseAndClose: release and close the window
 - dismiss: clear the notification if clearable, or release it

New API:
 - showNotification: show a new notification
 - updateNotification: show a new version of the same notification
 - removeNotification: respond to a cancel
 - release: send the notification to the shade at some point
 - releaseImmediately: send the notification to the shade right now

The new API makes updating vs. posting and removing vs. releasing more explicit.

There is a new internal concept: lingering.  The heads up lingers
after an event that would have closed it if the minimum visibility
time has not been satisfied. In the case that the notification was
deleted, the heads up may be visible, but mHeadsUp will be null.  In
this case, touches on the notification views are disabled.

More responsibility for control of the heads of policy was moved into
the HeadsUpNotificaitonView class. This should continue on master.

Some changes to support testing.

Added a test to cover all the edge cases for minimum visibility time:
 1. extend visibility when canceled too soon
 2. extend when updated with a low-priority version, fast update.
 3. extend when updated with a low-priority version, slow update.
 4. don't extend the visibility in any other case

TODO: Policy parts of HeadsUpNotificationView should be split out
into a separate HeadsUpNotificationPolicy class, and even more of the
policy should be lifted from status bar that new class.

Bug: 17878008
Change-Id: I192419d0685dd022ee7edcd792e346a4f39c6adb
2015-02-04 17:16:16 -05:00
John Spurlock
8cbfad3934 am 7fb346ec: am 4b41400b: am e2f4ab93: Merge "Default "pickup peforms proximity check" to false." into lmp-mr1-dev
* commit '7fb346ec209eac91b9673840e10b3c9040dbef3f':
  Default "pickup peforms proximity check" to false.
2015-01-28 18:04:56 +00:00
John Spurlock
b9fe4e1713 Default "pickup peforms proximity check" to false.
Don't assume the pickup sensor will perform a proximity check before
starting to pulse.  This will add some latency, but necessary if
we can't trust the sensor.

Bug: 19083596
Change-Id: I51b7daf5ed76b2780ec5c949a75cc1fca247ddad
2015-01-26 18:55:29 -05:00
Jorim Jaggi
2325f276cf Remove dead code #9: Remove ticker code in PhoneStatusBar
Change-Id: I2236790435d89962d70c642fa1879d44981bc71b
2015-01-21 16:56:33 +01:00
Jorim Jaggi
0ed01deb2f Limit item count in QS detail
- Introduce a maximum number of items to be shown in QS detail view
  depending on the device configuration.
- For Wifi and Cast, make the panel exactly that height as we would
  show the maximum count of items, in order to prevent that the
  buttons jump around.

Bug: 18665311
Change-Id: I7c0c383a902d295f1b486b8a074e15b990fbe562
2014-12-11 21:51:30 +01:00