• Home
  • History
  • Annotate
  • only in /packages/apps/Camera2/src/com/android/camera/async/
History log of /packages/apps/Camera2/src/com/android/camera/async/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ae474d0b2967b3995a4e1e334d6689b0cd9a38c9 23-Jul-2015 Sascha Haeberling <haeberling@google.com> [Haleakala] Change JPEG compression thread priority to BACKGROUND - 1.

Bug: 22670310

Change-Id: Ic2ee7e2de141d7df2a316733b465daa354b2d517
ndroidPriorityThread.java
40d3aad3972244f05888f03343cc1d23150532da 09-Apr-2015 Paul Rohde <codelogic@google.com> Increase the thread priority of critical camera components.

This increases the priority of the frame server and metadata
response listeners that must respond immediatly to frames and
callbacks that are returned from the camera HAL. Both threads have
a tiny amout of code and callbacks that get run but must not block
or they will stall the preview on image capture. This appears to
only have limited impact on jank in the app.

Bug: 19076469
Change-Id: I41845e094feffb1ecd3be9613489a3d70f916580
andlerFactory.java
c44b7c47dbb8f53a6401285c4ca9218326d21a7e 10-Mar-2015 Puneet Lall <puneetl@google.com> Reset existing AF scan upon tap-to-focus

* Interrupts existing, in-progress AF scans upon tap-to-focus
(triggerFocusAndMeterAtPoint).
* Removes pending delayed-af-resets upon subsequent tap-to-focus
to fix the case in which a user triggers AF twice within <3 seconds
which previously resulted in the AF mode returning to
continuous_picture shortly after the second AF scan.
* Removes dependencies on CameraUtil and static Settings3A
methods, and refactors FrameServerImpl to enable unit-testing.

Bug: 18935538
Change-Id: I0c2d5d92d2b07efdc11de8388e42b931d3ea89d0
esettingDelayedExecutor.java
cc6139467c1c9545de1f098d938409e182c9b7ad 05-Mar-2015 Senpo Hu <senpo@google.com> [CaptureIntent] Fix 16x9 stretch problem on Nexus 4.

2. Also, more clean up for unit tests.

Unfortunately I lump two things together is because there are some nice
things about the clean up that helps deliver the fix.

Bug: 19616722
Change-Id: I632e9f679db6e8a68179912ee4e29c1394084324
efCountBase.java
81308a22b0f64c6667f6c23adee9da520415bcb6 03-Mar-2015 Puneet Lall <puneetl@google.com> Filter out duplicate calls to ready state listener

* Adds a FilteredCallback to filter out callback invocations with
duplicate values.
* Simplifies ready-state calculations.

Bug: 19535852
Change-Id: I8376c13f24ff7a4f6f2d347f363746c2a6466601
ilteredCallback.java
istenable.java
istenableConcurrentState.java
bservableCombiner.java
bservables.java
915337c1a51f9816878e12c3049fca5664f5564f 03-Mar-2015 Paul Rohde <codelogic@google.com> Merge "Futures2 async join functions." into ub-camera-haleakala
80aed3c513dc6a6670e25ef6e11bc71ab6a2d9fd 23-Feb-2015 Senpo Hu <senpo@google.com> Fix resource leak when CaptureIntentModule goes to StateBackground.

Make RefCountBase more solid.

Bug: 18726217
Change-Id: Ibb5d731f8891627e832d5961f0e736aaaaff7078
efCountBase.java
24be7cc6d138129b4087ef28f114701de54aba3c 19-Feb-2015 Senpo Hu <senpo@google.com> Introduce CaptureIntentModule

Continue with ag/618042.
===================
Improve the UX by adopting ZSL and showing fast intermediate thumbnail.

Try to implement this from scratch, this module has an
event driven and state machine design.
* the state machine is thread safe.
* Event is implemented with guava's Function.
* The event processing uses Strategy pattern.

State Machine Chart:
https://docs.google.com/presentation/d/1LA30__ZNnzO6HWju1kA0geJ5LBsMs3hvdTf6_IPn9Y0/edit#slide=id.p

Bug: 18726217
Change-Id: Ie869c84bfe2f02145e5cb5c9e9af270fd82048d6
efCountBase.java
5a49a792186082177ba00eff6d381927e056d258 12-Feb-2015 I-Jong Lin <ijonglin@google.com> N4 Shutter Regression Fix

The fix to allow the OnCameraAvailable Listener synchronization
causes a regression failure in enabling the shutter button properly.
Remove that fix, but now I can enable CaptureModule N4 by default,
since it actually works now.

Bug: 19355923
Change-Id: I60fbc38010535cd750a2a74b9b6ead12df80e366
istenableConcurrentState.java
3ac7a551f005d43f86617ae400b7a203c552b386 11-Feb-2015 Paul Rohde <codelogic@google.com> Futures2 async join functions.

Change-Id: I4dd62570df4886276e0be0e4e589e5685bcfa856
utures2.java
25de24b2930d176a3957cb6865564e9e334175d6 12-Feb-2015 I-Jong Lin <ijonglin@google.com> N4 CaptureModule not closing

N4 CaptureModule was not wired up properly to close the device when it
closed. There's still an issue that the synchronization is incorrect,
i.e. we don't guarentee close has completed before we open it again.
There's a fix so that we can use OnCameraAvailable listener to only open
the camera when it is available.

Bug: 19332637
Change-Id: Ie88acb3a9f75a5896606dd660c005de0dc82dc3c
istenableConcurrentState.java
adf3b29e69726175761fa2a5558c545822024bed 06-Feb-2015 Puneet Lall <puneetl@google.com> Minor cleanup

Change-Id: I1c8a953762fc51ddaabd0b3b0a82ec2a95e4757d
oncurrentState.java
63204dc989dbd0eba56f65086fde0ebe29ed6bdb 31-Jan-2015 Puneet Lall <puneetl@google.com> Implement ready state

Bug: 18934542

Change-Id: I1dc27eb3f8fb1ef156ae8643b2b5e92f013c4e4b
oncurrentState.java
bservables.java
e606c4d68b74293e7d7725aecbaa9c915751cd43 04-Feb-2015 Puneet Lall <puneetl@google.com> Change/simplify Observable interface

Previously, the Observable interface allowed registering callbacks to
receive each update to a value, in a thread-safe way. However, this adds
unnecessary complexity and greatly complicates the implementation of
callbacks to track the camera ready-state.

Replacing Callback<T> with Runnables, which can simply call
Observable.get() to retrieve the latest value makes implementing
ready-state significantly simpler.

Bug: 18934542
Change-Id: I00d512f3c380148c0e9cb52352b2f304494e5e5a
allbackRunnable.java
oncurrentState.java
ilteredCallback.java
orwardingObservable.java
istenableConcurrentState.java
bservable.java
bservableCombiner.java
bservables.java
e919a48fb40b9d6c698a495acf40adbc0e320431 22-Jan-2015 Puneet Lall <puneetl@google.com> Enable tracking of image availability

To allow updating the UI whenever image reader space is exhausted, we
must be able to track whether or not non-zsl images can be allocated at
any given time. This CL implements this for the general case of both
single images as well as for finite bursts.

Bug: 18934542

Change-Id: Ia8c6e03f631cf47e4385cb8da1e3f6d74e7901a2
oncurrentState.java
ilteredCallback.java
orwardingObservable.java
oOp.java
bservable.java
bservableCombiner.java
bservables.java
pdatables.java
a8c94d5c059db2598caca676f0cab47a997ef631 23-Jan-2015 Puneet Lall <puneetl@google.com> Enable testing of ZslSharedImageReaderFactory

* Migrate from CloseableHandlerThread to HandlerFactory to remove all
direct dependencies on the platform.

Change-Id: I3d6aca94cd6f9559596d157b86c174bfb8801f90
loseableHandlerThread.java
91fbd8cb64a5aa9ec67e04c94c76a94c82033406 23-Jan-2015 Puneet Lall <puneetl@google.com> Merge "Wait for AE/AF convergence before taking pictures" into ub-camera-haleakala
f0eda77c4651a436420d8b9a958f8f83e1e89800 23-Jan-2015 Puneet Lall <puneetl@google.com> Merge "Close ImageReaders after the camera is closed" into ub-camera-haleakala
b8397360d318edf3093b20b2b102207d76730e1b 14-Jan-2015 Puneet Lall <puneetl@google.com> Close ImageReaders after the camera is closed

Bug: 18841114
Change-Id: Ifc0b79e70059efd8f8ace2c29243406b524ad918
orwardingBufferQueue.java
orwardingObservable.java
875d9fff24e283efa5d95ad75c3fab074e489fa4 15-Jan-2015 Puneet Lall <puneetl@google.com> Wait for AE/AF convergence before taking pictures

Bug: 18997124
Change-Id: I27b06186acde05c81d31042f330b6dabeac865cf
bservables.java
pdatableCountDownLatch.java
5e5d6b7101a0d7bc1877c899c9a95c6dc05b0f7d 22-Jan-2015 Paul Rohde <codelogic@google.com> Extended logging utilities.

Change-Id: I4a49a0694495f9c03c55a9ea8fad0ed22bc45bfc
ainThread.java
386c5b885b99f67f9c0a7380f4be153f28333089 09-Jan-2015 Puneet Lall <puneetl@google.com> Apply flash setting changes to the AE mode

Bug: 17216526

Change-Id: If6c03102f04ad2ba54e1a045a3ab7445aaa5b595
xecutorCallback.java
orwardingObservable.java
andlerExecutor.java
ainThread.java
bservables.java
4961ad31d9a877e3a68566fb5d4b33b7f79ce44e 08-Jan-2015 Puneet Lall <puneetl@google.com> Filter ZSL images based on frame metadata

Introduces a new metadatasynchronizer package with functionality for
retrieving metadata (TotalCaptureResults) for images which have been added to
the zsl ringbuffer.

To enable unit-testing, proxy objects for CaptureRequest, CaptureResult,
and TotalCaptureResult have been added, so they can now be mocked.

Bug: 18964540

Change-Id: I8374350e09d33f54ff241f23fd005013ed26dab0
ufferQueueController.java
oncurrentBufferQueue.java
oncurrentState.java
ountableBufferQueue.java
ilteredUpdatable.java
utures2.java
oOp.java
efCountedBufferQueueController.java
pdatable.java
pdatableCountDownLatch.java
d8463954727c9f8b688e69476439830cadb7b45a 30-Dec-2014 Puneet Lall <puneetl@google.com> Refactor camera factories to reduce code duplication

Change-Id: I5f5c899f595dbbaa9fa181c5caa092d4bad69f07
andlerFactory.java
ainThreadExecutor.java
bservable.java
da46b2eb1d33522d781db0982c7e4799008035c2 05-Jan-2015 Puneet Lall <puneetl@google.com> Merge "Delete unused/unnecessary interfaces" into ub-camera-haleakala
6a4a38d2320ab4e840cf4ad2ffb9714b0d7c1539 31-Dec-2014 Paul Rohde <codelogic@google.com> Detect slow frames and provide smoothed preview FPS.

Change-Id: Ie1a8feeb8d69f213791cd8b86e0f2e10e5b8cc08
oOp.java
596ee58f6b9c6563f388566b29f1731f7ca42800 02-Jan-2015 Puneet Lall <puneetl@google.com> Delete unused/unnecessary interfaces

Change-Id: Ic3cdad63236cf98db5eaeb45287393d4ec16fc0a
lockingCloseable.java
oundedBufferQueue.java
9ad0984f36ff9cd133c61c4e979032988b77a995 31-Dec-2014 Puneet Lall <puneetl@google.com> Replace Pollable with Guava Supplier

Change-Id: Ibd4359cf5f0c7dbacb534dcb098d77a1f2f36133
oncurrentState.java
onstantPollable.java
bservable.java
ollable.java
5b4a6731387bbf8a405de9da973b113b5abea1df 31-Dec-2014 Puneet Lall <puneetl@google.com> Merge "Replace FutureResult with guava SettableFuture" into ub-camera-haleakala
92b2512020983a79fa5e4837c2ee9ac868612c0a 30-Dec-2014 Puneet Lall <puneetl@google.com> Replace FutureResult with guava SettableFuture

Change-Id: I2439909e2c6dd663b1bc31a828e7744e18a6daaf
utureResult.java
4007e751d3903dc319f764d54194abd8d0338e6f 30-Dec-2014 Puneet Lall <puneetl@google.com> Fix bug in CountableBufferQueue.getNext

Change-Id: I2eb19a692acb9e41da0c172364fdb285061de2e6
ountableBufferQueue.java
17fc13a74ff71e3c721218624815c244dccc33f7 22-Dec-2014 Puneet Lall <puneetl@google.com> Added thread-safe SettingsManager wrapper

Change-Id: Ie2d2bb14e0dd4760e8f8d47e7a988ab20c8567fe
oncurrentState.java
bservable.java
86b49644dba70ff37d1715feffa4a56a28e3bde7 19-Dec-2014 Puneet Lall <puneetl@google.com> Fix potential NPE in ConcurrentBufferQueue.getNext()

Change-Id: Ieb6101d0cf9466f3ec3e1bff32797a247b0ecba3
oncurrentBufferQueue.java
12f608f3d2089439a108788a1908941eea4277b9 11-Dec-2014 Puneet Lall <puneetl@google.com> Added zero-shutter-lag capture implementation over the FrameServer

Change-Id: Ia01244dba7013c5f81152dd90adc8d87e7004dd2
oncurrentBufferQueue.java
ountableBufferQueue.java
orwardingBufferQueue.java
ifetime.java
esettingDelayedExecutor.java
pdatable.java
9c94ab32a69a1ad3642a0f1e38e68bcfd97d3511 02-Dec-2014 Puneet Lall <puneetl@google.com> Initial frameserver/OneCamera integration

Change-Id: I2fe0d8acf9ce927a6a0a1dea599299c715503462
lockingCloseable.java
ufferQueueController.java
allbackRunnable.java
loseableHandlerThread.java
oncurrentBufferQueue.java
oncurrentState.java
onstantPollable.java
ilteredUpdatable.java
utureResult.java
andlerExecutor.java
istenable.java
istenableConcurrentState.java
ollable.java
efCountedBufferQueueController.java
esettingDelayedExecutor.java
afeCloseable.java
pdatable.java
pdatableCountDownLatch.java
de15a5ad14da2e9069642e6f616b66b4ae660e01 25-Nov-2014 Puneet Lall <puneetl@google.com> Move async package to com.android.camera

Change-Id: I937dbdc07fde9fa134f169538243e8c5ee1b6a46
oundedBufferQueue.java
ufferQueue.java
ufferQueueController.java
oncurrentBufferQueue.java
utureResult.java
efCountBase.java
efCountedBufferQueueController.java
afeCloseable.java