New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 760775 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Hide shelf when using side power button

Project Member Reported by warx@chromium.org, Aug 30 2017

Issue description

This is a follow up after issue 746657.

Code point: https://cs.chromium.org/chromium/src/ash/wm/lock_state_controller.cc?type=cs&sq=package:chromium&l=125

Currently, we immediately hide non_lock_screen_containers for issue 746657. If we quickly tap power button two times, we may still see an intermediate state which has wallpaper, shelf and status area before lock screen appears.

I think we shall definitely immediately hide shelf in this case, which is missed in my previous CL (SessionStateAnimator::LAUNCHER). This is also in line with the lock button behavior.

I don't have a strong option about status area. Shall we hide it, which gives an intermediate state that has wallpaper only, and then show it? The status area change shall apply to both lock button and side power button.

 

Comment 1 by derat@chromium.org, Aug 31 2017

I don't have many opinions about this. Right now, when I hold the lock key on a caroline device, the shelf and status area are animated: the shelf icons fade out, the status icons change, the shelf turns black, and the "Shut down" and "Sign out" button slide in from the left. Is it possible to make all of those changes happen immediately instead of animating them when the side power button is tapped?

Comment 2 by warx@chromium.org, Aug 31 2017

Cc: jdufault@chromium.org wzang@chromium.org
shelf fade out -> shelf immediately hide, should be addressed in: https://chromium-review.googlesource.com/c/chromium/src/+/644230

status area: for tot Chrome, it will change from back to semi-transparent. I need UI/UX suggestions whether we need to hide it first and then show it when lock screen/overlay shows.

shelf turns black: for new lock screen, shelf will not turn black

"shut down" and "sign out" animation -> make it appear instantly. I need to consult jdufault@ or wzang@.

Comment 3 by wzang@chromium.org, Aug 31 2017

I could remove the animation of 'shut down' and 'sign out', but they still may not show instantly as they are implemented in Web UI and there's delay in loading them. But I'm working on re-implementing them using views-based UI (targeted at M63) and I will disable the animation in this case. 

Actually I had a WIP CL that adds a 'FADE IN' animation to SessionStateAnimator::LAUNCHER (renamed as SHELF) in |StartPostLockAnimation()|, because the shelf fades out previously and we need to it show again (the app list buttons are replaced with the sign out button etc.). However this issue suggests that we should distinguish between a regular lock action and a lock made by the power button, and show the shelf immediately in the latter case. Is it possible to distinguish the two cases in |StartPostLockAnimation()|?

Comment 4 by warx@chromium.org, Aug 31 2017

Yes, there is an  issue 748732  tracking no animation for post lock animation, which I will do in these days.
Thanks for the info. So there will be shelf animation added in StartPostLockAnimation. I think I or either you can make it no animation when 748732 is done.

For 'shut down' and 'sign out' animations, if they could be removed for the cases described in 748732 only, that would be good!

Comment 5 by wzang@chromium.org, Aug 31 2017

OK, I will remember to disable the animation for 'shutdown' button in the case of  issue 748732  only. I think it will be easy to do after  issue 748732  is fixed.

Comment 6 by xiy...@chromium.org, Aug 31 2017

My CL to bind wallpaper reparent with session state might make this issue more obvious because it takes a while to get to LOCKED session state. I wonder whether we should introduce a LOCKING state that sets immediately when we start to lock and move wallpaper on that state.
I think views-based shelf will make this easier, since it should be able to build the new UI and display it in under a single frame.

It is not worth the effort to do this for the webui lock screen.
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1250f2be8fc80668ed12604fb86d5a1ac3818a24

commit 1250f2be8fc80668ed12604fb86d5a1ac3818a24
Author: Qiang Xu <warx@chromium.org>
Date: Thu Aug 31 18:01:00 2017

cros: immediately hide Shelf Container for screen off locking animation

changes:
- Rename SessionStateAnimator::LAUNCHER to SessionStateAnimator::SHELF,
to match the exact container name: kShellWindowId_ShelfContainer.
- Hiding shelf container in addition to non lock screen containers.
- Send EVENT_LOCK_ANIMATION_STARTED for LockWithoutAnimation() in hope
of the observation on this event doesn't break.

Bug:  760775 
Test: coverted by tests. Also tested on device.
Change-Id: I304d954ccb2510f8136268ffcb1297025e8be738
Reviewed-on: https://chromium-review.googlesource.com/644230
Reviewed-by: Dan Erat (OOO Fri-Mon) <derat@chromium.org>
Commit-Queue: Qiang(Joe) Xu <warx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498919}
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/system/power/power_event_observer_unittest.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/system/power/tablet_power_button_controller_unittest.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/lock_state_controller.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/lock_state_controller.h
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/lock_state_controller_unittest.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/session_state_animator.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/session_state_animator.h
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/session_state_animator_impl.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/session_state_animator_impl_unittest.cc
[modify] https://crrev.com/1250f2be8fc80668ed12604fb86d5a1ac3818a24/ash/wm/test_session_state_animator.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 13 2017

Labels: merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dfe6d1724c3ab0dd43fba6bdea338284eca9f474

commit dfe6d1724c3ab0dd43fba6bdea338284eca9f474
Author: Qiang Xu <warx@chromium.org>
Date: Wed Sep 13 21:33:14 2017

m61 merge: cros: immediately hide Shelf Container for screen off locking animation

changes:
- Rename SessionStateAnimator::LAUNCHER to SessionStateAnimator::SHELF,
to match the exact container name: kShellWindowId_ShelfContainer.
- Hiding shelf container in addition to non lock screen containers.
- Send EVENT_LOCK_ANIMATION_STARTED for LockWithoutAnimation() in hope
of the observation on this event doesn't break.

TBR: derat@chromium.org

(cherry picked from commit 1250f2be8fc80668ed12604fb86d5a1ac3818a24)

Bug:  760775 
Test: coverted by tests. Also tested on device.
Change-Id: I304d954ccb2510f8136268ffcb1297025e8be738
Reviewed-on: https://chromium-review.googlesource.com/644230
Reviewed-by: Dan Erat (OOO Fri-Mon) <derat@chromium.org>
Commit-Queue: Qiang(Joe) Xu <warx@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#498919}
Reviewed-on: https://chromium-review.googlesource.com/665826
Reviewed-by: Qiang(Joe) Xu <warx@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1191}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/system/power/power_event_observer_unittest.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/system/power/tablet_power_button_controller_unittest.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/lock_state_controller.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/lock_state_controller.h
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/lock_state_controller_unittest.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/session_state_animator.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/session_state_animator.h
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/session_state_animator_impl.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/session_state_animator_impl_unittest.cc
[modify] https://crrev.com/dfe6d1724c3ab0dd43fba6bdea338284eca9f474/ash/wm/test_session_state_animator.cc

Comment 10 by warx@chromium.org, Sep 13 2017

Cc: -wzang@chromium.org warx@chromium.org
Owner: wzang@chromium.org
delegate to wzang@ for views-based lock screen update and 'shutdown' button, etc.

There is a variable |post_lock_immediate_animation_| in LockStateController to indicate whether lock animation should be immediate.

Comment 11 by wzang@chromium.org, Sep 13 2017

Sure. I have a WIP CL checking that variable. 
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4ca20523c37be2604719682cc7c9265cffbd184d

commit 4ca20523c37be2604719682cc7c9265cffbd184d
Author: Wenzhao Zang <wzang@chromium.org>
Date: Wed Sep 20 00:42:32 2017

Add fade-in animation to make shelf visible on lock screen

The views-based shelf is hidden behind flag. The fade-in animation
is a no-op if the flag is not added because the shelf is in
non_lock_screen_containers without the flag. (Follow-up to CL 583942.)

Bug:  701157 ,  760775 
Change-Id: I14421b22c21361a7ff97e9c0e50a23ff0dd6fa45
Reviewed-on: https://chromium-review.googlesource.com/662417
Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503008}
[modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/shelf/shelf_background_animator.cc
[modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/shelf/shelf_background_animator.h
[modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/system/power/power_event_observer_unittest.cc
[modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/system/power/tablet_power_button_controller_unittest.cc
[modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/wm/lock_state_controller.cc
[modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/wm/lock_state_controller_unittest.cc

Comment 13 by wzang@chromium.org, Nov 30 2017

Status: Fixed (was: Assigned)
Marked fix since the views-based lock screen and shelf are enabled by default.
Status: Archived (was: Fixed)

Sign in to add a comment