ankidroid / Anki-Android

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
GNU General Public License v3.0
8.75k stars 2.24k forks source link

[BUG]: There's no direct button to remove the background image for deck screen #16090

Closed oyeraghib closed 4 months ago

oyeraghib commented 7 months ago

Checked for duplicates?

Does it also happen in the desktop version?

What are the steps to reproduce this bug?

  1. Go to Settings -> Appearance -> Select Image
  2. Now select an image for the deck screen background. 3.Now to remove the background image you have to choose the "Select image" option again and close the selector in order to get the option to remove the background image.

Expected behaviour

Ideally there should be a button to remove the background image without actually selecting the "Select image" option

Screenshot 2024-04-04 at 6 44 19 AM

Actual behaviour

User have to tap on "Select Image" to remove the image (which sounds a bit off)

Screenshot 2024-04-04 at 6 45 34 AM Screenshot 2024-04-04 at 6 47 11 AM

Debug info

AnkiDroid Version = 2.17.6 (568538896be943818ca793dd2635822265712def)

Backend Version = 0.1.34-anki23.12.1 (23.12.1 1a1d4d5419c6b57ef3baf99c9d2d9cf85d36ae0a)

Android Version = 13 (SDK 33)

ProductFlavor = play

Manufacturer = Google

Model = Pixel 6a

Hardware = bluejay

Webview User Agent = Mozilla/5.0 (Linux; Android 13; Pixel 6a Build/TQ2A.230405.003.E1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.40 Mobile Safari/537.36

ACRA UUID = 2563bf4e-52ff-49bb-883c-7538962634e9

Crash Reports Enabled = true

(Optional) Anything else you want to share?

No response

Research

welcome[bot] commented 7 months ago

Hello! 👋 Thanks for logging this issue. Please remember we are all volunteers here, so some patience may be required before we can get to the issue. Also remember that the fastest way to get resolution on an issue is to propose a change directly, https://github.com/ankidroid/Anki-Android/wiki/Contributing

snowtimeglass commented 7 months ago

User have to tap on "Select Image" to remove the image (which sounds a bit off)

I agree. The steps seem to be unnatural.

jainishrpandya commented 7 months ago

I'll look into it. and get back to you.

jainishrpandya commented 7 months ago

Yes! It feels strange.we can add button button just below the select image to remove background.

jainishrpandya commented 7 months ago

Please assign me this issue.

oyeraghib commented 7 months ago

Hi @jainishrpandya I am currently working on this myself.

jainishrpandya commented 7 months ago

@oyeraghib ohh! That's great. Ping me here if you need any help.

oyeraghib commented 7 months ago

Sure. Thanks

snowtimeglass commented 7 months ago

While I agree that the current steps are unnatural, I don't necessarily agree with the suggested solution (#16091). The remove button being there also looks somewhat unnatural, in my opinion.

Moreover, the option title itself also seems unnatural, since it is dissimilar to the other option titles.

I mean, "Select image" expresses just an step in the middle of the change of this setting. It is not a final result of a change (e.g., "Show top bar", "Show deck title") nor a target of a change (e.g., "Night theme", "App bar buttons"). So, it actually looks odd as an option title.

How about using another title like "Apply image" (or "Show image") Apply image as background (or Show image as background) and toggle button.

jainishrpandya commented 7 months ago

Yes! Toggle button with title like "Apply Image background" and when toggle is on it expands the select image option. Otherwise it will be hidden.

oyeraghib commented 7 months ago

Interesting point. So what you are suggesting is:

  1. The text should be "Apply image as background" with a toggle button.
  2. Initially the toggle button is off
  3. If user tries to turn on the toggle and select the image for background, the toggle button turns "ON" setting bg image for deck picker.
  4. Now clicking the option to choose image (or trying to turn "OFF" the toggle ) would remove the image.

It is fine but the issue here would be if user wants to replace the image, they would have to first "OFF" the current toggle and then select a new image (turning it back ON), which could again become a bit unnatural from user's perspective.

But I would still keep the suggestion in mind and would wait for any reviewers to comment on the PR and know what do they think.

snowtimeglass commented 7 months ago

Thank you for the consideration.

These parts below seem to be somewhat different from what I have imagined.

  1. Now clicking the option to choose image (or trying to turn "OFF" the toggle ) would remove the image.

if user wants to replace the image, they would have to first "OFF" the current toggle and then select a new image (turning it back ON), which could again become a bit unnatural from user's perspective.

My thoughts are as follows:

4'. Now tapping the option title (tentatively named Apply image as background) would open the image picker screen again.

5 . Instead, tapping the toggle button would remove the image (after a confirmation dialog for the removal), and turn it "OFF".

I mean, when the toggle button is already turned "ON", the reactions of (A) tapping the title and (B) tapping the toggle button would be different from each other, as in the case of "Custom sync server" option (Settings > Sync > Custom sync server):

https://github.com/ankidroid/Anki-Android/assets/10436072/d715ecb0-f0b1-4a22-9a1c-15c7054b024f

github-actions[bot] commented 4 months ago

Hello 👋, this issue has been opened for more than 3 months with no activity on it. If the issue is still here, please keep in mind that we need community support and help to fix it! Just comment something like still searching for solutions and if you found one, please open a pull request! You have 7 days until this gets closed automatically

brishtibheja commented 3 months ago

@david-allison Do we want this closed?

david-allison commented 3 months ago

We've spent too much time on a minor feature and the UX still isn't good.

Let's focus on things which have more impact