History log of /packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5a0be52d3db2398cfe01d18adf779d9e443edf82 09-Apr-2015 Alan Newberger <alann@google.com> Fix view recycling in filmstrip

View recycling is pretty broken, with code put in for the old
camera preview in filmstrip being used to avoid recycling in all
cases. This looks like its been broken in a number of releases, but
less so due to a destructive removal of views during updates. I had
fixed that but it then exposed the issue that recycling wasn't occurring
elsewhere. This CL removes views from hierarchy, confirmed no more leaks
when capturing and when swiping through filmstrip.

Bug: 19970885
Change-Id: Ic63b9231bd24db0f44a99567278886eb0998d740
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
86f1d1f3664c909d1d949951056c7bb1e9627324 09-Mar-2015 Alan Newberger <alann@google.com> Limit setting photo item placeholders when session is done.

Only add placeholders for an item visible in the filmstrip. If a session
is done for an item not visible, it is less janky for the user to see the
standard gray placeholder while loading the image from disk.

Pruned older methods of determining filmstrip visibility, none of which
worked and relied on older code assuming the camera preview was an item
in the filmstrip, including 'sticky' filmstrip item bits. Added a method
to CameraAppUI that proxies the FilmstripLayout visibility, which is
actually what app uses to show/hide the filmstrip.

Bug: 19517380
Change-Id: I5e2a61b55aa2045bfd09f495dd02cdcb9c65dc68
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
b6a8810b7a5ac0df1e19efd26628c01bcb32b97b 19-Feb-2015 Paul Rohde <codelogic@google.com> Remove CanSwipeInFullScreen attribute.

This fixes the swipe guesture problem by removing the mostly
unused canSwipeInFullScreen attribute on filmstrip items and
checking existing usages to ensure they still work.

Bug: 18948437

Change-Id: I7d8c9fba4b0cf3db6fc3d60afe37d527c0732318
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
e7263f7ea45cf31d3948984ba8514e03ef86627e 19-Feb-2015 Paul Rohde <codelogic@google.com> Lock opacity of filmstrip items at 100% when scaling.

Bug: 19252309
Change-Id: Ia82714649e7fac7b1cce2adc21c36832e055f9f6
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
ec980898dd0dc712a3d6373c06a13f8646a0eebc 13-Feb-2015 Alan Newberger <alann@google.com> Remove flicker from view items added to hierarchy as visible

With view items made visible right when added to hierarchy,
under certain use cases the view would then get drawn before
layout puts them offscreen and turns visibility off again. One
example is delete -- once a deletion drag finishes, a view is
added to the end of the 5-item array set to visible, and when
dragging would briefly get shown. This CL ensures views only
become visible when properly positioned.

Bug: 17905863
Change-Id: I860dbee421f5bf6acb3cd9f5c09e4130eb9bc3c9
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
d70b22919f8d212bf11abd6e6724b3a395ef02c1 04-Feb-2015 Alan Newberger <alann@google.com> Remove elevations from filmstrip

Elevations were not applied to SessionItems causing bad z-order
behavior. As the shadows are not really visible, just removing
elevation entirely, this also seems to improve performance.

Bug: 17742801
Change-Id: I8fedad3b6c083f7cde349e51021f928d719edb40
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
77d9f023e76816e5da7bd067ad46cc0e9c98623f 03-Feb-2015 Paul Rohde <codelogic@google.com> Fix filmstrip jank on N4.

Bug: 19164291
Bug: 19220382
Bug: 19020507

Change-Id: Id1c2011b29b1cee206593fb395d9b4a4c89e71ab
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
34ac66e6d0bb849fb24a6255328390aba204abe3 31-Jan-2015 Alan Newberger <alann@google.com> Ensure right non-neighbors are invisible during filmstrip item scaling

Only the immediate right hand neighbor should fade out and translate to
center when drag-scaling the centered filmstrip item. Regression from G
to H, this CL ensures only the immediate neighbor is visible.

Bug: 19127110
Change-Id: I4023b91c384abd2b139b04124167cce8cb50c618
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
51cafa0a35546a42c573357aa7a031a79cf9ba1b 23-Jan-2015 Alan Newberger <alann@google.com> Fix Video thumbnail filmstrip size

Video size comes in asynchronously, and after refactor wasn't
wired up to query the metadata instead of the initial mediastore
size. This CL hides FilmstripItemData dimensions behind FilmstripItem
so that VideoItem can override and provide a Size via its existing
methods that use metadata if present.

Bug: 19000322

Change-Id: Ifddd6c90169c80d9fd69a1549e1086d5f1abfd85
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
8e29072ca69229a25dc4a856e3635d131613f4ca 22-Jan-2015 Alan Newberger <alann@google.com> Reduce view add/removes when loading photos

Two fixes to reduce flicker when loading images. First, adjust
ViewItem instances in-place instead of creating new ViewItems
which included adding and removing views from the hierarchy.
It turned out we were doing an update for every photo due to
touching PanoramaMetadata and reporting back that metadata
was adjusted, whether or not a photo was a panorama. Now
that data is reported. New photo captures are essentially
added and removed from the view hierarchy three times before
this change, after an ImageView is added once, with its
contents changed as the photo is loaded.

More testing is needed but I cannot repro the elusive filmstrip
flicker with these changes.

Bug: 18977838
Bug: 17905863
Change-Id: I5a42c0baf87a8cef0ee4dbcf9f03d40715e6aa2d
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
8d3552d334196a09e20c83a5296f0b373041032c 14-Jan-2015 Paul Rohde <codelogic@google.com> Check filmstrip scroll controller as well when deciding to load the full resolution image.

b/18947934

Change-Id: I6e9558bbd8a9b5ae52207cbb9af3b575123eda1f
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
c14b6ba434575b7d795a8cd681821f86a39bc371 14-Jan-2015 Paul Rohde <codelogic@google.com> Load full resolution images for newly inserted images.

- Update log messages to remove filmstrip log spam.

b/18947934

Change-Id: I7ee26e45ab2991ada148ce52d04899fc1d164784
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
10ab1989c2475d137a6db36a4d78d8b68fadf96b 08-Jan-2015 Paul Rohde <codelogic@google.com> Merge "Refactor the filmstrip backing data." into ub-camera-haleakala
6e981cafa9cc57ebc7100cb84f68fb74dbd163da 07-Jan-2015 I-Jong Lin <ijonglin@google.com> Image Plane Proxy for Image Content Testability

Adds in an Image Plane wrapper level so that image content can be
decoupled from the native Android Image objects whose constructors
are privated and cannot be extended.

Change-Id: Ia16418d18010e672f6c3e5db64bb7f6a9b3b2f3e
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
8ee16b8a323ffa20e6fb1270d498ec445f64defc 18-Dec-2014 Paul Rohde <codelogic@google.com> Refactor the filmstrip backing data.

- Remove unused fields and code.
- Rename classes and methods to be consistent with usage
- Make data more immutable
- Add Location and Metadata classes for typed data access.
- Use Date instead of long for DateTime representations.
- Filmstrip prefix for filmstrip specific code.
- Cleaner Glide implementations.
- Initialize Glide bitmap pool.
- Eagerly load large image sizes when scroll stops.

Change-Id: I3b51d42416ca076c80bf7db441d257659174b47d
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
01d56038a53487a9b7989bd17c732b8919da64f1 18-Dec-2014 Paul Rohde <codelogic@google.com> Delete unused code.

Change-Id: I55e6da712199cb106781bea8a51cf98fd5ed7e31
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
987ee64612e2510004fdf08536746c87234d01c1 05-Dec-2014 Paul Rohde <codelogic@google.com> Drop new focus indicator into Camera2.

* Create a new custom focus view that interacts with physical lens diopter changes.
* Replace all occurances of the old focus indicator with the new one.

Change-Id: Ia02646ce4d1eb059ecb8a1dfccc15dfc9c167e1b
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
a0be86aaad41aad562f54d928992f9ff5e935e08 28-Oct-2014 Spike Sprague <spikuru@google.com> am 7d7d12b2: Merge "Prevent unnecessary setVisibility calls in Filmstrip while zooming" into ub-camera-glacier

* commit '7d7d12b23cb246c5aa8ebf03a98d189d5b6e0f30':
Prevent unnecessary setVisibility calls in Filmstrip while zooming
9351e87558b7cb6cbc21d817a585ef769567e347 27-Oct-2014 Spike Sprague <spikuru@google.com> Prevent unnecessary setVisibility calls in Filmstrip while zooming

bug: 18122644

Change-Id: I2681e5f104527553c4f6d71d96c0b659685813fa
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
5c4d018437beafa654622c660e08e2817a62c28a 24-Oct-2014 Sascha Haeberling <haeberling@google.com> Merge commit '770c2b3e' into stuff1

Conflicts:
src/com/android/camera/data/LocalSessionData.java

Change-Id: Id7113ce6ba3b95ac78511dbbb8391b3bf2a17ecd
770c2b3e82326d6272b1d2f65a65e5330c951abb 24-Oct-2014 Sascha Haeberling <haeberling@google.com> Introduce ActionCallback for LocalData items.

Bug: 18105354

Fixes the bug where we try to cast a context to an activity.

Change-Id: I3e82a2cda5fe004768276a4d48c07d75738b2a5e
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
097c9fb1e8850521502efabd41b22daa5e2fbf2c 23-Oct-2014 Sascha Haeberling <haeberling@google.com> Merge commit '5aad0cb4' into stuff1

Conflicts:
src/com/android/camera/CameraActivity.java
src/com/android/camera/one/OneCameraManager.java

Change-Id: I9495daa600356ffcef21bba506dc5a3fce365af3
dff4bbdd81a63a3861c5ff288630a84458e39f01 23-Oct-2014 Alan Newberger <alann@google.com> am f7a18c7f: Merge "Null check for buildItemFromData" into ub-camera-glacier

* commit 'f7a18c7feaeef3c8398376aaeea22e39dc1bbf5d':
Null check for buildItemFromData
5aad0cb47483e4896303cff3a84547dd83948cf8 22-Oct-2014 Sascha Haeberling <haeberling@google.com> Merge "Stop activity leaks" into ub-camera-glacier
375f9d11af33688eb0074e3828c870076cfa21b3 18-Oct-2014 Sascha Haeberling <haeberling@google.com> Stop activity leaks

Bug: 12805279

This CL fixes all known activity leaks that occur from our
app. One leak remains that is caused by Camera Framework and
is tracked under b/18077200.

For details on how to find and chase these leaks down, see
http://go/camera-activity-leaks

Change-Id: I9608e2fcf77fe97528b883ed40e0c08bbbf45bdf
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
61c5f9f86b5fd8937fac3d082398086bac0d8db6 22-Oct-2014 Alan Newberger <alann@google.com> Null check for buildItemFromData

This can return null in some scenarios and other invocations do
null checks, one was missing here.

Bug: 18005946
Change-Id: I14c4b31569ace7e84886228a638757ab1cd4710f
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
3ee2cc0ded3de20341eb21e0f3f55bda4a60fefe 15-Oct-2014 I-Jong Lin <ijonglin@google.com> am 1cf0679c: Merge "Fix for crash when PhotoApp deletes last Cam pic" into ub-camera-glacier

* commit '1cf0679c861c280f4bdb801e42ba4882851d3e63':
Fix for crash when PhotoApp deletes last Cam pic
9efa64a16a691e6aeb56dc844aa00c8ea057ef99 15-Oct-2014 I-Jong Lin <ijonglin@google.com> Fix for crash when PhotoApp deletes last Cam pic

Bug: 17496363

This crash occurs when there is only one picture in the Camera
filmstrip. When you switch out of the Camera App into the
Photo App and delete it, and then switch back, the Filmstrip
attempts to draw a removal animation with invalid data, and
crashes via trying to call functions on null object. This fix
is simple and catches the null object and does NOT attempt to
draw the invalid object.

The larger issue may be that the Camera App is buffering/caching
invalid or stale data that it is illegally trying to act on.
I've left a warning message in the code to warn on any bad
behavior, but we should catch the invariant that's being violated
and fix the deeper problem.

Change-Id: I2487f753b5c7bb57e34c65d687a2236fa3a23f9f
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
df93cdd91f8f47794f26a066be3630e178b9ce36 13-Oct-2014 Alan Newberger <alann@google.com> am 7839867c: Merge "Update to use real L codename." into ub-camera-glacier

* commit '7839867c4c6eb837d5e7c1c5851741d4933f5fb1':
Update to use real L codename.
b24e1aa6fe599c56c9e37e962237ed19f29737bb 09-Oct-2014 Alan Newberger <alann@google.com> Merge "resolved conflicts for merge of d0927687 to lmp-mr1-dev-plus-aosp" into ub-camera-haleakala
43d66a0cac75bbb0adb0933124002e1eb1f439b9 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Update to use real L codename.

Change-Id: If6e5f02f693848f6cb0014084dccf910be4c958d
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
281624c713fb29d4be690fc980d2001efcf20daf 25-Sep-2014 Alan Newberger <alann@google.com> Avoid building filmstrip item data if activity is destroyed

Multiple AsyncTasks result in Glide execution after CameraActivity
is destroyed, via FilmstripView.buildItemData. Return early if
destroyed so that no Glide tasks are initiated and no views are
added to the hierarchy.

Bug: 17527470
Bug: 17339652
Change-Id: I7d24197791df812dc012d8b4fadff9246b289b81
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
a62ed04fc1af31c1fdfa0e9ac9cc0acfec1b1f12 22-Sep-2014 Alan Newberger <alann@google.com> Fix filmstrip item bounds to filmstrip scale

There's no reason to scale filmstrip items to anything other
than the fixed filmstrip scale, and doing otherwise interferes
with Glide caching and introduces flickers upon zoom.

Bug: 17597708
Change-Id: Ia143b4d95a48e9e23bbf36ec0edf93599caaa01b
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
9652134e6e1b312e348ed3565343741239907f11 20-Sep-2014 Alan Newberger <alann@google.com> resolved conflicts for merge of d0927687 to lmp-mr1-dev-plus-aosp

Change-Id: If3841e2f9946db14bef7244bd29bcd7fd11168f6
(cherry picked from commit e6f258bab71af79e2c6131afaf26def437b110c6)
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
b9535998da7a02f22156b70615c3e211401d14b0 30-Aug-2014 Alan Newberger <alann@google.com> Ensure ZoomView appears on top of other views in L

Since our normal image view now has an elevation on L, just calling
bringChildToFront() is not enough, elevation supersedes z order.
So we also ensure the ZoomView is at max elevation when we bring it
to front.

Bug: 17331586
Change-Id: I34b06949d063daa08d964003b28a245eb6133f95
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
b7d0a227fb0f842135dbc92a7e15c571f0e1a946 27-Aug-2014 Spike Sprague <spikuru@google.com> more consistently apply filmstip hide animations

bug: 17278732
bug: 17279637

Change-Id: I2346dcd77c0afd84eb1167ad5d5df3770551c14f
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
c17a56643186dee671bf6e7dec54cd558a7ecb2f 10-Jul-2014 Sascha Haeberling <haeberling@google.com> Prevent a monkey-generated crash.

Bug: 16191092

Change-Id: Ic6488381ed6f80184401c925dd6891126736019f
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
c8924b2ec3788ca6d0f0af5ca749e5fe7be125ce 21-May-2014 Andy Huibers <andyhuibers@google.com> Add maximum zoom level and time to view events.

Bug: 15646701
Change-Id: I7c1de761fc10486b417a25ebc8469cebaf840a1c
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
ff988f235df9d4d8c26a976be2c57ede41d7f7b6 21-May-2014 Angus Kong <shkong@google.com> Merge "Reset the decoder in ZoomView when data updated." into ub-camera-everglades
d1d28254c1413b4d7725df7d7b38e2a1f2f42e28 20-May-2014 Angus Kong <shkong@google.com> Reset the decoder in ZoomView when data updated.

The BitmapRegionDecoder has to be reset to load the new bitmap when the data is
updated. Also recycle() should be called when the decoder is not used anymore.

bug:14625920
Change-Id: Ib7284059320a71adb66204c4834e5b75802142fc
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
bb3b39b13a7097a55e585e8d6197057500847708 20-May-2014 Spike Sprague <spikuru@google.com> make recycleView() look at the view type passed in
(via a view tag) instead of relying on the data adapter

bug: 14599203
Change-Id: I5809aef03a0b6e29dd80512ee0593aac0001d0a5
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
86ea01ab99c34b2391b90bc0526ede283377f73c 15-May-2014 Spike Sprague <spikuru@google.com> Merge "pass FilmstripView accessibilty focus events to children" into ub-camera-everglades
ae5fa1499ab1d6d1d421228859d13ac45ad1d437 13-May-2014 Spike Sprague <spikuru@google.com> pass FilmstripView accessibilty focus events to children

bug: 14815653

Change-Id: I48c381f87600f2eb11ce29942cdbc7e5f2dae446
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
8670da6b3631e82d864e55d36a1ccaf9b2c7a8ce 15-May-2014 Sascha Haeberling <haeberling@google.com> Always reset position and visibility of newly added views.

Bug: 14887734
Bug: 14832742

Change-Id: I9d41a9e89f9c008aad819b52c4d9f0e0d3f54a19
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
5c92c9ec5e21a57646d6eca4360c0f6bb141a237 14-May-2014 Spike Sprague <spikuru@google.com> talkbacK: SCROLL_BACKWARD on first filmstrip item takes you back to cam preview
bug: 14837911

Change-Id: If96a32fbb74da769483f10666e84f89ba14c1735
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
3f192ccf03d0d25521b96304c4464b4bad28150a 13-May-2014 Sascha Haeberling <haeberling@google.com> Fix wrongly placed null check to prevent app crashes.

Bug: 13923937

Change-Id: I2a144ba5d7057acb6f49d624695293fd39ed366a
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
893ca79bdea899fe3f3ed700c22235cc5b460527 06-May-2014 Spike Sprague <spikuru@google.com> filmstrip accessibility

add support for ACTION_SCROLL_BACKWARD/FORWARD events

note: to test this do this
1) turn on talkback
2) launch camera, get into filmstrip
3a) trigger FORWARD event with a left->right->left swipe
3b) trigger BACKWARD event with a right->left->right swipe

bug: 14108635
Change-Id: Iabe2d13c6ed96163a5b9139b6674b3457dd1abc1
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
7539e49296b993be37709f45385a6286618d464d 22-Apr-2014 Angus Kong <shkong@google.com> The coordinatations should be relative.

The coordinations we got in onLayout() is relative to its parent. FilmstripView
doesn't not consider this and the layout can be wrong when it's not fullscreen.

Change-Id: Icc3d40a9cb3c805f8b3a8a4652edbfd873296fa8
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
2bca210e5fc8a77685775ffb403096167b017dce 12-Mar-2014 Angus Kong <shkong@google.com> Use debug.Log instead of android.util.Log.

see http://ag/438423, merge conflicts solved.

1. Change to use com.android.camera.debug.Log instead of android.util.Log.
2. Add DebugCameraProxy to support more detailed debug info.
3. Add CameraErrorCallback in CameraManager.
4. Support posting to a specific handler for CameraErrorCallback.
5. Trim down some TAGs to match the framework tag length limit.
6. Remove some unused codes in CameraSettings.

bug:13324870

Change-Id: I8c20a8a0d11cfd50b6e199b03cbc88d3c4ad2ceb

Conflicts:
src/com/android/camera/data/LocalMediaData.java
src/com/android/camera/data/RotationTask.java
src/com/android/camera/widget/FilmstripView.java
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
ad7d4540edd6fa8ed7789256a7f4cac16c3a0236 25-Mar-2014 Alan Newberger <alann@google.com> am dd9739a9: Merge "add filmstrip DPAD capabilities" into gb-ub-photos-denali

* commit 'dd9739a98402b8d325ec34a1a2ce743b871aa325':
add filmstrip DPAD capabilities
8099a371048e45b9161ac63e4d6bd9644fcad5b5 25-Mar-2014 Alan Newberger <alann@google.com> add filmstrip DPAD capabilities

this CL adds left/right DPAD handling to filmstrip. If you reach the
first item, the filmstrip is hidden and user is back in capture.

Bug: 13589550
Change-Id: Id2b2d52da31ef65cb568ce4ef3f5cdc9384caf1f
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
4021c896985d9ba43db0199f259ce4b8bfc0dc88 17-Mar-2014 Sam Judd <judds@google.com> Decreases jank/speeds image loading in filmstrip.

Adds Glide, an image loading library, to handle image caching and bitmap reuse.
This is working, but there are still some significant todos:

1. We're loading larger images than we need.
2. We're not aggressively cancelling loads so if you scroll far
it takes longer than necessary for the image to appear.
3. Video thumbnail loading is slow (will require changes to Glide to improve).

Change-Id: I01387429068451b923509f78c6d5f8ce115e74ad
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
553a0a5508d0a476c1cebc1297ca6385924376f2 21-Mar-2014 Sam Judd <judds@google.com> am 48d6492c: Merge "Best effort fix to prevent stretched videos." into gb-ub-photos-denali

* commit '48d6492ccc56cb7d62a30ecc1f8576dc44e25718':
Best effort fix to prevent stretched videos.
de3e9abaa241dc2aa66e5d02ba8b7bd35e0d8f00 17-Mar-2014 Sam Judd <judds@google.com> Best effort fix to prevent stretched videos.

To avoid increasing load times, we now only parse video headers asynchronously
while the user scrolls. We make a best effort attempt to prefetch video headers
while we're scrolling to avoid the layout jumping around when we update
dimensions for an item that's visible to the user.

Bug: 13505062
Change-Id: Ib7d7835c39d50f22f45db5673ec4c49d84b81124
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
43bf03f6e7f9a71b7553e7282b5799798997caf7 17-Mar-2014 Sam Judd <judds@google.com> Allow views to be reused in filmstrip.

Change-Id: Ic2b8bbc251c9b19e658412ac3885a0cb83680809
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
571a8c389798bd3f01429f6be34cd3e606ab34df 13-Mar-2014 Angus Kong <shkong@google.com> Refactor data model.

bug:13176987
bug:13410244

This refactor is to make the relationship between Controller, Model and View
clearer. Now controller (CameraActivity in our case) takes the full
responsibility to add/remove data. The model (CameraDataAdapter, LocalData and
its subclasses) is only responsible to store the data with correct types and
data structures. The view (Filmstrip) is a totally passive component who takes
care of how the data is presented and define how the user can interactive with
it.

The session API should not be exposed to the filmstrip MVC architecture and
instead we should make them as independent as possible. The controller should
maintain the logics of how to interact between these components.

Major changes in this CL:
1. ImageData.getContentUri() -> getUri(). The Uri is no longer a content Uri.
2. LocalDataAdapter: addNewSession() and finishSession() removed. We don't
assume the session concept in data adapters anymore.
3. LocalDataAdapter: addPhotoData() removed.
4. LocalDataAdapter: addData() added (original private in CameraDataAdapter)
5. LocalDataAdapter.Listener: onNewDataAdded() removed (since it's actually
triggered by the caller who is adding the data.)

Session API change:
CaptureSession.onPreviewUpdated() is changed to onPreviewAvailable. The module
now should decide the timing to notify the availability of the preview through
it.
CaptureSession.updatePreview(String path) is added. Not all the module can have
a preview when the session is created. Panorama/PhotoSphere creates the preview
after a background processing. The preview is stored as a file and should be
update to the internal preview storage through CaptureSession.updatePreview().

Change-Id: Id73c8f289bd4b3c13149da1b72c99fc6bab5849e
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
cb4fbd73d5e46987035a84366c402dcebafdbbed 13-Mar-2014 Sam Judd <judds@google.com> Merge "Use velocity to allow easier filmstrip delete gestures." into gb-ub-photos-denali
bcd1152e8214b1fb4a17963ffe8c292681c81688 12-Mar-2014 Sam Judd <judds@google.com> Use velocity to allow easier filmstrip delete gestures.

Bug: 12889007
Change-Id: I049119117a0d84e40dfa402af8cbf6313fc4d1de
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
29d9b3cd08a7b31b8ccecf4792d5ae981faa205c 12-Mar-2014 Sam Judd <judds@google.com> Ensure the first filmstrip view appears instantly when swiping the filmstrip in.

Bug: 13329039
Change-Id: I97ae14f5a76e261ccef51f673c147297b49bc779
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
455ba5a146484d2af4a4fb44eb50ad294834dfa0 14-Feb-2014 Seth Raphael <magicseth@google.com> Hold in-progress sessions in mem, not media store

Bug: 12457236


Change-Id: I88f7c3a822010744881b8be966adbcf2774a8115
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
7e9e4b7bdf371afd37f43a331cef1672fac1a230 07-Mar-2014 Angus Kong <shkong@google.com> Allow touch event goes down to view in filmstrip

bug:13027352
Change-Id: Iee5783a3698bea2fc5cd695d3b671c0206d2fbf2
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
c195e7a9208c90d7a55e184d4b2b9c747e9c90f1 21-Feb-2014 Angus Kong <shkong@google.com> Tweak the peek animation image size.

bug:12451161
Change-Id: Ie5a8a2911ed4b5ce831331ca7e7600d6d13659b7
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
26795a9258c0815ca2a92d2c660438066f001022 20-Feb-2014 Angus Kong <shkong@google.com> A test for media details.

Change-Id: If2615de75ed555c34316686de536d3289c834e75
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
772951602f9cfccd097283e3b78d188838c82138 30-Jan-2014 Erin Dahlgren <edahlgren@google.com> Add logging for swipe to filmstrip from camera.

Bug: 12589465
Change-Id: Ia57c1f341d7c9262b96823121e046fe4c4378b5c
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
5e09d01d80b64c81f21c57f1b99dd9dc1afed18d 18-Dec-2013 Seth Raphael <magicseth@google.com> Clearcut Logs

Change-Id: I564a2452cb7f02f899760ac086e56eaa76b174eb
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
4567160a43fa5787012bf0b618c216cf18ac0457 14-Jan-2014 Angus Kong <shkong@google.com> Add more filmstrip fullscreen states.

And callbacks for new state events also.

bug:12468756
Change-Id: I0ebdd99f251394a871c1e050e565fc5cd1706324
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
1f9db2dfe59c33228103c54523281501ef52c9ba 09-Jan-2014 Angus Kong <shkong@google.com> Continue the animation after the data is updated.

When the data is updated, the animation is interrupted because of the original
view is replaced by the new one from the new data. We should copy the original
animation and continue.

Handles the condition when the last photo is deleted.

Also some refinement of the codes.

bug:12196441
bug:12476802

Change-Id: I2139b09bf5f958af6fa21b91e3d0c14908e1ba79
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
caca8c7b2e97bd76e4df1ea98c08acaa48b21557 14-Dec-2013 Andy Huibers <andyhuibers@google.com> Increase bitmap resolution when zooming in filmstrip

Bug:11137777
Change-Id: I6f947e2981d012c1693ef0475a2776a7e6275de5
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
8a2350a3d557465b53445685db0f9ac838cf90c5 17-Dec-2013 Angus Kong <shkong@google.com> Refactor the photosphere/refocus metadata loading.

1. Metadata added to allow for different attributes to describe LocalData.
2. Move the metadata loading process to image data loading.
3. LocalData.view() removed. The invocation of external viewer is moved back to
the activity.

bug:12197251

Change-Id: I496b018186f7a4b4818b976201703b966103a636
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
c6953a4de0005456cd50bbbb0acb27162c9b3c8d 16-Dec-2013 Angus Kong <shkong@google.com> Reset zoomed view in filmstrip when after deletion

bug:11806155
Change-Id: Icd734dc9ad3b0821b90f28452256477bb0af4b40
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
69f0964a91a035c222d1765768dbb8d175c3b0f7 14-Dec-2013 Angus Kong <shkong@google.com> Keep tracking the direction of swipe in filmstrip.

bug:12129544

Change-Id: I2950479d087af681e39a5d6df8b5907ed179886b
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
e0aff89f3e05eb6008651b290ba79d484de55970 12-Dec-2013 Angus Kong <shkong@google.com> Move buttons from action bar to bottom.

Known issues:
1. Share has no effect.
2. Gallery icon has no effect.

bug:11898278

Change-Id: I545e4dc339b6aa9242f61abb6021de874fcd3090
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
b2510252fb020f3ccb88787c870930427377b9df 11-Dec-2013 Angus Kong <shkong@google.com> Refactor filmstrip BottomControls out of filmstrip

1. The control logic should stay in the controller instead of the view.
2. Fix various issues.
3. Remove some unnecessary hacky checks.

bug:12089863
bug:12095905

Change-Id: I6fceb5bf1a3121c45bc509f2fa96d01db2cedb5d
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java
01054e922aa547b937a71131ad04c6bd15356240 10-Dec-2013 Angus Kong <shkong@google.com> Move/refactor filmstrip related files around.

1. Rename filmstrip.FilmstripDataAdapter to filmstrip.DataAdapter.
2. Rename filmstrip.FilmstripImageData to filmstrip.ImageData.
3. Move filmstrip.FilmstripListener to filmstrip.FilmstripController.Listener.
4. Add FilmstripContentPanel interface.
5. Move ui.FilmstripView to widget.FilmstripView
6. Move ui.FilmstrpLayout to widget.Filmstripview
7. Move ui.FilmstripBottomControls to widget.FilmstripBottomLayout
8. Extracted interface from widget.FilmstripBottomLayout as
filmstrip.BottomControls

Change-Id: I83bdd89e2a48a98002a4fed7dab011b28036d1a0
/packages/apps/Camera2/src/com/android/camera/widget/FilmstripView.java