summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CameraSettings: Do not crash if zoom ratios are not exposeddkati2019-11-091-4/+5
| | | | | | | | | | * On some devices, wrappers do not expose the zoom ratios, so the list of zoomRatios is empty. So the .add() method cant run from a null class. If zoom ratios are not exposed, simply return an empty list and the camera will take the default HAL's zoom ratios -This fixes front camera photo shoot on jfltexx Change-Id: Ic64e41a8c5a2d51966ec95d4b020e5d3951eac0e
* Snap: Allow quickreader to work with secure deviceMichael W2019-11-092-2/+16
| | | | | | | | | | | * Mimic the behaviour from CameraActivity to allow using the quickreader activity with locked screen * Pass the value if mSecureCamera as SECURE_CAMERA_EXTRA flag to get knowledge if the WindowManager flags have to be modified * Also tested: Scanning an url doesn't allow bypassing the lockscreen, so it's only the reader itself which will work with a locked device Change-Id: Ia9da7b712f5e5aab32a49d272e3d42651dee412d
* Snap: turn developer category title into a translatable stringAndreas Blaesius2019-11-092-1/+2
| | | | Change-Id: Id543286b1b823adccbab0fabdea1c8df8703f2ad
* SnapdragonCamera: Panorama, replace border drawabledarkobas2019-11-0914-9/+15
| | | | Change-Id: Ic86c7146f53b96e70259fd6da81050277ebda23b
* Snap: Check for ACCESS_FINE_LOCATION instead of ACCESS_COARSE_LOCATIONArne Coucheron2019-11-091-2/+0
| | | | | | | | ACCESS_FINE_LOCATION is now required for GPS location feature to work. | LocationManager: java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission. Change-Id: I6b2f11bdab719cb9fc74a67a8e91ad558269d579
* Snap: Configure focus ring preview dimensionsEthan Chen2019-11-092-1/+2
| | | | Change-Id: I49d7f28fb2f731e18c73b9d944882f9f8a4fb5c2
* Snap: Add support for focus distanceSteve Kondik2019-11-095-2/+128
| | | | | | * Hook up available metadata to the new focus manager. Change-Id: I793df67a2682d8bb2dee994193111227dd8c8d5a
* Drop new focus indicator into Camera2.Paul Rohde2019-11-0938-352/+2156
| | | | | | | * Create a new custom focus view that interacts with physical lens diopter changes. * Replace all occurances of the old focus indicator with the new one. Change-Id: Ia02646ce4d1eb059ecb8a1dfccc15dfc9c167e1b
* Snap: don't try to set up cameras with ids greater than MAX_NUM_CAMcodeworkx2019-11-091-1/+11
| | | | | | * fixes ArrayIndexOutOfBoundsException on setUpCameraOutputs Change-Id: I1565576b604bdcebea85d65f3c7a2b332292ed2d
* Snap: Convert "save best" dialog text to a quantity stringMichael W2019-11-092-5/+15
| | | | | | | | | * Saving 1 vs saving several can be a different string in other languages (e.g. German: "1 von 10 Bildern wird gespeichert[...]" vs "2 von 10 Bildern werden gespeichert[...]") * Also fixes a missing "be" in the source string ("will _be_ deleted") Change-Id: I0f0a91fa3cd1abe17c9d3eef453c4ed706a6fb25
* Snap: adaptive iconAsher Simonds2019-11-0917-1/+21
| | | | | Change-Id: I22760394096e4b4259fb4a1755f26bb58b1b3141 Signed-off-by: Joey <joey@lineageos.org>
* Snap: Port all string improvements from lineage-16.0Michael Bestas2019-11-093-765/+764
| | | | | | * This is a mess Change-Id: I91b46d2e54c78f55b31fa8b45156d74ca05e8027
* Snap: Add missing thumbnails for filter modesSebastian Haderecker2019-10-257-6/+6
| | | | | | | | | | | | Added: Washed Vintage warm Vintage cold Point green Point blue Point red-yellow Change-Id: Ib5f6781347ad7cf99eb50e4e6be0446624219981
* Snap: add QReader to module switchJoey Rizzoli2019-10-254-4/+45
| | | | | | | | | | | | | | | | | | | Author: Joey Rizzoli <joey@lineageos.org> Date: Fri Dec 15 21:54:27 2017 +0100 Snap: add QReader to module switch Change-Id: I7cc33c7ebc6de35d19979a9a70f198029e46d88f Signed-off-by: Joey Rizzoli <joey@lineageos.org> Author: Arne Coucheron <arco68@gmail.com> Date: Sun Jan 14 16:53:49 2018 +0100 QuickReader: Match switch icon size and fill color with other icons Change-Id: I9bfa84ed1ea188470cb9a58c5d59cf8a6b270215 Change-Id: Ia7f575bf6cab7d24a6d1ad167b44a02feb1457d2
* QuickReader: initial commitJoey Rizzoli2019-10-2523-0/+1042
| | | | | | | libs from me.dm7.barcodescanner:zxing:1.9.0 maven cache Change-Id: Ib97b7e54d8e28cd6f637e452eb41045052cae3dc Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Snap: check tags before using themcodeworkx2019-10-252-1/+7
| | | | | | | MessageQueue-JNI: java.lang.IllegalArgumentException: Could not find tag for key 'org.codeaurora.qcamera3.saturation.use_saturation') Change-Id: Ia42c67552f9d4574e5f86af2ac5aea853198d0ed
* Snap: Rip out hdr-need-1x optionPaul Keith2019-10-257-74/+1
| | | | | | | | | | * This breaks HDR on every device that has this param, because this makes the camera HAL return *1* e*x*tra frame at 0 exposure, and since Snap doesn't know what to do with this extra frame, it erroneously saves it as a second picture on device storage * Remove this option entirely to make HDR great again Change-Id: I8ef4072eb030f4ab6e608a0da268274a3dc58e34
* Removed littlemock dependency and cleanupPaul Duffin2019-10-251-2/+0
| | | | | | | | | | | The tests_camera classes are legacy tests that have not been built for nearly 4 years. This removes those classes and removes the littlemock and dexmaker dependencies that are no longer needed. Bug: 32912773 Test: build, install and run using am instrument Change-Id: I623d52fd5471f75622c2175061467ad5519dad13
* Snap: Fix panorama layoutArne Coucheron2019-10-254-10/+40
| | | | | | Loosely based on old cyngn patches. Change-Id: I7fdb6ba82243f2f28e8ea655f83f0339d49de5ad
* Snap: Arrange video menu so it's similar to photo menuArne Coucheron2019-10-251-7/+7
| | | | Change-Id: I3bd89db44663594871a992e6856f55fef8a70c85
* Snap: Remove "help screen on first start" featureArne Coucheron2019-10-2512-657/+4
| | | | | | | | | | | | | | | | | | | | Revert "SnapdragonCamera: Add help menu to camera2" This reverts commit 0dbfdffc9994a17e60c57b17c3cc5743cc75e155. Change-Id: Icb4e4bbc2b7883fa232483615a18d3197b2577bd Revert "SnapdragonCamera: Move help menu string to ressource" This reverts commit 901130273dbfc753ef883941a4e93b50056177e4. Change-Id: I82815ee7ef80985c88315c40d6b222f688fd6b75 Revert "SnapdragonCamera: Adding help screen on first start" This reverts commit 666692bf730a1c46210cc74781a56afb4b6fcf28. Change-Id: I8f2ee58c263537c3a02248aa344516f5321de13f
* Snap: Fix filter mode button after disabling HDR modeArne Coucheron2019-10-251-1/+4
| | | | Change-Id: I24953691c020727900a8cd944e60c27a24ff62c9
* Snap: Fix swipe right to open menuArne Coucheron2019-10-251-3/+10
| | | | Change-Id: I74b9230e7c63813b3e8b716acf66b10c835f12b5
* Snap: Don't close slide out menu after selecting scene modeArne Coucheron2019-10-251-1/+0
| | | | | | Keep consistent with how filter mode menu behaves. Change-Id: If53bdca075bf97e1f2ad3b8a3f494dcb720026dc
* Snap: Adjust scene and filter mode layout dimensionsArne Coucheron2019-10-251-4/+4
| | | | Change-Id: I1518c2d72f54e294a8793a1c151a69049d697c5b
* Snap: Increase default pano capture pixels to 1440x1000Arne Coucheron2019-10-251-2/+2
| | | | Change-Id: I5a67ee329a46701629b017c57f640a5be1976288
* Snap: Disable warped pano previewArne Coucheron2019-10-251-1/+1
| | | | Change-Id: I6412a012f8d3739b6002685b87f0e64cedfe952f
* Snap: Show remaining photos on initial startArne Coucheron2019-10-252-1/+2
| | | | | | Also increase margin a bit. Change-Id: Id8ddb1137094f03bd26b487575b555bbadd80432
* SnapdragonCamera: Add missing toast on HSR/HFR overrideAlex Naidis2019-10-251-0/+2
| | | | | | | | | Add in a missing toast to warn a user when the wanted HSR/HFR mode gets overriden due to the incompatibility with image stabilization. Change-Id: Ib81c50e8fad0bca075e6b33399321da42d77eb03 Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* Snap: Don't do touch-to-focus on top of UI elementsSultanxda2019-10-253-4/+21
| | | | | | | | Don't process touch-to-focus for taps that are located on either the top or bottom UI panes. Change-Id: Iac4ccda8625080ff0bd1133ac339e53c423b626d Signed-off-by: Sultanxda <sultanxda@gmail.com>
* Snap: Render zoom circle in the center of the camera previewSultanxda2019-10-251-1/+18
| | | | | | | | | Previously, the zoom circle was rendered in the center of the entire screen, making it look unevenly placed due to the uneven sizes of the top and bottom UI panes. The camera preview in this case is calculated to be the portion of the screen between the top and bottom UI panes. Change-Id: I67678f7bc227cf2b7a6eed3161805b2b107c488a
* SnapdragonCamera: Enforce 120ms delay in between shutter clicksSultanxda2019-10-251-2/+10
| | | | | | | To prevent unintentional duplicate photo captures. Change-Id: I5b24d834ba6eb7e2f606d656a71f5878ab8d08f5 Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* SnapdragonCamera: Fix shutter button clicks in rapid succession getting ignoredSultanxda2019-10-251-1/+1
| | | | | | | | | | | | | | Due to this check, the shutter button would be disabled until each photo would finish processing. This results in the shutter button getting disabled for quite a long time when ZSL isn't used, forcing the user to wait until the previous shot is finished before requesting a new shot. Fix the HDR check so that shutter button clicks in quick succession work. There is code in place to handle button clicks in rapid succession, so this is fine. Change-Id: Ifc36a22e4ec3a1be24e5a9b40c3fc682e82605b3 Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* VideoModule: don't set negative HFR valueAnas Karbila2019-10-251-1/+5
| | | | | | Change-Id: Ic5e429c16792af7f3af0155f50c162487ffa4ef7 (cherry picked from commit 460c0f207ad453473a1d2d5f0f94651578f5eccb) Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* ListPreference: prevent ArrayIndexOutOfBoundsExceptionThecrazyskull2019-10-251-0/+1
| | | | | | * Index value is not allowed to be higher/equal to the array length Change-Id: Iff361603f337e4e77085717fce6227815ea06fc7
* Protect against multiple shutter callbacks per frame in longshot mode.Danny Baumann2019-10-251-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 Tumati2019-10-254-19/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Snapdragon Camera: Use consistent API for preview fps resetEmilian Peev2019-10-252-5/+12
| | | | | | | | | | Instead of using preview fps range API during preview framerate reset use the fixed fps API. This is to avoid any inconsistent behavior that can be triggered when using both APIs from MediaRecorder and Snapdragon application side. Change-Id: Ib5251d8ea4d697db9bdea4e5ebf20606b286f54f
* Camera: Set preview fps after recording.Suman Mukherjee2019-10-251-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 E2019-10-251-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 M2019-10-252-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
* Snap: Simulate back button press when menu back button is pressedGabriele M2019-10-251-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 M2019-10-252-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 Frisson2019-10-253-2/+7
| | | | | | | | 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 itcodeworkx2019-10-253-44/+73
| | | | Change-Id: Ifde34ce367ceeb19ad71bcff0c4518d578bb52a5
* Snap: Detect and use Camera2 if availablecodeworkx2019-10-254-11/+52
| | | | | | | | | | | | | | | | | | | | Author: codeworkx <daniel.hillenbrand@codeworkx.de> Date: Sat Jan 28 14:56:35 2017 +0100 Snap: detect and use Camera2 if available Also add overlay option to enable support for Camera2 to retain current behaviour. Change-Id: I20939e33f4bb687e4abea11bbcdb9bf246b156e4 Author: codeworkx <daniel.hillenbrand@codeworkx.de> Date: Sun Aug 13 12:22:05 2017 +0200 Snap: Add missing null check on isCamera2Supported Change-Id: I61c04c7cb8d344573ab7fb11f7114f09aaf24fb7 Change-Id: I339ead08d10ddff5dad491987d94367354a4b3f3
* Snap: prevent NPE when checking if controls are visibleJoey Rizzoli2019-10-251-0/+3
| | | | | Change-Id: Id054ccc9445722bcb08953fd40e43a82bdd13ae2 Signed-off-by: Joey Rizzoli <joey@cyanogenmoditalia.it>
* Initialize focus manager in onResume().Danny Baumann2019-10-252-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 Baumann2019-10-254-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 Wilson2019-10-251-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)