Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android Adaptive Icons #18256

Closed
tijmenennik opened this issue Apr 17, 2018 · 12 comments · Fixed by #34868
Closed

Android Adaptive Icons #18256

tijmenennik opened this issue Apr 17, 2018 · 12 comments · Fixed by #34868

Comments

@tijmenennik
Copy link

tijmenennik commented Apr 17, 2018

Godot version:
3.0.3

OS/device including version:
Android devices with Android Oreo (8.0.0) or higher.

Issue description:
Godot does not support Android Adaptive Icons and Android's roundIcon (https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive.html), therefore Android games exported from Godot do not have icons that adapt to the user's system settings. Since this is the new standard way of defining app icons on Android, I think Godot should support it too in the export options.

Steps to reproduce:
Run a game on an Android 8.0.0+ device and see how the icon does not adapt it's shape to the other app icons. The icon also doesn't animate like the other icons do when the user interacts with it.

@xsellier
Copy link
Contributor

xsellier commented May 3, 2018

About this feature I would go a bit further, since android allows application to use their own icons, it would have been great if you can add files to the res folder directly from the project itself.

https://developer.android.com/guide/topics/ui/notifiers/notifications

In the export panel, I suggest to add a path field allowing the developer to select a path to the res directory, and this directory will be copied during the export to the res directory of exported apk.

@alvarlagerlof
Copy link

There this now.

https://arstechnica.com/gadgets/2017/12/google-fights-fragmentation-new-android-features-to-be-forced-on-apps-in-2018/

Google has published a timeline for mandatory API level adoption. Generally, API levels that are a year old will become mandatory for new and updated apps. This will begin in August 2018, when targeting API level 26 (Android 8.0, released August 2017) will be mandatory for new apps. A month later, the requirement kicks in for all app updates.

Android 8.0 (API level 26) introduces adaptive launcher icons, which can display a variety of shapes across different device models. For example, an adaptive launcher icon can display a circular shape on one OEM device, and display a squircle on another device. Each device OEM provides a mask, which the system then uses to render all adaptive icons with the same shape. Adaptive launcher icons are also used in shortcuts, the Settings app, sharing dialogs, and the overview screen.

So to update an app after August you need to use and adaptive icon. Therefore this should be quite a priority.

@akien-mga
Copy link
Member

@alvarlagerlof As I read it the requirement is only to target API level 26 (which Godot 3.0.3 does, and the upcoming 2.1.5 will too).

Adaptive icons are a feature available in API level 26, but its availability doesn't mean that it's a requirement to support it.

I'm not saying that we shouldn't work on supporting it though, but it doesn't seem to be urgent as per this new app update policy.

@alvarlagerlof
Copy link

alvarlagerlof commented Jun 20, 2018

Ah, I see. But this happens, and it doesn't look too good.

screenshot_20180620-150811

@kristijandraca-xx
Copy link

For now, I found a workaround.

replace android:icon="@drawable/icon" with these two

android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"

under platform/android/AndroidManifest.xml.template

also, add you mipmap folders in res folder
recompile apks and add them to your project.
More about compiling apks read here http://docs.godotengine.org/en/3.0/development/compiling/compiling_for_android.html

@wombatwingdings
Copy link

Thanks for the workaround. I don't think we're able to add the two layers (foreground and background) Google talks of in the res/mipmap-v26/ic_launcher.xml file though. If we created that XML file, I doubt Godot would currently do anything with it?

@ricardoalcantara
Copy link
Contributor

@kristijandraca I tried that workaround but nothing's changed, not even the apk, I copied it to my git folder and the git didn't even marked the apk as changed, have I done something wrong?

@VitaZheltyakov
Copy link

We need to fix this problem urgently. The lack of adaptive icons greatly reduces the download of the application. I have lost 30% of users on all apps since August.

@SmithJohnFirst
Copy link

This issue does not have a milestone. This means that this problem will not be fixed soon. This means that users of my applications will look at these terrible icons for a long time. This makes me very sad.

@Calinou
Copy link
Member

Calinou commented Jan 4, 2020

@SmithJohnFirst Godot is a community-developed project. We don't have hard ETAs on anything, as people work on what they want to work on.

If you want it to happen faster, you'll have to contribute this feature or pay someone to do it.

@VitaZheltyakov

This comment has been minimized.

@MadEqua
Copy link
Contributor

MadEqua commented Jan 5, 2020

I'll work on this and we should have adaptive icons soon.

It will also fix the fact that the proper density icons are not really being used by the currently exported apps. The icons are added to the apk, but not being present on the resources.arsc file they are just "dead weight".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.