History log of /packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9c6f9b8085c2752758e0f5633958fd17cfc9307e 13-Apr-2015 Sascha Haeberling <haeberling@google.com> Add proper support for canceling sessions.

Bug: 19384186

Change-Id: I45b0262947dcd4257d54e706f3cffc69b6bd4bc9
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
976bba4cfffb0089d4b7c61e16b90f506dbf1a2b 20-Mar-2015 Sascha Haeberling <haeberling@google.com> Rename CaptureSession#finalize to not collide with Object#finalize.

Bug: 19855781

Change-Id: Ie32024a9d2b7c04a27cc1ff7eee62df0e6857031
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
0460ef28c6970d646260584b7df0b2b3157a67ee 07-Mar-2015 Sascha Haeberling <haeberling@google.com> CaptureSession passes on message IDs instead of strings.

Bug: 18867164

Change-Id: Ie601a0fbaf64873c56c6a9b2767a2fa6a04a11d9
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
698e271d2b263778bfa73d1e67d6e2cd2783c89e 04-Mar-2015 zafir <zafir@google.com> Added more error handling for camera access and picture storage issues.

Implemented onFailure() method in the OpenCallback interface and
onPictureTakingFailed() in the PictureCallback interface.
OnFailure() routes through showErrorAndFinish() in the AppController.

Bug: 19452391

Change-Id: I3c19a274cc7664f7d1834899a486c57d0585dc9a
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
f8d390731abd88cc86354b377e1cb8beab0561af 21-Feb-2015 Senpo Hu <senpo@google.com> Introduce CaptureIntentSession and CaptureIntentSessionFactory.

The capture intent module needs its own custom CaptureSession
implementation.

This also adds two new methods in CaptureSessionManager.SessionListener
in order to allow CaptureIntentModule receive the thumbnail image
and compressed picture data byte array.

Bug: 18726217
Change-Id: If823846fa4f37d9fc7ee8becde7c95ed559b4200
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
995083b53be47e1e27133e403da0b63a03d07ea7 20-Feb-2015 Alan Newberger <alann@google.com> Reduce memory footprint of session bitmap cache.

Convert storage bitmap cache to an LRU cache to have a fixed
upper bound on usage. Evict bitmaps after a session is complete.

Bug: 19124117
Change-Id: I4a5dd9f15c3b986601c4a92477edf9346f190de1
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
f0ff1a9aa44d04f680af7cec8b97c3b01d3e76bd 18-Feb-2015 Sascha Haeberling <haeberling@google.com> Refactors the CaptureSession API by splitting out notifier interface.

This will remove the need to pass in an *Impl instead of an interface
and will therefore make the capture intent refactor cleaner as well.

Change-Id: I4d3b272e9cde1548c8ef1ad235a31bf420fe4f74
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
5fb629902527b7c688358ece3ef1f181322fc2ab 17-Feb-2015 Senpo Hu <senpo@google.com> Introduce CaptureSessionFactory interface.

Currently CaptureSessionManagerImpl always creates CaptureSessionImpl.
However, the capture intent module needs a mechanism to create its
custom CaptureSession objects.

Bug: 18726217
Change-Id: I30b3e01dc27f7c5f14d783c83bcdab76e823f0a6
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
636bce5ed9771df424a5ca46586648a11018179b 14-Feb-2015 Sascha Haeberling <haeberling@google.com> Allow for the thumbnail to be updated and refreshed.

Bug: 19325176

Change-Id: Icc0f08b4c8b20e1b6d3e66fa420efea9e24faf73
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
6dd5840e86bffecba8a7f52327b9c1085caeb7d2 10-Feb-2015 Sascha Haeberling <haeberling@google.com> Route all thumbnail updates through CaptureSession

Bug: 19326495
Bug: 19310525

This removes the thumbnail ready callback that was hooked directly into
the ImageBackend from the CaptureModule before since it's now
unnecessary.

Client of CaptureSession can no optionally specify whether the updated
thumbnail is to be used to update the capture indicator. Default is
'yes' so that Lens Blur, Photo Sphere and HDR+ don't need to change.

Change-Id: I94adb50f875ccee214492f03f00ed2a67d400da1
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
b62fa4716df6bcc526f575006822e06dd8ea9b83 03-Feb-2015 Sascha Haeberling <haeberling@google.com> Move CaptureSession into it's own file and clean up interface.

Change-Id: Iaca24e22b541aec898cdf1d3246c98ed72cd85ca
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
63a8c9467824ef8aa2039b7e27831b0533d8e5d9 29-Jan-2015 Sascha Haeberling <haeberling@google.com> Only create temp session file when necessary.

Bug: 19148484

This also removes the IOException that could happen when a new session
is created and moves it to where a module actually needs the temporary
output file.

Change-Id: Ifc1f1ba2735557580c1302f8658a07bb13cc3c3e
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
abf1e994d236a65180eecfcb6997003ab12795df 21-Jan-2015 Sascha Haeberling <haeberling@google.com> CaptureSession can now be started with an empty placeholder.

Bug: 19014774
Bug: 18853119
Bug: 18979823

Being able to start with an empty placeholder and then updating that
placeholder allows us to add a visual entry to the filmstrip early on.

This avoid jarring effects where after taking many apid fire shots and
going to filmstrip, the entries are appearing one after the other.
This was caused by sessions only getting started when the thumbnail was
produced, which can take a while when multiple shots are in the
encoding pipeline.

Also contains changes that make CaptureSession testable.

Change-Id: I3d44704099be81524f8e165f3f09de6eebfc147b
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.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/session/CaptureSessionManagerImpl.java
3830d419691ef865f01b362fee9618bac2aa8888 20-Dec-2014 Sascha Haeberling <haeberling@google.com> Store ZSL images in correct orientation and show progress in filmstrip.

Added an ImageRotationCalculator which calcuates the image rotation
based on camera characteristics and the device orientation at the time
of the shot.

Also moves the image backend code into its own sub-package.

Change-Id: I4b6b83e3e3cebece83215c19d0aff826ff853352
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
829afc7dfd69866beebb09052db3d228b916f352 19-Dec-2014 Sascha Haeberling <haeberling@google.com> Change placholder API to use Bitmap's instead of JPEG bytes.

Change-Id: Id6f3b1e604bee56f3372b891bc44d8716b06478d
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
24069e7a9cc9b4f908f18a71301285ccf5e164f6 09-Dec-2014 Sascha Haeberling <haeberling@google.com> Adding stack support and hooking SmartBurst up to the new API.

Change-Id: Icc023aed65e1e31f0b808de648067b3628fff838
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
8111aa0a298688da560dcac6bc4c3f92b878dbc7 09-Oct-2014 Sascha Haeberling <haeberling@google.com> Make temp session directory creation more robust and efficient.

Also rename some methods for clarity.

Change-Id: Ic6d3e7902ae5396f33231f1471df9eae89234132
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
57bcd92f39d85427102f30be2c749c4a7bd4be96 01-Aug-2014 Sascha Haeberling <haeberling@google.com> [OC] Refactoring the session API before intgrating GCam into OneCamera

Bug: 16654225

Change-Id: I3fe6f46847ed6424310a81722c93c63be8b807a3
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
adde93f26f39cd856fdf749c83d29f9022a310e1 01-Apr-2014 Sascha Haeberling <haeberling@google.com> Re-add ongoing session when Activity is restarted.

Bug: 13637563

Change-Id: I0fd9a521479d8805f8c1d82b8f930a23d16b4217
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
5596b4c902dcb685928b43678f428746ca5ffd08 12-Mar-2014 Angus Kong <shkong@google.com> Use debug.Log instead of android.util.Log.

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
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
cbd058a6e3cd7a9b254c51e3db4d4aef2d31579f 25-Mar-2014 Carlos Hernandez <chernand@google.com> Implement callbacks for setProgressMessage

Change-Id: Id958d39c91ba3371d6b52b8f6005cc533ca38b45
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
4a400d7f09ea0655d4730e904892e3a9d96993eb 21-Mar-2014 Sascha Haeberling <haeberling@google.com> Processing service needs to start in foreground.

Bug: 13575616

This moves the notification logic into the processing service as we
anyway only have one notification.

Change-Id: I267966a0e34028cb72be373031562e9e9bc89bbb
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
0708bb4cc97afb9ffb17dc2148c97ab95368767b 21-Mar-2014 Seth Raphael <magicseth@google.com> Fix lookup type

Bug: 13582743
Change-Id: I16ddf8fbedc1461c05aeadfad27930862aebc4ff
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
cc79da28315aa4cb346e06346df5e379272d5c92 21-Mar-2014 Seth Raphael <magicseth@google.com> Avoid race condition when Sessions are finished

Bug: 13550276
Change-Id: I813f601a54708cd291cb0524c7b63724bd9c9fb8
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.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/session/CaptureSessionManagerImpl.java
93c6b617868b73b73199cf93216fec7002290f55 13-Mar-2014 Seth Raphael <magicseth@google.com> Allow a session to know its content uri

Bug: 13442744

Change-Id: I8ec870ae81cf70dbdf6cab9295a4556cf9f66179
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
f08f3acd270e93e534f71ee0c9170f73e26179f0 11-Mar-2014 Seth Raphael <magicseth@google.com> Remove unused variables

Change-Id: I5d7821f8158438000b813bbba840c3d6fd51ab3a
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.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/session/CaptureSessionManagerImpl.java
597c1a093f840af3c42e00af05da01ef124dc846 06-Mar-2014 Sascha Haeberling <haeberling@google.com> Support for capture session errors.

Bug: 13026663

Change-Id: I3713440483aa4732f94aff9eaff2fc34a04c0427
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
93be42a997b008fbd098ce8ad8e8bf1eb775b3f6 06-Mar-2014 Sascha Haeberling <haeberling@google.com> Change session API to support location inside a task.

Bug: 13325568

Change-Id: I72f69803ab304d198e8c74c194a36bd0820ac187
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
a86b048709342fc53cee92aa047a15a22462c71c 23-Jan-2014 Sascha Haeberling <haeberling@google.com> Adds an API for temporary session storage.

Bug: 12064183

This is required so that we can have all modules that have sessions
use the same logic for creating and deleting them.

Change-Id: I20591310d6b4534e564ab60608049eec87f823f9
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
298c06604bbf390da2fe1775f5ed834a592d5bb0 21-Dec-2013 Sascha Haeberling <haeberling@google.com> Two new getters for the session API.

Bug: 12236950

Change-Id: I1ac8809688e48ffa4cbde16c212fb90e1a1e5c01
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
14ff6c8df2924ccad083591c0fc873322c6828c0 13-Dec-2013 Sascha Haeberling <haeberling@google.com> Add placeholder image support.

Bug: 12132677

Change-Id: I2add5837f82a956901c132cacae71b193007d482
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
1dbb339102336c7a14ca67a946ac82d7212b29c4 13-Dec-2013 Sascha Haeberling <haeberling@google.com> Clean up and fix notifications.

This fixes the issue where mutliple processes didn't properly create
their own notifications.
This also fixes the wording and messages for the notifications, which
are now always shown.

Change-Id: I829a80c8457e08fd6a3838393ef1080ef5fed433
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java
a63dbb6231f06031204fe20b19a87d0440bd1661 22-Nov-2013 Sascha Haeberling <haeberling@google.com> Add a capture-session API to be used by all modules.

Bug: 11747284

This refactors the way we think of sessions. Instead of
having multiple session and notification APIs being used
by different modules, we create on central capture session
API to be used by all modules.

This also adds a first implementation of a Memory API which
tells modules about the current memory situation.

Change-Id: I7f030e32fc2f70f4007825ba7bbbdce9521a2bd9
/packages/apps/Camera2/src/com/android/camera/session/CaptureSessionManagerImpl.java