element-hq / element-hq/element-x-android

Please add a basic in-app camera with basic photo editing for "+" → "take photo"

Open
#5,048 2 comments 2 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
Kotlin
Stars
2.4k
Forks
624
Avg merge
1d 14h
Merged PRs (30d)
149

Description

### Your use case

Hi devs,

currently, one can take a photo and send it to a room using the stock camera (which doesn't work if it's deactivated and an alternative camera app is installed, cf. https://github.com/element-hq/element-x-android/issues/4094). However, the photo is sent as-is. Apparently, it's compressed, but one can't change it.

To crop a photo, rotate it, mark something on it, draw something on it, write text on it etc., one has to take a photo outside of Element X, store it and process it with some third-party tool like [Fossify Gallery](https://github.com/FossifyOrg/Gallery/) or [Quick Edit](https://github.com/Abizer-R/QuickEdit-Photo-Editor) (which looks quite promising although lacking rotation support – and the dev doesn't reply …).

Almost all pictures/photos I send when I use Signal are either cropped screenshots or photos taken at screen resolution with Signal's in-app camera – cropped, rotated and sometimes with something marked on them. I think Signal's approach is really good here, as it covers most use-cases when sending a picture (at least for me) – without having to save them first and without having to use third-party tools.

It would be really cool and convenient if similar functionality was added to Element X.

Thanks for possibly considering this!

Cheers, Tobias

### Have you considered any alternatives?

_No response_

### Additional context

_No response_

### Are you willing to provide a PR?

No

Contributor guide

Open the contributing guide

Research direction

Start with the existing "+" → "take photo" flow and review issue #4094 about camera availability. Define the minimal in-app capture and editing scope—crop, rotate, mark, draw, and text—and verify the result can be sent without saving through a third-party tool.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.