summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Camera: Set preview fps after recording.Suman Mukherjee2018-01-271-0/+12
| | | | | | | | 4k DCI recorded FPS is getting picked up from profile and not getting reset to preview FPS after stop recording. Fix made to set the preview FPS range after stop recording. Change-Id: I4892e6fcee3eefbcbd6ca9426e56e2303cdad844
* Initialize focus overlay manager if it is not initialized.Santhosh Kumar H E2018-01-271-3/+9
| | | | | | | | | | | Camera open thread initializes the focus overlay manager after opening camera. In a rare scenario above background thread had not initialized focus overlay manager by the time UI thread start acessesing it, so we see a crash. Initialize focus overlay manager from UI thread if it is not initialized already. Change-Id: I1635c8759d0e0647fe61fe975a0cc24df40df529
* Never ignore finger swipes in gallery modeGabriele M2018-01-272-8/+0
| | | | | | | | | | | | | | Under certain conditions finger swipes are ignored. Steps to reproduce the bug: - Open left menu - Close menu choosing an option or tapping out of the preview - Tap preview of last picture in bottom left corner Swipes in the gallry should now be ignored until a right to left swipe is performed in the preview. Change-Id: I3928d84360266cca368265553a037192aa5d6780
* Focus only when tapping the previewGabriele M2018-01-271-2/+2
| | | | | | | | Calling onSingleTapUp() from onScroll() is causing Snap to issue a focus request for every touch movement, including the gestures to open the menu and the gallery. Change-Id: If913607735add13c1af8e0882748d4800e4e10f9
* Add overlay for restarting camera preview for additional camerasLuK13372018-01-272-1/+9
| | | | Change-Id: I95eb7237b101b73d66fe231a11d0c8d5156bfe47
* Snap: Simulate back button press when menu back button is pressedGabriele M2018-01-271-8/+2
| | | | | | | | | | | | Launching Gallery when the home button (shown as back button) is pressed makes no sense, especially because it's only shown in Snap's own gallery. In addition to that, if Gallery is disabled, Snap closes itself. Fix both the issues by simply simulating a back button press when the menu back button is pressed. REGRESSION-607 Change-Id: I0b2b6ee074715e2866bcebb009118b8271b1efdf
* Always apply frame size reduction to panorama picturesGabriele M2018-01-272-8/+2
| | | | | | | | | | | | | | | | Panorama mode requires quite some memory, especially after the frame num bump done with commit aa0733567c30 ("Make panorama able to go 270 degrees in landscape"). Some devices run out of memory while taking a panorama picture and force close Snap before the picture is complete. We have a config to reduce the memory requirements that reduces the size of each frame, but it's applied only if ro.config.low_ram is true. Bump the default value to 100 and always respect it. Devices having ro.config.low_ram set to true will have to override this config from their device tree. BUGBASH-326 Change-Id: Ic6d24b17b2293adf8d715904c8c1874a4c624e99
* Snap: Allow switching beyond just 2 camerasChristian Frisson2018-01-273-3/+8
| | | | | | | | Some devices have dual rear cameras, which means that they will have more than just 2 camera ID's (0 and 1). For example, the LG G5 has 0, 1 and 2. Allow Snap to run cycle through more than just 0 and 1 Change-Id: I50d8b6c02c97961990b1fbf69b9cf706c422381c
* Snap: CaptureModule: check if ZSL is supported before using itcodeworkx2018-01-273-45/+70
| | | | Change-Id: Ifde34ce367ceeb19ad71bcff0c4518d578bb52a5
* Snap: detect and use Camera2 if availablecodeworkx2018-01-264-10/+45
| | | | | | Also add overlay option to enable support for Camera2 to retain current behaviour. Change-Id: I20939e33f4bb687e4abea11bbcdb9bf246b156e4
* Snap: prevent NPE when checking if controls are visibleJoey Rizzoli2018-01-261-0/+3
| | | | | Change-Id: Id054ccc9445722bcb08953fd40e43a82bdd13ae2 Signed-off-by: Joey Rizzoli <joey@cyanogenmoditalia.it>
* Initialize focus manager in onResume().Danny Baumann2018-01-262-0/+2
| | | | | | | | | | | Since commit 87b4a40d588a7ae8a61cb353c4cff8df37f7b483 moved camera initialization (and focus manager initialization with it) to a background thread, the focus manager initialization now races against the onPreviewRectChanged() call triggered by SurfaceView initialization in the main thread, potentially leaving the focus manager in an uninitialized state that prevented taking pictures. Change-Id: I8cf650d6a67768acd131b3cddad175ed198e0838
* Stop data loader on activity destroy.Danny Baumann2018-01-264-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
* CameraNext: Update focus behavior for panoramasJim Wilson2018-01-261-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 Brabham2018-01-263-6/+10
| | | | | | Change-Id: Icfab44c674bcc59c1d369af64985956ccaf63ccc issue-id: SAMBAR-869 (cherry picked from commit e0ca697b97ef2d872f682d2b357d7233762cfafd)
* Grant read URI permission for playback of video captureAlan Newberger2018-01-261-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 Mertz2018-01-261-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 Zubair2018-01-262-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 Zubair2018-01-261-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
* snap: Panorama fixesSteve Kondik2018-01-267-15/+28
| | | | Change-Id: I9474219c57fc204dd16797aa8921296e61cc9d37
* Show UI when pano stitch starts and remove cancel conditionArtem Shvadskiy2018-01-261-1/+2
| | | | | Change-Id: I72b2bf2e1062a548ff9470075a5151923619e062 issue-id: FEIJ-469
* CameraNext: don't crash when pref is not booleanKeith Mok2018-01-261-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 Mok2018-01-261-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: update caf iconsJoey Rizzoli2018-01-2684-159/+418
| | | | | Change-Id: I1adaf709253637bde037b5aea1f856fc5b9029c7 Signed-off-by: Joey Rizzoli <joey@cyanogenmoditalia.it>
* Use material versions of share/delete/edit icons.Danny Baumann2018-01-2613-23/+37
| | | | Change-Id: I5cbcd574802170747973c8d685cdfdebf61d5a4f
* De-uglify menu.Danny Baumann2018-01-2622-142/+43
| | | | Change-Id: I19d8a3d5a12c4be06bced056b80ad1a354c6b761
* snap: Adjust top bar icon orderSteve Kondik2018-01-261-7/+7
| | | | Change-Id: I1fe55daca970a8e9a725718aa6a02618450ccbf6
* Snap: Add icons to all scene modesjrizzoli2018-01-2638-39/+742
| | | | | Change-Id: Ie34f455460eb205de12c24be10a361e380db761f Signed-off-by: jrizzoli <joey@cyanogenmoditalia.it>
* Snap: Add icons to all remaining preferencesjrizzoli2018-01-2636-63/+636
| | | | | Change-Id: I0a06b550ae4137d0e665947d8a8574c3b26fcb95 Signed-off-by: jrizzoli <joey@cyanogenmoditalia.it>
* Snap: update shutter button stylejrizzoli2018-01-269-25/+73
| | | | Change-Id: Ide5fc0ff1c54e216ac7cd9bea202002d1d4dfa12
* Remove unused menu indicators code.Danny Baumann2018-01-2619-586/+1
| | | | Change-Id: I0ce48da277a532b46fdde15027f636de4d7585b7
* Snap: remove captureUI pngdrawablesjrizzoli2018-01-2647-0/+0
| | | | | | | CM now supports 90/270 degrees rotated vectordrawables Change-Id: I13b36463c60430564c00bd1e36393fff7ddbfdae Signed-off-by: jrizzoli <joey@cyanogenmoditalia.it>
* Snap: Material toastsMichael Bestas2018-01-2610-5/+9
| | | | | | * Match the framework toast appearance Change-Id: I886862f3087bcd5cb1cfa76f72731292b7511d07
* Snap: initial materializationjrizzoli2018-01-26289-173/+1023
| | | | | | | Just for initial ship Change-Id: I8d6c0d71d1b94e6eb2f43ab962fb92de0e6c7093 Signed-off-by: jrizzoli <joey@cyanogenmoditalia.it>
* Snap: grant android.permission.RECEIVE_BOOT_COMPLETED permisionsMartin Bouchet2018-01-261-0/+1
| | | | | | | | | | | Log: 03-07 13:00:45.697 2812 2830 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.BOOT_COMPLETED flg=0x9000010 (has extras) } to org.cyanogenmod.snap/com.android.camera.DisableCameraReceiver requires android.permission.RECEIVE_BOOT_COMPLETED due to sender null (uid 1000) Change-Id: I55cd1c96ac1a06b644fc207c235f694c8a60da99
* snap: Additional fixes for auto-HDR modeSteve Kondik2018-01-261-26/+41
| | | | Change-Id: I0d9b982dc9d817b40d59fc5fa58d542a213a3d1f
* snap: Fixes for advanced features and scene modesSteve Kondik2018-01-263-41/+56
| | | | | | | | * 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
* camera: Keep touch focus intact during back-to-back ZSL shotsSteve Kondik2018-01-262-2/+12
| | | | | | | | * If ZSL is enabled, we should not resetTouchFocus between shots. * Instead, re-kick the timer for each shot. If I set a focus point, I want that point to stick while I take a succession of shots. Change-Id: I407bb1e248cc902355d0294f47b071cc8a32fac3
* Camera2: Only autofocus before a snap if we are actually in "auto" mode.Steve Kondik2018-01-261-4/+1
| | | | | | Original commit by cyanogen 7daaa72d35c1f8820117768e4b129acd030bcefb Change-Id: I51853913f6459b599176910f7f486f59972eaf36
* Snap: Fix crash when set infinite touch-focus durationMichael Bestas2018-01-262-2/+2
| | | | | | | * java.lang.Integer.valueOf(string) method can't parse hexadecimal values Change-Id: I42706db72fc9c1093a7aa16440af449f731e5176
* Snap: Separate default focus time between camera/videoSultanxda2018-01-263-2/+3
| | | | | | | | | | | | | | For the camera, the user expects a default tap-to-focus duration of 3 seconds with exposure locking. For the camcorder, however, the user expects a tap-to-focus duration of 0 seconds with no exposure locking, as the rapid change in exposure while recording would negatively impact the video. Separate the tap-to-focus option to reflect the recommended defaults. [mikeioannina]: Adapted to Snap Change-Id: I75bc0610f5d301c9728b4bc104b86e0fab5493fb Signed-off-by: Sultanxda <sultanxda@gmail.com>
* Snap: Cleanup focus time duration entriesMichael Bestas2018-01-262-10/+4
| | | | | | | | * Add 3s which was the default before we added the option * Remove 15/20/30s * Fix default duration Change-Id: Ieaad13f248ec9966eefb546beeb6b386156e3b11
* Snap: Add ability to set the tap-to-focus duration to 0 secSultanxda2018-01-263-9/+19
| | | | | | | | | | | Setting a tap-to-focus duration of 0 seconds allows for a quick, manual refocus of the subject without interfering with the exposure. This is particularly useful when recording videos. [mikeioannina]: Adapted to Snap Change-Id: Ie3d92e50f755c938e9725438ba5baad0d0985485 Signed-off-by: Sultanxda <sultanxda@gmail.com>
* Snap: Add focus time support in camcorderMichael Bestas2018-01-264-0/+14
| | | | Change-Id: I5432554a40d7375ed7893c38cb2741a12cc8cc80
* Snap: Expose video snapshot size settingMichael Bestas2018-01-261-0/+1
| | | | Change-Id: I6bf76a0a607e4c275a63c60b042ae239d893095f
* SnapdragonCamera: Unlock AE/AWB after taking a photo with ZSLSultanxda2018-01-261-0/+1
| | | | | | | | | The exposure and white balance get stuck after taking photos with ZSL. Always unlock the exposure and white balance after taking photos with ZSL. Change-Id: Ia34a54522048fdd619f44ac1f6d2924ce2c3fc6a
* SnapdragonCamera: Lock AE and AWB for tap-to-focus in camcorderSultanxda2018-01-261-0/+20
| | | | | | | | Lock the auto exposure (AE) and auto white balance (AWB) when tap-to-focus is used in the camcorder. Change-Id: Ieb24e04b74a06b2390eb9302e74b4f69b1486951 Signed-off-by: Sultanxda <sultanxda@gmail.com>
* SnapdragonCamera: Always lock AE and AWB when auto-focus is usedSultanxda2018-01-261-0/+7
| | | | | | | | Lock the auto exposure (AE) and auto white balance (AWB) when tap-to-focus is used. Change-Id: I9d8e9b4928516e8b2bad7be958e5c4849db19ab6 Signed-off-by: Sultanxda <sultanxda@gmail.com>
* SnapdragonCamera: Add focus-mode option to camcorderSultanxda2018-01-268-29/+61
| | | | | | | User can now control the focus mode used while recording video. Change-Id: I340c01a3f88314de67ca024279672276eff453ed Signed-off-by: Sultanxda <sultanxda@gmail.com>
* Snap: Set parameters before starting previewlion07382018-01-261-6/+7
| | | | | | | Old parameters are used when grabbing focus mode. Camera parameters should be set to FocusOverlayManager before starting preview. Change-Id: I908559e1c2003be47b486996b0ec016b78107468