A camera app using the new camera2 API in Android Lollipop

Overview

L Camera

Screenshot

L Camera is an open-source experimental camera app for Android L devices using the new android.hardware.camera2 API. Currently, the only supported device is Nexus 5 and Nexus 6 running Android 5.0 Lollipop.

Please note that this app is intended to test and study new features of the camera API, it is not for general uses as it lacks many basic camera features (location tagging, white balance, photo review, flash control, etc).

Features

  • True manual focus (adjustable focus distance)
  • Manual exposure time (0.8" to 1/75000)
  • Manual ISO (40 to 10000)
  • DNG output support
  • 30-fps full-resolution burst mode (up to 20 images) with optional exposure bracketing
  • Semi-bulb mode
  • 30-fps full-resolution (3264x2448) video recording on Nexus 5
  • 30-fps 4K UHD (3840x2160) video recording on Nexus 6
  • Experimental 60-fps video recording at 1080p on Nexus 5
  • Experimental 120-fps video recording at 800x600 on Nexus 5
  • Material design

Tour

Installation

You can either install the pre-built debug APK from the release page, or build and install the APK by yourself.

Usage

Just use it like any camera! Tap other four button at the bottom to bring up settings:

  • Focus
    • AF/MF: Whether the auto focus mechanism is enabled (tap on the preview to focus on a specific point).
    • Focus Distance: Manually control focus distance if auto focus is turned off.
  • Exposure
    • Tap on either shutter speed or ISO values to enable manual exposure control.
    • Aperture: Show the aperture of the camera. Currently, all devices that support the new camera2 API have fixed aperture, and therefore this setting cannot be changed.
    • Shutter Speed: Control shutter speed of the sensor. (Setting a slow shutter speed will affect preview frame rate)
    • ISO: Control the sensitivity of the sensor.
  • Mode
    • Photo mode: Capture a single image at the highest quality possible.
    • Burst mode: Capture up to 20 image at maximum resolution at 30 fps with optional exposure bracketing.
    • Bulb mode: Keep capturing DNG images until manually stopped. Note that as the Nexus 5's internal memory writing speed cannot keep up with the rate the camera pushes out new images even at the slowest shutter speed, the camera waits until the previous image is saved before starting a new capture to avoid filling the buffers.
    • Video mode: Videos are encoded with H.264/AVC for video and 44.1khz 320kbps AAC-LC for audio in MP4 container. Focus distance and exposure settings are adjustable during recording.
  • Settings
    • Photo Mode
      • Save DNG: Toggle whether a DNG image is saved in single capture mode.
    • Burst Mode
      • No. of Images: Number of images to be captured in burst. Note that the hardware may not be able to sustain 30fps for all the burst shots. For instance, the frame rate drops significantly after the 7th shot on the Nexus 5.
      • Exposure Bracketing: Number of stops that will be varied between each capture in a burst sequence. Only the shutter speed is varied, the ISO stays the same. For example, with 7 images per burst and 1/3 EV exposure bracketing setting, the camera will capture 7 images at -1, -2/3, -1/3, 0, 1/3, 2/3, 1 EV.
      • Save DNG: Specify the output format for burst capture.
    • Video Mode
      • Video Resolution: Configure video resolution, fps and encoding bitrate. (See below for 60fps recording) Switch between photo capturing and video recording mode.

If you are looking for a stopwatch to test the burst capture feature, check out this jsfiddle.

After capturing, output files will be saved to the /sdcard/DCIM/Camera/ directory. Note that each DNG image is 15.36 MiB in size, so make sure you have plenty of free space available!

Working with DNG files

Most RAW post-processing programs should be able to open them. While Adobe Lightroom is probably the most popular RAW editor, both darktable (Linux, Mac) and RawTherapee (Windows, Linux, Mac) are both free alternatives that also offer very powerful editing capabilities.

A short DNG editing tutorial using RawTherapee.

60/120 FPS Recording

First, see pkmx/lcamera#4 about limitations of this modification. This modification is only available for Nexus 5.

To enable 60/120fps recording, the system library /system/lib/libmmcamera_imx179.so needs to be replaced with a modified version. The following is a simplified walkthrough of the process. Note that this is a very hacky solution and I'm not responsible for any damages done to your system or device. Approach at your own risk and make sure you understand what you are doing.

  1. You must have root access and busybox installed on your Nexus 5. (The latter is not strictly required, but makes the process easier as it provides install and killall.)
  2. Download the libmmcamera_imx179_lrx21o_60hz.so or ``libmmcamera_imx179_lrx21o_120hz.sofrom the [release](https://github.com/PkmX/lcamera/releases) page and transfer it to the device. (The following assumes that it is located in/sdcard/`.)
  3. Launch a root shell.
  4. Make a backup of the original library first: cp /system/lib/libmmcamera_imx179.so /sdcard/libmmcamera_imx179_original.so
  5. Run mount -o remount,rw /system to re-mount the /system partition for read-write.
  6. Replace the library: install -m644 /sdcard/libmmcamera_imx179_lrx21o_60hz.so /system/lib/libmmcamera_imx179.so (Replace 60hz with 120hz if you downloaded the 120fps one.)
  7. Run mount -o remount,ro /system to re-mount /system as read-only again.
  8. Restart both the camera daemon and media server: killall mm-qcamera-daemon mediaserver

The camera should now be able to record at 60/120 fps and you can choose 60/120fps options in the settings menu on L Camera. All other camera apps will most likely be broken at this point. If you want to undo the modification, simply redo step 5~8 and copy the original library you backup-ed in step 4 instead.

For details about the library modification and a utility to patch your own, see contents of the libmmcamera_imx179_mod directory.

FAQ

Does it run on Nexus 4/7/10 or other phones that have received Lollipop update?

It seems that none of those devices fully support the new API as of now (2014/11/17). If you want to verify, run adb shell dumpsys media.camera with your device connected and developer mode enabled. You should see a dump of your device cameras' capabilities like this. Your camera's android.request.availableCapabilities must include MANUAL_SENSOR, MANUAL_POST_PROCESSING and RAW for L Camera to work.

Why do I get the 'Cannot parse package' error while installing?

Make sure the downloaded apk is not corrupted, as it seems some browsers download GitHub's webpage instead of the actual apk. You must also have the Lollipop running on your device.

Does it need root?

No. However, it is needed if you want to record videos at 60fps on the Nexus 5 as a system library needs to be modified.

Will you implement feature X?

Open an issue (one per feature please) on the tracker and I will see what I can do. However, the priority of development is investigating new ways to use the camera hardware rather than reimplement features that have been possible, or things that can be done in post-processing.

Hacking/Technical

The app is written in the Scala programming language and uses the following libraries/tools:

How to build

You must have both scala 2.11.5 and sbt >= 0.13 installed.

To build the app (the resulting APK will be placed in the bin/ directory):

$ sbt package

To build and run the app on device (assuming you have adb and developer mode enabled):

$ sbt run

Debugging

To see debug outputs, set allowed logging priority of lcamera tag to VERBOSE:

$ adb shell setprop log.tag.lcamera VERBOSE

Issues

Please report any bugs or feature requests on GitHub's issue tracker.

Credits

  • Martin Wawro: for his support in enabling 60fps video recording on Nexus 5

License

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see 
   .
Comments
  • Quick Lib Changer

    Quick Lib Changer

    Hello again, pkmx, It takes some time to change 60hz lib to normal. So, i created a small app. This app uses two files in sdcard. And the lib can be changed very quickly. After changing, l camera have to be restarted. screenshot_2014-11-18-17-03-22 screenshot_2014-11-18-17-27-21

    other 
    opened by modbrin 35
  • Restore library failed

    Restore library failed

    I'm unable to restore the original lib either with the Quick Lib Changer app or via terminal with error : install: can't open 'mnt/sdcard/Download/libmmcamera_imx179.so': Permission denied

    Thanks

    invalid 
    opened by StephaneJuban 23
  • Constantly zoomed

    Constantly zoomed

    Hi,

    After installing the library, I feel like my camera is always zoomed. On stock camera I can always zoom more but the image began very big. Same behavior if I go back to original lib...

    Also, I'm not able to choose 3264x2448x30 @ 65mpbs on my Nexus 5, I'm stuck at 1920x1080x60 @ 16mbps. Is it normal ?

    Thanks for your help

    invalid 
    opened by StephaneJuban 15
  • Add a second apk just to collect information

    Add a second apk just to collect information

    I asked a user running the Moto g soak test to try the app and it also crashed.

    Maybe it would be helpful for you to release an apk that just dumps the camera data so you could build a database.

    Or even another very simple apk without raw support and other bells and whistles, just jpeg with manual shutter and iso to test other devices. This way you could find if there are phones with limited support for some of the functions

    wontfix 
    opened by sudoeste 8
  • can't connect to camera

    can't connect to camera

    Hi !

    I've installed the file "libmmcamera_imx179_lrx21o_60hz" And now all apps wich use The camera display The message "can't connect to camera" i've reinstalled The original file but it still don't work... How can I get back camera fonction ?

    Thank you

    invalid 
    opened by vlone 7
  • Switching to video mode makes L camera view finder freeze

    Switching to video mode makes L camera view finder freeze

    Using the latest dev build, when switching to video mode the view finder just freezes,the buttons work. But when pressing record it just crashes. Using Nexus 5, i don't have any patched file for video capturing.

    bug 
    opened by sharathdaniel 6
  • Preview has a cropped image

    Preview has a cropped image

    Since build v0.3 the preview for both photo and video mode is cropped. The image is only cropped when previewing in the app, I'd say it's cropped 80% on the sensor from the center. When viewing the pictures afterwards the crop is gone and photo's have the same dimensions etc. as the google camera app.

    bug 
    opened by huusman 6
  • Video resolutions disabled

    Video resolutions disabled

    i install latest dev preview i install the so file exacly as you said but i the camera starts with very high zoom and all video resolutions exept 800x600@5mbps are disabled

    invalid 
    opened by pikachukaki 6
  • 60 fps info and 120fps question.

    60 fps info and 120fps question.

    I PkmX, I saw that the old thread about it is closed, I would ask you 2 info.

    First, with last .so there is the support for 1080p @60fps, is this resolution real (sensor records at 1080p) or is a resize from lower resolution?

    Second point, will 120fps support added in future or there are some problems about it?

    Ty, sorry for this new post

    invalid 
    opened by ivandisi 6
  • Lcamera app crashed when i tried to use 60hz video

    Lcamera app crashed when i tried to use 60hz video

    Hello pkmx, I wanted to achieve 60 fps video usiung your guide. i replaced the camera lib to _60hz.so. G camera crashed. But the lcamera crashed at startup too, even after rebooting phone. So, i replaced the lib to original and all cam apps are working now as normal. I'm using the lpx21o build, so it may be caused by build number.

    bug 
    opened by modbrin 6
  • Missing Broadcast Event ACTION_NEW_PICTURE

    Missing Broadcast Event ACTION_NEW_PICTURE

    It seems that this app doesn't broadcast the event ACTION_NEW_PICTURE when a picture is taken: https://developer.android.com/reference/android/hardware/Camera.html#ACTION_NEW_PICTURE

    So apps depending on this broadcast (like ownclouds InstaUpload) won't work.: https://github.com/owncloud/android/issues/760

    feature request 
    opened by 8h2a 5
  • UNRESOLVED DEPENDENCIES sbt 0.13.15 and 1.2.7 scala 2.11.8 and it does not work

    UNRESOLVED DEPENDENCIES sbt 0.13.15 and 1.2.7 scala 2.11.8 and it does not work

    Is there any way to compile this code? Does someone here work for you? what dependencies do you use?

    I have installed sbt 0.13.15 and 1.2.7 scala 2.11.8 and it does not work

    [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: com.hanhuy.sbt#android-sdk-plugin;1.3.5: not found [warn] :: com.github.mpeltonen#sbt-idea;1.7.0-SNAPSHOT: not found [warn] ::::::::::::::::::::::::::::::::::::::::::::::

    opened by juankr10s 0
  • Which would be the best hardware for lcamera?

    Which would be the best hardware for lcamera?

    Hi. I am following the Fairphone project for a while. They look for a modular point of view for smartphones, which includes the possibility to upgrade the camera. Since they upgrade the camera every a few time, and they also are thinking in a new smartphone model, I was thinking in wich would be the best option for them to have the best open source camera performance. Which would be the best camera sensor/lens/..., or the best combination of SoC and Camera sensor/lens/.. to make lcamera to work the best?

    The last camera upgrade from them it has been this: Rear camera: 12MP CMOS sensor with dual flash (Omnivision OV12870 – BSI) Front camera: 5MP CMOS sensor (Omnivision OV5670)

    Since they are constantly in touch with their community and take their opinion in consideration, besides that they are triying to give a good open source experience, what would be a next good upgrade from an lcamera point of view?

    Most of the time having a better hardware but with less software optimization is worst than having a less advanced hardware but greatly optimized. This is why I am curious about this question and I think lcamera could be of greeat help to improve the fairphone camera performance.

    opened by adomo88 0
  • libmmcamera for Nougat?

    libmmcamera for Nougat?

    Is there a way to get 60 fps recording for nougat on the Nexus 5? Is it possible to use the current patcher for marshmallow to get it to work with nougat?

    opened by AutinMitra 0
  • Can't build (missing dependencies)

    Can't build (missing dependencies)

    I'm not able to build the project. I get following errors

    [warn] 	::::::::::::::::::::::::::::::::::::::::::::::
    [warn] 	::          UNRESOLVED DEPENDENCIES         ::
    [warn] 	::::::::::::::::::::::::::::::::::::::::::::::
    [warn] 	:: com.android.support#recyclerview-v7;21.0.0: not found
    [warn] 	:: com.android.support#support-annotations;20.0.0: not found
    [warn] 	::::::::::::::::::::::::::::::::::::::::::::::
    [warn] 
    [warn] 	Note: Unresolved dependencies path:
    [warn] 		com.android.support:recyclerview-v7:21.0.0
    [warn] 		  +- com.melnykov:floatingactionbutton:1.0.6 (/home/expert/work/sideprojects/lcamera/build.sbt#L10-17)
    [warn] 		  +- lcamera:lcamera_2.11:0.1-SNAPSHOT
    [warn] 		com.android.support:support-annotations:20.0.0
    [warn] 		  +- com.melnykov:floatingactionbutton:1.0.6 (/home/expert/work/sideprojects/lcamera/build.sbt#L10-17)
    [warn] 		  +- lcamera:lcamera_2.11:0.1-SNAPSHOT
    sbt.ResolveException: unresolved dependency: com.android.support#recyclerview-v7;21.0.0: not found
    unresolved dependency: com.android.support#support-annotations;20.0.0: not found
    	at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:313)
    	at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:191)
    	at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:168)
    	at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
    	at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
    	at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:133)
    	at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57)
    	at sbt.IvySbt$$anon$4.call(Ivy.scala:65)
    	at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
    	at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
    	at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
    	at xsbt.boot.Using$.withResource(Using.scala:10)
    	at xsbt.boot.Using$.apply(Using.scala:9)
    	at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
    	at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
    	at xsbt.boot.Locks$.apply0(Locks.scala:31)
    	at xsbt.boot.Locks$.apply(Locks.scala:28)
    	at sbt.IvySbt.withDefaultLogger(Ivy.scala:65)
    	at sbt.IvySbt.withIvy(Ivy.scala:128)
    	at sbt.IvySbt.withIvy(Ivy.scala:125)
    	at sbt.IvySbt$Module.withModule(Ivy.scala:156)
    	at sbt.IvyActions$.updateEither(IvyActions.scala:168)
    	at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1439)
    	at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1435)
    	at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1470)
    	at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1468)
    	at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37)
    	at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1473)
    	at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1467)
    	at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60)
    	at sbt.Classpaths$.cachedUpdate(Defaults.scala:1490)
    	at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1417)
    	at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1369)
    	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    	at sbt.std.Transform$$anon$4.work(System.scala:63)
    	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    	at sbt.Execute.work(Execute.scala:237)
    	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    	at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    [error] (*:update) sbt.ResolveException: unresolved dependency: com.android.support#recyclerview-v7;21.0.0: not found
    [error] unresolved dependency: com.android.support#support-annotations;20.0.0: not found
    [error] Total time: 1 s, completed Jan 2, 2017 9:00:10 PM
    

    What should I do ?

    opened by unoexperto 1
  • Flickering

    Flickering

    I use LibChanger to swap between 120/60/default fps but something is broken. Let me just show you:

    demo.zip Flickering happens on both 120fps and 60fps mods

    Using stock Nexus 5 (Android 6.0.1)

    opened by psydex 0
Releases(dev-build)
Owner
PkmX
WAN!
PkmX
A new camera app for GrapheneOS based on the modern CameraX library.

This is the new GrapheneOS Camera app based on Android's modern CameraX library. It's currently in the alpha phase and isn't yet included in GrapheneO

GrapheneOS 513 Jan 1, 2023
Measures human heart rate using camera and flash light.

Heart-Rate-Ometer Introduction Measures human heart rate using camera and flash light. How-it-works https://github.com/phishman3579/android-heart-rate

Jan Rabe 81 Jun 29, 2022
An Android App that uses Machine Learning to recognize the objects in an image captured from the phone's camera

Camera App ?? Description An Android App that uses Machine Learning (ML) to recognize the objects in an image captured from the phone's camera. • Allo

Shikeya Anderson 1 Dec 31, 2022
Powerful custom Android Camera with granular control over the video quality and filesize, restricting recordings to landscape only.

LandscapeVideoCamera Highly flexible Android Camera which offers granular control over the video quality and filesize, while restricting recordings to

Jeroen Mols 1.2k Nov 22, 2022
Wrapper around the android Camera class that simplifies its usage

EasyCamera Wrapper around the android Camera class that simplifies its usage (read more about the process) Usage: // the surface where the preview wil

Bozhidar Bozhanov 642 Nov 27, 2022
Android library to choose image from gallery or camera with option to compress result image

ImagePicker Android library to choose image from gallery or camera with option to compress result image. Download Add this to your project's build.gra

Mayank Nagwanshi 73 May 20, 2022
Android camera and serial communication utility that interacts with another device via a USB connection.

PVIT-Payload-Source Android camera and serial communication utility that interacts with another device via a USB connection. PVIT = Palos Verdes Insti

Zeroz & Onez 1 Nov 10, 2021
NguyenThienAn06105 - This repository consist of the code to read camera data on ESP8266 and a simple Android application to visualize the …

MLX90640-HeatCamera This repository consist of the code to read camera data on ESP8266 and a simple Android application to visualize the result. There

Christian Hein 0 Jan 1, 2022
Quick photo and video camera with a flash, customizable resolution and no ads.

Simple Camera A camera with flash, zoom and no ads. The camera is usable for both photo taking and video recording. You can switch between front and r

Simple Mobile Tools 644 Jan 7, 2023
Instagram like Image Picker for Android

ImagePicker A simple Instagram like library to select images from the gallery and camera. Screenshot Usage For full example, please refer to the sampl

Akvelon 21 Sep 28, 2022
Image Picker library for Android

Ronnie-Image-Picker Asks for Camera and storage permission and return uri of the images taken or picked from the gallery. Min Api Level: 16 Build Syst

Ronnie Otieno 33 Nov 19, 2022
Android application to preview, record (MediaRecorder), and fetch each image from both front and rear cameras simultaneously

DuoCamera ?? Overview Android application to preview, record (MediaRecorder) and fetch each image from both front and rear cameras simultaneously. The

Igor Lashkov 5 Nov 28, 2022
Bootcamp - Digital Innovation One e NTT Data - Aula de Recursos Nativos do Android

Recursos-Nativos-Android -Foto e Camera Bootcamp - Digital Innovation One e NTT Data - Aula de Recursos Nativos do Android Tutorial de uso da bibliote

Anne Nicolle Zimmermann 0 Jan 3, 2022
Snappy - an android camerax library for taking snapshot fast & simple

Snappy is an android camerax library for taking snapshot fast & simple. Easy to integrate, 100% Kotlin & jetpack compose driven.

Nils Druyen 16 Dec 15, 2022
📸 Use Android camera to take pictures and videos, based on `camera2` api.

Camera Use Android camera to take pictures and videos, based on camera2 api. Features Auto filled CameraView for previewing Support both image capture

Hong Duan 119 Nov 25, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
Camera Folder: "Take a Photo from Camera" everywhere where you can open a photo file

When "Camera Folder" is installed many Android-Apps that can open jpg files can also take a photo from camera.

k3b 18 Dec 20, 2022