History log of /packages/apps/Camera2/src/com/android/camera/ui/StickyBottomCaptureLayout.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
54ac03ba6ae3e739df74c6d9e35fda9017be07d7 02-Feb-2015 Senpo Hu <senpo@google.com> Adjust capture indicator position while open/close mode options.

This CL also fixes the layout issue in landscape mode when
mode option indicators are visible.

Bug: 18866551
Bug: 18317565
Bug: 18905659
Change-Id: I34ca5aa77aa9d37a7f0ad3d2d7efbed92fe94f2b
/packages/apps/Camera2/src/com/android/camera/ui/StickyBottomCaptureLayout.java
427a915be4bcc84fa1c32d9e9e1b7473c522f732 20-Nov-2014 Senpo Hu <senpo@google.com> New capture indicator design for Haleakala.

* Introduce RoundedThumbnailView and retire PeekView.
* Rename BottomBarModeOptionsWrapper to StickyBottomCaptureLayout.
* Verified on K and L devices.

Thumbnail cropping:
* 100% width and vertically centered for portrait.
* 100% height and horizontally centered for landscape.

General behavior spec:
* Hide the capture indicatorby fading out using fast_out_linear_in (150ms):
1) User open filmstrip.
2) User switch module.
3) User switch front/back camera.
4) User close app.

Behavior spec for non-photo modules:
* Photosphere is stripped of UI so there is no need to show capture
indicator. When a photo sphere is taken (and user is in another mode),
the preview frame used in filmstrip is used in the capture indicator.
* Video: show in viewfinder prior or after capture. Hide during capture.
When a video is taken, the preview frame used in filmstrip is used in
the capture indicator.
* Panorama: Show in viewfinder prior or after capture. Hide during
capture. When a panorama is taken, the preview frame used in filmstrip
is used in the capture indicator.
* Lens blue: Show in viewfinder prior or after capture. Hide during
capture. When a lens blur is taken, the preview frame used in filmstrip
is used in the capture indicator.

Visual spec:
A 12dp spacing between mode option overlay and thumbnail.
1. A circular mask that excludes the corners of the preview image.
2. A solid white layer that sits on top of the preview and is also masked
by (1).
3. The preview image.
4. A 'ripple' which is just a white circular stroke.

Animation spec:
(1) only the scale animates, from 50%(24dp) to 114%(54dp) in 200ms then
falls back to 100%(48dp) in 200ms. Both steps use the same easing:
fast_out_slow_in.
(2) opacity, from 50% to 0% over 150ms, easing is exponential.
(3) doesn't animate.
(4) starts animating after 100ms, when (1) is at its peak radius and all
animations take 200ms, using linear_out_slow in. Opacity goes from 40%
to 0%, radius goes from 40dp to 70dp, stroke width goes from 5dp to 1dp.

Bug: 18317565
Change-Id: Ib8d4f065b98fc3b9b0b627633232ce8cee96eb61
/packages/apps/Camera2/src/com/android/camera/ui/StickyBottomCaptureLayout.java