| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I7f6f351092a173fe0b7a567e5240cb5abe8cb2de
|
|
|
|
| |
Change-Id: Id46c044badb98f7837ca3898758997c171aa5c68
|
|
|
|
|
|
|
|
|
| |
- BlockingCameraManager had the wrong TAG.
- Added static / final to NUM_STATES.
- Javadoc @param mismatch.
Change-Id: I0dbe6b3d4bdcb5a51ba0aea89985c3495a59381e
(cherry picked from commit 5a772174d14175474e76701b07cc0be86c3df32a)
|
|
|
|
|
| |
Bug: 18640480
Change-Id: I8f0b42cbb05c6881fbc32664ce9e2b97a0ef5db3
|
|
|
|
| |
Change-Id: Ie2f5fdc51d47e1d70dcfaf27550412d8569c1c04
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid memory leaks we set the error handler to null in activity
onDestroy. But, the agent may receive callbacks after this, so
ensure at minimum that we set the default logging handler to default
handle errors post activity destroy.
Bug: 18200874
Bug: 18202261
Change-Id: Ie7251a149ab02c474d8affd15af6b9ea48c2cdc0
|
|
|
|
|
|
|
|
|
| |
Create a dummy placeholder handler which logs warnings, which
can be replaced by app if desired. This makes various assumptions
valid that this is non-null.
Bug: 18137167
Change-Id: I0f508dff3cfe766ccc5a3c5a26c6196f4fb31e04
|
|
|
|
| |
Change-Id: If71afbf8029e9e4d5560eb6a655ece990cf19a19
|
|
|
|
|
|
|
|
|
| |
Portability API used to expose setErrorCallback call which is API 1
only. The new CameraExceptionHandler should be the centralized place
to handle different camera errors.
Bug: 17931297
Change-Id: I0212f96a98e0caca64aca0f947b991b895d8d56b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DispatchThread could throw RTE when timeout (2500 ms). This CL extends
it to 3500 ms and also re-route the exception to the proper exception
callback instead of surfacing that up to the app. Since a lot of try-catch
block is added, CameraExceptionHandler class is added to keep
CameraAgent.java clean.
The portability layer should ensure the proper use of Camera API 1. With
this assumption, any run time exception thrown by the framework should be
considered fatal. Once it happened, CameraAgent/CameraProxy should be
invalidated. Any subsequent camera commands should be gated as no-ops to
prevent HAL hanging symptom. Users should be guided to exit the app and
recover from the camera error.
Design Doc:
https://docs.google.com/a/google.com/document/d/1t0sEPwGgc387XcoCVC7kT9Y_RSZPxcayla03M4bdn0U/edit
Corresponding CL for the app layer: ag/562383
Bug: 16189216
Change-Id: I33e69aeff0c8e4211e82e0e83133915700c4eb8f
|
|
|
|
|
|
|
|
|
|
| |
Per API doc, isZoomeSupported should be checked before calling
getZoomRatios or getMaxZoom. Moving zoom calculation into
isZoomSupported check fixed crash in front camera with no zoom
support, where a HAL/fwk returns a null list of zoom ratios.
Bug: 17863266
Change-Id: I80b5f7a431e7bbe4d50e5d062628e38eda3fd0a6
|
|
|
|
|
| |
Bug:17790747
Change-Id: I758bb217d0a76093d8e4bb1832cc7ab6907235ee
|
|
|
|
|
|
|
|
|
|
| |
Settings thumbnail size to (0,0) suppresses thumbnail generation. The
Camera app did not set to (0,0) explicitly, but when porting
Camera.Parameters to CameraSettings this crept in. Causes issue on
Nakasi and no reason to suppress thumbnails in general.
Bug: 17700333
Change-Id: I486e560bc9aaf05daf019a3aad8de78ee306f21b
|
|
|
|
|
|
|
|
| |
Check Camera.Parameters is null in AndroidCameraSettings ctor.
This should also fix the NPE bug b/17620440.
Bug: 17555612
Change-Id: Iee5f41b5d47eced3155e31c09f267eaa61c7de39
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
For machine-readable enum translation, use Locale.US which will preserve
english enum casing and is recommended in Locale docs.
Bug: 17557568
Change-Id: I40274bccdb593889c8ded003a5fb731f45892d7b
|
|/
|
|
|
|
|
| |
Right when an error occurs, log it before doing further error handling.
Bug: 17555612
Change-Id: I23c828f3ff0749643e490a431b71318004c6d692
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Add frame number to CaptureCallback#onCaptureStarted
Bug: 17421092
Change-Id: I8ffc0c7c22a5f3a25e923aaf1ecf166c7a264508
|
|\ \
| | |
| | |
| | | |
into lmp-dev
|
| | |
| | |
| | |
| | |
| | | |
Bug: 17403384
Change-Id: I2f452f79ffb4c0c3327ea5bf7db3f9d26e98ff51
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When device is locked in portrait, JPEG orientation and preview
orientation might be different.
Bug: 17360176
Change-Id: I16ee937c4d930e5f02a3e703dffd3bdd63e0e367
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is some evidence that we may be getting null parameters on N10.
Specfically, AndroidCameraProxyImpl.getParameters is returning null,
and from analysis the only two options are that the API1 returns null,
or our synchronous waiting for threads is compromised and we are returning
without error too fast. The latter would presumably show up on many
devices, but we are only seeing an issue on N10, so I suspect an API/HAL
issue. Adding logging and a thrown exception, and cleaning up
GET_PARAMETERS message creation slightly to make more consistent with
other invocations.
Bug: 17109801
Change-Id: I1705345d03ed16ef22b170a11fcaf0c6fb2a2c4d
|
|\ \ \
| | | |
| | | |
| | | | |
lmp-dev
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 17405119
Change-Id: Ic4828b5ddee2b11fa9886506e48c640a4c5ad3ef
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Listener -> Callback
- add/remove callbacks -> register/unregister
Bug: 17389922
Change-Id: I6e162ae18447b5a4fcabc17d17b1341f341fc47d
|
| |_|/
|/| |
| | |
| | |
| | | |
Bug: 17353543
Change-Id: I31448687a69afc66e93f4360e8a3186ff8ad6235
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Bug: 17072609
Change-Id: Iebb97d12fc62986ad389460c253cfc504a68ad7f
|
|\ \ \
| | | |
| | | |
| | | | |
into lmp-dev
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes the calculation of API 2 focus and metering rectangles to account for
the effective crop region (after the framework has performed automatic cropping
to match the requested output aspect ratio). It also guards against and prints
warnings when changing the resolution after having configured the session and
surfaces; before, this was merely a silent no-op.
Bug: 17187095
Change-Id: I3243bea24d6936d1bba5d556b3846d172ad0defe
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 17286539
Change-Id: Id75bfc594f9fb6a08bb187d053ae99a85e7d9d42
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because the camera2 API doesn't play shutter sounds at all, the portability
layer does it directly. Consequently, it is trivial to skip that step.
Bug: 17303595
Change-Id: I303696906902c2d8af58baedf27f6e20f34772f1
|
|\ \ \
| | | |
| | | |
| | | | |
lmp-dev
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The numeric state codes defined by the camera2 implementation were incompatible
with the StateHolder class's wait interface; thus, blocking operations didn't
always behave as expected.
Bug: 17300466
Change-Id: I54f462d5de876c9dcf99b2a4c7ae79879cc0eca2
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes a regression introduced by 984a086412a94ebea1bd9af8cd8bbf4afab38034
that resulted in captures sometimes hanging until the AE state changed. It
includes explanatory comments to guard against this sort of error in the future.
Bug: 17302778
Change-Id: I668f5a5470a0ae7712f62c7574d18360d47e410b
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cache the last valid CameraSettings object
The camera2 implementation of CameraProxy#getSettings() now returns the most
recent valid CameraSettings object that was provided to it (or the template if
no valid cached instance is available). This more closely mimics the camera1
implementation's behavior, and resolves issues where the app relies on finding
recent settings there in corner cases.
Bug: 17016658
Change-Id: I057feec3f857428dd210300a05f22cafa9f5ba34
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
If it's already converged and the flash isn't being forced on, there's no need
to force the precapture routine, which would delay our capture significantly.
Also use onCaptureProgressed() instead of onCaptureCompleted() when possible.
Change-Id: I0bb7956498b0070382cd5b39b7ccdc0cc0765913
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
This eliminates the deprecated index-based CameraSettings zoom methods in favor
of floating-point ratio based versions, and includes the plumbing to make those
work for both the camera1 and camera2 underlying framework APIs.
Bug: 17016658
Change-Id: I0567a53cd57bfa6d53604e3c5457a39ef49e3cb4
|
|\ \ |
|
| |/
| |
| |
| |
| | |
Bug: 17027000
Change-Id: I311028b9df4d74268fb415c163f7e6a2d2505dff
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
The validation routine now changes the focus mode to FIXED if the requested one
is unsupported. This is to work around devices whose templates erroneously
specify unsupported focus modes.
Bug: 17177436
Change-Id: If9b679510e0c232453dd0a77dbdd2e0ec713ac12
|
|/
|
|
|
| |
Bug: 17109582
Change-Id: I73321cdbb2972b2d1e9bc2de93192fbb506347e7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
camera1 CameraAgent returns null CameraDeviceInfo if the underlying
camera device is broken. see b/16982203, this caused issues but was
invisible in logs. Adding logging to document true root cause of
any device info failures stemming from an underlying failure.
Bug: 16982203
Change-Id: I8a48714e1ddbde8b8eac35f149136d19efce5fb8
|
|\| |
|