bf39f791ab7c79457de2c2f21ac2260a6754c029 |
01-Mar-2017 |
Sheng-Hao Tsao <shenghao@google.com> |
Fix the bug that camera can't open again after disconnected Reproduce steps: 1. Open android default camera 2. Open chrome camera app 3. Close chrome camera app 4. Android camera app is disconnected. Close it. 5. Open android camera app again. It can't open camera anymore. The root cause is that camera state is set to invalid after getting an exception in step 4. We should not invalidate the camera. BUG=35411023 TEST=In samus, verify that camera can be opened after the above steps Change-Id: I63bcc3587d1c7970c1bad8bffa628fa579f831ef (cherry picked from commit a822d5c3528473582de6b2f9db0bee3ea2a18190)
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
7921659d7096a618634153ca7fed88e8563e03f5 |
02-Mar-2017 |
Sheng-hao Tsao <shenghao@google.com> |
Revert "Fix the bug that camera can't open again after disconnected" This reverts commit 03e6dacb31332de191a1190a6b6f7d948f6536ef. Change-Id: I469085d6993a6005f3487a3a33327bdaac498993
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraStateHolder.java
|
03e6dacb31332de191a1190a6b6f7d948f6536ef |
23-Feb-2017 |
Sheng-Hao Tsao <shenghao@google.com> |
Fix the bug that camera can't open again after disconnected Reproduce steps: 1. Open android default camera 2. Open chrome camera app 3. Close chrome camera app 4. Android camera app is disconnected. Close it. 5. Open android camera app again. It can't open camera anymore. The root cause is that camera state is set to invalid after getting an exception in step 4. We should allow opening camera even if the state is invalid. BUG=35411023 TEST=In elm, verify that camera can be opened after the above steps Change-Id: Ie9e64cf826a3510b5fa76b14f7f4110e5a015b64 (cherry picked from commit 5d61737fe19ad69d41d94e2660053e82d0aa3dc5)
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraStateHolder.java
|
5f82a7e40f93cf9ae70ba1dacb61e907b8bdcc83 |
20-Jul-2015 |
Charles Zhang <ZhangCharles518@gmail.com> |
fix a mistake in AndroidCameraCapabilities.buildWhiteBalances(). 1.fix a mistake in AndroidCameraCapabilities.buildWhiteBalances(). 2.add White Balance Parameter setting in applySettingsToParameters(). Change-Id: Ic74493026ebfa09e27f7c3ea83fee300f751c5c1
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
|
c5effbd8ffed05f6c5142c1c8d491c398194bf5b |
05-Dec-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Portability: Remove HDR hack. Bug: 18640480 Change-Id: I8f0b42cbb05c6881fbc32664ce9e2b97a0ef5db3
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/LegacyVendorTags.java
|
25b78c8a18327bd73c3d4d34887dd63953aeaa8c |
04-Nov-2014 |
Alan Newberger <alann@google.com> |
Ensure default handler always is set if no other error handler registered 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
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
c15ddae4862bb9a10b0142fac9558a5f899b1a21 |
27-Oct-2014 |
Alan Newberger <alann@google.com> |
Ensure agent error handler is always non-null 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
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
733ca8dfa76ac34d1f9caff8798d01a4a8f44002 |
14-Oct-2014 |
Senpo Hu <senpo@google.com> |
Return more detailed debugging info for logging purposes. Change-Id: If71afbf8029e9e4d5560eb6a655ece990cf19a19
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraExceptionHandler.java
ndroid/ex/camera2/portability/HistoryHandler.java
|
318eeb225f4567a8c2a6fe14baa06e8923ebe622 |
11-Oct-2014 |
Senpo Hu <senpo@google.com> |
Cleanup: handle API 1 error callback in CameraExceptionHandler. 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraActions.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraExceptionHandler.java
|
2d01b8e2b5ad30ce3c442799cad4c3d26607fc6f |
06-Oct-2014 |
Senpo Hu <senpo@google.com> |
Overhaul error handling in AndroidCameraAgentImpl. 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraExceptionHandler.java
ndroid/ex/camera2/portability/CameraStateHolder.java
|
90e75d1f90b85e11f6905966ea28d59916935c68 |
05-Oct-2014 |
Alan Newberger <alann@google.com> |
Check isZoomSupported before any zoom ratio calculations. 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
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
|
698997b9ef47f215350f03c0289f291846cd3604 |
03-Oct-2014 |
Puneet Lall <puneetl@google.com> |
Add null check for exif thumbnail size Bug:17790747 Change-Id: I758bb217d0a76093d8e4bb1832cc7ab6907235ee
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
|
1c1d1afb5701b78fcdf09969bba1c20eb591bccf |
30-Sep-2014 |
Alan Newberger <alann@google.com> |
Remove default thumbnail size setting in portability lib 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
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraSettings.java
|
70a82d9d9a59c2a0b9241fdb0b8b0f1a61d0d5a0 |
24-Sep-2014 |
Senpo Hu <senpo@google.com> |
Add null check in AndroidCameraSettings. Check Camera.Parameters is null in AndroidCameraSettings ctor. This should also fix the NPE bug b/17620440. Bug: 17555612 Change-Id: Iee5f41b5d47eced3155e31c09f267eaa61c7de39
ndroid/ex/camera2/portability/AndroidCameraSettings.java
|
2eed7ab0e5d81c0025737c6ce9931f3d8b57b418 |
23-Sep-2014 |
Alan Newberger <alann@google.com> |
Merge "Specify Locale.US for stringification of enums" into lmp-dev
|
1bd78b36e275371eff1ec1d07c9c1f93f63f5c39 |
23-Sep-2014 |
Alan Newberger <alann@google.com> |
Specify Locale.US for stringification of enums 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
ndroid/ex/camera2/portability/CameraCapabilities.java
|
bad9708bd92213e65bfc9761ce3e69f8a59e1483 |
23-Sep-2014 |
Alan Newberger <alann@google.com> |
Add error log to API1 CameraAgent Right when an error occurs, log it before doing further error handling. Bug: 17555612 Change-Id: I23c828f3ff0749643e490a431b71318004c6d692
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
06b23bb5cbddfed587a6f0d75636734862b49a1e |
10-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Merge "Camera2: Update for camera2 API changes" into lmp-dev
|
9f57c438ea0c7f02d0e86ade6a5e36c8993dd9fc |
09-Sep-2014 |
Rachad Alao <rachad@google.com> |
Merge "portability: Fix a bug where long AF callbacks caused ISE timeouts" into lmp-dev
|
25ee73acd2dbd6f60deef5306994fbf3a7997936 |
09-Sep-2014 |
Senpo Hu <senpo@google.com> |
Let CameraProxy support setJpegOrientation. When device is locked in portrait, JPEG orientation and preview orientation might be different. Bug: 17360176 Change-Id: I16ee937c4d930e5f02a3e703dffd3bdd63e0e367
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraActions.java
ndroid/ex/camera2/portability/CameraAgent.java
|
6a9babad6eb8ac3e79a5e036d878ed7408e79f26 |
09-Sep-2014 |
Igor Murashkin <iam@google.com> |
portability: Fix a bug where long AF callbacks caused ISE timeouts Bug: 17403384 Change-Id: I2f452f79ffb4c0c3327ea5bf7db3f9d26e98ff51
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraActions.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraStateHolder.java
|
ca507f86d3d5e4f16ebd666a2b42664e5178eceb |
09-Sep-2014 |
Alan Newberger <alann@google.com> |
Merge "Log null returns from Camera.getParameters" into lmp-dev
|
171362f843c1e7623f29db1781176f85b1f74815 |
09-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Update for camera2 API changes Add frame number to CaptureCallback#onCaptureStarted Bug: 17421092 Change-Id: I8ffc0c7c22a5f3a25e923aaf1ecf166c7a264508
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
d5205c2648ba1213f28a232379d10b07a7ee9bdc |
06-Sep-2014 |
Igor Murashkin <iam@google.com> |
Merge "portability: Fix incorrect comparison between int and Integer" into lmp-dev
|
bb013aa3e197e881756be5ad13e6ad30bfb4aeff |
04-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Renames for API consistency - Listener -> Callback - add/remove callbacks -> register/unregister Bug: 17389922 Change-Id: I6e162ae18447b5a4fcabc17d17b1341f341fc47d
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
dc05ed7a8443af7c1a7b1bb39519d09d79284e42 |
05-Sep-2014 |
Igor Murashkin <iam@google.com> |
portability: Fix incorrect comparison between int and Integer Bug: 17405119 Change-Id: Ic4828b5ddee2b11fa9886506e48c640a4c5ad3ef
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
|
3b7da912d573f358fd217f6d9b569cca648efe02 |
04-Sep-2014 |
Ruben Brunk <rubenbrunk@google.com> |
ex: Avoid exception if HDR_SCENE_MODE name changes. Bug: 17353543 Change-Id: I31448687a69afc66e93f4360e8a3186ff8ad6235
ndroid/ex/camera2/portability/LegacyVendorTags.java
|
9fb7e16061ae2f3d3b059952706a1e1a1b439d6b |
30-Aug-2014 |
Ruben Brunk <rubenbrunk@google.com> |
Merge "camera2: Add HDR vendor tag for legacy mode." into lmp-dev
|
58774cf3543e06c4b51a54bccd603a2cbcd7a816 |
30-Aug-2014 |
Igor Murashkin <iam@google.com> |
Merge "camera2-portability: Touch-to-focus accounting for effective crop" into lmp-dev
|
2569329d6cff25bfe9941df539df14a0aeb4c4f4 |
29-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Touch-to-focus accounting for effective crop 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraSettings.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraSettings.java
|
54c8f898815a233ba6478630940432ddafdb4314 |
28-Aug-2014 |
Ruben Brunk <rubenbrunk@google.com> |
camera2: Add HDR vendor tag for legacy mode. Bug: 17072609 Change-Id: Iebb97d12fc62986ad389460c253cfc504a68ad7f
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/LegacyVendorTags.java
|
f73c6cf2f04451ba4517abccd36a114667c69ae3 |
28-Aug-2014 |
Andy Huibers <andyhuibers@google.com> |
Add ability to reset focus and metering regions using API1. Bug: 17286539 Change-Id: Id75bfc594f9fb6a08bb187d053ae99a85e7d9d42
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
415cf3ee18640ad0799e5c9a738afd1d19c14883 |
28-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Allow disabling the shutter sound on API 2 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
47a01cf05c1e22e76bdf3182461dcfeb71b960bb |
27-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-portability: Fix and document obscure state machine bug" into lmp-dev
|
7d71703202c2fba36653293eba2772745db46c00 |
27-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Fix camera2 takePicture AE regression 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
772fcce3e51a9c7d33df6a9c278a908ac6902880 |
27-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Fix and document obscure state machine bug 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
7c8d6957b96c75ce11f7373f4ab2451ee4666360 |
27-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-portability: Fix zoom occasionally not working" into lmp-dev
|
80cda8dae801f09c2ce928d0f3feb8a569939fc2 |
27-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Fix zoom occasionally not working 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
984a086412a94ebea1bd9af8cd8bbf4afab38034 |
25-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Optimize out some camera2 AE precaptures 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
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
f27e71f979e803a3ac00f4057eb909886d957a3e |
23-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-portability: Switch to ratio-based zoom interfaces" into lmp-dev
|
336f88ed91a43eb4d1d67fb805171433676279e3 |
23-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-api: Tag camera2 JPEGs with any provided location" into lmp-dev
|
d6a52ce7b43f15fc931038133b4fea821e9f3b9f |
23-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-api: Work around invalid camera2 API focus modes" into lmp-dev
|
d0185cc2f5786571565f01b26e1143ce0099bdc8 |
23-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-api: Tag camera2 JPEGs with any provided location Bug: 17027000 Change-Id: I311028b9df4d74268fb415c163f7e6a2d2505dff
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/CameraSettings.java
|
f2b5a976bb1c30f83682a996ce9289a973c88784 |
23-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-api: Work around invalid camera2 API focus modes 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
ndroid/ex/camera2/portability/CameraCapabilities.java
|
aa907a3b6637b4f95dbf572d0cf790a70ba3aeb0 |
22-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Play shutter sound for camera2 captures Bug: 17109582 Change-Id: I73321cdbb2972b2d1e9bc2de93192fbb506347e7
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
|
9d8668449376fa47bc6528c7a61b04d6a0f691b3 |
20-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Switch to ratio-based zoom interfaces 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
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
ndroid/ex/camera2/portability/AndroidCameraSettings.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/CameraSettings.java
|
e4094bd3b85ce20e81a1677319192ed2274d0525 |
20-Aug-2014 |
Alan Newberger <alann@google.com> |
Log null returns from Camera.getParameters 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
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
489e29ecbfd2ffe10ebd199204f3ee242b1bd1f8 |
18-Aug-2014 |
Alan Newberger <alann@google.com> |
Merge "Add exception logging to CameraDeviceInfo retrieval failure" into lmp-dev
|
eb07f0c4c693566f6f258e84426f518e90513c11 |
16-Aug-2014 |
Alan Newberger <alann@google.com> |
Add exception logging to CameraDeviceInfo retrieval failure 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
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
8447d2276441983d88e8315ffa79a16a90b3d4bb |
15-Aug-2014 |
Alan Newberger <alann@google.com> |
Consolidate parameter caching in camera1 portability agent The existing implementation of the AndroidCameraAgentImpl uses a 'mParamsToSet' upon which is projects requested settings changes in applySettings(). But, this mParamsToSet is initialized only upon camera open! So 'hidden' parameters like video-size are stuck in the value upon open. Instead, they should be current to the last call to refreshSettings. To simplify, removed this and another copy of parameters (mParameters), introduced one cache class, and use it throughout the agent. Tested and app seems to work OK in general with the change, and specifically confirmed that video size parameters are not reverted after start, as was observed before the change. Bug: 16991558 Change-Id: I8f2749b8ab2ccc2cb858b8cd844330c5a482f79c
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
|
d0e873ab838702c69ddbe4ca9523949348f3ea47 |
16-Aug-2014 |
Alan Newberger <alann@google.com> |
Merge "Consolidate parameter caching in camera1 portability agent" into lmp-dev
|
182acbc3f78ea6c6edd6bd5d67c62188b4079243 |
16-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-portability: Provide preview transformation matrix" into lmp-dev
|
f9feab9a826e5b33d811e757bdfdbfa0738fcfa5 |
12-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Provide preview transformation matrix Applying this transform to the Surface on which the stream is displayed results in a correctly rotated image. For API 1, the rotation is actually performed by the Camera class and the returned matrix is an identity matrix; however, for API 2, the transformation is responsible for proper orientation. Bug: 16875535 Change-Id: I044ffbd1095bd1a9792c899b792129cc94c7c916
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/CameraDeviceInfo.java
|
b2df32dd892ae8076714b7ebd33c715378c4c730 |
16-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-portability: Make factory offer choice of backing API" into lmp-dev
|
50f5b019ba3f333a09a1beb9667fd7290082dc31 |
05-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Make factory offer choice of backing API This allows apps using the library to decide whether to jump to the new API. Users of the library may choose to use the Camera class, the camera2 API, or have the choice made automatically based on the device's API level. The choice may also be globally overridden by means of a system property. Bug: 16875535 Change-Id: I92e4be96fbd04057be61ceb8a0c58935770022f6
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraAgentFactory.java
ndroid/ex/camera2/portability/util/SystemProperties.java
|
3d6e5018ff8d64ac1815477fe0172f62f91727a2 |
15-Aug-2014 |
Sol Boucher <solb@google.com> |
Merge "camera2-portability: Improve capability conversions' null-safety" into lmp-dev
|
bc9c0e2cb071b085ecc5646751fb59f5145d51b1 |
13-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Improve capability conversions' null-safety This makes it harder for unexpected nulls in CaptureRequest templates to cause exceptions while unboxing Integer wrappers. Such crashes were observed on some devices while running on the legacy layer, especially with scene modes. Change-Id: I0cae95534f138e97f2c589d15e81f77b4f2141f7
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
|
c6344faeff899655abd60b3bf4cd638e58bcc3d7 |
13-Aug-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Report correct sizes for preview and capture This reports JPEG capture sizes instead of YUV ones, and ensures that preview sizes match TextureView, not SurfaceView. Change-Id: I2963ee1741156cc2a29e2e65308bd14dd145e4c8
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
|
47497bee8a3550af79f9a32c9362d7ee78364a71 |
08-Aug-2014 |
Alan Newberger <alann@google.com> |
Merge "Fix missing zoom fields in copy constructor of CameraCapabilities" into lmp-dev
|
4ecb0ad6d1d5dc6b12f998bf694877df06a77890 |
08-Aug-2014 |
Alan Newberger <alann@google.com> |
Fix missing zoom fields in copy constructor of CameraCapabilities These fields are deprecated but while we have them, should copy them in the constructor. This contributes to a zoom bug in the app, since ratios and indices are dropped upon copy. Bug: 16527845 Change-Id: I008384faa77e0c13a2790e095fa311909c1e9b44
ndroid/ex/camera2/portability/CameraCapabilities.java
|
de48004068f8c16f9a56c60b0ed2485a67687b4b |
23-Jul-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Support photo capture using camera2 API This implements JPEG capture, including an autoexposure precapture sequence. There are many changes to AndroidCamera2Capabilities and AndroidCamera2Settings to support the representation of modes (e.g. flash modes) whose flags do not map trivially between the API implementations. Part of this work is the conversion of AndroidCamera2AgentImpl to use and store a Camera2RequestSettingsSet instead of a bare API 2 CaptureRequest.Builder. Change-Id: I03f9f98c954a7b0c140ac8d80161878c92ef65d2
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraSettings.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/CameraDeviceInfo.java
ndroid/ex/camera2/portability/CameraSettings.java
|
15773a64b42023e31e2aade23ae44273862a9c04 |
31-Jul-2014 |
Alan Newberger <alann@google.com> |
add TORCH support to camera1 portability library In the move to the portability library, TORCH mode got dropped. Bug: 16680156 Change-Id: I3878c2399246bdb5cc80311c49533971c0c4c3d2
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
|
a97b7d1192e246a5f738991adca37cce282e1382 |
09-Jul-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Add focus locks and touch-to-focus for API 2 This implements focus locks very simply using only camera2 API requests: the lens is locked on autoFocus() and unlocked on cancelAutoFocus(), as with the existing legacy API--backed implementation. Both passive and active focus modes ares supported, with and without positional focusing. Change-Id: I26b1866539807fd3d64189923871443056a166af
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
|
7e0d39bf7b6e0f0df606e3f6c15f673f70fed3f7 |
16-Jul-2014 |
Sol Boucher <solb@google.com> |
DO NOT MERGE: Fix oversight while refactoring CameraStateHolder The base class still (redundantly) defined states, and AndroidCameraStateMachine was overriding methods with a verbatim copy of their implementations. Change-Id: I0e6361417edb159f91b89409058ee9a73b1101d9 (cherry-picked from commit dbc457417c581c21b5d49539325b1b152dc1baba)
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraStateHolder.java
|
a0842b40441db5332a5290f941021636b1182761 |
09-Jun-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Add support for previews using the camera2 API At the moment, only SurfaceTextures (and not SurfaceViews/SurfaceHolders) are supported. The tests still only cover Stringifier and IntegralStringifier. Change-Id: Ie643c58f8383cd3b9f59c16e0b79239df0ca068d
ndroid/ex/camera2/portability/AndroidCamera2AgentImpl.java
ndroid/ex/camera2/portability/AndroidCamera2Capabilities.java
ndroid/ex/camera2/portability/AndroidCamera2Settings.java
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraAgentFactory.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/CameraCapabilitiesFactory.java
ndroid/ex/camera2/portability/CameraSettings.java
ndroid/ex/camera2/portability/CameraStateHolder.java
ndroid/ex/camera2/portability/DispatchThread.java
ndroid/ex/camera2/portability/Size.java
|
b30d2c670f1262f0d60181e40dad33f2151fee4a |
19-Jun-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Remove Camera.CameraInfo accessor This removes the CameraDevice#getCameraInfos() call that provided direct access to this API 1 type, replacing it with another accessor returning individual instances of the new wrapper type CameraDevice.BasicCharacteristics . It also gives CameraProxy a method for getting instances of this wrapper. Change-Id: I0c72ffe71817b8acf1cc5a01f1565ec4e0e97e7d
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraDeviceInfo.java
|
01e7c02174ef268b6d6daaa5a5bb4f752d55964c |
18-Jun-2014 |
Angus Kong <shkong@google.com> |
Add various supports in settings and capabilities. 1. View angles in capabilities. 2. Preview formats setting. 3. Photo formats setting. 4. Recording hint for video recording preview setting. 5. JPEG thumbnail size setting. Change-Id: Ib8e33cf838859ae76a662fffcc496250ad85c203
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
ndroid/ex/camera2/portability/AndroidCameraSettings.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/CameraSettings.java
|
d61058f788eae0805bb20c4f68874f0f6caef423 |
18-Jun-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Fix the rest of the 'Andorid' typo This resolves build breakage. Change-Id: I3cab88fdee5f86d183b1307dac714466336fc476
ndroid/ex/camera2/portability/CameraAgentFactory.java
|
4f425ba476d62b4be7078f2084af37cf306b31c6 |
18-Jun-2014 |
Sol Boucher <solb@google.com> |
camera2-portability: Rename CameraManager to CameraAgent This resolves a naming clash with a class in the new camera2 framework API. Change-Id: Id53aa3e0bbe9e9edaa82b0aec695fd835c3d0ef9
ndroid/ex/camera2/portability/AndroidCameraAgentImpl.java
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraAgent.java
ndroid/ex/camera2/portability/CameraAgentFactory.java
ndroid/ex/camera2/portability/CameraManager.java
ndroid/ex/camera2/portability/CameraManagerFactory.java
ndroid/ex/camera2/portability/CameraStateHolder.java
|
f07afbbde040b9578bc7f188016c3960e8616ab0 |
13-Jun-2014 |
Angus Kong <shkong@google.com> |
Don't pass empty list of areas. Some devices won't work well if we pass in an empty list of focusing or metering areas. Change-Id: Iff6bfd37a7d551b12c43e88cf8d4934472837257
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
|
8097973089420749dcd1ab4974a629c2466b31cc |
11-Jun-2014 |
Angus Kong <shkong@google.com> |
Refactor out Camera.Parameters. Change-Id: Ibc1ddac509381530e887b7491069e6367e9a6088
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/AndroidCameraSettings.java
ndroid/ex/camera2/portability/CameraActions.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/CameraManager.java
ndroid/ex/camera2/portability/CameraSettings.java
ndroid/ex/camera2/portability/Size.java
|
cef46862d6937bc98bf1a6b087c5daa22b5239f3 |
09-Jun-2014 |
Sol Boucher <solb@google.com> |
Refactor CameraManager hierarchy to support new implementations This relocates several components of the implementation class AndroidCameraManagerImpl to higher levels in the inheritence hierarchy, where they can be reused by other implementations of the CameraManager interface: - AndroidCameraManager.DispatchThread is moved into its own file - The core (history-tracking) pieces of CameraManager.CameraHandler are moved into their own HistoryHandler class, which the former is made to inherit - The constants defined in AndroidCameraManagerImpl for use in its nested CameraHandler class are moved into a separate class called CameraActions - AndroidCameraManagerImpl.CameraStateHolder is moved into its own file - Those CallbackForward classes that aren't tied to Android's Camera1 API are moved directly into the CameraManager interface Change-Id: I5f3e1eb72039a0018ce2277e3ec6289bfa4ccec3
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraActions.java
ndroid/ex/camera2/portability/CameraManager.java
ndroid/ex/camera2/portability/CameraStateHolder.java
ndroid/ex/camera2/portability/DispatchThread.java
ndroid/ex/camera2/portability/HistoryHandler.java
|
da52dbdc5ffc76c1c875229086e91475eb150090 |
24-May-2014 |
Erin Dahlgren <edahlgren@google.com> |
Timeout on wait lock and throw exception to prevent ANR. Change-Id: I5b0d2b8c0384d32ed0d870e5db6003991524fc38
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
|
7e6c76ef7faf26aa1060b4abc1c65934b4e45338 |
13-May-2014 |
Angus Kong <shkong@google.com> |
Handle error getting camera info. bug:13877028 Change-Id: Iff0353738de3290244092076b2f955f0d7d57408
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraDeviceInfo.java
ndroid/ex/camera2/portability/CameraManager.java
|
742beb4e81cfcdfa9d4f7d3252be7be797a1e462 |
12-May-2014 |
Sascha Haeberling <haeberling@google.com> |
Don't use stale parameters for capabilities. Bug: 14823111 Change-Id: I524de9a6dd774c3aa8b6c47092657d66447565bc
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
|
c36e3c983c232dc45ed31f3d8e98d8cdd7ac14ba |
23-Apr-2014 |
Angus Kong <shkong@google.com> |
First Step: CameraCapabilities intead of Parameter To get rid of Camera.Parameters, we need to provide our own interfaces. Camera.Parameters actually consists of 2 parts: capabilities and settings. We'll provide two interfaces and will just use Camera.Parameters inside of CameraManager implementations. Change-Id: I53922b6d740835412d74365374a6a0382129564e
ndroid/ex/camera2/portability/AndroidCameraCapabilities.java
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraCapabilities.java
ndroid/ex/camera2/portability/CameraCapabilitiesFactory.java
ndroid/ex/camera2/portability/CameraManager.java
|
60520c4df78e595964605cf8acfa21bbafaeba84 |
01-May-2014 |
Angus Kong <shkong@google.com> |
Cancel onResumeTask when the app is paused. Also change the camera closing conditions to force close all camera before killing the handler thread. bug:14190951 bug:14441425 Change-Id: Ic752b0678530b34eb3710bd7796cb17d15452013
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraManager.java
|
b00b7a67213ee6868eb792b2a63ba0dca888a01f |
25-Apr-2014 |
Angus Kong <shkong@google.com> |
Add history info for camera open failure log. bug:14365703 Change-Id: I4b2259e12121cac5b8165f5c5dbacf9cb3a936a6
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraManager.java
|
d3865a20b022f6d54fe7ac052768a7ff0710017f |
26-Apr-2014 |
Doris Liu <tianliu@google.com> |
Bring back video snapshot Bug: 14220490 Change-Id: Ibf20d169aae9de4eb9c1e2151d9c7335bcf7b3a3
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
|
bdaaaf5f0257168590fa8965e4d59b054636e6df |
21-Apr-2014 |
Angus Kong <shkong@google.com> |
Create cameradevice package for camera management. Change-Id: I73c69a70736b0b0eb0ef069a7876cf75fee91262
ndroid/ex/camera2/portability/AndroidCameraManagerImpl.java
ndroid/ex/camera2/portability/CameraManager.java
ndroid/ex/camera2/portability/CameraManagerFactory.java
|
f7a80d935f2e40383237ad4c163b85047f95dc9c |
09-Apr-2014 |
Alan Newberger <alann@google.com> |
Add logging override helper This CL removes compile-time log suppression with a runtim override. With a runtime override we can custom configure logging with a single level, not quite as flexible as a boolean per level but should suit our needs. Compile-time log pruning could be done with proguard if desired. Bug: 13737123 Change-Id: I8bdcaca44b4dc5c7eab8ef2f74e5181bcacd2727
ndroid/ex/camera2/portability/debug/Log.java
ndroid/ex/camera2/portability/debug/LogHelper.java
|
b52fe84c71ddcf1313c4112393bb4936442d9f13 |
08-Apr-2014 |
Alan Newberger <alann@google.com> |
Replace isDebugging compiletime logging override with runtime property This CL accomplishes the same goal as the compile-time isDebuggable, with a runtime property check. This is useful so that we opt in to logging everything at a given level with one setprop line. Note that either with this new runtime property or with isDebuggable, the Log proxy wouldn't log if a particular Configuration value is false, since that level is instead routed to SILENT_LOGGER. Bug: 13737123 Change-Id: I78ce629620f420a08a2cc013865847674941fb9b
ndroid/ex/camera2/portability/debug/Log.java
|
102540727e51003c352e82349c339929a0c4be7e |
29-Mar-2014 |
Sascha Haeberling <haeberling@google.com> |
If debug is on, log everything. Change-Id: I706874c9ea1b03c2fd9f987cda9581f72883c914
ndroid/ex/camera2/portability/debug/Log.java
|
b35ea0d2d494ba7668b0183dfc906cde0708bc55 |
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
ndroid/ex/camera2/portability/debug/Log.java
|