summaryrefslogtreecommitdiffstats
path: root/src/com
Commit message (Collapse)AuthorAgeFilesLines
* Modernize look of review controls.Danny Baumann2016-12-232-4/+7
| | | | Change-Id: I79f74502364a523a7c9c9f8ae3c63c3fcfebac3d
* Clean up module switcher.Danny Baumann2016-12-231-58/+24
| | | | | | | | - Get rid of Holo highlight color - Don't hardcode pixel sizes - Simplify code Change-Id: I3695b04e99308c266537eb9b837d0b65793a33f7
* Stop data loader on activity destroy.Danny Baumann2016-12-234-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes this crash: 11-29 13:02:30.837 18338 18338 E AndroidRuntime: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:136) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:127) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:88) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.bumptech.glide.Glide.with(Glide.java:587) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.LocalMediaData$PhotoData.loadUri(LocalMediaData.java:535) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.LocalMediaData$PhotoData.loadImage(LocalMediaData.java:507) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.LocalMediaData$PhotoData.fillImageView(LocalMediaData.java:485) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.LocalMediaData.getView(LocalMediaData.java:232) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.CameraDataAdapter.getView(CameraDataAdapter.java:101) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.FixedFirstDataAdapter.getView(FixedFirstDataAdapter.java:117) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.ui.FilmStripView.buildItemFromData(FilmStripView.java:928) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.ui.FilmStripView.update(FilmStripView.java:2072) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.ui.FilmStripView.-wrap12(FilmStripView.java) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.ui.FilmStripView$4.onDataUpdated(FilmStripView.java:1803) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.FixedFirstDataAdapter.onDataLoaded(FixedFirstDataAdapter.java:152) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.CameraDataAdapter.replaceData(CameraDataAdapter.java:269) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.CameraDataAdapter.-wrap1(CameraDataAdapter.java) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.CameraDataAdapter$QueryTask.onPostExecute(CameraDataAdapter.java:359) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.camera.data.CameraDataAdapter$QueryTask.onPostExecute(CameraDataAdapter.java:358) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at android.os.AsyncTask.finish(AsyncTask.java:660) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at android.os.AsyncTask.-wrap1(AsyncTask.java) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:677) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6095) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 11-29 13:02:30.837 18338 18338 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Change-Id: I43c6eb85651e5ee69647114a5ec819ed98c61720
* Improve RTL layout behaviour.Danny Baumann2016-12-235-309/+163
| | | | | | | | - Swipe in menu from the right in RTL - Make it possible to select scene/filter items in RTL - Remove/clean up some nonsense code Change-Id: I884a06f5cc6e72a1d2ee19dbdf32ce511c8466ec
* Use transparent navigation bar.Danny Baumann2016-12-2313-230/+305
| | | | | | | Ensures a 16:9 preview isn't scaled on a 16:9 screen just due to the navigation bar being shown. Change-Id: I7ca7778b0405d3e9ac7ae1db3e7a56cacd703e3b
* Fix some photo UI layout issues.Danny Baumann2016-12-232-7/+8
| | | | Change-Id: I04a68fe2e379db4a228d19cbe6444a10a8024ce0
* snap: Panorama fixesSteve Kondik2016-11-225-16/+24
| | | | | | | | * Fix animations and transitions * Disable warped preview overlay, this looks terrible and needs rewritten. Change-Id: I9474219c57fc204dd16797aa8921296e61cc9d37
* Snap: Make developer menu more accessibleMichael Bestas2016-11-212-24/+57
| | | | | | | | | | | | | | * Not all devices have red eye reduction, which made it impossible to enable advanced options. Move the toggle to max brightness option which is present in all devices. * Allow enabling advanced options through camcorder settings. * Move hardcoded strings to cm_strings for translations. * Close menus when developer mode is toggled so we can see the extra options when the menu is reopened. * Decrease taps to 7, matching Settings tap-to-enable. * Properly reset tap counter. Change-Id: Iac39b9309388b92bf75a49a6091b483b13bd9154
* snap: Fix reset of camera controlsSteve Kondik2016-11-202-1/+12
| | | | | | | | | * Need to post a runnable so everything currently in the queue finishes first. * Also force reset when hiding the preview cover to ensure no stray scroll events throw us off. Change-Id: Id1419e91f7624b4276c566228fe77d1a774ecc2b
* CameraNext: Update focus behavior for panoramasJim Wilson2016-11-201-11/+26
| | | | | | | | | | Panorama was using Infinity for the focus mode all the time for panoramas. Change to use continuous-picture in viewfinder before the actual mosaic is started then change to fixed to lock in. This allows indoor panoramas to not suck. Change-Id: Ida01ca1ded1e1058d76da851cd20e5b7072e15be (cherry picked from commit 33ece020c28796f004f28843fda28092e315c9dc)
* Make panorama able to go 270 degrees in landscapeMartin Brabham2016-11-202-5/+9
| | | | | | Change-Id: Icfab44c674bcc59c1d369af64985956ccaf63ccc issue-id: SAMBAR-869 (cherry picked from commit e0ca697b97ef2d872f682d2b357d7233762cfafd)
* Grant read URI permission for playback of video captureAlan Newberger2016-11-201-0/+1
| | | | | | | | | | | Current implementation of video capture UI configured MediaRecorder to output directly into supplied URI, which per recommendation should be a content: URI. We pass this URI to another app to play back the video, and should pass along the read permission. Bug: 19675889 Change-Id: Idfc0ee42422dde5d921e81f098d4697e652ac689
* CameraNext: stop updating the pano progress bar on pauseScott Mertz2016-11-201-7/+15
| | | | | | | | | | | Fixes a NPE if a panorama is rendering when the user pauses the activity, then launches the camera from the lockscreen and enters panorama mode. With this patch, the user is shown a message "previous panorama is rendering" instead of the progress bar. FEIJ-533 Change-Id: I3247e4bd96aa3aa67e9b1ff75d747d8be0c3c633
* CropActivity: notify MediaScanner on save completeKhalid Zubair2016-11-202-2/+13
| | | | | | | | | | | MediaScanner should be notified when a file is created or changed. Add an explicit call at the end of the async task writing saving the bitmap. Fixes FEIJ-479 where the cropped file was being shown as a 0 byte file over MTP. Change-Id: I2220654a75f502089f44e1cb24682b73516c43b0
* Fix broken filenames for cropped imagesKhalid Zubair2016-11-201-6/+7
| | | | | | | | | | | | makeAndInsertUri() was missing the filename prefix and ended up creating filenames like '_20160518_170242.JPG'. getNewFile() already does most of what we need to handle PANO and IMG prefixes. Modify it to accept a time argument and use that instead. CYNGNOS-2877 Change-Id: I593be63d43b18efbae134c10b59921498d48df8f
* Show UI when pano stitch starts and remove cancel conditionArtem Shvadskiy2016-11-201-1/+2
| | | | | Change-Id: I72b2bf2e1062a548ff9470075a5151923619e062 issue-id: FEIJ-469
* CameraNext: don't crash when pref is not booleanKeith Mok2016-11-201-4/+8
| | | | | | | | | | | | | | | | | | | | | In some situation, a portion of pref (enableRecordingLocation) is created without first calling upgradeGlobalPreference first. Leaving the pref without the version field and makes the application thinks that the pref is in old version. When it tries to do an upgrade on the pref later, it tries to getBoolean for that location field, but that location field is already in string format, making getBoolean throws an exception. The best is to call upgradeGlobalPreference and upgradeLocalPreference when the application starts. However it should be no harm just add a simple guard in getBoolean to avoid that sitation. FEIJ-1258 Change-Id: Ic73078556b1a198a58968806091f8b0afd1ad6cc
* CameraNext: Fallback to do copy exif if exif not existKeith Mok2016-11-201-1/+10
| | | | | | | | | | | If exif in jpeg does not exist, rewriteExif will throw IOException instead of returning false. Let's catch it and fallback to the original logic to do a copy instead of in-place replacement. FEIJ-1245 Change-Id: I61b8bd9b9b7c855bff1897c036d948fcd16bb30a
* snap: Improve the histogramSteve Kondik2016-11-173-39/+69
| | | | | | | * Make it work with the new UI * Make it pretty Change-Id: Ib920307639f997c82ed003e0712fb28e9912a8e8
* Remove unused menu indicators code.Danny Baumann2016-11-176-291/+1
| | | | Change-Id: I0ce48da277a532b46fdde15027f636de4d7585b7
* snap: Improve transitionsSteve Kondik2016-11-1714-317/+496
| | | | | | | | * Synchronize animation to filmstrip with input * More code cleanups, introduce BaseModule * Animations are hard Change-Id: Ie664bb2059a28b3a9f3957fb491ec28fede521e5
* snap: Check for null when setting up the focus callbackSteve Kondik2016-11-141-7/+9
| | | | | | | | * Depending on phase of moon and location of Jupiter, we might race during startup. Add a nullcheck and synchronize until we have a proper callback. Change-Id: I2d026f0eaae3541f78c105e8cb03ae38195f48ba
* snap: Use new widgets for CaptureUISteve Kondik2016-11-147-234/+85
| | | | Change-Id: I1d142d60af3f51c71ce3711642d074faf7b456c2
* SnapdragonCamera: Fix ANR during open cameraqimengp2016-11-131-0/+0
| | | | | | | | | | | When preview UI destory, app call Camera API as order: setPreviewDispaly(null) and stopPreview(). In case native window disconnected before stopPreview(), will cause ANR, since calling to native window fails. Native window is taken care within camera framework. So, by removing setPreviewDisplay(null), can avoid this issue. Change-Id: Id804f2e0876a61d974e58dd996c46fe769f69856
* SnapdragonCamera: Pictures were rotated when the device is in flat positionweijiew2016-11-131-7/+8
| | | | | | | | | | | Normally, the picture taken by front camera needs to rotate 270 degree and the picture taken by rear camera needs to rotate 90 degree. Launch camera app when the device is in a close to flat position, camera app can’t get device’s orientation. The picture will not be rotated when the orientation is unknown. Change-Id: I41d19f162f28aa6838b0246f14475480c8703e06 CRs-Fixed: 1063452
* SnapdragonCamera: resolve front camera preview freeze issueJay Wang2016-11-131-2/+2
| | | | | | | | | | In camera2 implementation, there is a bug that camera ID was defined incorrectly and cause front camera preview turned off. Changing the default camera ID to invalid number and let setting manager update it to avoid wrong camera ID. Change-Id: I0c7f1638394bcddb7c30d55556afe6b5a6666e51 CRs-Fixed: 1061987
* SnapdragonCamera: ZSL for camera2Jack Yoo2016-11-133-69/+641
| | | | | | | Camera2 Zero Shutter lag. Change-Id: I09c65002e5f703e776b4c32efe78d3e95e76acda CRs-Fixed: 1060586
* snap: UI checkpoint #2Steve Kondik2016-11-1314-648/+1060
| | | | | | | | | | * Fix bugs from previous commit * Factor out recording controls * Clean up layouts * Asynchronous control for video module * Performance improvements Change-Id: I9d5833cecbd9280845b740ee8a3c47f023470625
* snap: Hide overlays early when going to filmstripSteve Kondik2016-11-131-0/+46
| | | | Change-Id: Ic66abb6dbce0283f3c76512f40daf6bb4a9b8f54
* snap: Use reveal animation when switching modesSteve Kondik2016-11-136-51/+120
| | | | Change-Id: I7a4b4fe2c29426b57020e3a5102d89b62d46c241
* snap: Better capture animationSteve Kondik2016-11-138-237/+185
| | | | | | | * Modified version from Camera2 * Also adjust the callbacks for better response Change-Id: I85ac23cdf35d9e2625799dd64b9f86aef103be7b
* snap: UX improvements v1Steve Kondik2016-11-1316-1519/+629
| | | | | | | | | | | | | * Make the camera controls do sane things- get rid of the manual placement of every widget and use layouts * Animate everything correctly * Show ripples when clicking the shutter * Clean up a metric ton of dead code * Moved more code into BaseUI * Make setting up the camera controls less verbose and magical * Fixed up panorama layout Change-Id: Iaed44ca0201a2e2641e1c2460d3ff9ec3eae2d85
* snap: Get rid of static Context memberSteve Kondik2016-11-115-32/+14
| | | | | | | * These are never a good thing. Instead pass the activity thru CameraUtil. Change-Id: I30d73fa329e174b20e0075a49e6d1e059e30aa3e
* Revert "SnapdragonCamera: Remove swipe right to open menu"Steve Kondik2016-11-091-2/+23
| | | | | | | | * Swipe ALL the directions This reverts commit 0321ab092671d680373bff35673fa6a069d7e57e. Change-Id: I934475575fa5a65ef93a0b3813a1ffae365b0187
* CameraNext: Use Glide for async bitmap loadingcretin452016-11-0911-213/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what Camera2 code uses. Addresses SAMBAR-766 CameraNext: Fix rotation not updated The thumbnail generated by Glide is not updated when user rotate the image manually. This is because exif is rewrite using nio mmap, however there is no nio unmap available in java. Even though the file channel is closed, the rotation modification is still in buffer, when Glide tries to dtermine the orientation of the image, it still reads the old data. Use force to ensure data is sync to disk and buffer flushed. HAM-1389 Fix memory leaks Two leaks were occuring. One was an unused Parameters in AndroidCameraManagerImpl that was holding onto excess PhotoModules. The second was Glide images for video previews that were never being cleared on recycle. issue-id: CYNGNOS-2731 CameraNext: don't call Glide to load image after Camera exits There is a race condition where the filmstrip can still be trying to load a new image just as the camera exit, and Glide gets upset if it is handed a destroyed activity context to work with. So just check for that condition and go home. Change-Id: I9e76ab40d23213c7a74c26779e345207d5fd7bae Ticket-Id: CRACKLING-1068
* Reenable left swipe for FilmstripSteve Kondik2016-11-0915-149/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * These commits are from the CameraNext application in COS. * Credits: Ed Carrigan, Ed Mancebo, Wilhelm Fitzpatrick Revert "SnapdragonCamera: Fix preview broken when coming back from gallery" This reverts commit 5b8948f83a65e8f9bd1b419bd11511e48dc34887. Revert "SnapdragonCamera: fix crash after photo deletion" This reverts commit 171d2b253a752ca104ccf4a58f4e9d6d82bd7b28. CameraNext: Fix camera crash on device unlock This patch from the plugin branch also fixes CYNGNOS-1878 Due to the bug below, when the camera is fore-grounded when device is unlocked, the SurfaceView is getting recreated, which caused it to be in a weird state when we were trying to reattach the preview to it. ----- Fixed Black Screen On Back. The issue was that mCameraView was not being populated when it should have been (after it had been added to the view hierarchy). The problem was the SurfaceView was being removed from the hierarchy when it shouldn't have been. Issue-Id: CP-129 (cherry picked from commit 4010462fe0b4cf1c15624cfca7d6a3d4d380613a) CameraNext: avoid scaling camera preview in filmstrip (cherry picked from commit 823ed983c4dccac3959635f1a14fcfe47cd7b120) CameraNext: fade camera preview to black during film strip transition Instead of scaling and translating the camera preview to make room for film strip images, we leave the preview in place and cover it gradually with the black preview cover. CameraNext : Add offset calculation for left navbar Also prevent preview from translating while hidden - was causing occasional glimpses of it in filmstrip. CameraNext : Ensure vertical/horizontal swipes don't conflict Ensure that the user can't swipe horizontally while trying to delete the image. Avoids all sorts of synching issues between mViewItem and the data adapter since the buffer is trying to constantly keep its center to be the current visible item CYNGNOS-1069 CameraNext: fix crash on entering filmstrip via thumbnail tap mVerticalViewId was getting initialized in onUp, but if filmstrip was entered without a swipe, no onUp occurred. Fixed by directly initializing the field on object creation. CameraNext: Fix ZoomView in the filmstrip The ZoomView was getting covered in the Z axis while scrolling. issue-id: SAMBAR-862 Revert "SnapdragonCamera: fix camera preview broken when resume from gallery" This reverts commit 0acc1f027637c4f0126883be68f97817d7306032. Change-Id: If4dd591c5c752a7fa33c669c15875c0077446a37
* snap: Fix advanced modes and focus overrideSteve Kondik2016-11-071-16/+24
| | | | | | | * Always allow touch focus * Set the scene mode correctly during advanced modes Change-Id: I58ad050e90578e9d23102001da2f980498b8c774
* snap: Disable makeup by defaultSteve Kondik2016-11-071-1/+1
| | | | | | | | * This depends on proprietary code which not everyone will have. * Ideally this should be set to the result of loading the JNI helper- will revisit. Change-Id: I6098955088c265d1c285a1e095595f39e4f36e5c
* Protect against multiple shutter callbacks per frame in longshot mode.Danny Baumann2016-11-071-0/+8
| | | | | | | | | | Some devices send multiple shutter callbacks for one captured frame in longshot mode. As this causes mismatch between the calculated number of captured frames and the calculated number of JPEGs received for those, which in turn leads to longshot mode never being ended properly, protect against that scenario by discarding all but the first callback. Change-Id: I0c3a270f664a0cd16354fb0a13c5941a52001650
* SnapdragonCamera: Longshot with Burst Functionality.Vijay kumar Tumati2016-11-073-20/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a new Longshot feature where in the snapshot frames captured at ISP is @ 3fps and output JPEG encoded rate is @ 1.2 fps. This can be enabled by setting following setprop with the maximum number of snapshots. adb shell setprop persist.camera.longshot.max <max_number> e.g.:adb shell setprop persist.camera.longshot.max 10 If the number is -1, then the existing Longshot will be used. Main changes: 1) The number of Snapshot/Preview/Metadata buffers are increased to make sure no frames will be dropped @ ISP and to maintain burst fps. e.g.: For max number of 10 snapshots, Snapshot buffers are increased to 9 from existing 6. This buffer numbers are derived considering snapshot YUV frames @ 3 fps and JPEG encoding @ 1.2 fps. 2) Shutter will be played after receiving YUV frame instead of reprocess frame. 3) New Longshot stop command is sent after receiving all the required YUV callbacks or releasing the shutter before reaching Max number. 4) Existing Longshot off command is sent after receiving all JPEG CB.s for the issued TakePictures() and also shutter button will be disabled until all the JPEG callbacks are received. Change-Id: Id0c21aeb67245530768bf3ab859d39dea7e2bc40
* Fix up layout of auto HDR notice and histogram view.Danny Baumann2016-11-025-242/+205
| | | | Change-Id: I61f93c68b52d81c5e19919a5b0b894cf51dd35c4
* snap: Additional fixes for auto-HDR modeSteve Kondik2016-11-021-26/+40
| | | | Change-Id: I0d9b982dc9d817b40d59fc5fa58d542a213a3d1f
* snap: Fixes for advanced features and scene modesSteve Kondik2016-11-023-41/+54
| | | | | | | | * Get rid of the annoying toast when longshot is disabled * Add support for ChromaFlash as a scene mode * Adjust overrides for various scene modes Change-Id: Ifda1990f4e9b3435655664f2a6c2b31fc3ae23fa
* snap: Adjust top bar icon orderSteve Kondik2016-11-021-2/+2
| | | | Change-Id: I1fe55daca970a8e9a725718aa6a02618450ccbf6
* CameraNext: dynamically generate available photo resolutionsWilhelm Fitzpatrick2016-11-023-26/+259
| | | | | | | | | | Instead of depending on a large matching table, generated the list of picture sizes to show to the user directly from the supported list returned by the camera. The list is filtered to remove uselessly small resolutions on modern devices, to group resolutions by aspect ratio, and to filter out fairly similar sizes. Change-Id: I47a67a89786543baec133cf7e71df9819793ebac
* snap: Add constrained longshot modeSteve Kondik2016-11-021-1/+20
| | | | | | | | | * On the OP3, we can only use Longshot in a single scene mode without conflicting with other built-in postprocessing features which cannot be disabled. Add support for this. When a scene specified in the longshot-scenemodes list is active, continuous shot will be enabled. Change-Id: I79878e5ac918e907ddc5b3ca168e49f4e06656c3
* snap: Always turn touch-af-aec onSteve Kondik2016-11-021-0/+6
| | | | | | | | * Most cameras do this by default, but on at least one device it starts with the option disabled. This stops AEC from updating during touch focus. Change-Id: I4bdb6cdbad86f3798c0288d6a32b7e8062e297f3
* Snap: Unbreak auto-HDRSteve Kondik2016-11-021-1/+1
| | | | Change-Id: Id93d5807fb4c4d14eeea33be0776a6f705a6c435
* Snap: Fix incorrect default ISO values parameterZhao Wei Liew2016-11-021-1/+1
| | | | | | | | | | | | This is a typo introduced by commit: c544747c2892b3984357a86b4116e1faa2be2210 We intend to default the ISO values parameter to "iso-values", but we are currently setting the ISO parameter instead. Fix the typo. Change-Id: Icea4771767c04b08e2b888bc8fb55a05fc69fa91
* Snap: Only override power keyScott Mertz2016-11-021-2/+2
| | | | | | | | Partially revert "Snap: Use new window manager flag for prevent system keys." CYNGNOS-2958 Change-Id: I1e726aa77a6db17c8586c19ddc3b9b31b4077194